@ainyc/canonry 5.5.0 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/assets/agent-workspace/skills/aero/references/portfolio-analysis.md +1 -1
  2. package/assets/agent-workspace/skills/canonry/references/aeo-analysis.md +10 -0
  3. package/assets/assets/{AuditHistoryPanel-BMGGxHpw.js → AuditHistoryPanel-DVUbjx1M.js} +1 -1
  4. package/assets/assets/{BacklinksPage-CS3wJSWe.js → BacklinksPage-D01VTDAp.js} +1 -1
  5. package/assets/assets/ChartPrimitives-BQC2VH0O.js +1 -0
  6. package/assets/assets/{HistoryPage-Ba9ezeuP.js → HistoryPage-Bk1gsXe5.js} +1 -1
  7. package/assets/assets/{MeasurementPropertyPage-Y9eseEv0.js → MeasurementPropertyPage-D7p5vpY_.js} +1 -1
  8. package/assets/assets/ProjectPage-Dv3USEIE.js +8 -0
  9. package/assets/assets/{RunRow-DbUtgNUI.js → RunRow-Dpa0kAip.js} +1 -1
  10. package/assets/assets/{RunsPage-BBuFIYuS.js → RunsPage-B59z7DQ_.js} +1 -1
  11. package/assets/assets/{SettingsPage-DNnR33D-.js → SettingsPage-HJDgmQi9.js} +1 -1
  12. package/assets/assets/{SiteHealthSection-Cf4KHWp0.js → SiteHealthSection-BnJA-zvQ.js} +3 -3
  13. package/assets/assets/{TrafficPage-DSQjaZM9.js → TrafficPage-C8na59q_.js} +5 -5
  14. package/assets/assets/{TrafficSourceDetailPage-C-Pg69TW.js → TrafficSourceDetailPage-B2fO8bDc.js} +1 -1
  15. package/assets/assets/{extract-error-message-DNLmL0ID.js → extract-error-message-670MySRM.js} +1 -1
  16. package/assets/assets/index-DTrkuKOh.js +86 -0
  17. package/assets/assets/index-PT4UiPTM.css +1 -0
  18. package/assets/assets/{react-sigma_core.esm.min-DkItaBPY.js → react-sigma_core.esm.min-DOhuYLQj.js} +1 -1
  19. package/assets/assets/v2-overview-adapter-CQyDNkXa.js +1 -0
  20. package/assets/assets/{vendor-recharts-D-cUuLZo.js → vendor-recharts-llkUFBGR.js} +1 -1
  21. package/assets/index.html +3 -3
  22. package/dist/{chunk-75ECQ77U.js → chunk-C4KBR4H6.js} +6 -6
  23. package/dist/{chunk-REQEWYNF.js → chunk-D3DKDTXP.js} +1027 -70
  24. package/dist/{chunk-DX4CZNNU.js → chunk-GHAUT7XJ.js} +2 -2
  25. package/dist/{chunk-KKDXJWDK.js → chunk-I4AHG7K3.js} +3 -3
  26. package/dist/{chunk-LQAOGFFK.js → chunk-KZYOJ4F5.js} +2 -2
  27. package/dist/{chunk-BL3FMPSM.js → chunk-TM2NQMJA.js} +803 -777
  28. package/dist/cli.js +10 -9
  29. package/dist/{demo-server-BSH6SSWD.js → demo-server-JEGVGOPQ.js} +7 -3
  30. package/dist/index.js +5 -5
  31. package/dist/{intelligence-service-CU7W5AVC.js → intelligence-service-5P62KKG6.js} +2 -2
  32. package/dist/mcp.js +3 -3
  33. package/package.json +11 -11
  34. package/assets/assets/ChartPrimitives-Bxa_vFmq.js +0 -1
  35. package/assets/assets/ProjectPage-Cl1N9Dcw.js +0 -8
  36. package/assets/assets/index-BCCrbno5.js +0 -86
  37. package/assets/assets/index-gQj7x9RX.css +0 -1
  38. package/assets/assets/v2-overview-adapter-DKBMcYBh.js +0 -1
@@ -0,0 +1,86 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SiteHealthSection-BnJA-zvQ.js","./vendor-tanstack-ZXXkndVj.js","./vendor-lucide-CneDbhOr.js","./ChartPrimitives-BQC2VH0O.js","./vendor-recharts-llkUFBGR.js","./ProjectPage-Dv3USEIE.js","./v2-overview-adapter-CQyDNkXa.js","./vendor-markdown-B-Oq2NYq.js","./RunRow-Dpa0kAip.js","./extract-error-message-670MySRM.js","./AuditHistoryPanel-DVUbjx1M.js","./vendor-radix-twS1M3FF.js","./vendor-yaml-GWJz5H2G.js","./RunsPage-B59z7DQ_.js","./HistoryPage-Bk1gsXe5.js","./SettingsPage-HJDgmQi9.js","./BacklinksPage-D01VTDAp.js","./TrafficPage-C8na59q_.js","./TrafficSourceDetailPage-B2fO8bDc.js","./MeasurementPropertyPage-D7p5vpY_.js"])))=>i.map(i=>d[i]);
2
+ import{c as q4,d as I4,r as _,j as c,Q as P4,M as M4,q as he,e as Yl,L as Ge,a as B4,t as Fo,u as wt,f as L4,h as ua,k as cs,l as pw,m as V4,n as hw,O as Oh,o as us,p as $4,s as Ct,v as fw,x as ds,y as U4,z as G4,A as K4}from"./vendor-tanstack-ZXXkndVj.js";import{S as H4,O as bf,P as gw,C as vf,a as yw,T as xf,D as bw,R as vw}from"./vendor-radix-twS1M3FF.js";import{c as xw}from"./vendor-recharts-llkUFBGR.js";import{A as $l,X as mr,S as wf,a as Q4,G as ww,C as pd,L as ar,R as Su,b as kw,M as F4,c as Z4,d as Y4,e as hd,T as Sw,W as X4,f as kf,g as Sf,h as J4,i as W4,P as eC,H as tC,j as nC,k as aC,l as iC,m as sC,B as oC,F as rC,n as lC,o as cC,p as uC,q as Ob,r as jw,s as Aw,t as qh,u as Cw,v as dC,w as Nw,E as mC}from"./vendor-lucide-CneDbhOr.js";import{M as pC}from"./vendor-markdown-B-Oq2NYq.js";import{p as hC}from"./vendor-yaml-GWJz5H2G.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))r(u);new MutationObserver(u=>{for(const h of u)if(h.type==="childList")for(const g of h.addedNodes)g.tagName==="LINK"&&g.rel==="modulepreload"&&r(g)}).observe(document,{childList:!0,subtree:!0});function i(u){const h={};return u.integrity&&(h.integrity=u.integrity),u.referrerPolicy&&(h.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?h.credentials="include":u.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function r(u){if(u.ep)return;u.ep=!0;const h=i(u);fetch(u.href,h)}})();var nh={exports:{}},_l={},ah={exports:{}},ih={};var qb;function fC(){return qb||(qb=1,(function(e){function n(P,ee){var pe=P.length;P.push(ee);e:for(;0<pe;){var Ce=pe-1>>>1,W=P[Ce];if(0<u(W,ee))P[Ce]=ee,P[pe]=W,pe=Ce;else break e}}function i(P){return P.length===0?null:P[0]}function r(P){if(P.length===0)return null;var ee=P[0],pe=P.pop();if(pe!==ee){P[0]=pe;e:for(var Ce=0,W=P.length,De=W>>>1;Ce<De;){var Te=2*(Ce+1)-1,Se=P[Te],se=Te+1,V=P[se];if(0>u(Se,pe))se<W&&0>u(V,Se)?(P[Ce]=V,P[se]=pe,Ce=se):(P[Ce]=Se,P[Te]=pe,Ce=Te);else if(se<W&&0>u(V,pe))P[Ce]=V,P[se]=pe,Ce=se;else break e}}return ee}function u(P,ee){var pe=P.sortIndex-ee.sortIndex;return pe!==0?pe:P.id-ee.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var h=performance;e.unstable_now=function(){return h.now()}}else{var g=Date,b=g.now();e.unstable_now=function(){return g.now()-b}}var v=[],w=[],S=1,A=null,T=3,C=!1,F=!1,R=!1,M=!1,X=typeof setTimeout=="function"?setTimeout:null,J=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;function le(P){for(var ee=i(w);ee!==null;){if(ee.callback===null)r(w);else if(ee.startTime<=P)r(w),ee.sortIndex=ee.expirationTime,n(v,ee);else break;ee=i(w)}}function ie(P){if(R=!1,le(P),!F)if(i(v)!==null)F=!0,re||(re=!0,ze());else{var ee=i(w);ee!==null&&ve(ie,ee.startTime-P)}}var re=!1,H=-1,K=5,Re=-1;function Qe(){return M?!0:!(e.unstable_now()-Re<K)}function Fe(){if(M=!1,re){var P=e.unstable_now();Re=P;var ee=!0;try{e:{F=!1,R&&(R=!1,J(H),H=-1),C=!0;var pe=T;try{t:{for(le(P),A=i(v);A!==null&&!(A.expirationTime>P&&Qe());){var Ce=A.callback;if(typeof Ce=="function"){A.callback=null,T=A.priorityLevel;var W=Ce(A.expirationTime<=P);if(P=e.unstable_now(),typeof W=="function"){A.callback=W,le(P),ee=!0;break t}A===i(v)&&r(v),le(P)}else r(v);A=i(v)}if(A!==null)ee=!0;else{var De=i(w);De!==null&&ve(ie,De.startTime-P),ee=!1}}break e}finally{A=null,T=pe,C=!1}ee=void 0}}finally{ee?ze():re=!1}}}var ze;if(typeof L=="function")ze=function(){L(Fe)};else if(typeof MessageChannel<"u"){var ke=new MessageChannel,Me=ke.port2;ke.port1.onmessage=Fe,ze=function(){Me.postMessage(null)}}else ze=function(){X(Fe,0)};function ve(P,ee){H=X(function(){P(e.unstable_now())},ee)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(P){P.callback=null},e.unstable_forceFrameRate=function(P){0>P||125<P?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):K=0<P?Math.floor(1e3/P):5},e.unstable_getCurrentPriorityLevel=function(){return T},e.unstable_next=function(P){switch(T){case 1:case 2:case 3:var ee=3;break;default:ee=T}var pe=T;T=ee;try{return P()}finally{T=pe}},e.unstable_requestPaint=function(){M=!0},e.unstable_runWithPriority=function(P,ee){switch(P){case 1:case 2:case 3:case 4:case 5:break;default:P=3}var pe=T;T=P;try{return ee()}finally{T=pe}},e.unstable_scheduleCallback=function(P,ee,pe){var Ce=e.unstable_now();switch(typeof pe=="object"&&pe!==null?(pe=pe.delay,pe=typeof pe=="number"&&0<pe?Ce+pe:Ce):pe=Ce,P){case 1:var W=-1;break;case 2:W=250;break;case 5:W=1073741823;break;case 4:W=1e4;break;default:W=5e3}return W=pe+W,P={id:S++,callback:ee,priorityLevel:P,startTime:pe,expirationTime:W,sortIndex:-1},pe>Ce?(P.sortIndex=pe,n(w,P),i(v)===null&&P===i(w)&&(R?(J(H),H=-1):R=!0,ve(ie,pe-Ce))):(P.sortIndex=W,n(v,P),F||C||(F=!0,re||(re=!0,ze()))),P},e.unstable_shouldYield=Qe,e.unstable_wrapCallback=function(P){var ee=T;return function(){var pe=T;T=ee;try{return P.apply(this,arguments)}finally{T=pe}}}})(ih)),ih}var Ib;function gC(){return Ib||(Ib=1,ah.exports=fC()),ah.exports}var Pb;function yC(){if(Pb)return _l;Pb=1;var e=gC(),n=q4(),i=I4();function r(t){var a="https://react.dev/errors/"+t;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var s=2;s<arguments.length;s++)a+="&args[]="+encodeURIComponent(arguments[s])}return"Minified React error #"+t+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function u(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function h(t){var a=t,s=t;if(t.alternate)for(;a.return;)a=a.return;else{t=a;do a=t,(a.flags&4098)!==0&&(s=a.return),t=a.return;while(t)}return a.tag===3?s:null}function g(t){if(t.tag===13){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function b(t){if(t.tag===31){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function v(t){if(h(t)!==t)throw Error(r(188))}function w(t){var a=t.alternate;if(!a){if(a=h(t),a===null)throw Error(r(188));return a!==t?null:t}for(var s=t,l=a;;){var p=s.return;if(p===null)break;var f=p.alternate;if(f===null){if(l=p.return,l!==null){s=l;continue}break}if(p.child===f.child){for(f=p.child;f;){if(f===s)return v(p),t;if(f===l)return v(p),a;f=f.sibling}throw Error(r(188))}if(s.return!==l.return)s=p,l=f;else{for(var x=!1,k=p.child;k;){if(k===s){x=!0,s=p,l=f;break}if(k===l){x=!0,l=p,s=f;break}k=k.sibling}if(!x){for(k=f.child;k;){if(k===s){x=!0,s=f,l=p;break}if(k===l){x=!0,l=f,s=p;break}k=k.sibling}if(!x)throw Error(r(189))}}if(s.alternate!==l)throw Error(r(190))}if(s.tag!==3)throw Error(r(188));return s.stateNode.current===s?t:a}function S(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t;for(t=t.child;t!==null;){if(a=S(t),a!==null)return a;t=t.sibling}return null}var A=Object.assign,T=Symbol.for("react.element"),C=Symbol.for("react.transitional.element"),F=Symbol.for("react.portal"),R=Symbol.for("react.fragment"),M=Symbol.for("react.strict_mode"),X=Symbol.for("react.profiler"),J=Symbol.for("react.consumer"),L=Symbol.for("react.context"),le=Symbol.for("react.forward_ref"),ie=Symbol.for("react.suspense"),re=Symbol.for("react.suspense_list"),H=Symbol.for("react.memo"),K=Symbol.for("react.lazy"),Re=Symbol.for("react.activity"),Qe=Symbol.for("react.memo_cache_sentinel"),Fe=Symbol.iterator;function ze(t){return t===null||typeof t!="object"?null:(t=Fe&&t[Fe]||t["@@iterator"],typeof t=="function"?t:null)}var ke=Symbol.for("react.client.reference");function Me(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===ke?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case R:return"Fragment";case X:return"Profiler";case M:return"StrictMode";case ie:return"Suspense";case re:return"SuspenseList";case Re:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case F:return"Portal";case L:return t.displayName||"Context";case J:return(t._context.displayName||"Context")+".Consumer";case le:var a=t.render;return t=t.displayName,t||(t=a.displayName||a.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case H:return a=t.displayName||null,a!==null?a:Me(t.type)||"Memo";case K:a=t._payload,t=t._init;try{return Me(t(a))}catch{}}return null}var ve=Array.isArray,P=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,pe={pending:!1,data:null,method:null,action:null},Ce=[],W=-1;function De(t){return{current:t}}function Te(t){0>W||(t.current=Ce[W],Ce[W]=null,W--)}function Se(t,a){W++,Ce[W]=t.current,t.current=a}var se=De(null),V=De(null),q=De(null),ce=De(null);function qe(t,a){switch(Se(q,a),Se(V,t),Se(se,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?ab(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=ab(a),t=ib(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Te(se),Se(se,t)}function ye(){Te(se),Te(V),Te(q)}function nt(t){t.memoizedState!==null&&Se(ce,t);var a=se.current,s=ib(a,t.type);a!==s&&(Se(V,t),Se(se,s))}function Ve(t){V.current===t&&(Te(se),Te(V)),ce.current===t&&(Te(ce),jl._currentValue=pe)}var kt,oe;function Pe(t){if(kt===void 0)try{throw Error()}catch(s){var a=s.stack.trim().match(/\n( *(at )?)/);kt=a&&a[1]||"",oe=-1<s.stack.indexOf(`
3
+ at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
4
+ `+kt+t+oe}var Jt=!1;function fa(t,a){if(!t||Jt)return"";Jt=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(a){var ne=function(){throw Error()};if(Object.defineProperty(ne.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ne,[])}catch(Q){var G=Q}Reflect.construct(t,[],ne)}else{try{ne.call()}catch(Q){G=Q}t.call(ne.prototype)}}else{try{throw Error()}catch(Q){G=Q}(ne=t())&&typeof ne.catch=="function"&&ne.catch(function(){})}}catch(Q){if(Q&&G&&typeof Q.stack=="string")return[Q.stack,G.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var p=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");p&&p.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var f=l.DetermineComponentFrameRoot(),x=f[0],k=f[1];if(x&&k){var E=x.split(`
5
+ `),$=k.split(`
6
+ `);for(p=l=0;l<E.length&&!E[l].includes("DetermineComponentFrameRoot");)l++;for(;p<$.length&&!$[p].includes("DetermineComponentFrameRoot");)p++;if(l===E.length||p===$.length)for(l=E.length-1,p=$.length-1;1<=l&&0<=p&&E[l]!==$[p];)p--;for(;1<=l&&0<=p;l--,p--)if(E[l]!==$[p]){if(l!==1||p!==1)do if(l--,p--,0>p||E[l]!==$[p]){var Z=`
7
+ `+E[l].replace(" at new "," at ");return t.displayName&&Z.includes("<anonymous>")&&(Z=Z.replace("<anonymous>",t.displayName)),Z}while(1<=l&&0<=p);break}}}finally{Jt=!1,Error.prepareStackTrace=s}return(s=t?t.displayName||t.name:"")?Pe(s):""}function Ka(t,a){switch(t.tag){case 26:case 27:case 5:return Pe(t.type);case 16:return Pe("Lazy");case 13:return t.child!==a&&a!==null?Pe("Suspense Fallback"):Pe("Suspense");case 19:return Pe("SuspenseList");case 0:case 15:return fa(t.type,!1);case 11:return fa(t.type.render,!1);case 1:return fa(t.type,!0);case 31:return Pe("Activity");default:return""}}function bs(t){try{var a="",s=null;do a+=Ka(t,s),s=t,t=t.return;while(t);return a}catch(l){return`
8
+ Error generating stack: `+l.message+`
9
+ `+l.stack}}var Be=Object.prototype.hasOwnProperty,lt=e.unstable_scheduleCallback,Wt=e.unstable_cancelCallback,ki=e.unstable_shouldYield,Sr=e.unstable_requestPaint,nn=e.unstable_now,jr=e.unstable_getCurrentPriorityLevel,Ar=e.unstable_ImmediatePriority,Cr=e.unstable_UserBlockingPriority,vs=e.unstable_NormalPriority,uc=e.unstable_LowPriority,dc=e.unstable_IdlePriority,em=e.log,mc=e.unstable_setDisableYieldValue,bn=null,St=null;function Ta(t){if(typeof em=="function"&&mc(t),St&&typeof St.setStrictMode=="function")try{St.setStrictMode(bn,t)}catch{}}var vn=Math.clz32?Math.clz32:Ea,Nr=Math.log,Ha=Math.LN2;function Ea(t){return t>>>=0,t===0?32:31-(Nr(t)/Ha|0)|0}var xs=256,Si=262144,Qa=4194304;function Qn(t){var a=t&42;if(a!==0)return a;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ht(t,a,s){var l=t.pendingLanes;if(l===0)return 0;var p=0,f=t.suspendedLanes,x=t.pingedLanes;t=t.warmLanes;var k=l&134217727;return k!==0?(l=k&~f,l!==0?p=Qn(l):(x&=k,x!==0?p=Qn(x):s||(s=k&~t,s!==0&&(p=Qn(s))))):(k=l&~f,k!==0?p=Qn(k):x!==0?p=Qn(x):s||(s=l&~t,s!==0&&(p=Qn(s)))),p===0?0:a!==0&&a!==p&&(a&f)===0&&(f=p&-p,s=a&-a,f>=s||f===32&&(s&4194048)!==0)?a:p}function Fa(t,a){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&a)===0}function ji(t,a){switch(t){case 1:case 2:case 4:case 8:case 64:return a+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 a+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 ws(){var t=Qa;return Qa<<=1,(Qa&62914560)===0&&(Qa=4194304),t}function lo(t){for(var a=[],s=0;31>s;s++)a.push(t);return a}function ks(t,a){t.pendingLanes|=a,a!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function pc(t,a,s,l,p,f){var x=t.pendingLanes;t.pendingLanes=s,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=s,t.entangledLanes&=s,t.errorRecoveryDisabledLanes&=s,t.shellSuspendCounter=0;var k=t.entanglements,E=t.expirationTimes,$=t.hiddenUpdates;for(s=x&~s;0<s;){var Z=31-vn(s),ne=1<<Z;k[Z]=0,E[Z]=-1;var G=$[Z];if(G!==null)for($[Z]=null,Z=0;Z<G.length;Z++){var Q=G[Z];Q!==null&&(Q.lane&=-536870913)}s&=~ne}l!==0&&_r(t,l,0),f!==0&&p===0&&t.tag!==0&&(t.suspendedLanes|=f&~(x&~a))}function _r(t,a,s){t.pendingLanes|=a,t.suspendedLanes&=~a;var l=31-vn(a);t.entangledLanes|=a,t.entanglements[l]=t.entanglements[l]|1073741824|s&261930}function Tr(t,a){var s=t.entangledLanes|=a;for(t=t.entanglements;s;){var l=31-vn(s),p=1<<l;p&a|t[l]&a&&(t[l]|=a),s&=~p}}function Er(t,a){var s=a&-a;return s=(s&42)!==0?1:Rr(s),(s&(t.suspendedLanes|a))!==0?0:s}function Rr(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=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:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function zr(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function co(){var t=ee.p;return t!==0?t:(t=window.event,t===void 0?32:Nb(t.type))}function hc(t,a){var s=ee.p;try{return ee.p=t,a()}finally{ee.p=s}}var Fn=Math.random().toString(36).slice(2),Lt="__reactFiber$"+Fn,mn="__reactProps$"+Fn,Ai="__reactContainer$"+Fn,uo="__reactEvents$"+Fn,fc="__reactListeners$"+Fn,mo="__reactHandles$"+Fn,qn="__reactResources$"+Fn,Ci="__reactMarker$"+Fn;function Dr(t){delete t[Lt],delete t[mn],delete t[uo],delete t[fc],delete t[mo]}function Za(t){var a=t[Lt];if(a)return a;for(var s=t.parentNode;s;){if(a=s[Ai]||s[Lt]){if(s=a.alternate,a.child!==null||s!==null&&s.child!==null)for(t=db(t);t!==null;){if(s=t[Lt])return s;t=db(t)}return a}t=s,s=t.parentNode}return null}function Ni(t){if(t=t[Lt]||t[Ai]){var a=t.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return t}return null}function _i(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t.stateNode;throw Error(r(33))}function Ti(t){var a=t[qn];return a||(a=t[qn]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function It(t){t[Ci]=!0}var Or=new Set,qr={};function Ra(t,a){Ss(t,a),Ss(t+"Capture",a)}function Ss(t,a){for(qr[t]=a,t=0;t<a.length;t++)Or.add(a[t])}var Ir=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]*$"),Pr={},za={};function tm(t){return Be.call(za,t)?!0:Be.call(Pr,t)?!1:Ir.test(t)?za[t]=!0:(Pr[t]=!0,!1)}function Ya(t,a,s){if(tm(a))if(s===null)t.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":t.removeAttribute(a);return;case"boolean":var l=a.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){t.removeAttribute(a);return}}t.setAttribute(a,""+s)}}function js(t,a,s){if(s===null)t.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(a);return}t.setAttribute(a,""+s)}}function an(t,a,s,l){if(l===null)t.removeAttribute(s);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(s);return}t.setAttributeNS(a,s,""+l)}}function pn(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Ei(t){var a=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function nm(t,a,s){var l=Object.getOwnPropertyDescriptor(t.constructor.prototype,a);if(!t.hasOwnProperty(a)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var p=l.get,f=l.set;return Object.defineProperty(t,a,{configurable:!0,get:function(){return p.call(this)},set:function(x){s=""+x,f.call(this,x)}}),Object.defineProperty(t,a,{enumerable:l.enumerable}),{getValue:function(){return s},setValue:function(x){s=""+x},stopTracking:function(){t._valueTracker=null,delete t[a]}}}}function Mr(t){if(!t._valueTracker){var a=Ei(t)?"checked":"value";t._valueTracker=nm(t,a,""+t[a])}}function Da(t){if(!t)return!1;var a=t._valueTracker;if(!a)return!0;var s=a.getValue(),l="";return t&&(l=Ei(t)?t.checked?"true":"false":t.value),t=l,t!==s?(a.setValue(t),!0):!1}function Ri(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var gc=/[\n"\\]/g;function hn(t){return t.replace(gc,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function po(t,a,s,l,p,f,x,k){t.name="",x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"?t.type=x:t.removeAttribute("type"),a!=null?x==="number"?(a===0&&t.value===""||t.value!=a)&&(t.value=""+pn(a)):t.value!==""+pn(a)&&(t.value=""+pn(a)):x!=="submit"&&x!=="reset"||t.removeAttribute("value"),a!=null?ho(t,x,pn(a)):s!=null?ho(t,x,pn(s)):l!=null&&t.removeAttribute("value"),p==null&&f!=null&&(t.defaultChecked=!!f),p!=null&&(t.checked=p&&typeof p!="function"&&typeof p!="symbol"),k!=null&&typeof k!="function"&&typeof k!="symbol"&&typeof k!="boolean"?t.name=""+pn(k):t.removeAttribute("name")}function Br(t,a,s,l,p,f,x,k){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(t.type=f),a!=null||s!=null){if(!(f!=="submit"&&f!=="reset"||a!=null)){Mr(t);return}s=s!=null?""+pn(s):"",a=a!=null?""+pn(a):s,k||a===t.value||(t.value=a),t.defaultValue=a}l=l??p,l=typeof l!="function"&&typeof l!="symbol"&&!!l,t.checked=k?t.checked:!!l,t.defaultChecked=!!l,x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.name=x),Mr(t)}function ho(t,a,s){a==="number"&&Ri(t.ownerDocument)===t||t.defaultValue===""+s||(t.defaultValue=""+s)}function Cn(t,a,s,l){if(t=t.options,a){a={};for(var p=0;p<s.length;p++)a["$"+s[p]]=!0;for(s=0;s<t.length;s++)p=a.hasOwnProperty("$"+t[s].value),t[s].selected!==p&&(t[s].selected=p),p&&l&&(t[s].defaultSelected=!0)}else{for(s=""+pn(s),a=null,p=0;p<t.length;p++){if(t[p].value===s){t[p].selected=!0,l&&(t[p].defaultSelected=!0);return}a!==null||t[p].disabled||(a=t[p])}a!==null&&(a.selected=!0)}}function In(t,a,s){if(a!=null&&(a=""+pn(a),a!==t.value&&(t.value=a),s==null)){t.defaultValue!==a&&(t.defaultValue=a);return}t.defaultValue=s!=null?""+pn(s):""}function Xa(t,a,s,l){if(a==null){if(l!=null){if(s!=null)throw Error(r(92));if(ve(l)){if(1<l.length)throw Error(r(93));l=l[0]}s=l}s==null&&(s=""),a=s}s=pn(a),t.defaultValue=s,l=t.textContent,l===s&&l!==""&&l!==null&&(t.value=l),Mr(t)}function Zn(t,a){if(a){var s=t.firstChild;if(s&&s===t.lastChild&&s.nodeType===3){s.nodeValue=a;return}}t.textContent=a}var Yn=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 am(t,a,s){var l=a.indexOf("--")===0;s==null||typeof s=="boolean"||s===""?l?t.setProperty(a,""):a==="float"?t.cssFloat="":t[a]="":l?t.setProperty(a,s):typeof s!="number"||s===0||Yn.has(a)?a==="float"?t.cssFloat=s:t[a]=(""+s).trim():t[a]=s+"px"}function Oa(t,a,s){if(a!=null&&typeof a!="object")throw Error(r(62));if(t=t.style,s!=null){for(var l in s)!s.hasOwnProperty(l)||a!=null&&a.hasOwnProperty(l)||(l.indexOf("--")===0?t.setProperty(l,""):l==="float"?t.cssFloat="":t[l]="");for(var p in a)l=a[p],a.hasOwnProperty(p)&&s[p]!==l&&am(t,p,l)}else for(var f in a)a.hasOwnProperty(f)&&am(t,f,a[f])}function ga(t){if(t.indexOf("-")===-1)return!1;switch(t){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 fo=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"]]),im=/^[\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 go(t){return im.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function ya(){}var Lr=null;function Vr(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Ja=null,xn=null;function yo(t){var a=Ni(t);if(a&&(t=a.stateNode)){var s=t[mn]||null;e:switch(t=a.stateNode,a.type){case"input":if(po(t,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name),a=s.name,s.type==="radio"&&a!=null){for(s=t;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll('input[name="'+hn(""+a)+'"][type="radio"]'),a=0;a<s.length;a++){var l=s[a];if(l!==t&&l.form===t.form){var p=l[mn]||null;if(!p)throw Error(r(90));po(l,p.value,p.defaultValue,p.defaultValue,p.checked,p.defaultChecked,p.type,p.name)}}for(a=0;a<s.length;a++)l=s[a],l.form===t.form&&Da(l)}break e;case"textarea":In(t,s.value,s.defaultValue);break e;case"select":a=s.value,a!=null&&Cn(t,!!s.multiple,a,!1)}}}var $r=!1;function yc(t,a,s){if($r)return t(a,s);$r=!0;try{var l=t(a);return l}finally{if($r=!1,(Ja!==null||xn!==null)&&(tu(),Ja&&(a=Ja,t=xn,xn=Ja=null,yo(a),t)))for(a=0;a<t.length;a++)yo(t[a])}}function As(t,a){var s=t.stateNode;if(s===null)return null;var l=s[mn]||null;if(l===null)return null;s=l[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(t=t.type,l=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!l;break e;default:t=!1}if(t)return null;if(s&&typeof s!="function")throw Error(r(231,a,typeof s));return s}var Xn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ur=!1;if(Xn)try{var Cs={};Object.defineProperty(Cs,"passive",{get:function(){Ur=!0}}),window.addEventListener("test",Cs,Cs),window.removeEventListener("test",Cs,Cs)}catch{Ur=!1}var qa=null,U=null,Le=null;function Wa(){if(Le)return Le;var t,a=U,s=a.length,l,p="value"in qa?qa.value:qa.textContent,f=p.length;for(t=0;t<s&&a[t]===p[t];t++);var x=s-t;for(l=1;l<=x&&a[s-l]===p[f-l];l++);return Le=p.slice(t,1<l?1-l:void 0)}function ba(t){var a=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&a===13&&(t=13)):t=a,t===10&&(t=13),32<=t||t===13?t:0}function bo(){return!0}function bc(){return!1}function sn(t){function a(s,l,p,f,x){this._reactName=s,this._targetInst=p,this.type=l,this.nativeEvent=f,this.target=x,this.currentTarget=null;for(var k in t)t.hasOwnProperty(k)&&(s=t[k],this[k]=s?s(f):f[k]);return this.isDefaultPrevented=(f.defaultPrevented!=null?f.defaultPrevented:f.returnValue===!1)?bo:bc,this.isPropagationStopped=bc,this}return A(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=bo)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=bo)},persist:function(){},isPersistent:bo}),a}var Ia={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ns=sn(Ia),_s=A({},Ia,{view:0,detail:0}),Ts=sn(_s),va,sm,Gr,vc=A({},_s,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:rm,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Gr&&(Gr&&t.type==="mousemove"?(va=t.screenX-Gr.screenX,sm=t.screenY-Gr.screenY):sm=va=0,Gr=t),va)},movementY:function(t){return"movementY"in t?t.movementY:sm}}),og=sn(vc),Oj=A({},vc,{dataTransfer:0}),qj=sn(Oj),Ij=A({},_s,{relatedTarget:0}),om=sn(Ij),Pj=A({},Ia,{animationName:0,elapsedTime:0,pseudoElement:0}),Mj=sn(Pj),Bj=A({},Ia,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),Lj=sn(Bj),Vj=A({},Ia,{data:0}),rg=sn(Vj),$j={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Uj={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"},Gj={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Kj(t){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(t):(t=Gj[t])?!!a[t]:!1}function rm(){return Kj}var Hj=A({},_s,{key:function(t){if(t.key){var a=$j[t.key]||t.key;if(a!=="Unidentified")return a}return t.type==="keypress"?(t=ba(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?Uj[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:rm,charCode:function(t){return t.type==="keypress"?ba(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?ba(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),Qj=sn(Hj),Fj=A({},vc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),lg=sn(Fj),Zj=A({},_s,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:rm}),Yj=sn(Zj),Xj=A({},Ia,{propertyName:0,elapsedTime:0,pseudoElement:0}),Jj=sn(Xj),Wj=A({},vc,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),eA=sn(Wj),tA=A({},Ia,{newState:0,oldState:0}),nA=sn(tA),aA=[9,13,27,32],lm=Xn&&"CompositionEvent"in window,Kr=null;Xn&&"documentMode"in document&&(Kr=document.documentMode);var iA=Xn&&"TextEvent"in window&&!Kr,cg=Xn&&(!lm||Kr&&8<Kr&&11>=Kr),ug=" ",dg=!1;function mg(t,a){switch(t){case"keyup":return aA.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function pg(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var vo=!1;function sA(t,a){switch(t){case"compositionend":return pg(a);case"keypress":return a.which!==32?null:(dg=!0,ug);case"textInput":return t=a.data,t===ug&&dg?null:t;default:return null}}function oA(t,a){if(vo)return t==="compositionend"||!lm&&mg(t,a)?(t=Wa(),Le=U=qa=null,vo=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return cg&&a.locale!=="ko"?null:a.data;default:return null}}var rA={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 hg(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a==="input"?!!rA[t.type]:a==="textarea"}function fg(t,a,s,l){Ja?xn?xn.push(l):xn=[l]:Ja=l,a=lu(a,"onChange"),0<a.length&&(s=new Ns("onChange","change",null,s,l),t.push({event:s,listeners:a}))}var Hr=null,Qr=null;function lA(t){Xy(t,0)}function xc(t){var a=_i(t);if(Da(a))return t}function gg(t,a){if(t==="change")return a}var yg=!1;if(Xn){var cm;if(Xn){var um="oninput"in document;if(!um){var bg=document.createElement("div");bg.setAttribute("oninput","return;"),um=typeof bg.oninput=="function"}cm=um}else cm=!1;yg=cm&&(!document.documentMode||9<document.documentMode)}function vg(){Hr&&(Hr.detachEvent("onpropertychange",xg),Qr=Hr=null)}function xg(t){if(t.propertyName==="value"&&xc(Qr)){var a=[];fg(a,Qr,t,Vr(t)),yc(lA,a)}}function cA(t,a,s){t==="focusin"?(vg(),Hr=a,Qr=s,Hr.attachEvent("onpropertychange",xg)):t==="focusout"&&vg()}function uA(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return xc(Qr)}function dA(t,a){if(t==="click")return xc(a)}function mA(t,a){if(t==="input"||t==="change")return xc(a)}function pA(t,a){return t===a&&(t!==0||1/t===1/a)||t!==t&&a!==a}var Pn=typeof Object.is=="function"?Object.is:pA;function Fr(t,a){if(Pn(t,a))return!0;if(typeof t!="object"||t===null||typeof a!="object"||a===null)return!1;var s=Object.keys(t),l=Object.keys(a);if(s.length!==l.length)return!1;for(l=0;l<s.length;l++){var p=s[l];if(!Be.call(a,p)||!Pn(t[p],a[p]))return!1}return!0}function wg(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function kg(t,a){var s=wg(t);t=0;for(var l;s;){if(s.nodeType===3){if(l=t+s.textContent.length,t<=a&&l>=a)return{node:s,offset:a-t};t=l}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=wg(s)}}function Sg(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?Sg(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function jg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var a=Ri(t.document);a instanceof t.HTMLIFrameElement;){try{var s=typeof a.contentWindow.location.href=="string"}catch{s=!1}if(s)t=a.contentWindow;else break;a=Ri(t.document)}return a}function dm(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a&&(a==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||a==="textarea"||t.contentEditable==="true")}var hA=Xn&&"documentMode"in document&&11>=document.documentMode,xo=null,mm=null,Zr=null,pm=!1;function Ag(t,a,s){var l=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;pm||xo==null||xo!==Ri(l)||(l=xo,"selectionStart"in l&&dm(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Zr&&Fr(Zr,l)||(Zr=l,l=lu(mm,"onSelect"),0<l.length&&(a=new Ns("onSelect","select",null,a,s),t.push({event:a,listeners:l}),a.target=xo)))}function Es(t,a){var s={};return s[t.toLowerCase()]=a.toLowerCase(),s["Webkit"+t]="webkit"+a,s["Moz"+t]="moz"+a,s}var wo={animationend:Es("Animation","AnimationEnd"),animationiteration:Es("Animation","AnimationIteration"),animationstart:Es("Animation","AnimationStart"),transitionrun:Es("Transition","TransitionRun"),transitionstart:Es("Transition","TransitionStart"),transitioncancel:Es("Transition","TransitionCancel"),transitionend:Es("Transition","TransitionEnd")},hm={},Cg={};Xn&&(Cg=document.createElement("div").style,"AnimationEvent"in window||(delete wo.animationend.animation,delete wo.animationiteration.animation,delete wo.animationstart.animation),"TransitionEvent"in window||delete wo.transitionend.transition);function Rs(t){if(hm[t])return hm[t];if(!wo[t])return t;var a=wo[t],s;for(s in a)if(a.hasOwnProperty(s)&&s in Cg)return hm[t]=a[s];return t}var Ng=Rs("animationend"),_g=Rs("animationiteration"),Tg=Rs("animationstart"),fA=Rs("transitionrun"),gA=Rs("transitionstart"),yA=Rs("transitioncancel"),Eg=Rs("transitionend"),Rg=new Map,fm="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(" ");fm.push("scrollEnd");function xa(t,a){Rg.set(t,a),Ra(a,[t])}var wc=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},Jn=[],ko=0,gm=0;function kc(){for(var t=ko,a=gm=ko=0;a<t;){var s=Jn[a];Jn[a++]=null;var l=Jn[a];Jn[a++]=null;var p=Jn[a];Jn[a++]=null;var f=Jn[a];if(Jn[a++]=null,l!==null&&p!==null){var x=l.pending;x===null?p.next=p:(p.next=x.next,x.next=p),l.pending=p}f!==0&&zg(s,p,f)}}function Sc(t,a,s,l){Jn[ko++]=t,Jn[ko++]=a,Jn[ko++]=s,Jn[ko++]=l,gm|=l,t.lanes|=l,t=t.alternate,t!==null&&(t.lanes|=l)}function ym(t,a,s,l){return Sc(t,a,s,l),jc(t)}function zs(t,a){return Sc(t,null,null,a),jc(t)}function zg(t,a,s){t.lanes|=s;var l=t.alternate;l!==null&&(l.lanes|=s);for(var p=!1,f=t.return;f!==null;)f.childLanes|=s,l=f.alternate,l!==null&&(l.childLanes|=s),f.tag===22&&(t=f.stateNode,t===null||t._visibility&1||(p=!0)),t=f,f=f.return;return t.tag===3?(f=t.stateNode,p&&a!==null&&(p=31-vn(s),t=f.hiddenUpdates,l=t[p],l===null?t[p]=[a]:l.push(a),a.lane=s|536870912),f):null}function jc(t){if(50<yl)throw yl=0,Cp=null,Error(r(185));for(var a=t.return;a!==null;)t=a,a=t.return;return t.tag===3?t.stateNode:null}var So={};function bA(t,a,s,l){this.tag=t,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mn(t,a,s,l){return new bA(t,a,s,l)}function bm(t){return t=t.prototype,!(!t||!t.isReactComponent)}function ei(t,a){var s=t.alternate;return s===null?(s=Mn(t.tag,a,t.key,t.mode),s.elementType=t.elementType,s.type=t.type,s.stateNode=t.stateNode,s.alternate=t,t.alternate=s):(s.pendingProps=a,s.type=t.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=t.flags&65011712,s.childLanes=t.childLanes,s.lanes=t.lanes,s.child=t.child,s.memoizedProps=t.memoizedProps,s.memoizedState=t.memoizedState,s.updateQueue=t.updateQueue,a=t.dependencies,s.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},s.sibling=t.sibling,s.index=t.index,s.ref=t.ref,s.refCleanup=t.refCleanup,s}function Dg(t,a){t.flags&=65011714;var s=t.alternate;return s===null?(t.childLanes=0,t.lanes=a,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=s.childLanes,t.lanes=s.lanes,t.child=s.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=s.memoizedProps,t.memoizedState=s.memoizedState,t.updateQueue=s.updateQueue,t.type=s.type,a=s.dependencies,t.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),t}function Ac(t,a,s,l,p,f){var x=0;if(l=t,typeof t=="function")bm(t)&&(x=1);else if(typeof t=="string")x=S4(t,s,se.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case Re:return t=Mn(31,s,a,p),t.elementType=Re,t.lanes=f,t;case R:return Ds(s.children,p,f,a);case M:x=8,p|=24;break;case X:return t=Mn(12,s,a,p|2),t.elementType=X,t.lanes=f,t;case ie:return t=Mn(13,s,a,p),t.elementType=ie,t.lanes=f,t;case re:return t=Mn(19,s,a,p),t.elementType=re,t.lanes=f,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case L:x=10;break e;case J:x=9;break e;case le:x=11;break e;case H:x=14;break e;case K:x=16,l=null;break e}x=29,s=Error(r(130,t===null?"null":typeof t,"")),l=null}return a=Mn(x,s,a,p),a.elementType=t,a.type=l,a.lanes=f,a}function Ds(t,a,s,l){return t=Mn(7,t,l,a),t.lanes=s,t}function vm(t,a,s){return t=Mn(6,t,null,a),t.lanes=s,t}function Og(t){var a=Mn(18,null,null,0);return a.stateNode=t,a}function xm(t,a,s){return a=Mn(4,t.children!==null?t.children:[],t.key,a),a.lanes=s,a.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},a}var qg=new WeakMap;function Wn(t,a){if(typeof t=="object"&&t!==null){var s=qg.get(t);return s!==void 0?s:(a={value:t,source:a,stack:bs(a)},qg.set(t,a),a)}return{value:t,source:a,stack:bs(a)}}var jo=[],Ao=0,Cc=null,Yr=0,ea=[],ta=0,zi=null,Pa=1,Ma="";function ti(t,a){jo[Ao++]=Yr,jo[Ao++]=Cc,Cc=t,Yr=a}function Ig(t,a,s){ea[ta++]=Pa,ea[ta++]=Ma,ea[ta++]=zi,zi=t;var l=Pa;t=Ma;var p=32-vn(l)-1;l&=~(1<<p),s+=1;var f=32-vn(a)+p;if(30<f){var x=p-p%5;f=(l&(1<<x)-1).toString(32),l>>=x,p-=x,Pa=1<<32-vn(a)+p|s<<p|l,Ma=f+t}else Pa=1<<f|s<<p|l,Ma=t}function wm(t){t.return!==null&&(ti(t,1),Ig(t,1,0))}function km(t){for(;t===Cc;)Cc=jo[--Ao],jo[Ao]=null,Yr=jo[--Ao],jo[Ao]=null;for(;t===zi;)zi=ea[--ta],ea[ta]=null,Ma=ea[--ta],ea[ta]=null,Pa=ea[--ta],ea[ta]=null}function Pg(t,a){ea[ta++]=Pa,ea[ta++]=Ma,ea[ta++]=zi,Pa=a.id,Ma=a.overflow,zi=t}var on=null,jt=null,at=!1,Di=null,na=!1,Sm=Error(r(519));function Oi(t){var a=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Xr(Wn(a,t)),Sm}function Mg(t){var a=t.stateNode,s=t.type,l=t.memoizedProps;switch(a[Lt]=t,a[mn]=l,s){case"dialog":Xe("cancel",a),Xe("close",a);break;case"iframe":case"object":case"embed":Xe("load",a);break;case"video":case"audio":for(s=0;s<vl.length;s++)Xe(vl[s],a);break;case"source":Xe("error",a);break;case"img":case"image":case"link":Xe("error",a),Xe("load",a);break;case"details":Xe("toggle",a);break;case"input":Xe("invalid",a),Br(a,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":Xe("invalid",a);break;case"textarea":Xe("invalid",a),Xa(a,l.value,l.defaultValue,l.children)}s=l.children,typeof s!="string"&&typeof s!="number"&&typeof s!="bigint"||a.textContent===""+s||l.suppressHydrationWarning===!0||tb(a.textContent,s)?(l.popover!=null&&(Xe("beforetoggle",a),Xe("toggle",a)),l.onScroll!=null&&Xe("scroll",a),l.onScrollEnd!=null&&Xe("scrollend",a),l.onClick!=null&&(a.onclick=ya),a=!0):a=!1,a||Oi(t,!0)}function Bg(t){for(on=t.return;on;)switch(on.tag){case 5:case 31:case 13:na=!1;return;case 27:case 3:na=!0;return;default:on=on.return}}function Co(t){if(t!==on)return!1;if(!at)return Bg(t),at=!0,!1;var a=t.tag,s;if((s=a!==3&&a!==27)&&((s=a===5)&&(s=t.type,s=!(s!=="form"&&s!=="button")||Vp(t.type,t.memoizedProps)),s=!s),s&&jt&&Oi(t),Bg(t),a===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));jt=ub(t)}else if(a===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));jt=ub(t)}else a===27?(a=jt,Fi(t.type)?(t=Hp,Hp=null,jt=t):jt=a):jt=on?ia(t.stateNode.nextSibling):null;return!0}function Os(){jt=on=null,at=!1}function jm(){var t=Di;return t!==null&&(En===null?En=t:En.push.apply(En,t),Di=null),t}function Xr(t){Di===null?Di=[t]:Di.push(t)}var Am=De(null),qs=null,ni=null;function qi(t,a,s){Se(Am,a._currentValue),a._currentValue=s}function ai(t){t._currentValue=Am.current,Te(Am)}function Cm(t,a,s){for(;t!==null;){var l=t.alternate;if((t.childLanes&a)!==a?(t.childLanes|=a,l!==null&&(l.childLanes|=a)):l!==null&&(l.childLanes&a)!==a&&(l.childLanes|=a),t===s)break;t=t.return}}function Nm(t,a,s,l){var p=t.child;for(p!==null&&(p.return=t);p!==null;){var f=p.dependencies;if(f!==null){var x=p.child;f=f.firstContext;e:for(;f!==null;){var k=f;f=p;for(var E=0;E<a.length;E++)if(k.context===a[E]){f.lanes|=s,k=f.alternate,k!==null&&(k.lanes|=s),Cm(f.return,s,t),l||(x=null);break e}f=k.next}}else if(p.tag===18){if(x=p.return,x===null)throw Error(r(341));x.lanes|=s,f=x.alternate,f!==null&&(f.lanes|=s),Cm(x,s,t),x=null}else x=p.child;if(x!==null)x.return=p;else for(x=p;x!==null;){if(x===t){x=null;break}if(p=x.sibling,p!==null){p.return=x.return,x=p;break}x=x.return}p=x}}function No(t,a,s,l){t=null;for(var p=a,f=!1;p!==null;){if(!f){if((p.flags&524288)!==0)f=!0;else if((p.flags&262144)!==0)break}if(p.tag===10){var x=p.alternate;if(x===null)throw Error(r(387));if(x=x.memoizedProps,x!==null){var k=p.type;Pn(p.pendingProps.value,x.value)||(t!==null?t.push(k):t=[k])}}else if(p===ce.current){if(x=p.alternate,x===null)throw Error(r(387));x.memoizedState.memoizedState!==p.memoizedState.memoizedState&&(t!==null?t.push(jl):t=[jl])}p=p.return}t!==null&&Nm(a,t,s,l),a.flags|=262144}function Nc(t){for(t=t.firstContext;t!==null;){if(!Pn(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Is(t){qs=t,ni=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function rn(t){return Lg(qs,t)}function _c(t,a){return qs===null&&Is(t),Lg(t,a)}function Lg(t,a){var s=a._currentValue;if(a={context:a,memoizedValue:s,next:null},ni===null){if(t===null)throw Error(r(308));ni=a,t.dependencies={lanes:0,firstContext:a},t.flags|=524288}else ni=ni.next=a;return s}var vA=typeof AbortController<"u"?AbortController:function(){var t=[],a=this.signal={aborted:!1,addEventListener:function(s,l){t.push(l)}};this.abort=function(){a.aborted=!0,t.forEach(function(s){return s()})}},xA=e.unstable_scheduleCallback,wA=e.unstable_NormalPriority,Vt={$$typeof:L,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function _m(){return{controller:new vA,data:new Map,refCount:0}}function Jr(t){t.refCount--,t.refCount===0&&xA(wA,function(){t.controller.abort()})}var Wr=null,Tm=0,_o=0,To=null;function kA(t,a){if(Wr===null){var s=Wr=[];Tm=0,_o=zp(),To={status:"pending",value:void 0,then:function(l){s.push(l)}}}return Tm++,a.then(Vg,Vg),a}function Vg(){if(--Tm===0&&Wr!==null){To!==null&&(To.status="fulfilled");var t=Wr;Wr=null,_o=0,To=null;for(var a=0;a<t.length;a++)(0,t[a])()}}function SA(t,a){var s=[],l={status:"pending",value:null,reason:null,then:function(p){s.push(p)}};return t.then(function(){l.status="fulfilled",l.value=a;for(var p=0;p<s.length;p++)(0,s[p])(a)},function(p){for(l.status="rejected",l.reason=p,p=0;p<s.length;p++)(0,s[p])(void 0)}),l}var $g=P.S;P.S=function(t,a){Ay=nn(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&kA(t,a),$g!==null&&$g(t,a)};var Ps=De(null);function Em(){var t=Ps.current;return t!==null?t:bt.pooledCache}function Tc(t,a){a===null?Se(Ps,Ps.current):Se(Ps,a.pool)}function Ug(){var t=Em();return t===null?null:{parent:Vt._currentValue,pool:t}}var Eo=Error(r(460)),Rm=Error(r(474)),Ec=Error(r(542)),Rc={then:function(){}};function Gg(t){return t=t.status,t==="fulfilled"||t==="rejected"}function Kg(t,a,s){switch(s=t[s],s===void 0?t.push(a):s!==a&&(a.then(ya,ya),a=s),a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,Qg(t),t;default:if(typeof a.status=="string")a.then(ya,ya);else{if(t=bt,t!==null&&100<t.shellSuspendCounter)throw Error(r(482));t=a,t.status="pending",t.then(function(l){if(a.status==="pending"){var p=a;p.status="fulfilled",p.value=l}},function(l){if(a.status==="pending"){var p=a;p.status="rejected",p.reason=l}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,Qg(t),t}throw Bs=a,Eo}}function Ms(t){try{var a=t._init;return a(t._payload)}catch(s){throw s!==null&&typeof s=="object"&&typeof s.then=="function"?(Bs=s,Eo):s}}var Bs=null;function Hg(){if(Bs===null)throw Error(r(459));var t=Bs;return Bs=null,t}function Qg(t){if(t===Eo||t===Ec)throw Error(r(483))}var Ro=null,el=0;function zc(t){var a=el;return el+=1,Ro===null&&(Ro=[]),Kg(Ro,t,a)}function tl(t,a){a=a.props.ref,t.ref=a!==void 0?a:null}function Dc(t,a){throw a.$$typeof===T?Error(r(525)):(t=Object.prototype.toString.call(a),Error(r(31,t==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":t)))}function Fg(t){function a(I,D){if(t){var B=I.deletions;B===null?(I.deletions=[D],I.flags|=16):B.push(D)}}function s(I,D){if(!t)return null;for(;D!==null;)a(I,D),D=D.sibling;return null}function l(I){for(var D=new Map;I!==null;)I.key!==null?D.set(I.key,I):D.set(I.index,I),I=I.sibling;return D}function p(I,D){return I=ei(I,D),I.index=0,I.sibling=null,I}function f(I,D,B){return I.index=B,t?(B=I.alternate,B!==null?(B=B.index,B<D?(I.flags|=67108866,D):B):(I.flags|=67108866,D)):(I.flags|=1048576,D)}function x(I){return t&&I.alternate===null&&(I.flags|=67108866),I}function k(I,D,B,te){return D===null||D.tag!==6?(D=vm(B,I.mode,te),D.return=I,D):(D=p(D,B),D.return=I,D)}function E(I,D,B,te){var Ee=B.type;return Ee===R?Z(I,D,B.props.children,te,B.key):D!==null&&(D.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===K&&Ms(Ee)===D.type)?(D=p(D,B.props),tl(D,B),D.return=I,D):(D=Ac(B.type,B.key,B.props,null,I.mode,te),tl(D,B),D.return=I,D)}function $(I,D,B,te){return D===null||D.tag!==4||D.stateNode.containerInfo!==B.containerInfo||D.stateNode.implementation!==B.implementation?(D=xm(B,I.mode,te),D.return=I,D):(D=p(D,B.children||[]),D.return=I,D)}function Z(I,D,B,te,Ee){return D===null||D.tag!==7?(D=Ds(B,I.mode,te,Ee),D.return=I,D):(D=p(D,B),D.return=I,D)}function ne(I,D,B){if(typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint")return D=vm(""+D,I.mode,B),D.return=I,D;if(typeof D=="object"&&D!==null){switch(D.$$typeof){case C:return B=Ac(D.type,D.key,D.props,null,I.mode,B),tl(B,D),B.return=I,B;case F:return D=xm(D,I.mode,B),D.return=I,D;case K:return D=Ms(D),ne(I,D,B)}if(ve(D)||ze(D))return D=Ds(D,I.mode,B,null),D.return=I,D;if(typeof D.then=="function")return ne(I,zc(D),B);if(D.$$typeof===L)return ne(I,_c(I,D),B);Dc(I,D)}return null}function G(I,D,B,te){var Ee=D!==null?D.key:null;if(typeof B=="string"&&B!==""||typeof B=="number"||typeof B=="bigint")return Ee!==null?null:k(I,D,""+B,te);if(typeof B=="object"&&B!==null){switch(B.$$typeof){case C:return B.key===Ee?E(I,D,B,te):null;case F:return B.key===Ee?$(I,D,B,te):null;case K:return B=Ms(B),G(I,D,B,te)}if(ve(B)||ze(B))return Ee!==null?null:Z(I,D,B,te,null);if(typeof B.then=="function")return G(I,D,zc(B),te);if(B.$$typeof===L)return G(I,D,_c(I,B),te);Dc(I,B)}return null}function Q(I,D,B,te,Ee){if(typeof te=="string"&&te!==""||typeof te=="number"||typeof te=="bigint")return I=I.get(B)||null,k(D,I,""+te,Ee);if(typeof te=="object"&&te!==null){switch(te.$$typeof){case C:return I=I.get(te.key===null?B:te.key)||null,E(D,I,te,Ee);case F:return I=I.get(te.key===null?B:te.key)||null,$(D,I,te,Ee);case K:return te=Ms(te),Q(I,D,B,te,Ee)}if(ve(te)||ze(te))return I=I.get(B)||null,Z(D,I,te,Ee,null);if(typeof te.then=="function")return Q(I,D,B,zc(te),Ee);if(te.$$typeof===L)return Q(I,D,B,_c(D,te),Ee);Dc(D,te)}return null}function xe(I,D,B,te){for(var Ee=null,ot=null,Ae=D,Ke=D=0,We=null;Ae!==null&&Ke<B.length;Ke++){Ae.index>Ke?(We=Ae,Ae=null):We=Ae.sibling;var rt=G(I,Ae,B[Ke],te);if(rt===null){Ae===null&&(Ae=We);break}t&&Ae&&rt.alternate===null&&a(I,Ae),D=f(rt,D,Ke),ot===null?Ee=rt:ot.sibling=rt,ot=rt,Ae=We}if(Ke===B.length)return s(I,Ae),at&&ti(I,Ke),Ee;if(Ae===null){for(;Ke<B.length;Ke++)Ae=ne(I,B[Ke],te),Ae!==null&&(D=f(Ae,D,Ke),ot===null?Ee=Ae:ot.sibling=Ae,ot=Ae);return at&&ti(I,Ke),Ee}for(Ae=l(Ae);Ke<B.length;Ke++)We=Q(Ae,I,Ke,B[Ke],te),We!==null&&(t&&We.alternate!==null&&Ae.delete(We.key===null?Ke:We.key),D=f(We,D,Ke),ot===null?Ee=We:ot.sibling=We,ot=We);return t&&Ae.forEach(function(Wi){return a(I,Wi)}),at&&ti(I,Ke),Ee}function Ie(I,D,B,te){if(B==null)throw Error(r(151));for(var Ee=null,ot=null,Ae=D,Ke=D=0,We=null,rt=B.next();Ae!==null&&!rt.done;Ke++,rt=B.next()){Ae.index>Ke?(We=Ae,Ae=null):We=Ae.sibling;var Wi=G(I,Ae,rt.value,te);if(Wi===null){Ae===null&&(Ae=We);break}t&&Ae&&Wi.alternate===null&&a(I,Ae),D=f(Wi,D,Ke),ot===null?Ee=Wi:ot.sibling=Wi,ot=Wi,Ae=We}if(rt.done)return s(I,Ae),at&&ti(I,Ke),Ee;if(Ae===null){for(;!rt.done;Ke++,rt=B.next())rt=ne(I,rt.value,te),rt!==null&&(D=f(rt,D,Ke),ot===null?Ee=rt:ot.sibling=rt,ot=rt);return at&&ti(I,Ke),Ee}for(Ae=l(Ae);!rt.done;Ke++,rt=B.next())rt=Q(Ae,I,Ke,rt.value,te),rt!==null&&(t&&rt.alternate!==null&&Ae.delete(rt.key===null?Ke:rt.key),D=f(rt,D,Ke),ot===null?Ee=rt:ot.sibling=rt,ot=rt);return t&&Ae.forEach(function(O4){return a(I,O4)}),at&&ti(I,Ke),Ee}function yt(I,D,B,te){if(typeof B=="object"&&B!==null&&B.type===R&&B.key===null&&(B=B.props.children),typeof B=="object"&&B!==null){switch(B.$$typeof){case C:e:{for(var Ee=B.key;D!==null;){if(D.key===Ee){if(Ee=B.type,Ee===R){if(D.tag===7){s(I,D.sibling),te=p(D,B.props.children),te.return=I,I=te;break e}}else if(D.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===K&&Ms(Ee)===D.type){s(I,D.sibling),te=p(D,B.props),tl(te,B),te.return=I,I=te;break e}s(I,D);break}else a(I,D);D=D.sibling}B.type===R?(te=Ds(B.props.children,I.mode,te,B.key),te.return=I,I=te):(te=Ac(B.type,B.key,B.props,null,I.mode,te),tl(te,B),te.return=I,I=te)}return x(I);case F:e:{for(Ee=B.key;D!==null;){if(D.key===Ee)if(D.tag===4&&D.stateNode.containerInfo===B.containerInfo&&D.stateNode.implementation===B.implementation){s(I,D.sibling),te=p(D,B.children||[]),te.return=I,I=te;break e}else{s(I,D);break}else a(I,D);D=D.sibling}te=xm(B,I.mode,te),te.return=I,I=te}return x(I);case K:return B=Ms(B),yt(I,D,B,te)}if(ve(B))return xe(I,D,B,te);if(ze(B)){if(Ee=ze(B),typeof Ee!="function")throw Error(r(150));return B=Ee.call(B),Ie(I,D,B,te)}if(typeof B.then=="function")return yt(I,D,zc(B),te);if(B.$$typeof===L)return yt(I,D,_c(I,B),te);Dc(I,B)}return typeof B=="string"&&B!==""||typeof B=="number"||typeof B=="bigint"?(B=""+B,D!==null&&D.tag===6?(s(I,D.sibling),te=p(D,B),te.return=I,I=te):(s(I,D),te=vm(B,I.mode,te),te.return=I,I=te),x(I)):s(I,D)}return function(I,D,B,te){try{el=0;var Ee=yt(I,D,B,te);return Ro=null,Ee}catch(Ae){if(Ae===Eo||Ae===Ec)throw Ae;var ot=Mn(29,Ae,null,I.mode);return ot.lanes=te,ot.return=I,ot}}}var Ls=Fg(!0),Zg=Fg(!1),Ii=!1;function zm(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Dm(t,a){t=t.updateQueue,a.updateQueue===t&&(a.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Pi(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Mi(t,a,s){var l=t.updateQueue;if(l===null)return null;if(l=l.shared,(ct&2)!==0){var p=l.pending;return p===null?a.next=a:(a.next=p.next,p.next=a),l.pending=a,a=jc(t),zg(t,null,s),a}return Sc(t,l,a,s),jc(t)}function nl(t,a,s){if(a=a.updateQueue,a!==null&&(a=a.shared,(s&4194048)!==0)){var l=a.lanes;l&=t.pendingLanes,s|=l,a.lanes=s,Tr(t,s)}}function Om(t,a){var s=t.updateQueue,l=t.alternate;if(l!==null&&(l=l.updateQueue,s===l)){var p=null,f=null;if(s=s.firstBaseUpdate,s!==null){do{var x={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};f===null?p=f=x:f=f.next=x,s=s.next}while(s!==null);f===null?p=f=a:f=f.next=a}else p=f=a;s={baseState:l.baseState,firstBaseUpdate:p,lastBaseUpdate:f,shared:l.shared,callbacks:l.callbacks},t.updateQueue=s;return}t=s.lastBaseUpdate,t===null?s.firstBaseUpdate=a:t.next=a,s.lastBaseUpdate=a}var qm=!1;function al(){if(qm){var t=To;if(t!==null)throw t}}function il(t,a,s,l){qm=!1;var p=t.updateQueue;Ii=!1;var f=p.firstBaseUpdate,x=p.lastBaseUpdate,k=p.shared.pending;if(k!==null){p.shared.pending=null;var E=k,$=E.next;E.next=null,x===null?f=$:x.next=$,x=E;var Z=t.alternate;Z!==null&&(Z=Z.updateQueue,k=Z.lastBaseUpdate,k!==x&&(k===null?Z.firstBaseUpdate=$:k.next=$,Z.lastBaseUpdate=E))}if(f!==null){var ne=p.baseState;x=0,Z=$=E=null,k=f;do{var G=k.lane&-536870913,Q=G!==k.lane;if(Q?(Je&G)===G:(l&G)===G){G!==0&&G===_o&&(qm=!0),Z!==null&&(Z=Z.next={lane:0,tag:k.tag,payload:k.payload,callback:null,next:null});e:{var xe=t,Ie=k;G=a;var yt=s;switch(Ie.tag){case 1:if(xe=Ie.payload,typeof xe=="function"){ne=xe.call(yt,ne,G);break e}ne=xe;break e;case 3:xe.flags=xe.flags&-65537|128;case 0:if(xe=Ie.payload,G=typeof xe=="function"?xe.call(yt,ne,G):xe,G==null)break e;ne=A({},ne,G);break e;case 2:Ii=!0}}G=k.callback,G!==null&&(t.flags|=64,Q&&(t.flags|=8192),Q=p.callbacks,Q===null?p.callbacks=[G]:Q.push(G))}else Q={lane:G,tag:k.tag,payload:k.payload,callback:k.callback,next:null},Z===null?($=Z=Q,E=ne):Z=Z.next=Q,x|=G;if(k=k.next,k===null){if(k=p.shared.pending,k===null)break;Q=k,k=Q.next,Q.next=null,p.lastBaseUpdate=Q,p.shared.pending=null}}while(!0);Z===null&&(E=ne),p.baseState=E,p.firstBaseUpdate=$,p.lastBaseUpdate=Z,f===null&&(p.shared.lanes=0),Ui|=x,t.lanes=x,t.memoizedState=ne}}function Yg(t,a){if(typeof t!="function")throw Error(r(191,t));t.call(a)}function Xg(t,a){var s=t.callbacks;if(s!==null)for(t.callbacks=null,t=0;t<s.length;t++)Yg(s[t],a)}var zo=De(null),Oc=De(0);function Jg(t,a){t=mi,Se(Oc,t),Se(zo,a),mi=t|a.baseLanes}function Im(){Se(Oc,mi),Se(zo,zo.current)}function Pm(){mi=Oc.current,Te(zo),Te(Oc)}var Bn=De(null),aa=null;function Bi(t){var a=t.alternate;Se(Pt,Pt.current&1),Se(Bn,t),aa===null&&(a===null||zo.current!==null||a.memoizedState!==null)&&(aa=t)}function Mm(t){Se(Pt,Pt.current),Se(Bn,t),aa===null&&(aa=t)}function Wg(t){t.tag===22?(Se(Pt,Pt.current),Se(Bn,t),aa===null&&(aa=t)):Li()}function Li(){Se(Pt,Pt.current),Se(Bn,Bn.current)}function Ln(t){Te(Bn),aa===t&&(aa=null),Te(Pt)}var Pt=De(0);function qc(t){for(var a=t;a!==null;){if(a.tag===13){var s=a.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||Gp(s)||Kp(s)))return a}else if(a.tag===19&&(a.memoizedProps.revealOrder==="forwards"||a.memoizedProps.revealOrder==="backwards"||a.memoizedProps.revealOrder==="unstable_legacy-backwards"||a.memoizedProps.revealOrder==="together")){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var ii=0,Ue=null,ft=null,$t=null,Ic=!1,Do=!1,Vs=!1,Pc=0,sl=0,Oo=null,jA=0;function Ot(){throw Error(r(321))}function Bm(t,a){if(a===null)return!1;for(var s=0;s<a.length&&s<t.length;s++)if(!Pn(t[s],a[s]))return!1;return!0}function Lm(t,a,s,l,p,f){return ii=f,Ue=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,P.H=t===null||t.memoizedState===null?I1:tp,Vs=!1,f=s(l,p),Vs=!1,Do&&(f=t1(a,s,l,p)),e1(t),f}function e1(t){P.H=ll;var a=ft!==null&&ft.next!==null;if(ii=0,$t=ft=Ue=null,Ic=!1,sl=0,Oo=null,a)throw Error(r(300));t===null||Ut||(t=t.dependencies,t!==null&&Nc(t)&&(Ut=!0))}function t1(t,a,s,l){Ue=t;var p=0;do{if(Do&&(Oo=null),sl=0,Do=!1,25<=p)throw Error(r(301));if(p+=1,$t=ft=null,t.updateQueue!=null){var f=t.updateQueue;f.lastEffect=null,f.events=null,f.stores=null,f.memoCache!=null&&(f.memoCache.index=0)}P.H=P1,f=a(s,l)}while(Do);return f}function AA(){var t=P.H,a=t.useState()[0];return a=typeof a.then=="function"?ol(a):a,t=t.useState()[0],(ft!==null?ft.memoizedState:null)!==t&&(Ue.flags|=1024),a}function Vm(){var t=Pc!==0;return Pc=0,t}function $m(t,a,s){a.updateQueue=t.updateQueue,a.flags&=-2053,t.lanes&=~s}function Um(t){if(Ic){for(t=t.memoizedState;t!==null;){var a=t.queue;a!==null&&(a.pending=null),t=t.next}Ic=!1}ii=0,$t=ft=Ue=null,Do=!1,sl=Pc=0,Oo=null}function wn(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return $t===null?Ue.memoizedState=$t=t:$t=$t.next=t,$t}function Mt(){if(ft===null){var t=Ue.alternate;t=t!==null?t.memoizedState:null}else t=ft.next;var a=$t===null?Ue.memoizedState:$t.next;if(a!==null)$t=a,ft=t;else{if(t===null)throw Ue.alternate===null?Error(r(467)):Error(r(310));ft=t,t={memoizedState:ft.memoizedState,baseState:ft.baseState,baseQueue:ft.baseQueue,queue:ft.queue,next:null},$t===null?Ue.memoizedState=$t=t:$t=$t.next=t}return $t}function Mc(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function ol(t){var a=sl;return sl+=1,Oo===null&&(Oo=[]),t=Kg(Oo,t,a),a=Ue,($t===null?a.memoizedState:$t.next)===null&&(a=a.alternate,P.H=a===null||a.memoizedState===null?I1:tp),t}function Bc(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return ol(t);if(t.$$typeof===L)return rn(t)}throw Error(r(438,String(t)))}function Gm(t){var a=null,s=Ue.updateQueue;if(s!==null&&(a=s.memoCache),a==null){var l=Ue.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(a={data:l.data.map(function(p){return p.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),s===null&&(s=Mc(),Ue.updateQueue=s),s.memoCache=a,s=a.data[a.index],s===void 0)for(s=a.data[a.index]=Array(t),l=0;l<t;l++)s[l]=Qe;return a.index++,s}function si(t,a){return typeof a=="function"?a(t):a}function Lc(t){var a=Mt();return Km(a,ft,t)}function Km(t,a,s){var l=t.queue;if(l===null)throw Error(r(311));l.lastRenderedReducer=s;var p=t.baseQueue,f=l.pending;if(f!==null){if(p!==null){var x=p.next;p.next=f.next,f.next=x}a.baseQueue=p=f,l.pending=null}if(f=t.baseState,p===null)t.memoizedState=f;else{a=p.next;var k=x=null,E=null,$=a,Z=!1;do{var ne=$.lane&-536870913;if(ne!==$.lane?(Je&ne)===ne:(ii&ne)===ne){var G=$.revertLane;if(G===0)E!==null&&(E=E.next={lane:0,revertLane:0,gesture:null,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null}),ne===_o&&(Z=!0);else if((ii&G)===G){$=$.next,G===_o&&(Z=!0);continue}else ne={lane:0,revertLane:$.revertLane,gesture:null,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null},E===null?(k=E=ne,x=f):E=E.next=ne,Ue.lanes|=G,Ui|=G;ne=$.action,Vs&&s(f,ne),f=$.hasEagerState?$.eagerState:s(f,ne)}else G={lane:ne,revertLane:$.revertLane,gesture:$.gesture,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null},E===null?(k=E=G,x=f):E=E.next=G,Ue.lanes|=ne,Ui|=ne;$=$.next}while($!==null&&$!==a);if(E===null?x=f:E.next=k,!Pn(f,t.memoizedState)&&(Ut=!0,Z&&(s=To,s!==null)))throw s;t.memoizedState=f,t.baseState=x,t.baseQueue=E,l.lastRenderedState=f}return p===null&&(l.lanes=0),[t.memoizedState,l.dispatch]}function Hm(t){var a=Mt(),s=a.queue;if(s===null)throw Error(r(311));s.lastRenderedReducer=t;var l=s.dispatch,p=s.pending,f=a.memoizedState;if(p!==null){s.pending=null;var x=p=p.next;do f=t(f,x.action),x=x.next;while(x!==p);Pn(f,a.memoizedState)||(Ut=!0),a.memoizedState=f,a.baseQueue===null&&(a.baseState=f),s.lastRenderedState=f}return[f,l]}function n1(t,a,s){var l=Ue,p=Mt(),f=at;if(f){if(s===void 0)throw Error(r(407));s=s()}else s=a();var x=!Pn((ft||p).memoizedState,s);if(x&&(p.memoizedState=s,Ut=!0),p=p.queue,Zm(s1.bind(null,l,p,t),[t]),p.getSnapshot!==a||x||$t!==null&&$t.memoizedState.tag&1){if(l.flags|=2048,qo(9,{destroy:void 0},i1.bind(null,l,p,s,a),null),bt===null)throw Error(r(349));f||(ii&127)!==0||a1(l,a,s)}return s}function a1(t,a,s){t.flags|=16384,t={getSnapshot:a,value:s},a=Ue.updateQueue,a===null?(a=Mc(),Ue.updateQueue=a,a.stores=[t]):(s=a.stores,s===null?a.stores=[t]:s.push(t))}function i1(t,a,s,l){a.value=s,a.getSnapshot=l,o1(a)&&r1(t)}function s1(t,a,s){return s(function(){o1(a)&&r1(t)})}function o1(t){var a=t.getSnapshot;t=t.value;try{var s=a();return!Pn(t,s)}catch{return!0}}function r1(t){var a=zs(t,2);a!==null&&Rn(a,t,2)}function Qm(t){var a=wn();if(typeof t=="function"){var s=t;if(t=s(),Vs){Ta(!0);try{s()}finally{Ta(!1)}}}return a.memoizedState=a.baseState=t,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:si,lastRenderedState:t},a}function l1(t,a,s,l){return t.baseState=s,Km(t,ft,typeof l=="function"?l:si)}function CA(t,a,s,l,p){if(Uc(t))throw Error(r(485));if(t=a.action,t!==null){var f={payload:p,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(x){f.listeners.push(x)}};P.T!==null?s(!0):f.isTransition=!1,l(f),s=a.pending,s===null?(f.next=a.pending=f,c1(a,f)):(f.next=s.next,a.pending=s.next=f)}}function c1(t,a){var s=a.action,l=a.payload,p=t.state;if(a.isTransition){var f=P.T,x={};P.T=x;try{var k=s(p,l),E=P.S;E!==null&&E(x,k),u1(t,a,k)}catch($){Fm(t,a,$)}finally{f!==null&&x.types!==null&&(f.types=x.types),P.T=f}}else try{f=s(p,l),u1(t,a,f)}catch($){Fm(t,a,$)}}function u1(t,a,s){s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(function(l){d1(t,a,l)},function(l){return Fm(t,a,l)}):d1(t,a,s)}function d1(t,a,s){a.status="fulfilled",a.value=s,m1(a),t.state=s,a=t.pending,a!==null&&(s=a.next,s===a?t.pending=null:(s=s.next,a.next=s,c1(t,s)))}function Fm(t,a,s){var l=t.pending;if(t.pending=null,l!==null){l=l.next;do a.status="rejected",a.reason=s,m1(a),a=a.next;while(a!==l)}t.action=null}function m1(t){t=t.listeners;for(var a=0;a<t.length;a++)(0,t[a])()}function p1(t,a){return a}function h1(t,a){if(at){var s=bt.formState;if(s!==null){e:{var l=Ue;if(at){if(jt){t:{for(var p=jt,f=na;p.nodeType!==8;){if(!f){p=null;break t}if(p=ia(p.nextSibling),p===null){p=null;break t}}f=p.data,p=f==="F!"||f==="F"?p:null}if(p){jt=ia(p.nextSibling),l=p.data==="F!";break e}}Oi(l)}l=!1}l&&(a=s[0])}}return s=wn(),s.memoizedState=s.baseState=a,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:p1,lastRenderedState:a},s.queue=l,s=D1.bind(null,Ue,l),l.dispatch=s,l=Qm(!1),f=ep.bind(null,Ue,!1,l.queue),l=wn(),p={state:a,dispatch:null,action:t,pending:null},l.queue=p,s=CA.bind(null,Ue,p,f,s),p.dispatch=s,l.memoizedState=t,[a,s,!1]}function f1(t){var a=Mt();return g1(a,ft,t)}function g1(t,a,s){if(a=Km(t,a,p1)[0],t=Lc(si)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var l=ol(a)}catch(x){throw x===Eo?Ec:x}else l=a;a=Mt();var p=a.queue,f=p.dispatch;return s!==a.memoizedState&&(Ue.flags|=2048,qo(9,{destroy:void 0},NA.bind(null,p,s),null)),[l,f,t]}function NA(t,a){t.action=a}function y1(t){var a=Mt(),s=ft;if(s!==null)return g1(a,s,t);Mt(),a=a.memoizedState,s=Mt();var l=s.queue.dispatch;return s.memoizedState=t,[a,l,!1]}function qo(t,a,s,l){return t={tag:t,create:s,deps:l,inst:a,next:null},a=Ue.updateQueue,a===null&&(a=Mc(),Ue.updateQueue=a),s=a.lastEffect,s===null?a.lastEffect=t.next=t:(l=s.next,s.next=t,t.next=l,a.lastEffect=t),t}function b1(){return Mt().memoizedState}function Vc(t,a,s,l){var p=wn();Ue.flags|=t,p.memoizedState=qo(1|a,{destroy:void 0},s,l===void 0?null:l)}function $c(t,a,s,l){var p=Mt();l=l===void 0?null:l;var f=p.memoizedState.inst;ft!==null&&l!==null&&Bm(l,ft.memoizedState.deps)?p.memoizedState=qo(a,f,s,l):(Ue.flags|=t,p.memoizedState=qo(1|a,f,s,l))}function v1(t,a){Vc(8390656,8,t,a)}function Zm(t,a){$c(2048,8,t,a)}function _A(t){Ue.flags|=4;var a=Ue.updateQueue;if(a===null)a=Mc(),Ue.updateQueue=a,a.events=[t];else{var s=a.events;s===null?a.events=[t]:s.push(t)}}function x1(t){var a=Mt().memoizedState;return _A({ref:a,nextImpl:t}),function(){if((ct&2)!==0)throw Error(r(440));return a.impl.apply(void 0,arguments)}}function w1(t,a){return $c(4,2,t,a)}function k1(t,a){return $c(4,4,t,a)}function S1(t,a){if(typeof a=="function"){t=t();var s=a(t);return function(){typeof s=="function"?s():a(null)}}if(a!=null)return t=t(),a.current=t,function(){a.current=null}}function j1(t,a,s){s=s!=null?s.concat([t]):null,$c(4,4,S1.bind(null,a,t),s)}function Ym(){}function A1(t,a){var s=Mt();a=a===void 0?null:a;var l=s.memoizedState;return a!==null&&Bm(a,l[1])?l[0]:(s.memoizedState=[t,a],t)}function C1(t,a){var s=Mt();a=a===void 0?null:a;var l=s.memoizedState;if(a!==null&&Bm(a,l[1]))return l[0];if(l=t(),Vs){Ta(!0);try{t()}finally{Ta(!1)}}return s.memoizedState=[l,a],l}function Xm(t,a,s){return s===void 0||(ii&1073741824)!==0&&(Je&261930)===0?t.memoizedState=a:(t.memoizedState=s,t=Ny(),Ue.lanes|=t,Ui|=t,s)}function N1(t,a,s,l){return Pn(s,a)?s:zo.current!==null?(t=Xm(t,s,l),Pn(t,a)||(Ut=!0),t):(ii&42)===0||(ii&1073741824)!==0&&(Je&261930)===0?(Ut=!0,t.memoizedState=s):(t=Ny(),Ue.lanes|=t,Ui|=t,a)}function _1(t,a,s,l,p){var f=ee.p;ee.p=f!==0&&8>f?f:8;var x=P.T,k={};P.T=k,ep(t,!1,a,s);try{var E=p(),$=P.S;if($!==null&&$(k,E),E!==null&&typeof E=="object"&&typeof E.then=="function"){var Z=SA(E,l);rl(t,a,Z,Un(t))}else rl(t,a,l,Un(t))}catch(ne){rl(t,a,{then:function(){},status:"rejected",reason:ne},Un())}finally{ee.p=f,x!==null&&k.types!==null&&(x.types=k.types),P.T=x}}function TA(){}function Jm(t,a,s,l){if(t.tag!==5)throw Error(r(476));var p=T1(t).queue;_1(t,p,a,pe,s===null?TA:function(){return E1(t),s(l)})}function T1(t){var a=t.memoizedState;if(a!==null)return a;a={memoizedState:pe,baseState:pe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:si,lastRenderedState:pe},next:null};var s={};return a.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:si,lastRenderedState:s},next:null},t.memoizedState=a,t=t.alternate,t!==null&&(t.memoizedState=a),a}function E1(t){var a=T1(t);a.next===null&&(a=t.alternate.memoizedState),rl(t,a.next.queue,{},Un())}function Wm(){return rn(jl)}function R1(){return Mt().memoizedState}function z1(){return Mt().memoizedState}function EA(t){for(var a=t.return;a!==null;){switch(a.tag){case 24:case 3:var s=Un();t=Pi(s);var l=Mi(a,t,s);l!==null&&(Rn(l,a,s),nl(l,a,s)),a={cache:_m()},t.payload=a;return}a=a.return}}function RA(t,a,s){var l=Un();s={lane:l,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},Uc(t)?O1(a,s):(s=ym(t,a,s,l),s!==null&&(Rn(s,t,l),q1(s,a,l)))}function D1(t,a,s){var l=Un();rl(t,a,s,l)}function rl(t,a,s,l){var p={lane:l,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(Uc(t))O1(a,p);else{var f=t.alternate;if(t.lanes===0&&(f===null||f.lanes===0)&&(f=a.lastRenderedReducer,f!==null))try{var x=a.lastRenderedState,k=f(x,s);if(p.hasEagerState=!0,p.eagerState=k,Pn(k,x))return Sc(t,a,p,0),bt===null&&kc(),!1}catch{}if(s=ym(t,a,p,l),s!==null)return Rn(s,t,l),q1(s,a,l),!0}return!1}function ep(t,a,s,l){if(l={lane:2,revertLane:zp(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Uc(t)){if(a)throw Error(r(479))}else a=ym(t,s,l,2),a!==null&&Rn(a,t,2)}function Uc(t){var a=t.alternate;return t===Ue||a!==null&&a===Ue}function O1(t,a){Do=Ic=!0;var s=t.pending;s===null?a.next=a:(a.next=s.next,s.next=a),t.pending=a}function q1(t,a,s){if((s&4194048)!==0){var l=a.lanes;l&=t.pendingLanes,s|=l,a.lanes=s,Tr(t,s)}}var ll={readContext:rn,use:Bc,useCallback:Ot,useContext:Ot,useEffect:Ot,useImperativeHandle:Ot,useLayoutEffect:Ot,useInsertionEffect:Ot,useMemo:Ot,useReducer:Ot,useRef:Ot,useState:Ot,useDebugValue:Ot,useDeferredValue:Ot,useTransition:Ot,useSyncExternalStore:Ot,useId:Ot,useHostTransitionStatus:Ot,useFormState:Ot,useActionState:Ot,useOptimistic:Ot,useMemoCache:Ot,useCacheRefresh:Ot};ll.useEffectEvent=Ot;var I1={readContext:rn,use:Bc,useCallback:function(t,a){return wn().memoizedState=[t,a===void 0?null:a],t},useContext:rn,useEffect:v1,useImperativeHandle:function(t,a,s){s=s!=null?s.concat([t]):null,Vc(4194308,4,S1.bind(null,a,t),s)},useLayoutEffect:function(t,a){return Vc(4194308,4,t,a)},useInsertionEffect:function(t,a){Vc(4,2,t,a)},useMemo:function(t,a){var s=wn();a=a===void 0?null:a;var l=t();if(Vs){Ta(!0);try{t()}finally{Ta(!1)}}return s.memoizedState=[l,a],l},useReducer:function(t,a,s){var l=wn();if(s!==void 0){var p=s(a);if(Vs){Ta(!0);try{s(a)}finally{Ta(!1)}}}else p=a;return l.memoizedState=l.baseState=p,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:p},l.queue=t,t=t.dispatch=RA.bind(null,Ue,t),[l.memoizedState,t]},useRef:function(t){var a=wn();return t={current:t},a.memoizedState=t},useState:function(t){t=Qm(t);var a=t.queue,s=D1.bind(null,Ue,a);return a.dispatch=s,[t.memoizedState,s]},useDebugValue:Ym,useDeferredValue:function(t,a){var s=wn();return Xm(s,t,a)},useTransition:function(){var t=Qm(!1);return t=_1.bind(null,Ue,t.queue,!0,!1),wn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,a,s){var l=Ue,p=wn();if(at){if(s===void 0)throw Error(r(407));s=s()}else{if(s=a(),bt===null)throw Error(r(349));(Je&127)!==0||a1(l,a,s)}p.memoizedState=s;var f={value:s,getSnapshot:a};return p.queue=f,v1(s1.bind(null,l,f,t),[t]),l.flags|=2048,qo(9,{destroy:void 0},i1.bind(null,l,f,s,a),null),s},useId:function(){var t=wn(),a=bt.identifierPrefix;if(at){var s=Ma,l=Pa;s=(l&~(1<<32-vn(l)-1)).toString(32)+s,a="_"+a+"R_"+s,s=Pc++,0<s&&(a+="H"+s.toString(32)),a+="_"}else s=jA++,a="_"+a+"r_"+s.toString(32)+"_";return t.memoizedState=a},useHostTransitionStatus:Wm,useFormState:h1,useActionState:h1,useOptimistic:function(t){var a=wn();a.memoizedState=a.baseState=t;var s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=s,a=ep.bind(null,Ue,!0,s),s.dispatch=a,[t,a]},useMemoCache:Gm,useCacheRefresh:function(){return wn().memoizedState=EA.bind(null,Ue)},useEffectEvent:function(t){var a=wn(),s={impl:t};return a.memoizedState=s,function(){if((ct&2)!==0)throw Error(r(440));return s.impl.apply(void 0,arguments)}}},tp={readContext:rn,use:Bc,useCallback:A1,useContext:rn,useEffect:Zm,useImperativeHandle:j1,useInsertionEffect:w1,useLayoutEffect:k1,useMemo:C1,useReducer:Lc,useRef:b1,useState:function(){return Lc(si)},useDebugValue:Ym,useDeferredValue:function(t,a){var s=Mt();return N1(s,ft.memoizedState,t,a)},useTransition:function(){var t=Lc(si)[0],a=Mt().memoizedState;return[typeof t=="boolean"?t:ol(t),a]},useSyncExternalStore:n1,useId:R1,useHostTransitionStatus:Wm,useFormState:f1,useActionState:f1,useOptimistic:function(t,a){var s=Mt();return l1(s,ft,t,a)},useMemoCache:Gm,useCacheRefresh:z1};tp.useEffectEvent=x1;var P1={readContext:rn,use:Bc,useCallback:A1,useContext:rn,useEffect:Zm,useImperativeHandle:j1,useInsertionEffect:w1,useLayoutEffect:k1,useMemo:C1,useReducer:Hm,useRef:b1,useState:function(){return Hm(si)},useDebugValue:Ym,useDeferredValue:function(t,a){var s=Mt();return ft===null?Xm(s,t,a):N1(s,ft.memoizedState,t,a)},useTransition:function(){var t=Hm(si)[0],a=Mt().memoizedState;return[typeof t=="boolean"?t:ol(t),a]},useSyncExternalStore:n1,useId:R1,useHostTransitionStatus:Wm,useFormState:y1,useActionState:y1,useOptimistic:function(t,a){var s=Mt();return ft!==null?l1(s,ft,t,a):(s.baseState=t,[t,s.queue.dispatch])},useMemoCache:Gm,useCacheRefresh:z1};P1.useEffectEvent=x1;function np(t,a,s,l){a=t.memoizedState,s=s(l,a),s=s==null?a:A({},a,s),t.memoizedState=s,t.lanes===0&&(t.updateQueue.baseState=s)}var ap={enqueueSetState:function(t,a,s){t=t._reactInternals;var l=Un(),p=Pi(l);p.payload=a,s!=null&&(p.callback=s),a=Mi(t,p,l),a!==null&&(Rn(a,t,l),nl(a,t,l))},enqueueReplaceState:function(t,a,s){t=t._reactInternals;var l=Un(),p=Pi(l);p.tag=1,p.payload=a,s!=null&&(p.callback=s),a=Mi(t,p,l),a!==null&&(Rn(a,t,l),nl(a,t,l))},enqueueForceUpdate:function(t,a){t=t._reactInternals;var s=Un(),l=Pi(s);l.tag=2,a!=null&&(l.callback=a),a=Mi(t,l,s),a!==null&&(Rn(a,t,s),nl(a,t,s))}};function M1(t,a,s,l,p,f,x){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(l,f,x):a.prototype&&a.prototype.isPureReactComponent?!Fr(s,l)||!Fr(p,f):!0}function B1(t,a,s,l){t=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(s,l),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(s,l),a.state!==t&&ap.enqueueReplaceState(a,a.state,null)}function $s(t,a){var s=a;if("ref"in a){s={};for(var l in a)l!=="ref"&&(s[l]=a[l])}if(t=t.defaultProps){s===a&&(s=A({},s));for(var p in t)s[p]===void 0&&(s[p]=t[p])}return s}function L1(t){wc(t)}function V1(t){console.error(t)}function $1(t){wc(t)}function Gc(t,a){try{var s=t.onUncaughtError;s(a.value,{componentStack:a.stack})}catch(l){setTimeout(function(){throw l})}}function U1(t,a,s){try{var l=t.onCaughtError;l(s.value,{componentStack:s.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(p){setTimeout(function(){throw p})}}function ip(t,a,s){return s=Pi(s),s.tag=3,s.payload={element:null},s.callback=function(){Gc(t,a)},s}function G1(t){return t=Pi(t),t.tag=3,t}function K1(t,a,s,l){var p=s.type.getDerivedStateFromError;if(typeof p=="function"){var f=l.value;t.payload=function(){return p(f)},t.callback=function(){U1(a,s,l)}}var x=s.stateNode;x!==null&&typeof x.componentDidCatch=="function"&&(t.callback=function(){U1(a,s,l),typeof p!="function"&&(Gi===null?Gi=new Set([this]):Gi.add(this));var k=l.stack;this.componentDidCatch(l.value,{componentStack:k!==null?k:""})})}function zA(t,a,s,l,p){if(s.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(a=s.alternate,a!==null&&No(a,s,p,!0),s=Bn.current,s!==null){switch(s.tag){case 31:case 13:return aa===null?nu():s.alternate===null&&qt===0&&(qt=3),s.flags&=-257,s.flags|=65536,s.lanes=p,l===Rc?s.flags|=16384:(a=s.updateQueue,a===null?s.updateQueue=new Set([l]):a.add(l),Tp(t,l,p)),!1;case 22:return s.flags|=65536,l===Rc?s.flags|=16384:(a=s.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([l])},s.updateQueue=a):(s=a.retryQueue,s===null?a.retryQueue=new Set([l]):s.add(l)),Tp(t,l,p)),!1}throw Error(r(435,s.tag))}return Tp(t,l,p),nu(),!1}if(at)return a=Bn.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=p,l!==Sm&&(t=Error(r(422),{cause:l}),Xr(Wn(t,s)))):(l!==Sm&&(a=Error(r(423),{cause:l}),Xr(Wn(a,s))),t=t.current.alternate,t.flags|=65536,p&=-p,t.lanes|=p,l=Wn(l,s),p=ip(t.stateNode,l,p),Om(t,p),qt!==4&&(qt=2)),!1;var f=Error(r(520),{cause:l});if(f=Wn(f,s),gl===null?gl=[f]:gl.push(f),qt!==4&&(qt=2),a===null)return!0;l=Wn(l,s),s=a;do{switch(s.tag){case 3:return s.flags|=65536,t=p&-p,s.lanes|=t,t=ip(s.stateNode,l,t),Om(s,t),!1;case 1:if(a=s.type,f=s.stateNode,(s.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(Gi===null||!Gi.has(f))))return s.flags|=65536,p&=-p,s.lanes|=p,p=G1(p),K1(p,t,s,l),Om(s,p),!1}s=s.return}while(s!==null);return!1}var sp=Error(r(461)),Ut=!1;function ln(t,a,s,l){a.child=t===null?Zg(a,null,s,l):Ls(a,t.child,s,l)}function H1(t,a,s,l,p){s=s.render;var f=a.ref;if("ref"in l){var x={};for(var k in l)k!=="ref"&&(x[k]=l[k])}else x=l;return Is(a),l=Lm(t,a,s,x,f,p),k=Vm(),t!==null&&!Ut?($m(t,a,p),oi(t,a,p)):(at&&k&&wm(a),a.flags|=1,ln(t,a,l,p),a.child)}function Q1(t,a,s,l,p){if(t===null){var f=s.type;return typeof f=="function"&&!bm(f)&&f.defaultProps===void 0&&s.compare===null?(a.tag=15,a.type=f,F1(t,a,f,l,p)):(t=Ac(s.type,null,l,a,a.mode,p),t.ref=a.ref,t.return=a,a.child=t)}if(f=t.child,!pp(t,p)){var x=f.memoizedProps;if(s=s.compare,s=s!==null?s:Fr,s(x,l)&&t.ref===a.ref)return oi(t,a,p)}return a.flags|=1,t=ei(f,l),t.ref=a.ref,t.return=a,a.child=t}function F1(t,a,s,l,p){if(t!==null){var f=t.memoizedProps;if(Fr(f,l)&&t.ref===a.ref)if(Ut=!1,a.pendingProps=l=f,pp(t,p))(t.flags&131072)!==0&&(Ut=!0);else return a.lanes=t.lanes,oi(t,a,p)}return op(t,a,s,l,p)}function Z1(t,a,s,l){var p=l.children,f=t!==null?t.memoizedState:null;if(t===null&&a.stateNode===null&&(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((a.flags&128)!==0){if(f=f!==null?f.baseLanes|s:s,t!==null){for(l=a.child=t.child,p=0;l!==null;)p=p|l.lanes|l.childLanes,l=l.sibling;l=p&~f}else l=0,a.child=null;return Y1(t,a,f,s,l)}if((s&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},t!==null&&Tc(a,f!==null?f.cachePool:null),f!==null?Jg(a,f):Im(),Wg(a);else return l=a.lanes=536870912,Y1(t,a,f!==null?f.baseLanes|s:s,s,l)}else f!==null?(Tc(a,f.cachePool),Jg(a,f),Li(),a.memoizedState=null):(t!==null&&Tc(a,null),Im(),Li());return ln(t,a,p,s),a.child}function cl(t,a){return t!==null&&t.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function Y1(t,a,s,l,p){var f=Em();return f=f===null?null:{parent:Vt._currentValue,pool:f},a.memoizedState={baseLanes:s,cachePool:f},t!==null&&Tc(a,null),Im(),Wg(a),t!==null&&No(t,a,l,!0),a.childLanes=p,null}function Kc(t,a){return a=Qc({mode:a.mode,children:a.children},t.mode),a.ref=t.ref,t.child=a,a.return=t,a}function X1(t,a,s){return Ls(a,t.child,null,s),t=Kc(a,a.pendingProps),t.flags|=2,Ln(a),a.memoizedState=null,t}function DA(t,a,s){var l=a.pendingProps,p=(a.flags&128)!==0;if(a.flags&=-129,t===null){if(at){if(l.mode==="hidden")return t=Kc(a,l),a.lanes=536870912,cl(null,t);if(Mm(a),(t=jt)?(t=cb(t,na),t=t!==null&&t.data==="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:zi!==null?{id:Pa,overflow:Ma}:null,retryLane:536870912,hydrationErrors:null},s=Og(t),s.return=a,a.child=s,on=a,jt=null)):t=null,t===null)throw Oi(a);return a.lanes=536870912,null}return Kc(a,l)}var f=t.memoizedState;if(f!==null){var x=f.dehydrated;if(Mm(a),p)if(a.flags&256)a.flags&=-257,a=X1(t,a,s);else if(a.memoizedState!==null)a.child=t.child,a.flags|=128,a=null;else throw Error(r(558));else if(Ut||No(t,a,s,!1),p=(s&t.childLanes)!==0,Ut||p){if(l=bt,l!==null&&(x=Er(l,s),x!==0&&x!==f.retryLane))throw f.retryLane=x,zs(t,x),Rn(l,t,x),sp;nu(),a=X1(t,a,s)}else t=f.treeContext,jt=ia(x.nextSibling),on=a,at=!0,Di=null,na=!1,t!==null&&Pg(a,t),a=Kc(a,l),a.flags|=4096;return a}return t=ei(t.child,{mode:l.mode,children:l.children}),t.ref=a.ref,a.child=t,t.return=a,t}function Hc(t,a){var s=a.ref;if(s===null)t!==null&&t.ref!==null&&(a.flags|=4194816);else{if(typeof s!="function"&&typeof s!="object")throw Error(r(284));(t===null||t.ref!==s)&&(a.flags|=4194816)}}function op(t,a,s,l,p){return Is(a),s=Lm(t,a,s,l,void 0,p),l=Vm(),t!==null&&!Ut?($m(t,a,p),oi(t,a,p)):(at&&l&&wm(a),a.flags|=1,ln(t,a,s,p),a.child)}function J1(t,a,s,l,p,f){return Is(a),a.updateQueue=null,s=t1(a,l,s,p),e1(t),l=Vm(),t!==null&&!Ut?($m(t,a,f),oi(t,a,f)):(at&&l&&wm(a),a.flags|=1,ln(t,a,s,f),a.child)}function W1(t,a,s,l,p){if(Is(a),a.stateNode===null){var f=So,x=s.contextType;typeof x=="object"&&x!==null&&(f=rn(x)),f=new s(l,f),a.memoizedState=f.state!==null&&f.state!==void 0?f.state:null,f.updater=ap,a.stateNode=f,f._reactInternals=a,f=a.stateNode,f.props=l,f.state=a.memoizedState,f.refs={},zm(a),x=s.contextType,f.context=typeof x=="object"&&x!==null?rn(x):So,f.state=a.memoizedState,x=s.getDerivedStateFromProps,typeof x=="function"&&(np(a,s,x,l),f.state=a.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof f.getSnapshotBeforeUpdate=="function"||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(x=f.state,typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount(),x!==f.state&&ap.enqueueReplaceState(f,f.state,null),il(a,l,f,p),al(),f.state=a.memoizedState),typeof f.componentDidMount=="function"&&(a.flags|=4194308),l=!0}else if(t===null){f=a.stateNode;var k=a.memoizedProps,E=$s(s,k);f.props=E;var $=f.context,Z=s.contextType;x=So,typeof Z=="object"&&Z!==null&&(x=rn(Z));var ne=s.getDerivedStateFromProps;Z=typeof ne=="function"||typeof f.getSnapshotBeforeUpdate=="function",k=a.pendingProps!==k,Z||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(k||$!==x)&&B1(a,f,l,x),Ii=!1;var G=a.memoizedState;f.state=G,il(a,l,f,p),al(),$=a.memoizedState,k||G!==$||Ii?(typeof ne=="function"&&(np(a,s,ne,l),$=a.memoizedState),(E=Ii||M1(a,s,E,l,G,$,x))?(Z||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount()),typeof f.componentDidMount=="function"&&(a.flags|=4194308)):(typeof f.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=l,a.memoizedState=$),f.props=l,f.state=$,f.context=x,l=E):(typeof f.componentDidMount=="function"&&(a.flags|=4194308),l=!1)}else{f=a.stateNode,Dm(t,a),x=a.memoizedProps,Z=$s(s,x),f.props=Z,ne=a.pendingProps,G=f.context,$=s.contextType,E=So,typeof $=="object"&&$!==null&&(E=rn($)),k=s.getDerivedStateFromProps,($=typeof k=="function"||typeof f.getSnapshotBeforeUpdate=="function")||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(x!==ne||G!==E)&&B1(a,f,l,E),Ii=!1,G=a.memoizedState,f.state=G,il(a,l,f,p),al();var Q=a.memoizedState;x!==ne||G!==Q||Ii||t!==null&&t.dependencies!==null&&Nc(t.dependencies)?(typeof k=="function"&&(np(a,s,k,l),Q=a.memoizedState),(Z=Ii||M1(a,s,Z,l,G,Q,E)||t!==null&&t.dependencies!==null&&Nc(t.dependencies))?($||typeof f.UNSAFE_componentWillUpdate!="function"&&typeof f.componentWillUpdate!="function"||(typeof f.componentWillUpdate=="function"&&f.componentWillUpdate(l,Q,E),typeof f.UNSAFE_componentWillUpdate=="function"&&f.UNSAFE_componentWillUpdate(l,Q,E)),typeof f.componentDidUpdate=="function"&&(a.flags|=4),typeof f.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof f.componentDidUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=1024),a.memoizedProps=l,a.memoizedState=Q),f.props=l,f.state=Q,f.context=E,l=Z):(typeof f.componentDidUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=1024),l=!1)}return f=l,Hc(t,a),l=(a.flags&128)!==0,f||l?(f=a.stateNode,s=l&&typeof s.getDerivedStateFromError!="function"?null:f.render(),a.flags|=1,t!==null&&l?(a.child=Ls(a,t.child,null,p),a.child=Ls(a,null,s,p)):ln(t,a,s,p),a.memoizedState=f.state,t=a.child):t=oi(t,a,p),t}function ey(t,a,s,l){return Os(),a.flags|=256,ln(t,a,s,l),a.child}var rp={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function lp(t){return{baseLanes:t,cachePool:Ug()}}function cp(t,a,s){return t=t!==null?t.childLanes&~s:0,a&&(t|=$n),t}function ty(t,a,s){var l=a.pendingProps,p=!1,f=(a.flags&128)!==0,x;if((x=f)||(x=t!==null&&t.memoizedState===null?!1:(Pt.current&2)!==0),x&&(p=!0,a.flags&=-129),x=(a.flags&32)!==0,a.flags&=-33,t===null){if(at){if(p?Bi(a):Li(),(t=jt)?(t=cb(t,na),t=t!==null&&t.data!=="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:zi!==null?{id:Pa,overflow:Ma}:null,retryLane:536870912,hydrationErrors:null},s=Og(t),s.return=a,a.child=s,on=a,jt=null)):t=null,t===null)throw Oi(a);return Kp(t)?a.lanes=32:a.lanes=536870912,null}var k=l.children;return l=l.fallback,p?(Li(),p=a.mode,k=Qc({mode:"hidden",children:k},p),l=Ds(l,p,s,null),k.return=a,l.return=a,k.sibling=l,a.child=k,l=a.child,l.memoizedState=lp(s),l.childLanes=cp(t,x,s),a.memoizedState=rp,cl(null,l)):(Bi(a),up(a,k))}var E=t.memoizedState;if(E!==null&&(k=E.dehydrated,k!==null)){if(f)a.flags&256?(Bi(a),a.flags&=-257,a=dp(t,a,s)):a.memoizedState!==null?(Li(),a.child=t.child,a.flags|=128,a=null):(Li(),k=l.fallback,p=a.mode,l=Qc({mode:"visible",children:l.children},p),k=Ds(k,p,s,null),k.flags|=2,l.return=a,k.return=a,l.sibling=k,a.child=l,Ls(a,t.child,null,s),l=a.child,l.memoizedState=lp(s),l.childLanes=cp(t,x,s),a.memoizedState=rp,a=cl(null,l));else if(Bi(a),Kp(k)){if(x=k.nextSibling&&k.nextSibling.dataset,x)var $=x.dgst;x=$,l=Error(r(419)),l.stack="",l.digest=x,Xr({value:l,source:null,stack:null}),a=dp(t,a,s)}else if(Ut||No(t,a,s,!1),x=(s&t.childLanes)!==0,Ut||x){if(x=bt,x!==null&&(l=Er(x,s),l!==0&&l!==E.retryLane))throw E.retryLane=l,zs(t,l),Rn(x,t,l),sp;Gp(k)||nu(),a=dp(t,a,s)}else Gp(k)?(a.flags|=192,a.child=t.child,a=null):(t=E.treeContext,jt=ia(k.nextSibling),on=a,at=!0,Di=null,na=!1,t!==null&&Pg(a,t),a=up(a,l.children),a.flags|=4096);return a}return p?(Li(),k=l.fallback,p=a.mode,E=t.child,$=E.sibling,l=ei(E,{mode:"hidden",children:l.children}),l.subtreeFlags=E.subtreeFlags&65011712,$!==null?k=ei($,k):(k=Ds(k,p,s,null),k.flags|=2),k.return=a,l.return=a,l.sibling=k,a.child=l,cl(null,l),l=a.child,k=t.child.memoizedState,k===null?k=lp(s):(p=k.cachePool,p!==null?(E=Vt._currentValue,p=p.parent!==E?{parent:E,pool:E}:p):p=Ug(),k={baseLanes:k.baseLanes|s,cachePool:p}),l.memoizedState=k,l.childLanes=cp(t,x,s),a.memoizedState=rp,cl(t.child,l)):(Bi(a),s=t.child,t=s.sibling,s=ei(s,{mode:"visible",children:l.children}),s.return=a,s.sibling=null,t!==null&&(x=a.deletions,x===null?(a.deletions=[t],a.flags|=16):x.push(t)),a.child=s,a.memoizedState=null,s)}function up(t,a){return a=Qc({mode:"visible",children:a},t.mode),a.return=t,t.child=a}function Qc(t,a){return t=Mn(22,t,null,a),t.lanes=0,t}function dp(t,a,s){return Ls(a,t.child,null,s),t=up(a,a.pendingProps.children),t.flags|=2,a.memoizedState=null,t}function ny(t,a,s){t.lanes|=a;var l=t.alternate;l!==null&&(l.lanes|=a),Cm(t.return,a,s)}function mp(t,a,s,l,p,f){var x=t.memoizedState;x===null?t.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:l,tail:s,tailMode:p,treeForkCount:f}:(x.isBackwards=a,x.rendering=null,x.renderingStartTime=0,x.last=l,x.tail=s,x.tailMode=p,x.treeForkCount=f)}function ay(t,a,s){var l=a.pendingProps,p=l.revealOrder,f=l.tail;l=l.children;var x=Pt.current,k=(x&2)!==0;if(k?(x=x&1|2,a.flags|=128):x&=1,Se(Pt,x),ln(t,a,l,s),l=at?Yr:0,!k&&t!==null&&(t.flags&128)!==0)e:for(t=a.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&ny(t,s,a);else if(t.tag===19)ny(t,s,a);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===a)break e;for(;t.sibling===null;){if(t.return===null||t.return===a)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(p){case"forwards":for(s=a.child,p=null;s!==null;)t=s.alternate,t!==null&&qc(t)===null&&(p=s),s=s.sibling;s=p,s===null?(p=a.child,a.child=null):(p=s.sibling,s.sibling=null),mp(a,!1,p,s,f,l);break;case"backwards":case"unstable_legacy-backwards":for(s=null,p=a.child,a.child=null;p!==null;){if(t=p.alternate,t!==null&&qc(t)===null){a.child=p;break}t=p.sibling,p.sibling=s,s=p,p=t}mp(a,!0,s,null,f,l);break;case"together":mp(a,!1,null,null,void 0,l);break;default:a.memoizedState=null}return a.child}function oi(t,a,s){if(t!==null&&(a.dependencies=t.dependencies),Ui|=a.lanes,(s&a.childLanes)===0)if(t!==null){if(No(t,a,s,!1),(s&a.childLanes)===0)return null}else return null;if(t!==null&&a.child!==t.child)throw Error(r(153));if(a.child!==null){for(t=a.child,s=ei(t,t.pendingProps),a.child=s,s.return=a;t.sibling!==null;)t=t.sibling,s=s.sibling=ei(t,t.pendingProps),s.return=a;s.sibling=null}return a.child}function pp(t,a){return(t.lanes&a)!==0?!0:(t=t.dependencies,!!(t!==null&&Nc(t)))}function OA(t,a,s){switch(a.tag){case 3:qe(a,a.stateNode.containerInfo),qi(a,Vt,t.memoizedState.cache),Os();break;case 27:case 5:nt(a);break;case 4:qe(a,a.stateNode.containerInfo);break;case 10:qi(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,Mm(a),null;break;case 13:var l=a.memoizedState;if(l!==null)return l.dehydrated!==null?(Bi(a),a.flags|=128,null):(s&a.child.childLanes)!==0?ty(t,a,s):(Bi(a),t=oi(t,a,s),t!==null?t.sibling:null);Bi(a);break;case 19:var p=(t.flags&128)!==0;if(l=(s&a.childLanes)!==0,l||(No(t,a,s,!1),l=(s&a.childLanes)!==0),p){if(l)return ay(t,a,s);a.flags|=128}if(p=a.memoizedState,p!==null&&(p.rendering=null,p.tail=null,p.lastEffect=null),Se(Pt,Pt.current),l)break;return null;case 22:return a.lanes=0,Z1(t,a,s,a.pendingProps);case 24:qi(a,Vt,t.memoizedState.cache)}return oi(t,a,s)}function iy(t,a,s){if(t!==null)if(t.memoizedProps!==a.pendingProps)Ut=!0;else{if(!pp(t,s)&&(a.flags&128)===0)return Ut=!1,OA(t,a,s);Ut=(t.flags&131072)!==0}else Ut=!1,at&&(a.flags&1048576)!==0&&Ig(a,Yr,a.index);switch(a.lanes=0,a.tag){case 16:e:{var l=a.pendingProps;if(t=Ms(a.elementType),a.type=t,typeof t=="function")bm(t)?(l=$s(t,l),a.tag=1,a=W1(null,a,t,l,s)):(a.tag=0,a=op(null,a,t,l,s));else{if(t!=null){var p=t.$$typeof;if(p===le){a.tag=11,a=H1(null,a,t,l,s);break e}else if(p===H){a.tag=14,a=Q1(null,a,t,l,s);break e}}throw a=Me(t)||t,Error(r(306,a,""))}}return a;case 0:return op(t,a,a.type,a.pendingProps,s);case 1:return l=a.type,p=$s(l,a.pendingProps),W1(t,a,l,p,s);case 3:e:{if(qe(a,a.stateNode.containerInfo),t===null)throw Error(r(387));l=a.pendingProps;var f=a.memoizedState;p=f.element,Dm(t,a),il(a,l,null,s);var x=a.memoizedState;if(l=x.cache,qi(a,Vt,l),l!==f.cache&&Nm(a,[Vt],s,!0),al(),l=x.element,f.isDehydrated)if(f={element:l,isDehydrated:!1,cache:x.cache},a.updateQueue.baseState=f,a.memoizedState=f,a.flags&256){a=ey(t,a,l,s);break e}else if(l!==p){p=Wn(Error(r(424)),a),Xr(p),a=ey(t,a,l,s);break e}else for(t=a.stateNode.containerInfo,t.nodeType===9?t=t.body:t=t.nodeName==="HTML"?t.ownerDocument.body:t,jt=ia(t.firstChild),on=a,at=!0,Di=null,na=!0,s=Zg(a,null,l,s),a.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Os(),l===p){a=oi(t,a,s);break e}ln(t,a,l,s)}a=a.child}return a;case 26:return Hc(t,a),t===null?(s=fb(a.type,null,a.pendingProps,null))?a.memoizedState=s:at||(s=a.type,t=a.pendingProps,l=cu(q.current).createElement(s),l[Lt]=a,l[mn]=t,cn(l,s,t),It(l),a.stateNode=l):a.memoizedState=fb(a.type,t.memoizedProps,a.pendingProps,t.memoizedState),null;case 27:return nt(a),t===null&&at&&(l=a.stateNode=mb(a.type,a.pendingProps,q.current),on=a,na=!0,p=jt,Fi(a.type)?(Hp=p,jt=ia(l.firstChild)):jt=p),ln(t,a,a.pendingProps.children,s),Hc(t,a),t===null&&(a.flags|=4194304),a.child;case 5:return t===null&&at&&((p=l=jt)&&(l=u4(l,a.type,a.pendingProps,na),l!==null?(a.stateNode=l,on=a,jt=ia(l.firstChild),na=!1,p=!0):p=!1),p||Oi(a)),nt(a),p=a.type,f=a.pendingProps,x=t!==null?t.memoizedProps:null,l=f.children,Vp(p,f)?l=null:x!==null&&Vp(p,x)&&(a.flags|=32),a.memoizedState!==null&&(p=Lm(t,a,AA,null,null,s),jl._currentValue=p),Hc(t,a),ln(t,a,l,s),a.child;case 6:return t===null&&at&&((t=s=jt)&&(s=d4(s,a.pendingProps,na),s!==null?(a.stateNode=s,on=a,jt=null,t=!0):t=!1),t||Oi(a)),null;case 13:return ty(t,a,s);case 4:return qe(a,a.stateNode.containerInfo),l=a.pendingProps,t===null?a.child=Ls(a,null,l,s):ln(t,a,l,s),a.child;case 11:return H1(t,a,a.type,a.pendingProps,s);case 7:return ln(t,a,a.pendingProps,s),a.child;case 8:return ln(t,a,a.pendingProps.children,s),a.child;case 12:return ln(t,a,a.pendingProps.children,s),a.child;case 10:return l=a.pendingProps,qi(a,a.type,l.value),ln(t,a,l.children,s),a.child;case 9:return p=a.type._context,l=a.pendingProps.children,Is(a),p=rn(p),l=l(p),a.flags|=1,ln(t,a,l,s),a.child;case 14:return Q1(t,a,a.type,a.pendingProps,s);case 15:return F1(t,a,a.type,a.pendingProps,s);case 19:return ay(t,a,s);case 31:return DA(t,a,s);case 22:return Z1(t,a,s,a.pendingProps);case 24:return Is(a),l=rn(Vt),t===null?(p=Em(),p===null&&(p=bt,f=_m(),p.pooledCache=f,f.refCount++,f!==null&&(p.pooledCacheLanes|=s),p=f),a.memoizedState={parent:l,cache:p},zm(a),qi(a,Vt,p)):((t.lanes&s)!==0&&(Dm(t,a),il(a,null,null,s),al()),p=t.memoizedState,f=a.memoizedState,p.parent!==l?(p={parent:l,cache:l},a.memoizedState=p,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=p),qi(a,Vt,l)):(l=f.cache,qi(a,Vt,l),l!==p.cache&&Nm(a,[Vt],s,!0))),ln(t,a,a.pendingProps.children,s),a.child;case 29:throw a.pendingProps}throw Error(r(156,a.tag))}function ri(t){t.flags|=4}function hp(t,a,s,l,p){if((a=(t.mode&32)!==0)&&(a=!1),a){if(t.flags|=16777216,(p&335544128)===p)if(t.stateNode.complete)t.flags|=8192;else if(Ry())t.flags|=8192;else throw Bs=Rc,Rm}else t.flags&=-16777217}function sy(t,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!xb(a))if(Ry())t.flags|=8192;else throw Bs=Rc,Rm}function Fc(t,a){a!==null&&(t.flags|=4),t.flags&16384&&(a=t.tag!==22?ws():536870912,t.lanes|=a,Bo|=a)}function ul(t,a){if(!at)switch(t.tailMode){case"hidden":a=t.tail;for(var s=null;a!==null;)a.alternate!==null&&(s=a),a=a.sibling;s===null?t.tail=null:s.sibling=null;break;case"collapsed":s=t.tail;for(var l=null;s!==null;)s.alternate!==null&&(l=s),s=s.sibling;l===null?a||t.tail===null?t.tail=null:t.tail.sibling=null:l.sibling=null}}function At(t){var a=t.alternate!==null&&t.alternate.child===t.child,s=0,l=0;if(a)for(var p=t.child;p!==null;)s|=p.lanes|p.childLanes,l|=p.subtreeFlags&65011712,l|=p.flags&65011712,p.return=t,p=p.sibling;else for(p=t.child;p!==null;)s|=p.lanes|p.childLanes,l|=p.subtreeFlags,l|=p.flags,p.return=t,p=p.sibling;return t.subtreeFlags|=l,t.childLanes=s,a}function qA(t,a,s){var l=a.pendingProps;switch(km(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return At(a),null;case 1:return At(a),null;case 3:return s=a.stateNode,l=null,t!==null&&(l=t.memoizedState.cache),a.memoizedState.cache!==l&&(a.flags|=2048),ai(Vt),ye(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(t===null||t.child===null)&&(Co(a)?ri(a):t===null||t.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,jm())),At(a),null;case 26:var p=a.type,f=a.memoizedState;return t===null?(ri(a),f!==null?(At(a),sy(a,f)):(At(a),hp(a,p,null,l,s))):f?f!==t.memoizedState?(ri(a),At(a),sy(a,f)):(At(a),a.flags&=-16777217):(t=t.memoizedProps,t!==l&&ri(a),At(a),hp(a,p,t,l,s)),null;case 27:if(Ve(a),s=q.current,p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==l&&ri(a);else{if(!l){if(a.stateNode===null)throw Error(r(166));return At(a),null}t=se.current,Co(a)?Mg(a):(t=mb(p,l,s),a.stateNode=t,ri(a))}return At(a),null;case 5:if(Ve(a),p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==l&&ri(a);else{if(!l){if(a.stateNode===null)throw Error(r(166));return At(a),null}if(f=se.current,Co(a))Mg(a);else{var x=cu(q.current);switch(f){case 1:f=x.createElementNS("http://www.w3.org/2000/svg",p);break;case 2:f=x.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;default:switch(p){case"svg":f=x.createElementNS("http://www.w3.org/2000/svg",p);break;case"math":f=x.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;case"script":f=x.createElement("div"),f.innerHTML="<script><\/script>",f=f.removeChild(f.firstChild);break;case"select":f=typeof l.is=="string"?x.createElement("select",{is:l.is}):x.createElement("select"),l.multiple?f.multiple=!0:l.size&&(f.size=l.size);break;default:f=typeof l.is=="string"?x.createElement(p,{is:l.is}):x.createElement(p)}}f[Lt]=a,f[mn]=l;e:for(x=a.child;x!==null;){if(x.tag===5||x.tag===6)f.appendChild(x.stateNode);else if(x.tag!==4&&x.tag!==27&&x.child!==null){x.child.return=x,x=x.child;continue}if(x===a)break e;for(;x.sibling===null;){if(x.return===null||x.return===a)break e;x=x.return}x.sibling.return=x.return,x=x.sibling}a.stateNode=f;e:switch(cn(f,p,l),p){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&ri(a)}}return At(a),hp(a,a.type,t===null?null:t.memoizedProps,a.pendingProps,s),null;case 6:if(t&&a.stateNode!=null)t.memoizedProps!==l&&ri(a);else{if(typeof l!="string"&&a.stateNode===null)throw Error(r(166));if(t=q.current,Co(a)){if(t=a.stateNode,s=a.memoizedProps,l=null,p=on,p!==null)switch(p.tag){case 27:case 5:l=p.memoizedProps}t[Lt]=a,t=!!(t.nodeValue===s||l!==null&&l.suppressHydrationWarning===!0||tb(t.nodeValue,s)),t||Oi(a,!0)}else t=cu(t).createTextNode(l),t[Lt]=a,a.stateNode=t}return At(a),null;case 31:if(s=a.memoizedState,t===null||t.memoizedState!==null){if(l=Co(a),s!==null){if(t===null){if(!l)throw Error(r(318));if(t=a.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(557));t[Lt]=a}else Os(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;At(a),t=!1}else s=jm(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=s),t=!0;if(!t)return a.flags&256?(Ln(a),a):(Ln(a),null);if((a.flags&128)!==0)throw Error(r(558))}return At(a),null;case 13:if(l=a.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(p=Co(a),l!==null&&l.dehydrated!==null){if(t===null){if(!p)throw Error(r(318));if(p=a.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(r(317));p[Lt]=a}else Os(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;At(a),p=!1}else p=jm(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=p),p=!0;if(!p)return a.flags&256?(Ln(a),a):(Ln(a),null)}return Ln(a),(a.flags&128)!==0?(a.lanes=s,a):(s=l!==null,t=t!==null&&t.memoizedState!==null,s&&(l=a.child,p=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(p=l.alternate.memoizedState.cachePool.pool),f=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(f=l.memoizedState.cachePool.pool),f!==p&&(l.flags|=2048)),s!==t&&s&&(a.child.flags|=8192),Fc(a,a.updateQueue),At(a),null);case 4:return ye(),t===null&&Ip(a.stateNode.containerInfo),At(a),null;case 10:return ai(a.type),At(a),null;case 19:if(Te(Pt),l=a.memoizedState,l===null)return At(a),null;if(p=(a.flags&128)!==0,f=l.rendering,f===null)if(p)ul(l,!1);else{if(qt!==0||t!==null&&(t.flags&128)!==0)for(t=a.child;t!==null;){if(f=qc(t),f!==null){for(a.flags|=128,ul(l,!1),t=f.updateQueue,a.updateQueue=t,Fc(a,t),a.subtreeFlags=0,t=s,s=a.child;s!==null;)Dg(s,t),s=s.sibling;return Se(Pt,Pt.current&1|2),at&&ti(a,l.treeForkCount),a.child}t=t.sibling}l.tail!==null&&nn()>Wc&&(a.flags|=128,p=!0,ul(l,!1),a.lanes=4194304)}else{if(!p)if(t=qc(f),t!==null){if(a.flags|=128,p=!0,t=t.updateQueue,a.updateQueue=t,Fc(a,t),ul(l,!0),l.tail===null&&l.tailMode==="hidden"&&!f.alternate&&!at)return At(a),null}else 2*nn()-l.renderingStartTime>Wc&&s!==536870912&&(a.flags|=128,p=!0,ul(l,!1),a.lanes=4194304);l.isBackwards?(f.sibling=a.child,a.child=f):(t=l.last,t!==null?t.sibling=f:a.child=f,l.last=f)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=nn(),t.sibling=null,s=Pt.current,Se(Pt,p?s&1|2:s&1),at&&ti(a,l.treeForkCount),t):(At(a),null);case 22:case 23:return Ln(a),Pm(),l=a.memoizedState!==null,t!==null?t.memoizedState!==null!==l&&(a.flags|=8192):l&&(a.flags|=8192),l?(s&536870912)!==0&&(a.flags&128)===0&&(At(a),a.subtreeFlags&6&&(a.flags|=8192)):At(a),s=a.updateQueue,s!==null&&Fc(a,s.retryQueue),s=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),l=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(l=a.memoizedState.cachePool.pool),l!==s&&(a.flags|=2048),t!==null&&Te(Ps),null;case 24:return s=null,t!==null&&(s=t.memoizedState.cache),a.memoizedState.cache!==s&&(a.flags|=2048),ai(Vt),At(a),null;case 25:return null;case 30:return null}throw Error(r(156,a.tag))}function IA(t,a){switch(km(a),a.tag){case 1:return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return ai(Vt),ye(),t=a.flags,(t&65536)!==0&&(t&128)===0?(a.flags=t&-65537|128,a):null;case 26:case 27:case 5:return Ve(a),null;case 31:if(a.memoizedState!==null){if(Ln(a),a.alternate===null)throw Error(r(340));Os()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 13:if(Ln(a),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(r(340));Os()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return Te(Pt),null;case 4:return ye(),null;case 10:return ai(a.type),null;case 22:case 23:return Ln(a),Pm(),t!==null&&Te(Ps),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 24:return ai(Vt),null;case 25:return null;default:return null}}function oy(t,a){switch(km(a),a.tag){case 3:ai(Vt),ye();break;case 26:case 27:case 5:Ve(a);break;case 4:ye();break;case 31:a.memoizedState!==null&&Ln(a);break;case 13:Ln(a);break;case 19:Te(Pt);break;case 10:ai(a.type);break;case 22:case 23:Ln(a),Pm(),t!==null&&Te(Ps);break;case 24:ai(Vt)}}function dl(t,a){try{var s=a.updateQueue,l=s!==null?s.lastEffect:null;if(l!==null){var p=l.next;s=p;do{if((s.tag&t)===t){l=void 0;var f=s.create,x=s.inst;l=f(),x.destroy=l}s=s.next}while(s!==p)}}catch(k){pt(a,a.return,k)}}function Vi(t,a,s){try{var l=a.updateQueue,p=l!==null?l.lastEffect:null;if(p!==null){var f=p.next;l=f;do{if((l.tag&t)===t){var x=l.inst,k=x.destroy;if(k!==void 0){x.destroy=void 0,p=a;var E=s,$=k;try{$()}catch(Z){pt(p,E,Z)}}}l=l.next}while(l!==f)}}catch(Z){pt(a,a.return,Z)}}function ry(t){var a=t.updateQueue;if(a!==null){var s=t.stateNode;try{Xg(a,s)}catch(l){pt(t,t.return,l)}}}function ly(t,a,s){s.props=$s(t.type,t.memoizedProps),s.state=t.memoizedState;try{s.componentWillUnmount()}catch(l){pt(t,a,l)}}function ml(t,a){try{var s=t.ref;if(s!==null){switch(t.tag){case 26:case 27:case 5:var l=t.stateNode;break;case 30:l=t.stateNode;break;default:l=t.stateNode}typeof s=="function"?t.refCleanup=s(l):s.current=l}}catch(p){pt(t,a,p)}}function Ba(t,a){var s=t.ref,l=t.refCleanup;if(s!==null)if(typeof l=="function")try{l()}catch(p){pt(t,a,p)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof s=="function")try{s(null)}catch(p){pt(t,a,p)}else s.current=null}function cy(t){var a=t.type,s=t.memoizedProps,l=t.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":s.autoFocus&&l.focus();break e;case"img":s.src?l.src=s.src:s.srcSet&&(l.srcset=s.srcSet)}}catch(p){pt(t,t.return,p)}}function fp(t,a,s){try{var l=t.stateNode;i4(l,t.type,s,a),l[mn]=a}catch(p){pt(t,t.return,p)}}function uy(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Fi(t.type)||t.tag===4}function gp(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||uy(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Fi(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function yp(t,a,s){var l=t.tag;if(l===5||l===6)t=t.stateNode,a?(s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s).insertBefore(t,a):(a=s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s,a.appendChild(t),s=s._reactRootContainer,s!=null||a.onclick!==null||(a.onclick=ya));else if(l!==4&&(l===27&&Fi(t.type)&&(s=t.stateNode,a=null),t=t.child,t!==null))for(yp(t,a,s),t=t.sibling;t!==null;)yp(t,a,s),t=t.sibling}function Zc(t,a,s){var l=t.tag;if(l===5||l===6)t=t.stateNode,a?s.insertBefore(t,a):s.appendChild(t);else if(l!==4&&(l===27&&Fi(t.type)&&(s=t.stateNode),t=t.child,t!==null))for(Zc(t,a,s),t=t.sibling;t!==null;)Zc(t,a,s),t=t.sibling}function dy(t){var a=t.stateNode,s=t.memoizedProps;try{for(var l=t.type,p=a.attributes;p.length;)a.removeAttributeNode(p[0]);cn(a,l,s),a[Lt]=t,a[mn]=s}catch(f){pt(t,t.return,f)}}var li=!1,Gt=!1,bp=!1,my=typeof WeakSet=="function"?WeakSet:Set,en=null;function PA(t,a){if(t=t.containerInfo,Bp=gu,t=jg(t),dm(t)){if("selectionStart"in t)var s={start:t.selectionStart,end:t.selectionEnd};else e:{s=(s=t.ownerDocument)&&s.defaultView||window;var l=s.getSelection&&s.getSelection();if(l&&l.rangeCount!==0){s=l.anchorNode;var p=l.anchorOffset,f=l.focusNode;l=l.focusOffset;try{s.nodeType,f.nodeType}catch{s=null;break e}var x=0,k=-1,E=-1,$=0,Z=0,ne=t,G=null;t:for(;;){for(var Q;ne!==s||p!==0&&ne.nodeType!==3||(k=x+p),ne!==f||l!==0&&ne.nodeType!==3||(E=x+l),ne.nodeType===3&&(x+=ne.nodeValue.length),(Q=ne.firstChild)!==null;)G=ne,ne=Q;for(;;){if(ne===t)break t;if(G===s&&++$===p&&(k=x),G===f&&++Z===l&&(E=x),(Q=ne.nextSibling)!==null)break;ne=G,G=ne.parentNode}ne=Q}s=k===-1||E===-1?null:{start:k,end:E}}else s=null}s=s||{start:0,end:0}}else s=null;for(Lp={focusedElem:t,selectionRange:s},gu=!1,en=a;en!==null;)if(a=en,t=a.child,(a.subtreeFlags&1028)!==0&&t!==null)t.return=a,en=t;else for(;en!==null;){switch(a=en,f=a.alternate,t=a.flags,a.tag){case 0:if((t&4)!==0&&(t=a.updateQueue,t=t!==null?t.events:null,t!==null))for(s=0;s<t.length;s++)p=t[s],p.ref.impl=p.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&f!==null){t=void 0,s=a,p=f.memoizedProps,f=f.memoizedState,l=s.stateNode;try{var xe=$s(s.type,p);t=l.getSnapshotBeforeUpdate(xe,f),l.__reactInternalSnapshotBeforeUpdate=t}catch(Ie){pt(s,s.return,Ie)}}break;case 3:if((t&1024)!==0){if(t=a.stateNode.containerInfo,s=t.nodeType,s===9)Up(t);else if(s===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":Up(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(r(163))}if(t=a.sibling,t!==null){t.return=a.return,en=t;break}en=a.return}}function py(t,a,s){var l=s.flags;switch(s.tag){case 0:case 11:case 15:ui(t,s),l&4&&dl(5,s);break;case 1:if(ui(t,s),l&4)if(t=s.stateNode,a===null)try{t.componentDidMount()}catch(x){pt(s,s.return,x)}else{var p=$s(s.type,a.memoizedProps);a=a.memoizedState;try{t.componentDidUpdate(p,a,t.__reactInternalSnapshotBeforeUpdate)}catch(x){pt(s,s.return,x)}}l&64&&ry(s),l&512&&ml(s,s.return);break;case 3:if(ui(t,s),l&64&&(t=s.updateQueue,t!==null)){if(a=null,s.child!==null)switch(s.child.tag){case 27:case 5:a=s.child.stateNode;break;case 1:a=s.child.stateNode}try{Xg(t,a)}catch(x){pt(s,s.return,x)}}break;case 27:a===null&&l&4&&dy(s);case 26:case 5:ui(t,s),a===null&&l&4&&cy(s),l&512&&ml(s,s.return);break;case 12:ui(t,s);break;case 31:ui(t,s),l&4&&gy(t,s);break;case 13:ui(t,s),l&4&&yy(t,s),l&64&&(t=s.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(s=HA.bind(null,s),m4(t,s))));break;case 22:if(l=s.memoizedState!==null||li,!l){a=a!==null&&a.memoizedState!==null||Gt,p=li;var f=Gt;li=l,(Gt=a)&&!f?di(t,s,(s.subtreeFlags&8772)!==0):ui(t,s),li=p,Gt=f}break;case 30:break;default:ui(t,s)}}function hy(t){var a=t.alternate;a!==null&&(t.alternate=null,hy(a)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(a=t.stateNode,a!==null&&Dr(a)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var Nt=null,Nn=!1;function ci(t,a,s){for(s=s.child;s!==null;)fy(t,a,s),s=s.sibling}function fy(t,a,s){if(St&&typeof St.onCommitFiberUnmount=="function")try{St.onCommitFiberUnmount(bn,s)}catch{}switch(s.tag){case 26:Gt||Ba(s,a),ci(t,a,s),s.memoizedState?s.memoizedState.count--:s.stateNode&&(s=s.stateNode,s.parentNode.removeChild(s));break;case 27:Gt||Ba(s,a);var l=Nt,p=Nn;Fi(s.type)&&(Nt=s.stateNode,Nn=!1),ci(t,a,s),wl(s.stateNode),Nt=l,Nn=p;break;case 5:Gt||Ba(s,a);case 6:if(l=Nt,p=Nn,Nt=null,ci(t,a,s),Nt=l,Nn=p,Nt!==null)if(Nn)try{(Nt.nodeType===9?Nt.body:Nt.nodeName==="HTML"?Nt.ownerDocument.body:Nt).removeChild(s.stateNode)}catch(f){pt(s,a,f)}else try{Nt.removeChild(s.stateNode)}catch(f){pt(s,a,f)}break;case 18:Nt!==null&&(Nn?(t=Nt,rb(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,s.stateNode),Qo(t)):rb(Nt,s.stateNode));break;case 4:l=Nt,p=Nn,Nt=s.stateNode.containerInfo,Nn=!0,ci(t,a,s),Nt=l,Nn=p;break;case 0:case 11:case 14:case 15:Vi(2,s,a),Gt||Vi(4,s,a),ci(t,a,s);break;case 1:Gt||(Ba(s,a),l=s.stateNode,typeof l.componentWillUnmount=="function"&&ly(s,a,l)),ci(t,a,s);break;case 21:ci(t,a,s);break;case 22:Gt=(l=Gt)||s.memoizedState!==null,ci(t,a,s),Gt=l;break;default:ci(t,a,s)}}function gy(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{Qo(t)}catch(s){pt(a,a.return,s)}}}function yy(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{Qo(t)}catch(s){pt(a,a.return,s)}}function MA(t){switch(t.tag){case 31:case 13:case 19:var a=t.stateNode;return a===null&&(a=t.stateNode=new my),a;case 22:return t=t.stateNode,a=t._retryCache,a===null&&(a=t._retryCache=new my),a;default:throw Error(r(435,t.tag))}}function Yc(t,a){var s=MA(t);a.forEach(function(l){if(!s.has(l)){s.add(l);var p=QA.bind(null,t,l);l.then(p,p)}})}function _n(t,a){var s=a.deletions;if(s!==null)for(var l=0;l<s.length;l++){var p=s[l],f=t,x=a,k=x;e:for(;k!==null;){switch(k.tag){case 27:if(Fi(k.type)){Nt=k.stateNode,Nn=!1;break e}break;case 5:Nt=k.stateNode,Nn=!1;break e;case 3:case 4:Nt=k.stateNode.containerInfo,Nn=!0;break e}k=k.return}if(Nt===null)throw Error(r(160));fy(f,x,p),Nt=null,Nn=!1,f=p.alternate,f!==null&&(f.return=null),p.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)by(a,t),a=a.sibling}var wa=null;function by(t,a){var s=t.alternate,l=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:_n(a,t),Tn(t),l&4&&(Vi(3,t,t.return),dl(3,t),Vi(5,t,t.return));break;case 1:_n(a,t),Tn(t),l&512&&(Gt||s===null||Ba(s,s.return)),l&64&&li&&(t=t.updateQueue,t!==null&&(l=t.callbacks,l!==null&&(s=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=s===null?l:s.concat(l))));break;case 26:var p=wa;if(_n(a,t),Tn(t),l&512&&(Gt||s===null||Ba(s,s.return)),l&4){var f=s!==null?s.memoizedState:null;if(l=t.memoizedState,s===null)if(l===null)if(t.stateNode===null){e:{l=t.type,s=t.memoizedProps,p=p.ownerDocument||p;t:switch(l){case"title":f=p.getElementsByTagName("title")[0],(!f||f[Ci]||f[Lt]||f.namespaceURI==="http://www.w3.org/2000/svg"||f.hasAttribute("itemprop"))&&(f=p.createElement(l),p.head.insertBefore(f,p.querySelector("head > title"))),cn(f,l,s),f[Lt]=t,It(f),l=f;break e;case"link":var x=bb("link","href",p).get(l+(s.href||""));if(x){for(var k=0;k<x.length;k++)if(f=x[k],f.getAttribute("href")===(s.href==null||s.href===""?null:s.href)&&f.getAttribute("rel")===(s.rel==null?null:s.rel)&&f.getAttribute("title")===(s.title==null?null:s.title)&&f.getAttribute("crossorigin")===(s.crossOrigin==null?null:s.crossOrigin)){x.splice(k,1);break t}}f=p.createElement(l),cn(f,l,s),p.head.appendChild(f);break;case"meta":if(x=bb("meta","content",p).get(l+(s.content||""))){for(k=0;k<x.length;k++)if(f=x[k],f.getAttribute("content")===(s.content==null?null:""+s.content)&&f.getAttribute("name")===(s.name==null?null:s.name)&&f.getAttribute("property")===(s.property==null?null:s.property)&&f.getAttribute("http-equiv")===(s.httpEquiv==null?null:s.httpEquiv)&&f.getAttribute("charset")===(s.charSet==null?null:s.charSet)){x.splice(k,1);break t}}f=p.createElement(l),cn(f,l,s),p.head.appendChild(f);break;default:throw Error(r(468,l))}f[Lt]=t,It(f),l=f}t.stateNode=l}else vb(p,t.type,t.stateNode);else t.stateNode=yb(p,l,t.memoizedProps);else f!==l?(f===null?s.stateNode!==null&&(s=s.stateNode,s.parentNode.removeChild(s)):f.count--,l===null?vb(p,t.type,t.stateNode):yb(p,l,t.memoizedProps)):l===null&&t.stateNode!==null&&fp(t,t.memoizedProps,s.memoizedProps)}break;case 27:_n(a,t),Tn(t),l&512&&(Gt||s===null||Ba(s,s.return)),s!==null&&l&4&&fp(t,t.memoizedProps,s.memoizedProps);break;case 5:if(_n(a,t),Tn(t),l&512&&(Gt||s===null||Ba(s,s.return)),t.flags&32){p=t.stateNode;try{Zn(p,"")}catch(xe){pt(t,t.return,xe)}}l&4&&t.stateNode!=null&&(p=t.memoizedProps,fp(t,p,s!==null?s.memoizedProps:p)),l&1024&&(bp=!0);break;case 6:if(_n(a,t),Tn(t),l&4){if(t.stateNode===null)throw Error(r(162));l=t.memoizedProps,s=t.stateNode;try{s.nodeValue=l}catch(xe){pt(t,t.return,xe)}}break;case 3:if(mu=null,p=wa,wa=uu(a.containerInfo),_n(a,t),wa=p,Tn(t),l&4&&s!==null&&s.memoizedState.isDehydrated)try{Qo(a.containerInfo)}catch(xe){pt(t,t.return,xe)}bp&&(bp=!1,vy(t));break;case 4:l=wa,wa=uu(t.stateNode.containerInfo),_n(a,t),Tn(t),wa=l;break;case 12:_n(a,t),Tn(t);break;case 31:_n(a,t),Tn(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,Yc(t,l)));break;case 13:_n(a,t),Tn(t),t.child.flags&8192&&t.memoizedState!==null!=(s!==null&&s.memoizedState!==null)&&(Jc=nn()),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,Yc(t,l)));break;case 22:p=t.memoizedState!==null;var E=s!==null&&s.memoizedState!==null,$=li,Z=Gt;if(li=$||p,Gt=Z||E,_n(a,t),Gt=Z,li=$,Tn(t),l&8192)e:for(a=t.stateNode,a._visibility=p?a._visibility&-2:a._visibility|1,p&&(s===null||E||li||Gt||Us(t)),s=null,a=t;;){if(a.tag===5||a.tag===26){if(s===null){E=s=a;try{if(f=E.stateNode,p)x=f.style,typeof x.setProperty=="function"?x.setProperty("display","none","important"):x.display="none";else{k=E.stateNode;var ne=E.memoizedProps.style,G=ne!=null&&ne.hasOwnProperty("display")?ne.display:null;k.style.display=G==null||typeof G=="boolean"?"":(""+G).trim()}}catch(xe){pt(E,E.return,xe)}}}else if(a.tag===6){if(s===null){E=a;try{E.stateNode.nodeValue=p?"":E.memoizedProps}catch(xe){pt(E,E.return,xe)}}}else if(a.tag===18){if(s===null){E=a;try{var Q=E.stateNode;p?lb(Q,!0):lb(E.stateNode,!1)}catch(xe){pt(E,E.return,xe)}}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===t)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;a.sibling===null;){if(a.return===null||a.return===t)break e;s===a&&(s=null),a=a.return}s===a&&(s=null),a.sibling.return=a.return,a=a.sibling}l&4&&(l=t.updateQueue,l!==null&&(s=l.retryQueue,s!==null&&(l.retryQueue=null,Yc(t,s))));break;case 19:_n(a,t),Tn(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,Yc(t,l)));break;case 30:break;case 21:break;default:_n(a,t),Tn(t)}}function Tn(t){var a=t.flags;if(a&2){try{for(var s,l=t.return;l!==null;){if(uy(l)){s=l;break}l=l.return}if(s==null)throw Error(r(160));switch(s.tag){case 27:var p=s.stateNode,f=gp(t);Zc(t,f,p);break;case 5:var x=s.stateNode;s.flags&32&&(Zn(x,""),s.flags&=-33);var k=gp(t);Zc(t,k,x);break;case 3:case 4:var E=s.stateNode.containerInfo,$=gp(t);yp(t,$,E);break;default:throw Error(r(161))}}catch(Z){pt(t,t.return,Z)}t.flags&=-3}a&4096&&(t.flags&=-4097)}function vy(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var a=t;vy(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),t=t.sibling}}function ui(t,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)py(t,a.alternate,a),a=a.sibling}function Us(t){for(t=t.child;t!==null;){var a=t;switch(a.tag){case 0:case 11:case 14:case 15:Vi(4,a,a.return),Us(a);break;case 1:Ba(a,a.return);var s=a.stateNode;typeof s.componentWillUnmount=="function"&&ly(a,a.return,s),Us(a);break;case 27:wl(a.stateNode);case 26:case 5:Ba(a,a.return),Us(a);break;case 22:a.memoizedState===null&&Us(a);break;case 30:Us(a);break;default:Us(a)}t=t.sibling}}function di(t,a,s){for(s=s&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var l=a.alternate,p=t,f=a,x=f.flags;switch(f.tag){case 0:case 11:case 15:di(p,f,s),dl(4,f);break;case 1:if(di(p,f,s),l=f,p=l.stateNode,typeof p.componentDidMount=="function")try{p.componentDidMount()}catch($){pt(l,l.return,$)}if(l=f,p=l.updateQueue,p!==null){var k=l.stateNode;try{var E=p.shared.hiddenCallbacks;if(E!==null)for(p.shared.hiddenCallbacks=null,p=0;p<E.length;p++)Yg(E[p],k)}catch($){pt(l,l.return,$)}}s&&x&64&&ry(f),ml(f,f.return);break;case 27:dy(f);case 26:case 5:di(p,f,s),s&&l===null&&x&4&&cy(f),ml(f,f.return);break;case 12:di(p,f,s);break;case 31:di(p,f,s),s&&x&4&&gy(p,f);break;case 13:di(p,f,s),s&&x&4&&yy(p,f);break;case 22:f.memoizedState===null&&di(p,f,s),ml(f,f.return);break;case 30:break;default:di(p,f,s)}a=a.sibling}}function vp(t,a){var s=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),t=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(t=a.memoizedState.cachePool.pool),t!==s&&(t!=null&&t.refCount++,s!=null&&Jr(s))}function xp(t,a){t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&Jr(t))}function ka(t,a,s,l){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)xy(t,a,s,l),a=a.sibling}function xy(t,a,s,l){var p=a.flags;switch(a.tag){case 0:case 11:case 15:ka(t,a,s,l),p&2048&&dl(9,a);break;case 1:ka(t,a,s,l);break;case 3:ka(t,a,s,l),p&2048&&(t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&Jr(t)));break;case 12:if(p&2048){ka(t,a,s,l),t=a.stateNode;try{var f=a.memoizedProps,x=f.id,k=f.onPostCommit;typeof k=="function"&&k(x,a.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(E){pt(a,a.return,E)}}else ka(t,a,s,l);break;case 31:ka(t,a,s,l);break;case 13:ka(t,a,s,l);break;case 23:break;case 22:f=a.stateNode,x=a.alternate,a.memoizedState!==null?f._visibility&2?ka(t,a,s,l):pl(t,a):f._visibility&2?ka(t,a,s,l):(f._visibility|=2,Io(t,a,s,l,(a.subtreeFlags&10256)!==0||!1)),p&2048&&vp(x,a);break;case 24:ka(t,a,s,l),p&2048&&xp(a.alternate,a);break;default:ka(t,a,s,l)}}function Io(t,a,s,l,p){for(p=p&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var f=t,x=a,k=s,E=l,$=x.flags;switch(x.tag){case 0:case 11:case 15:Io(f,x,k,E,p),dl(8,x);break;case 23:break;case 22:var Z=x.stateNode;x.memoizedState!==null?Z._visibility&2?Io(f,x,k,E,p):pl(f,x):(Z._visibility|=2,Io(f,x,k,E,p)),p&&$&2048&&vp(x.alternate,x);break;case 24:Io(f,x,k,E,p),p&&$&2048&&xp(x.alternate,x);break;default:Io(f,x,k,E,p)}a=a.sibling}}function pl(t,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var s=t,l=a,p=l.flags;switch(l.tag){case 22:pl(s,l),p&2048&&vp(l.alternate,l);break;case 24:pl(s,l),p&2048&&xp(l.alternate,l);break;default:pl(s,l)}a=a.sibling}}var hl=8192;function Po(t,a,s){if(t.subtreeFlags&hl)for(t=t.child;t!==null;)wy(t,a,s),t=t.sibling}function wy(t,a,s){switch(t.tag){case 26:Po(t,a,s),t.flags&hl&&t.memoizedState!==null&&j4(s,wa,t.memoizedState,t.memoizedProps);break;case 5:Po(t,a,s);break;case 3:case 4:var l=wa;wa=uu(t.stateNode.containerInfo),Po(t,a,s),wa=l;break;case 22:t.memoizedState===null&&(l=t.alternate,l!==null&&l.memoizedState!==null?(l=hl,hl=16777216,Po(t,a,s),hl=l):Po(t,a,s));break;default:Po(t,a,s)}}function ky(t){var a=t.alternate;if(a!==null&&(t=a.child,t!==null)){a.child=null;do a=t.sibling,t.sibling=null,t=a;while(t!==null)}}function fl(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var s=0;s<a.length;s++){var l=a[s];en=l,jy(l,t)}ky(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Sy(t),t=t.sibling}function Sy(t){switch(t.tag){case 0:case 11:case 15:fl(t),t.flags&2048&&Vi(9,t,t.return);break;case 3:fl(t);break;case 12:fl(t);break;case 22:var a=t.stateNode;t.memoizedState!==null&&a._visibility&2&&(t.return===null||t.return.tag!==13)?(a._visibility&=-3,Xc(t)):fl(t);break;default:fl(t)}}function Xc(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var s=0;s<a.length;s++){var l=a[s];en=l,jy(l,t)}ky(t)}for(t=t.child;t!==null;){switch(a=t,a.tag){case 0:case 11:case 15:Vi(8,a,a.return),Xc(a);break;case 22:s=a.stateNode,s._visibility&2&&(s._visibility&=-3,Xc(a));break;default:Xc(a)}t=t.sibling}}function jy(t,a){for(;en!==null;){var s=en;switch(s.tag){case 0:case 11:case 15:Vi(8,s,a);break;case 23:case 22:if(s.memoizedState!==null&&s.memoizedState.cachePool!==null){var l=s.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Jr(s.memoizedState.cache)}if(l=s.child,l!==null)l.return=s,en=l;else e:for(s=t;en!==null;){l=en;var p=l.sibling,f=l.return;if(hy(l),l===s){en=null;break e}if(p!==null){p.return=f,en=p;break e}en=f}}}var BA={getCacheForType:function(t){var a=rn(Vt),s=a.data.get(t);return s===void 0&&(s=t(),a.data.set(t,s)),s},cacheSignal:function(){return rn(Vt).controller.signal}},LA=typeof WeakMap=="function"?WeakMap:Map,ct=0,bt=null,Ye=null,Je=0,mt=0,Vn=null,$i=!1,Mo=!1,wp=!1,mi=0,qt=0,Ui=0,Gs=0,kp=0,$n=0,Bo=0,gl=null,En=null,Sp=!1,Jc=0,Ay=0,Wc=1/0,eu=null,Gi=null,Qt=0,Ki=null,Lo=null,pi=0,jp=0,Ap=null,Cy=null,yl=0,Cp=null;function Un(){return(ct&2)!==0&&Je!==0?Je&-Je:P.T!==null?zp():co()}function Ny(){if($n===0)if((Je&536870912)===0||at){var t=Si;Si<<=1,(Si&3932160)===0&&(Si=262144),$n=t}else $n=536870912;return t=Bn.current,t!==null&&(t.flags|=32),$n}function Rn(t,a,s){(t===bt&&(mt===2||mt===9)||t.cancelPendingCommit!==null)&&(Vo(t,0),Hi(t,Je,$n,!1)),ks(t,s),((ct&2)===0||t!==bt)&&(t===bt&&((ct&2)===0&&(Gs|=s),qt===4&&Hi(t,Je,$n,!1)),La(t))}function _y(t,a,s){if((ct&6)!==0)throw Error(r(327));var l=!s&&(a&127)===0&&(a&t.expiredLanes)===0||Fa(t,a),p=l?UA(t,a):_p(t,a,!0),f=l;do{if(p===0){Mo&&!l&&Hi(t,a,0,!1);break}else{if(s=t.current.alternate,f&&!VA(s)){p=_p(t,a,!1),f=!1;continue}if(p===2){if(f=a,t.errorRecoveryDisabledLanes&f)var x=0;else x=t.pendingLanes&-536870913,x=x!==0?x:x&536870912?536870912:0;if(x!==0){a=x;e:{var k=t;p=gl;var E=k.current.memoizedState.isDehydrated;if(E&&(Vo(k,x).flags|=256),x=_p(k,x,!1),x!==2){if(wp&&!E){k.errorRecoveryDisabledLanes|=f,Gs|=f,p=4;break e}f=En,En=p,f!==null&&(En===null?En=f:En.push.apply(En,f))}p=x}if(f=!1,p!==2)continue}}if(p===1){Vo(t,0),Hi(t,a,0,!0);break}e:{switch(l=t,f=p,f){case 0:case 1:throw Error(r(345));case 4:if((a&4194048)!==a)break;case 6:Hi(l,a,$n,!$i);break e;case 2:En=null;break;case 3:case 5:break;default:throw Error(r(329))}if((a&62914560)===a&&(p=Jc+300-nn(),10<p)){if(Hi(l,a,$n,!$i),Ht(l,0,!0)!==0)break e;pi=a,l.timeoutHandle=sb(Ty.bind(null,l,s,En,eu,Sp,a,$n,Gs,Bo,$i,f,"Throttled",-0,0),p);break e}Ty(l,s,En,eu,Sp,a,$n,Gs,Bo,$i,f,null,-0,0)}}break}while(!0);La(t)}function Ty(t,a,s,l,p,f,x,k,E,$,Z,ne,G,Q){if(t.timeoutHandle=-1,ne=a.subtreeFlags,ne&8192||(ne&16785408)===16785408){ne={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ya},wy(a,f,ne);var xe=(f&62914560)===f?Jc-nn():(f&4194048)===f?Ay-nn():0;if(xe=A4(ne,xe),xe!==null){pi=f,t.cancelPendingCommit=xe(Py.bind(null,t,a,f,s,l,p,x,k,E,Z,ne,null,G,Q)),Hi(t,f,x,!$);return}}Py(t,a,f,s,l,p,x,k,E)}function VA(t){for(var a=t;;){var s=a.tag;if((s===0||s===11||s===15)&&a.flags&16384&&(s=a.updateQueue,s!==null&&(s=s.stores,s!==null)))for(var l=0;l<s.length;l++){var p=s[l],f=p.getSnapshot;p=p.value;try{if(!Pn(f(),p))return!1}catch{return!1}}if(s=a.child,a.subtreeFlags&16384&&s!==null)s.return=a,a=s;else{if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function Hi(t,a,s,l){a&=~kp,a&=~Gs,t.suspendedLanes|=a,t.pingedLanes&=~a,l&&(t.warmLanes|=a),l=t.expirationTimes;for(var p=a;0<p;){var f=31-vn(p),x=1<<f;l[f]=-1,p&=~x}s!==0&&_r(t,s,a)}function tu(){return(ct&6)===0?(bl(0),!1):!0}function Np(){if(Ye!==null){if(mt===0)var t=Ye.return;else t=Ye,ni=qs=null,Um(t),Ro=null,el=0,t=Ye;for(;t!==null;)oy(t.alternate,t),t=t.return;Ye=null}}function Vo(t,a){var s=t.timeoutHandle;s!==-1&&(t.timeoutHandle=-1,r4(s)),s=t.cancelPendingCommit,s!==null&&(t.cancelPendingCommit=null,s()),pi=0,Np(),bt=t,Ye=s=ei(t.current,null),Je=a,mt=0,Vn=null,$i=!1,Mo=Fa(t,a),wp=!1,Bo=$n=kp=Gs=Ui=qt=0,En=gl=null,Sp=!1,(a&8)!==0&&(a|=a&32);var l=t.entangledLanes;if(l!==0)for(t=t.entanglements,l&=a;0<l;){var p=31-vn(l),f=1<<p;a|=t[p],l&=~f}return mi=a,kc(),s}function Ey(t,a){Ue=null,P.H=ll,a===Eo||a===Ec?(a=Hg(),mt=3):a===Rm?(a=Hg(),mt=4):mt=a===sp?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,Vn=a,Ye===null&&(qt=1,Gc(t,Wn(a,t.current)))}function Ry(){var t=Bn.current;return t===null?!0:(Je&4194048)===Je?aa===null:(Je&62914560)===Je||(Je&536870912)!==0?t===aa:!1}function zy(){var t=P.H;return P.H=ll,t===null?ll:t}function Dy(){var t=P.A;return P.A=BA,t}function nu(){qt=4,$i||(Je&4194048)!==Je&&Bn.current!==null||(Mo=!0),(Ui&134217727)===0&&(Gs&134217727)===0||bt===null||Hi(bt,Je,$n,!1)}function _p(t,a,s){var l=ct;ct|=2;var p=zy(),f=Dy();(bt!==t||Je!==a)&&(eu=null,Vo(t,a)),a=!1;var x=qt;e:do try{if(mt!==0&&Ye!==null){var k=Ye,E=Vn;switch(mt){case 8:Np(),x=6;break e;case 3:case 2:case 9:case 6:Bn.current===null&&(a=!0);var $=mt;if(mt=0,Vn=null,$o(t,k,E,$),s&&Mo){x=0;break e}break;default:$=mt,mt=0,Vn=null,$o(t,k,E,$)}}$A(),x=qt;break}catch(Z){Ey(t,Z)}while(!0);return a&&t.shellSuspendCounter++,ni=qs=null,ct=l,P.H=p,P.A=f,Ye===null&&(bt=null,Je=0,kc()),x}function $A(){for(;Ye!==null;)Oy(Ye)}function UA(t,a){var s=ct;ct|=2;var l=zy(),p=Dy();bt!==t||Je!==a?(eu=null,Wc=nn()+500,Vo(t,a)):Mo=Fa(t,a);e:do try{if(mt!==0&&Ye!==null){a=Ye;var f=Vn;t:switch(mt){case 1:mt=0,Vn=null,$o(t,a,f,1);break;case 2:case 9:if(Gg(f)){mt=0,Vn=null,qy(a);break}a=function(){mt!==2&&mt!==9||bt!==t||(mt=7),La(t)},f.then(a,a);break e;case 3:mt=7;break e;case 4:mt=5;break e;case 7:Gg(f)?(mt=0,Vn=null,qy(a)):(mt=0,Vn=null,$o(t,a,f,7));break;case 5:var x=null;switch(Ye.tag){case 26:x=Ye.memoizedState;case 5:case 27:var k=Ye;if(x?xb(x):k.stateNode.complete){mt=0,Vn=null;var E=k.sibling;if(E!==null)Ye=E;else{var $=k.return;$!==null?(Ye=$,au($)):Ye=null}break t}}mt=0,Vn=null,$o(t,a,f,5);break;case 6:mt=0,Vn=null,$o(t,a,f,6);break;case 8:Np(),qt=6;break e;default:throw Error(r(462))}}GA();break}catch(Z){Ey(t,Z)}while(!0);return ni=qs=null,P.H=l,P.A=p,ct=s,Ye!==null?0:(bt=null,Je=0,kc(),qt)}function GA(){for(;Ye!==null&&!ki();)Oy(Ye)}function Oy(t){var a=iy(t.alternate,t,mi);t.memoizedProps=t.pendingProps,a===null?au(t):Ye=a}function qy(t){var a=t,s=a.alternate;switch(a.tag){case 15:case 0:a=J1(s,a,a.pendingProps,a.type,void 0,Je);break;case 11:a=J1(s,a,a.pendingProps,a.type.render,a.ref,Je);break;case 5:Um(a);default:oy(s,a),a=Ye=Dg(a,mi),a=iy(s,a,mi)}t.memoizedProps=t.pendingProps,a===null?au(t):Ye=a}function $o(t,a,s,l){ni=qs=null,Um(a),Ro=null,el=0;var p=a.return;try{if(zA(t,p,a,s,Je)){qt=1,Gc(t,Wn(s,t.current)),Ye=null;return}}catch(f){if(p!==null)throw Ye=p,f;qt=1,Gc(t,Wn(s,t.current)),Ye=null;return}a.flags&32768?(at||l===1?t=!0:Mo||(Je&536870912)!==0?t=!1:($i=t=!0,(l===2||l===9||l===3||l===6)&&(l=Bn.current,l!==null&&l.tag===13&&(l.flags|=16384))),Iy(a,t)):au(a)}function au(t){var a=t;do{if((a.flags&32768)!==0){Iy(a,$i);return}t=a.return;var s=qA(a.alternate,a,mi);if(s!==null){Ye=s;return}if(a=a.sibling,a!==null){Ye=a;return}Ye=a=t}while(a!==null);qt===0&&(qt=5)}function Iy(t,a){do{var s=IA(t.alternate,t);if(s!==null){s.flags&=32767,Ye=s;return}if(s=t.return,s!==null&&(s.flags|=32768,s.subtreeFlags=0,s.deletions=null),!a&&(t=t.sibling,t!==null)){Ye=t;return}Ye=t=s}while(t!==null);qt=6,Ye=null}function Py(t,a,s,l,p,f,x,k,E){t.cancelPendingCommit=null;do iu();while(Qt!==0);if((ct&6)!==0)throw Error(r(327));if(a!==null){if(a===t.current)throw Error(r(177));if(f=a.lanes|a.childLanes,f|=gm,pc(t,s,f,x,k,E),t===bt&&(Ye=bt=null,Je=0),Lo=a,Ki=t,pi=s,jp=f,Ap=p,Cy=l,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,FA(vs,function(){return $y(),null})):(t.callbackNode=null,t.callbackPriority=0),l=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||l){l=P.T,P.T=null,p=ee.p,ee.p=2,x=ct,ct|=4;try{PA(t,a,s)}finally{ct=x,ee.p=p,P.T=l}}Qt=1,My(),By(),Ly()}}function My(){if(Qt===1){Qt=0;var t=Ki,a=Lo,s=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||s){s=P.T,P.T=null;var l=ee.p;ee.p=2;var p=ct;ct|=4;try{by(a,t);var f=Lp,x=jg(t.containerInfo),k=f.focusedElem,E=f.selectionRange;if(x!==k&&k&&k.ownerDocument&&Sg(k.ownerDocument.documentElement,k)){if(E!==null&&dm(k)){var $=E.start,Z=E.end;if(Z===void 0&&(Z=$),"selectionStart"in k)k.selectionStart=$,k.selectionEnd=Math.min(Z,k.value.length);else{var ne=k.ownerDocument||document,G=ne&&ne.defaultView||window;if(G.getSelection){var Q=G.getSelection(),xe=k.textContent.length,Ie=Math.min(E.start,xe),yt=E.end===void 0?Ie:Math.min(E.end,xe);!Q.extend&&Ie>yt&&(x=yt,yt=Ie,Ie=x);var I=kg(k,Ie),D=kg(k,yt);if(I&&D&&(Q.rangeCount!==1||Q.anchorNode!==I.node||Q.anchorOffset!==I.offset||Q.focusNode!==D.node||Q.focusOffset!==D.offset)){var B=ne.createRange();B.setStart(I.node,I.offset),Q.removeAllRanges(),Ie>yt?(Q.addRange(B),Q.extend(D.node,D.offset)):(B.setEnd(D.node,D.offset),Q.addRange(B))}}}}for(ne=[],Q=k;Q=Q.parentNode;)Q.nodeType===1&&ne.push({element:Q,left:Q.scrollLeft,top:Q.scrollTop});for(typeof k.focus=="function"&&k.focus(),k=0;k<ne.length;k++){var te=ne[k];te.element.scrollLeft=te.left,te.element.scrollTop=te.top}}gu=!!Bp,Lp=Bp=null}finally{ct=p,ee.p=l,P.T=s}}t.current=a,Qt=2}}function By(){if(Qt===2){Qt=0;var t=Ki,a=Lo,s=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||s){s=P.T,P.T=null;var l=ee.p;ee.p=2;var p=ct;ct|=4;try{py(t,a.alternate,a)}finally{ct=p,ee.p=l,P.T=s}}Qt=3}}function Ly(){if(Qt===4||Qt===3){Qt=0,Sr();var t=Ki,a=Lo,s=pi,l=Cy;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?Qt=5:(Qt=0,Lo=Ki=null,Vy(t,t.pendingLanes));var p=t.pendingLanes;if(p===0&&(Gi=null),zr(s),a=a.stateNode,St&&typeof St.onCommitFiberRoot=="function")try{St.onCommitFiberRoot(bn,a,void 0,(a.current.flags&128)===128)}catch{}if(l!==null){a=P.T,p=ee.p,ee.p=2,P.T=null;try{for(var f=t.onRecoverableError,x=0;x<l.length;x++){var k=l[x];f(k.value,{componentStack:k.stack})}}finally{P.T=a,ee.p=p}}(pi&3)!==0&&iu(),La(t),p=t.pendingLanes,(s&261930)!==0&&(p&42)!==0?t===Cp?yl++:(yl=0,Cp=t):yl=0,bl(0)}}function Vy(t,a){(t.pooledCacheLanes&=a)===0&&(a=t.pooledCache,a!=null&&(t.pooledCache=null,Jr(a)))}function iu(){return My(),By(),Ly(),$y()}function $y(){if(Qt!==5)return!1;var t=Ki,a=jp;jp=0;var s=zr(pi),l=P.T,p=ee.p;try{ee.p=32>s?32:s,P.T=null,s=Ap,Ap=null;var f=Ki,x=pi;if(Qt=0,Lo=Ki=null,pi=0,(ct&6)!==0)throw Error(r(331));var k=ct;if(ct|=4,Sy(f.current),xy(f,f.current,x,s),ct=k,bl(0,!1),St&&typeof St.onPostCommitFiberRoot=="function")try{St.onPostCommitFiberRoot(bn,f)}catch{}return!0}finally{ee.p=p,P.T=l,Vy(t,a)}}function Uy(t,a,s){a=Wn(s,a),a=ip(t.stateNode,a,2),t=Mi(t,a,2),t!==null&&(ks(t,2),La(t))}function pt(t,a,s){if(t.tag===3)Uy(t,t,s);else for(;a!==null;){if(a.tag===3){Uy(a,t,s);break}else if(a.tag===1){var l=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Gi===null||!Gi.has(l))){t=Wn(s,t),s=G1(2),l=Mi(a,s,2),l!==null&&(K1(s,l,a,t),ks(l,2),La(l));break}}a=a.return}}function Tp(t,a,s){var l=t.pingCache;if(l===null){l=t.pingCache=new LA;var p=new Set;l.set(a,p)}else p=l.get(a),p===void 0&&(p=new Set,l.set(a,p));p.has(s)||(wp=!0,p.add(s),t=KA.bind(null,t,a,s),a.then(t,t))}function KA(t,a,s){var l=t.pingCache;l!==null&&l.delete(a),t.pingedLanes|=t.suspendedLanes&s,t.warmLanes&=~s,bt===t&&(Je&s)===s&&(qt===4||qt===3&&(Je&62914560)===Je&&300>nn()-Jc?(ct&2)===0&&Vo(t,0):kp|=s,Bo===Je&&(Bo=0)),La(t)}function Gy(t,a){a===0&&(a=ws()),t=zs(t,a),t!==null&&(ks(t,a),La(t))}function HA(t){var a=t.memoizedState,s=0;a!==null&&(s=a.retryLane),Gy(t,s)}function QA(t,a){var s=0;switch(t.tag){case 31:case 13:var l=t.stateNode,p=t.memoizedState;p!==null&&(s=p.retryLane);break;case 19:l=t.stateNode;break;case 22:l=t.stateNode._retryCache;break;default:throw Error(r(314))}l!==null&&l.delete(a),Gy(t,s)}function FA(t,a){return lt(t,a)}var su=null,Uo=null,Ep=!1,ou=!1,Rp=!1,Qi=0;function La(t){t!==Uo&&t.next===null&&(Uo===null?su=Uo=t:Uo=Uo.next=t),ou=!0,Ep||(Ep=!0,YA())}function bl(t,a){if(!Rp&&ou){Rp=!0;do for(var s=!1,l=su;l!==null;){if(t!==0){var p=l.pendingLanes;if(p===0)var f=0;else{var x=l.suspendedLanes,k=l.pingedLanes;f=(1<<31-vn(42|t)+1)-1,f&=p&~(x&~k),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(s=!0,Fy(l,f))}else f=Je,f=Ht(l,l===bt?f:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(f&3)===0||Fa(l,f)||(s=!0,Fy(l,f));l=l.next}while(s);Rp=!1}}function ZA(){Ky()}function Ky(){ou=Ep=!1;var t=0;Qi!==0&&o4()&&(t=Qi);for(var a=nn(),s=null,l=su;l!==null;){var p=l.next,f=Hy(l,a);f===0?(l.next=null,s===null?su=p:s.next=p,p===null&&(Uo=s)):(s=l,(t!==0||(f&3)!==0)&&(ou=!0)),l=p}Qt!==0&&Qt!==5||bl(t),Qi!==0&&(Qi=0)}function Hy(t,a){for(var s=t.suspendedLanes,l=t.pingedLanes,p=t.expirationTimes,f=t.pendingLanes&-62914561;0<f;){var x=31-vn(f),k=1<<x,E=p[x];E===-1?((k&s)===0||(k&l)!==0)&&(p[x]=ji(k,a)):E<=a&&(t.expiredLanes|=k),f&=~k}if(a=bt,s=Je,s=Ht(t,t===a?s:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l=t.callbackNode,s===0||t===a&&(mt===2||mt===9)||t.cancelPendingCommit!==null)return l!==null&&l!==null&&Wt(l),t.callbackNode=null,t.callbackPriority=0;if((s&3)===0||Fa(t,s)){if(a=s&-s,a===t.callbackPriority)return a;switch(l!==null&&Wt(l),zr(s)){case 2:case 8:s=Cr;break;case 32:s=vs;break;case 268435456:s=dc;break;default:s=vs}return l=Qy.bind(null,t),s=lt(s,l),t.callbackPriority=a,t.callbackNode=s,a}return l!==null&&l!==null&&Wt(l),t.callbackPriority=2,t.callbackNode=null,2}function Qy(t,a){if(Qt!==0&&Qt!==5)return t.callbackNode=null,t.callbackPriority=0,null;var s=t.callbackNode;if(iu()&&t.callbackNode!==s)return null;var l=Je;return l=Ht(t,t===bt?l:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l===0?null:(_y(t,l,a),Hy(t,nn()),t.callbackNode!=null&&t.callbackNode===s?Qy.bind(null,t):null)}function Fy(t,a){if(iu())return null;_y(t,a,!0)}function YA(){l4(function(){(ct&6)!==0?lt(Ar,ZA):Ky()})}function zp(){if(Qi===0){var t=_o;t===0&&(t=xs,xs<<=1,(xs&261888)===0&&(xs=256)),Qi=t}return Qi}function Zy(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:go(""+t)}function Yy(t,a){var s=a.ownerDocument.createElement("input");return s.name=a.name,s.value=a.value,t.id&&s.setAttribute("form",t.id),a.parentNode.insertBefore(s,a),t=new FormData(t),s.parentNode.removeChild(s),t}function XA(t,a,s,l,p){if(a==="submit"&&s&&s.stateNode===p){var f=Zy((p[mn]||null).action),x=l.submitter;x&&(a=(a=x[mn]||null)?Zy(a.formAction):x.getAttribute("formAction"),a!==null&&(f=a,x=null));var k=new Ns("action","action",null,l,p);t.push({event:k,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(Qi!==0){var E=x?Yy(p,x):new FormData(p);Jm(s,{pending:!0,data:E,method:p.method,action:f},null,E)}}else typeof f=="function"&&(k.preventDefault(),E=x?Yy(p,x):new FormData(p),Jm(s,{pending:!0,data:E,method:p.method,action:f},f,E))},currentTarget:p}]})}}for(var Dp=0;Dp<fm.length;Dp++){var Op=fm[Dp],JA=Op.toLowerCase(),WA=Op[0].toUpperCase()+Op.slice(1);xa(JA,"on"+WA)}xa(Ng,"onAnimationEnd"),xa(_g,"onAnimationIteration"),xa(Tg,"onAnimationStart"),xa("dblclick","onDoubleClick"),xa("focusin","onFocus"),xa("focusout","onBlur"),xa(fA,"onTransitionRun"),xa(gA,"onTransitionStart"),xa(yA,"onTransitionCancel"),xa(Eg,"onTransitionEnd"),Ss("onMouseEnter",["mouseout","mouseover"]),Ss("onMouseLeave",["mouseout","mouseover"]),Ss("onPointerEnter",["pointerout","pointerover"]),Ss("onPointerLeave",["pointerout","pointerover"]),Ra("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Ra("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Ra("onBeforeInput",["compositionend","keypress","textInput","paste"]),Ra("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Ra("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Ra("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var vl="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(" "),e4=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(vl));function Xy(t,a){a=(a&4)!==0;for(var s=0;s<t.length;s++){var l=t[s],p=l.event;l=l.listeners;e:{var f=void 0;if(a)for(var x=l.length-1;0<=x;x--){var k=l[x],E=k.instance,$=k.currentTarget;if(k=k.listener,E!==f&&p.isPropagationStopped())break e;f=k,p.currentTarget=$;try{f(p)}catch(Z){wc(Z)}p.currentTarget=null,f=E}else for(x=0;x<l.length;x++){if(k=l[x],E=k.instance,$=k.currentTarget,k=k.listener,E!==f&&p.isPropagationStopped())break e;f=k,p.currentTarget=$;try{f(p)}catch(Z){wc(Z)}p.currentTarget=null,f=E}}}}function Xe(t,a){var s=a[uo];s===void 0&&(s=a[uo]=new Set);var l=t+"__bubble";s.has(l)||(Jy(a,t,2,!1),s.add(l))}function qp(t,a,s){var l=0;a&&(l|=4),Jy(s,t,l,a)}var ru="_reactListening"+Math.random().toString(36).slice(2);function Ip(t){if(!t[ru]){t[ru]=!0,Or.forEach(function(s){s!=="selectionchange"&&(e4.has(s)||qp(s,!1,t),qp(s,!0,t))});var a=t.nodeType===9?t:t.ownerDocument;a===null||a[ru]||(a[ru]=!0,qp("selectionchange",!1,a))}}function Jy(t,a,s,l){switch(Nb(a)){case 2:var p=_4;break;case 8:p=T4;break;default:p=Xp}s=p.bind(null,a,s,t),p=void 0,!Ur||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(p=!0),l?p!==void 0?t.addEventListener(a,s,{capture:!0,passive:p}):t.addEventListener(a,s,!0):p!==void 0?t.addEventListener(a,s,{passive:p}):t.addEventListener(a,s,!1)}function Pp(t,a,s,l,p){var f=l;if((a&1)===0&&(a&2)===0&&l!==null)e:for(;;){if(l===null)return;var x=l.tag;if(x===3||x===4){var k=l.stateNode.containerInfo;if(k===p)break;if(x===4)for(x=l.return;x!==null;){var E=x.tag;if((E===3||E===4)&&x.stateNode.containerInfo===p)return;x=x.return}for(;k!==null;){if(x=Za(k),x===null)return;if(E=x.tag,E===5||E===6||E===26||E===27){l=f=x;continue e}k=k.parentNode}}l=l.return}yc(function(){var $=f,Z=Vr(s),ne=[];e:{var G=Rg.get(t);if(G!==void 0){var Q=Ns,xe=t;switch(t){case"keypress":if(ba(s)===0)break e;case"keydown":case"keyup":Q=Qj;break;case"focusin":xe="focus",Q=om;break;case"focusout":xe="blur",Q=om;break;case"beforeblur":case"afterblur":Q=om;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Q=og;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Q=qj;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Q=Yj;break;case Ng:case _g:case Tg:Q=Mj;break;case Eg:Q=Jj;break;case"scroll":case"scrollend":Q=Ts;break;case"wheel":Q=eA;break;case"copy":case"cut":case"paste":Q=Lj;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Q=lg;break;case"toggle":case"beforetoggle":Q=nA}var Ie=(a&4)!==0,yt=!Ie&&(t==="scroll"||t==="scrollend"),I=Ie?G!==null?G+"Capture":null:G;Ie=[];for(var D=$,B;D!==null;){var te=D;if(B=te.stateNode,te=te.tag,te!==5&&te!==26&&te!==27||B===null||I===null||(te=As(D,I),te!=null&&Ie.push(xl(D,te,B))),yt)break;D=D.return}0<Ie.length&&(G=new Q(G,xe,null,s,Z),ne.push({event:G,listeners:Ie}))}}if((a&7)===0){e:{if(G=t==="mouseover"||t==="pointerover",Q=t==="mouseout"||t==="pointerout",G&&s!==Lr&&(xe=s.relatedTarget||s.fromElement)&&(Za(xe)||xe[Ai]))break e;if((Q||G)&&(G=Z.window===Z?Z:(G=Z.ownerDocument)?G.defaultView||G.parentWindow:window,Q?(xe=s.relatedTarget||s.toElement,Q=$,xe=xe?Za(xe):null,xe!==null&&(yt=h(xe),Ie=xe.tag,xe!==yt||Ie!==5&&Ie!==27&&Ie!==6)&&(xe=null)):(Q=null,xe=$),Q!==xe)){if(Ie=og,te="onMouseLeave",I="onMouseEnter",D="mouse",(t==="pointerout"||t==="pointerover")&&(Ie=lg,te="onPointerLeave",I="onPointerEnter",D="pointer"),yt=Q==null?G:_i(Q),B=xe==null?G:_i(xe),G=new Ie(te,D+"leave",Q,s,Z),G.target=yt,G.relatedTarget=B,te=null,Za(Z)===$&&(Ie=new Ie(I,D+"enter",xe,s,Z),Ie.target=B,Ie.relatedTarget=yt,te=Ie),yt=te,Q&&xe)t:{for(Ie=t4,I=Q,D=xe,B=0,te=I;te;te=Ie(te))B++;te=0;for(var Ee=D;Ee;Ee=Ie(Ee))te++;for(;0<B-te;)I=Ie(I),B--;for(;0<te-B;)D=Ie(D),te--;for(;B--;){if(I===D||D!==null&&I===D.alternate){Ie=I;break t}I=Ie(I),D=Ie(D)}Ie=null}else Ie=null;Q!==null&&Wy(ne,G,Q,Ie,!1),xe!==null&&yt!==null&&Wy(ne,yt,xe,Ie,!0)}}e:{if(G=$?_i($):window,Q=G.nodeName&&G.nodeName.toLowerCase(),Q==="select"||Q==="input"&&G.type==="file")var ot=gg;else if(hg(G))if(yg)ot=mA;else{ot=uA;var Ae=cA}else Q=G.nodeName,!Q||Q.toLowerCase()!=="input"||G.type!=="checkbox"&&G.type!=="radio"?$&&ga($.elementType)&&(ot=gg):ot=dA;if(ot&&(ot=ot(t,$))){fg(ne,ot,s,Z);break e}Ae&&Ae(t,G,$),t==="focusout"&&$&&G.type==="number"&&$.memoizedProps.value!=null&&ho(G,"number",G.value)}switch(Ae=$?_i($):window,t){case"focusin":(hg(Ae)||Ae.contentEditable==="true")&&(xo=Ae,mm=$,Zr=null);break;case"focusout":Zr=mm=xo=null;break;case"mousedown":pm=!0;break;case"contextmenu":case"mouseup":case"dragend":pm=!1,Ag(ne,s,Z);break;case"selectionchange":if(hA)break;case"keydown":case"keyup":Ag(ne,s,Z)}var Ke;if(lm)e:{switch(t){case"compositionstart":var We="onCompositionStart";break e;case"compositionend":We="onCompositionEnd";break e;case"compositionupdate":We="onCompositionUpdate";break e}We=void 0}else vo?mg(t,s)&&(We="onCompositionEnd"):t==="keydown"&&s.keyCode===229&&(We="onCompositionStart");We&&(cg&&s.locale!=="ko"&&(vo||We!=="onCompositionStart"?We==="onCompositionEnd"&&vo&&(Ke=Wa()):(qa=Z,U="value"in qa?qa.value:qa.textContent,vo=!0)),Ae=lu($,We),0<Ae.length&&(We=new rg(We,t,null,s,Z),ne.push({event:We,listeners:Ae}),Ke?We.data=Ke:(Ke=pg(s),Ke!==null&&(We.data=Ke)))),(Ke=iA?sA(t,s):oA(t,s))&&(We=lu($,"onBeforeInput"),0<We.length&&(Ae=new rg("onBeforeInput","beforeinput",null,s,Z),ne.push({event:Ae,listeners:We}),Ae.data=Ke)),XA(ne,t,$,s,Z)}Xy(ne,a)})}function xl(t,a,s){return{instance:t,listener:a,currentTarget:s}}function lu(t,a){for(var s=a+"Capture",l=[];t!==null;){var p=t,f=p.stateNode;if(p=p.tag,p!==5&&p!==26&&p!==27||f===null||(p=As(t,s),p!=null&&l.unshift(xl(t,p,f)),p=As(t,a),p!=null&&l.push(xl(t,p,f))),t.tag===3)return l;t=t.return}return[]}function t4(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function Wy(t,a,s,l,p){for(var f=a._reactName,x=[];s!==null&&s!==l;){var k=s,E=k.alternate,$=k.stateNode;if(k=k.tag,E!==null&&E===l)break;k!==5&&k!==26&&k!==27||$===null||(E=$,p?($=As(s,f),$!=null&&x.unshift(xl(s,$,E))):p||($=As(s,f),$!=null&&x.push(xl(s,$,E)))),s=s.return}x.length!==0&&t.push({event:a,listeners:x})}var n4=/\r\n?/g,a4=/\u0000|\uFFFD/g;function eb(t){return(typeof t=="string"?t:""+t).replace(n4,`
10
+ `).replace(a4,"")}function tb(t,a){return a=eb(a),eb(t)===a}function gt(t,a,s,l,p,f){switch(s){case"children":typeof l=="string"?a==="body"||a==="textarea"&&l===""||Zn(t,l):(typeof l=="number"||typeof l=="bigint")&&a!=="body"&&Zn(t,""+l);break;case"className":js(t,"class",l);break;case"tabIndex":js(t,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":js(t,s,l);break;case"style":Oa(t,l,f);break;case"data":if(a!=="object"){js(t,"data",l);break}case"src":case"href":if(l===""&&(a!=="a"||s!=="href")){t.removeAttribute(s);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(s);break}l=go(""+l),t.setAttribute(s,l);break;case"action":case"formAction":if(typeof l=="function"){t.setAttribute(s,"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 f=="function"&&(s==="formAction"?(a!=="input"&&gt(t,a,"name",p.name,p,null),gt(t,a,"formEncType",p.formEncType,p,null),gt(t,a,"formMethod",p.formMethod,p,null),gt(t,a,"formTarget",p.formTarget,p,null)):(gt(t,a,"encType",p.encType,p,null),gt(t,a,"method",p.method,p,null),gt(t,a,"target",p.target,p,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(s);break}l=go(""+l),t.setAttribute(s,l);break;case"onClick":l!=null&&(t.onclick=ya);break;case"onScroll":l!=null&&Xe("scroll",t);break;case"onScrollEnd":l!=null&&Xe("scrollend",t);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(s=l.__html,s!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=s}}break;case"multiple":t.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":t.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){t.removeAttribute("xlink:href");break}s=go(""+l),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(s,""+l):t.removeAttribute(s);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":l&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(s,""):t.removeAttribute(s);break;case"capture":case"download":l===!0?t.setAttribute(s,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(s,l):t.removeAttribute(s);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?t.setAttribute(s,l):t.removeAttribute(s);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?t.removeAttribute(s):t.setAttribute(s,l);break;case"popover":Xe("beforetoggle",t),Xe("toggle",t),Ya(t,"popover",l);break;case"xlinkActuate":an(t,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":an(t,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":an(t,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":an(t,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":an(t,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":an(t,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":an(t,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":an(t,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":an(t,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":Ya(t,"is",l);break;case"innerText":case"textContent":break;default:(!(2<s.length)||s[0]!=="o"&&s[0]!=="O"||s[1]!=="n"&&s[1]!=="N")&&(s=fo.get(s)||s,Ya(t,s,l))}}function Mp(t,a,s,l,p,f){switch(s){case"style":Oa(t,l,f);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(s=l.__html,s!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=s}}break;case"children":typeof l=="string"?Zn(t,l):(typeof l=="number"||typeof l=="bigint")&&Zn(t,""+l);break;case"onScroll":l!=null&&Xe("scroll",t);break;case"onScrollEnd":l!=null&&Xe("scrollend",t);break;case"onClick":l!=null&&(t.onclick=ya);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!qr.hasOwnProperty(s))e:{if(s[0]==="o"&&s[1]==="n"&&(p=s.endsWith("Capture"),a=s.slice(2,p?s.length-7:void 0),f=t[mn]||null,f=f!=null?f[s]:null,typeof f=="function"&&t.removeEventListener(a,f,p),typeof l=="function")){typeof f!="function"&&f!==null&&(s in t?t[s]=null:t.hasAttribute(s)&&t.removeAttribute(s)),t.addEventListener(a,l,p);break e}s in t?t[s]=l:l===!0?t.setAttribute(s,""):Ya(t,s,l)}}}function cn(t,a,s){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Xe("error",t),Xe("load",t);var l=!1,p=!1,f;for(f in s)if(s.hasOwnProperty(f)){var x=s[f];if(x!=null)switch(f){case"src":l=!0;break;case"srcSet":p=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:gt(t,a,f,x,s,null)}}p&&gt(t,a,"srcSet",s.srcSet,s,null),l&&gt(t,a,"src",s.src,s,null);return;case"input":Xe("invalid",t);var k=f=x=p=null,E=null,$=null;for(l in s)if(s.hasOwnProperty(l)){var Z=s[l];if(Z!=null)switch(l){case"name":p=Z;break;case"type":x=Z;break;case"checked":E=Z;break;case"defaultChecked":$=Z;break;case"value":f=Z;break;case"defaultValue":k=Z;break;case"children":case"dangerouslySetInnerHTML":if(Z!=null)throw Error(r(137,a));break;default:gt(t,a,l,Z,s,null)}}Br(t,f,k,E,$,x,p,!1);return;case"select":Xe("invalid",t),l=x=f=null;for(p in s)if(s.hasOwnProperty(p)&&(k=s[p],k!=null))switch(p){case"value":f=k;break;case"defaultValue":x=k;break;case"multiple":l=k;default:gt(t,a,p,k,s,null)}a=f,s=x,t.multiple=!!l,a!=null?Cn(t,!!l,a,!1):s!=null&&Cn(t,!!l,s,!0);return;case"textarea":Xe("invalid",t),f=p=l=null;for(x in s)if(s.hasOwnProperty(x)&&(k=s[x],k!=null))switch(x){case"value":l=k;break;case"defaultValue":p=k;break;case"children":f=k;break;case"dangerouslySetInnerHTML":if(k!=null)throw Error(r(91));break;default:gt(t,a,x,k,s,null)}Xa(t,l,p,f);return;case"option":for(E in s)s.hasOwnProperty(E)&&(l=s[E],l!=null)&&(E==="selected"?t.selected=l&&typeof l!="function"&&typeof l!="symbol":gt(t,a,E,l,s,null));return;case"dialog":Xe("beforetoggle",t),Xe("toggle",t),Xe("cancel",t),Xe("close",t);break;case"iframe":case"object":Xe("load",t);break;case"video":case"audio":for(l=0;l<vl.length;l++)Xe(vl[l],t);break;case"image":Xe("error",t),Xe("load",t);break;case"details":Xe("toggle",t);break;case"embed":case"source":case"link":Xe("error",t),Xe("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for($ in s)if(s.hasOwnProperty($)&&(l=s[$],l!=null))switch($){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:gt(t,a,$,l,s,null)}return;default:if(ga(a)){for(Z in s)s.hasOwnProperty(Z)&&(l=s[Z],l!==void 0&&Mp(t,a,Z,l,s,void 0));return}}for(k in s)s.hasOwnProperty(k)&&(l=s[k],l!=null&&gt(t,a,k,l,s,null))}function i4(t,a,s,l){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var p=null,f=null,x=null,k=null,E=null,$=null,Z=null;for(Q in s){var ne=s[Q];if(s.hasOwnProperty(Q)&&ne!=null)switch(Q){case"checked":break;case"value":break;case"defaultValue":E=ne;default:l.hasOwnProperty(Q)||gt(t,a,Q,null,l,ne)}}for(var G in l){var Q=l[G];if(ne=s[G],l.hasOwnProperty(G)&&(Q!=null||ne!=null))switch(G){case"type":f=Q;break;case"name":p=Q;break;case"checked":$=Q;break;case"defaultChecked":Z=Q;break;case"value":x=Q;break;case"defaultValue":k=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(r(137,a));break;default:Q!==ne&&gt(t,a,G,Q,l,ne)}}po(t,x,k,E,$,Z,f,p);return;case"select":Q=x=k=G=null;for(f in s)if(E=s[f],s.hasOwnProperty(f)&&E!=null)switch(f){case"value":break;case"multiple":Q=E;default:l.hasOwnProperty(f)||gt(t,a,f,null,l,E)}for(p in l)if(f=l[p],E=s[p],l.hasOwnProperty(p)&&(f!=null||E!=null))switch(p){case"value":G=f;break;case"defaultValue":k=f;break;case"multiple":x=f;default:f!==E&&gt(t,a,p,f,l,E)}a=k,s=x,l=Q,G!=null?Cn(t,!!s,G,!1):!!l!=!!s&&(a!=null?Cn(t,!!s,a,!0):Cn(t,!!s,s?[]:"",!1));return;case"textarea":Q=G=null;for(k in s)if(p=s[k],s.hasOwnProperty(k)&&p!=null&&!l.hasOwnProperty(k))switch(k){case"value":break;case"children":break;default:gt(t,a,k,null,l,p)}for(x in l)if(p=l[x],f=s[x],l.hasOwnProperty(x)&&(p!=null||f!=null))switch(x){case"value":G=p;break;case"defaultValue":Q=p;break;case"children":break;case"dangerouslySetInnerHTML":if(p!=null)throw Error(r(91));break;default:p!==f&&gt(t,a,x,p,l,f)}In(t,G,Q);return;case"option":for(var xe in s)G=s[xe],s.hasOwnProperty(xe)&&G!=null&&!l.hasOwnProperty(xe)&&(xe==="selected"?t.selected=!1:gt(t,a,xe,null,l,G));for(E in l)G=l[E],Q=s[E],l.hasOwnProperty(E)&&G!==Q&&(G!=null||Q!=null)&&(E==="selected"?t.selected=G&&typeof G!="function"&&typeof G!="symbol":gt(t,a,E,G,l,Q));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 Ie in s)G=s[Ie],s.hasOwnProperty(Ie)&&G!=null&&!l.hasOwnProperty(Ie)&&gt(t,a,Ie,null,l,G);for($ in l)if(G=l[$],Q=s[$],l.hasOwnProperty($)&&G!==Q&&(G!=null||Q!=null))switch($){case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(r(137,a));break;default:gt(t,a,$,G,l,Q)}return;default:if(ga(a)){for(var yt in s)G=s[yt],s.hasOwnProperty(yt)&&G!==void 0&&!l.hasOwnProperty(yt)&&Mp(t,a,yt,void 0,l,G);for(Z in l)G=l[Z],Q=s[Z],!l.hasOwnProperty(Z)||G===Q||G===void 0&&Q===void 0||Mp(t,a,Z,G,l,Q);return}}for(var I in s)G=s[I],s.hasOwnProperty(I)&&G!=null&&!l.hasOwnProperty(I)&&gt(t,a,I,null,l,G);for(ne in l)G=l[ne],Q=s[ne],!l.hasOwnProperty(ne)||G===Q||G==null&&Q==null||gt(t,a,ne,G,l,Q)}function nb(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function s4(){if(typeof performance.getEntriesByType=="function"){for(var t=0,a=0,s=performance.getEntriesByType("resource"),l=0;l<s.length;l++){var p=s[l],f=p.transferSize,x=p.initiatorType,k=p.duration;if(f&&k&&nb(x)){for(x=0,k=p.responseEnd,l+=1;l<s.length;l++){var E=s[l],$=E.startTime;if($>k)break;var Z=E.transferSize,ne=E.initiatorType;Z&&nb(ne)&&(E=E.responseEnd,x+=Z*(E<k?1:(k-$)/(E-$)))}if(--l,a+=8*(f+x)/(p.duration/1e3),t++,10<t)break}}if(0<t)return a/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var Bp=null,Lp=null;function cu(t){return t.nodeType===9?t:t.ownerDocument}function ab(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function ib(t,a){if(t===0)switch(a){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&a==="foreignObject"?0:t}function Vp(t,a){return t==="textarea"||t==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.children=="bigint"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var $p=null;function o4(){var t=window.event;return t&&t.type==="popstate"?t===$p?!1:($p=t,!0):($p=null,!1)}var sb=typeof setTimeout=="function"?setTimeout:void 0,r4=typeof clearTimeout=="function"?clearTimeout:void 0,ob=typeof Promise=="function"?Promise:void 0,l4=typeof queueMicrotask=="function"?queueMicrotask:typeof ob<"u"?function(t){return ob.resolve(null).then(t).catch(c4)}:sb;function c4(t){setTimeout(function(){throw t})}function Fi(t){return t==="head"}function rb(t,a){var s=a,l=0;do{var p=s.nextSibling;if(t.removeChild(s),p&&p.nodeType===8)if(s=p.data,s==="/$"||s==="/&"){if(l===0){t.removeChild(p),Qo(a);return}l--}else if(s==="$"||s==="$?"||s==="$~"||s==="$!"||s==="&")l++;else if(s==="html")wl(t.ownerDocument.documentElement);else if(s==="head"){s=t.ownerDocument.head,wl(s);for(var f=s.firstChild;f;){var x=f.nextSibling,k=f.nodeName;f[Ci]||k==="SCRIPT"||k==="STYLE"||k==="LINK"&&f.rel.toLowerCase()==="stylesheet"||s.removeChild(f),f=x}}else s==="body"&&wl(t.ownerDocument.body);s=p}while(s);Qo(a)}function lb(t,a){var s=t;t=0;do{var l=s.nextSibling;if(s.nodeType===1?a?(s._stashedDisplay=s.style.display,s.style.display="none"):(s.style.display=s._stashedDisplay||"",s.getAttribute("style")===""&&s.removeAttribute("style")):s.nodeType===3&&(a?(s._stashedText=s.nodeValue,s.nodeValue=""):s.nodeValue=s._stashedText||""),l&&l.nodeType===8)if(s=l.data,s==="/$"){if(t===0)break;t--}else s!=="$"&&s!=="$?"&&s!=="$~"&&s!=="$!"||t++;s=l}while(s)}function Up(t){var a=t.firstChild;for(a&&a.nodeType===10&&(a=a.nextSibling);a;){var s=a;switch(a=a.nextSibling,s.nodeName){case"HTML":case"HEAD":case"BODY":Up(s),Dr(s);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(s.rel.toLowerCase()==="stylesheet")continue}t.removeChild(s)}}function u4(t,a,s,l){for(;t.nodeType===1;){var p=s;if(t.nodeName.toLowerCase()!==a.toLowerCase()){if(!l&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(l){if(!t[Ci])switch(a){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(f=t.getAttribute("rel"),f==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(f!==p.rel||t.getAttribute("href")!==(p.href==null||p.href===""?null:p.href)||t.getAttribute("crossorigin")!==(p.crossOrigin==null?null:p.crossOrigin)||t.getAttribute("title")!==(p.title==null?null:p.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(f=t.getAttribute("src"),(f!==(p.src==null?null:p.src)||t.getAttribute("type")!==(p.type==null?null:p.type)||t.getAttribute("crossorigin")!==(p.crossOrigin==null?null:p.crossOrigin))&&f&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(a==="input"&&t.type==="hidden"){var f=p.name==null?null:""+p.name;if(p.type==="hidden"&&t.getAttribute("name")===f)return t}else return t;if(t=ia(t.nextSibling),t===null)break}return null}function d4(t,a,s){if(a==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!s||(t=ia(t.nextSibling),t===null))return null;return t}function cb(t,a){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!a||(t=ia(t.nextSibling),t===null))return null;return t}function Gp(t){return t.data==="$?"||t.data==="$~"}function Kp(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function m4(t,a){var s=t.ownerDocument;if(t.data==="$~")t._reactRetry=a;else if(t.data!=="$?"||s.readyState!=="loading")a();else{var l=function(){a(),s.removeEventListener("DOMContentLoaded",l)};s.addEventListener("DOMContentLoaded",l),t._reactRetry=l}}function ia(t){for(;t!=null;t=t.nextSibling){var a=t.nodeType;if(a===1||a===3)break;if(a===8){if(a=t.data,a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"||a==="F!"||a==="F")break;if(a==="/$"||a==="/&")return null}}return t}var Hp=null;function ub(t){t=t.nextSibling;for(var a=0;t;){if(t.nodeType===8){var s=t.data;if(s==="/$"||s==="/&"){if(a===0)return ia(t.nextSibling);a--}else s!=="$"&&s!=="$!"&&s!=="$?"&&s!=="$~"&&s!=="&"||a++}t=t.nextSibling}return null}function db(t){t=t.previousSibling;for(var a=0;t;){if(t.nodeType===8){var s=t.data;if(s==="$"||s==="$!"||s==="$?"||s==="$~"||s==="&"){if(a===0)return t;a--}else s!=="/$"&&s!=="/&"||a++}t=t.previousSibling}return null}function mb(t,a,s){switch(a=cu(s),t){case"html":if(t=a.documentElement,!t)throw Error(r(452));return t;case"head":if(t=a.head,!t)throw Error(r(453));return t;case"body":if(t=a.body,!t)throw Error(r(454));return t;default:throw Error(r(451))}}function wl(t){for(var a=t.attributes;a.length;)t.removeAttributeNode(a[0]);Dr(t)}var sa=new Map,pb=new Set;function uu(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var hi=ee.d;ee.d={f:p4,r:h4,D:f4,C:g4,L:y4,m:b4,X:x4,S:v4,M:w4};function p4(){var t=hi.f(),a=tu();return t||a}function h4(t){var a=Ni(t);a!==null&&a.tag===5&&a.type==="form"?E1(a):hi.r(t)}var Go=typeof document>"u"?null:document;function hb(t,a,s){var l=Go;if(l&&typeof a=="string"&&a){var p=hn(a);p='link[rel="'+t+'"][href="'+p+'"]',typeof s=="string"&&(p+='[crossorigin="'+s+'"]'),pb.has(p)||(pb.add(p),t={rel:t,crossOrigin:s,href:a},l.querySelector(p)===null&&(a=l.createElement("link"),cn(a,"link",t),It(a),l.head.appendChild(a)))}}function f4(t){hi.D(t),hb("dns-prefetch",t,null)}function g4(t,a){hi.C(t,a),hb("preconnect",t,a)}function y4(t,a,s){hi.L(t,a,s);var l=Go;if(l&&t&&a){var p='link[rel="preload"][as="'+hn(a)+'"]';a==="image"&&s&&s.imageSrcSet?(p+='[imagesrcset="'+hn(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(p+='[imagesizes="'+hn(s.imageSizes)+'"]')):p+='[href="'+hn(t)+'"]';var f=p;switch(a){case"style":f=Ko(t);break;case"script":f=Ho(t)}sa.has(f)||(t=A({rel:"preload",href:a==="image"&&s&&s.imageSrcSet?void 0:t,as:a},s),sa.set(f,t),l.querySelector(p)!==null||a==="style"&&l.querySelector(kl(f))||a==="script"&&l.querySelector(Sl(f))||(a=l.createElement("link"),cn(a,"link",t),It(a),l.head.appendChild(a)))}}function b4(t,a){hi.m(t,a);var s=Go;if(s&&t){var l=a&&typeof a.as=="string"?a.as:"script",p='link[rel="modulepreload"][as="'+hn(l)+'"][href="'+hn(t)+'"]',f=p;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=Ho(t)}if(!sa.has(f)&&(t=A({rel:"modulepreload",href:t},a),sa.set(f,t),s.querySelector(p)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(Sl(f)))return}l=s.createElement("link"),cn(l,"link",t),It(l),s.head.appendChild(l)}}}function v4(t,a,s){hi.S(t,a,s);var l=Go;if(l&&t){var p=Ti(l).hoistableStyles,f=Ko(t);a=a||"default";var x=p.get(f);if(!x){var k={loading:0,preload:null};if(x=l.querySelector(kl(f)))k.loading=5;else{t=A({rel:"stylesheet",href:t,"data-precedence":a},s),(s=sa.get(f))&&Qp(t,s);var E=x=l.createElement("link");It(E),cn(E,"link",t),E._p=new Promise(function($,Z){E.onload=$,E.onerror=Z}),E.addEventListener("load",function(){k.loading|=1}),E.addEventListener("error",function(){k.loading|=2}),k.loading|=4,du(x,a,l)}x={type:"stylesheet",instance:x,count:1,state:k},p.set(f,x)}}}function x4(t,a){hi.X(t,a);var s=Go;if(s&&t){var l=Ti(s).hoistableScripts,p=Ho(t),f=l.get(p);f||(f=s.querySelector(Sl(p)),f||(t=A({src:t,async:!0},a),(a=sa.get(p))&&Fp(t,a),f=s.createElement("script"),It(f),cn(f,"link",t),s.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},l.set(p,f))}}function w4(t,a){hi.M(t,a);var s=Go;if(s&&t){var l=Ti(s).hoistableScripts,p=Ho(t),f=l.get(p);f||(f=s.querySelector(Sl(p)),f||(t=A({src:t,async:!0,type:"module"},a),(a=sa.get(p))&&Fp(t,a),f=s.createElement("script"),It(f),cn(f,"link",t),s.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},l.set(p,f))}}function fb(t,a,s,l){var p=(p=q.current)?uu(p):null;if(!p)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof s.precedence=="string"&&typeof s.href=="string"?(a=Ko(s.href),s=Ti(p).hoistableStyles,l=s.get(a),l||(l={type:"style",instance:null,count:0,state:null},s.set(a,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(s.rel==="stylesheet"&&typeof s.href=="string"&&typeof s.precedence=="string"){t=Ko(s.href);var f=Ti(p).hoistableStyles,x=f.get(t);if(x||(p=p.ownerDocument||p,x={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(t,x),(f=p.querySelector(kl(t)))&&!f._p&&(x.instance=f,x.state.loading=5),sa.has(t)||(s={rel:"preload",as:"style",href:s.href,crossOrigin:s.crossOrigin,integrity:s.integrity,media:s.media,hrefLang:s.hrefLang,referrerPolicy:s.referrerPolicy},sa.set(t,s),f||k4(p,t,s,x.state))),a&&l===null)throw Error(r(528,""));return x}if(a&&l!==null)throw Error(r(529,""));return null;case"script":return a=s.async,s=s.src,typeof s=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=Ho(s),s=Ti(p).hoistableScripts,l=s.get(a),l||(l={type:"script",instance:null,count:0,state:null},s.set(a,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function Ko(t){return'href="'+hn(t)+'"'}function kl(t){return'link[rel="stylesheet"]['+t+"]"}function gb(t){return A({},t,{"data-precedence":t.precedence,precedence:null})}function k4(t,a,s,l){t.querySelector('link[rel="preload"][as="style"]['+a+"]")?l.loading=1:(a=t.createElement("link"),l.preload=a,a.addEventListener("load",function(){return l.loading|=1}),a.addEventListener("error",function(){return l.loading|=2}),cn(a,"link",s),It(a),t.head.appendChild(a))}function Ho(t){return'[src="'+hn(t)+'"]'}function Sl(t){return"script[async]"+t}function yb(t,a,s){if(a.count++,a.instance===null)switch(a.type){case"style":var l=t.querySelector('style[data-href~="'+hn(s.href)+'"]');if(l)return a.instance=l,It(l),l;var p=A({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return l=(t.ownerDocument||t).createElement("style"),It(l),cn(l,"style",p),du(l,s.precedence,t),a.instance=l;case"stylesheet":p=Ko(s.href);var f=t.querySelector(kl(p));if(f)return a.state.loading|=4,a.instance=f,It(f),f;l=gb(s),(p=sa.get(p))&&Qp(l,p),f=(t.ownerDocument||t).createElement("link"),It(f);var x=f;return x._p=new Promise(function(k,E){x.onload=k,x.onerror=E}),cn(f,"link",l),a.state.loading|=4,du(f,s.precedence,t),a.instance=f;case"script":return f=Ho(s.src),(p=t.querySelector(Sl(f)))?(a.instance=p,It(p),p):(l=s,(p=sa.get(f))&&(l=A({},s),Fp(l,p)),t=t.ownerDocument||t,p=t.createElement("script"),It(p),cn(p,"link",l),t.head.appendChild(p),a.instance=p);case"void":return null;default:throw Error(r(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(l=a.instance,a.state.loading|=4,du(l,s.precedence,t));return a.instance}function du(t,a,s){for(var l=s.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),p=l.length?l[l.length-1]:null,f=p,x=0;x<l.length;x++){var k=l[x];if(k.dataset.precedence===a)f=k;else if(f!==p)break}f?f.parentNode.insertBefore(t,f.nextSibling):(a=s.nodeType===9?s.head:s,a.insertBefore(t,a.firstChild))}function Qp(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.title==null&&(t.title=a.title)}function Fp(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.integrity==null&&(t.integrity=a.integrity)}var mu=null;function bb(t,a,s){if(mu===null){var l=new Map,p=mu=new Map;p.set(s,l)}else p=mu,l=p.get(s),l||(l=new Map,p.set(s,l));if(l.has(t))return l;for(l.set(t,null),s=s.getElementsByTagName(t),p=0;p<s.length;p++){var f=s[p];if(!(f[Ci]||f[Lt]||t==="link"&&f.getAttribute("rel")==="stylesheet")&&f.namespaceURI!=="http://www.w3.org/2000/svg"){var x=f.getAttribute(a)||"";x=t+x;var k=l.get(x);k?k.push(f):l.set(x,[f])}}return l}function vb(t,a,s){t=t.ownerDocument||t,t.head.insertBefore(s,a==="title"?t.querySelector("head > title"):null)}function S4(t,a,s){if(s===1||a.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;return a.rel==="stylesheet"?(t=a.disabled,typeof a.precedence=="string"&&t==null):!0;case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function xb(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function j4(t,a,s,l){if(s.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(s.state.loading&4)===0){if(s.instance===null){var p=Ko(l.href),f=a.querySelector(kl(p));if(f){a=f._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(t.count++,t=pu.bind(t),a.then(t,t)),s.state.loading|=4,s.instance=f,It(f);return}f=a.ownerDocument||a,l=gb(l),(p=sa.get(p))&&Qp(l,p),f=f.createElement("link"),It(f);var x=f;x._p=new Promise(function(k,E){x.onload=k,x.onerror=E}),cn(f,"link",l),s.instance=f}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(s,a),(a=s.state.preload)&&(s.state.loading&3)===0&&(t.count++,s=pu.bind(t),a.addEventListener("load",s),a.addEventListener("error",s))}}var Zp=0;function A4(t,a){return t.stylesheets&&t.count===0&&fu(t,t.stylesheets),0<t.count||0<t.imgCount?function(s){var l=setTimeout(function(){if(t.stylesheets&&fu(t,t.stylesheets),t.unsuspend){var f=t.unsuspend;t.unsuspend=null,f()}},6e4+a);0<t.imgBytes&&Zp===0&&(Zp=62500*s4());var p=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&fu(t,t.stylesheets),t.unsuspend)){var f=t.unsuspend;t.unsuspend=null,f()}},(t.imgBytes>Zp?50:800)+a);return t.unsuspend=s,function(){t.unsuspend=null,clearTimeout(l),clearTimeout(p)}}:null}function pu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)fu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var hu=null;function fu(t,a){t.stylesheets=null,t.unsuspend!==null&&(t.count++,hu=new Map,a.forEach(C4,t),hu=null,pu.call(t))}function C4(t,a){if(!(a.state.loading&4)){var s=hu.get(t);if(s)var l=s.get(null);else{s=new Map,hu.set(t,s);for(var p=t.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f<p.length;f++){var x=p[f];(x.nodeName==="LINK"||x.getAttribute("media")!=="not all")&&(s.set(x.dataset.precedence,x),l=x)}l&&s.set(null,l)}p=a.instance,x=p.getAttribute("data-precedence"),f=s.get(x)||l,f===l&&s.set(null,p),s.set(x,p),this.count++,l=pu.bind(this),p.addEventListener("load",l),p.addEventListener("error",l),f?f.parentNode.insertBefore(p,f.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(p,t.firstChild)),a.state.loading|=4}}var jl={$$typeof:L,Provider:null,Consumer:null,_currentValue:pe,_currentValue2:pe,_threadCount:0};function N4(t,a,s,l,p,f,x,k,E){this.tag=1,this.containerInfo=t,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=lo(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=lo(0),this.hiddenUpdates=lo(null),this.identifierPrefix=l,this.onUncaughtError=p,this.onCaughtError=f,this.onRecoverableError=x,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=E,this.incompleteTransitions=new Map}function wb(t,a,s,l,p,f,x,k,E,$,Z,ne){return t=new N4(t,a,s,x,E,$,Z,ne,k),a=1,f===!0&&(a|=24),f=Mn(3,null,null,a),t.current=f,f.stateNode=t,a=_m(),a.refCount++,t.pooledCache=a,a.refCount++,f.memoizedState={element:l,isDehydrated:s,cache:a},zm(f),t}function kb(t){return t?(t=So,t):So}function Sb(t,a,s,l,p,f){p=kb(p),l.context===null?l.context=p:l.pendingContext=p,l=Pi(a),l.payload={element:s},f=f===void 0?null:f,f!==null&&(l.callback=f),s=Mi(t,l,a),s!==null&&(Rn(s,t,a),nl(s,t,a))}function jb(t,a){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var s=t.retryLane;t.retryLane=s!==0&&s<a?s:a}}function Yp(t,a){jb(t,a),(t=t.alternate)&&jb(t,a)}function Ab(t){if(t.tag===13||t.tag===31){var a=zs(t,67108864);a!==null&&Rn(a,t,67108864),Yp(t,67108864)}}function Cb(t){if(t.tag===13||t.tag===31){var a=Un();a=Rr(a);var s=zs(t,a);s!==null&&Rn(s,t,a),Yp(t,a)}}var gu=!0;function _4(t,a,s,l){var p=P.T;P.T=null;var f=ee.p;try{ee.p=2,Xp(t,a,s,l)}finally{ee.p=f,P.T=p}}function T4(t,a,s,l){var p=P.T;P.T=null;var f=ee.p;try{ee.p=8,Xp(t,a,s,l)}finally{ee.p=f,P.T=p}}function Xp(t,a,s,l){if(gu){var p=Jp(l);if(p===null)Pp(t,a,l,yu,s),_b(t,l);else if(R4(p,t,a,s,l))l.stopPropagation();else if(_b(t,l),a&4&&-1<E4.indexOf(t)){for(;p!==null;){var f=Ni(p);if(f!==null)switch(f.tag){case 3:if(f=f.stateNode,f.current.memoizedState.isDehydrated){var x=Qn(f.pendingLanes);if(x!==0){var k=f;for(k.pendingLanes|=2,k.entangledLanes|=2;x;){var E=1<<31-vn(x);k.entanglements[1]|=E,x&=~E}La(f),(ct&6)===0&&(Wc=nn()+500,bl(0))}}break;case 31:case 13:k=zs(f,2),k!==null&&Rn(k,f,2),tu(),Yp(f,2)}if(f=Jp(l),f===null&&Pp(t,a,l,yu,s),f===p)break;p=f}p!==null&&l.stopPropagation()}else Pp(t,a,l,null,s)}}function Jp(t){return t=Vr(t),Wp(t)}var yu=null;function Wp(t){if(yu=null,t=Za(t),t!==null){var a=h(t);if(a===null)t=null;else{var s=a.tag;if(s===13){if(t=g(a),t!==null)return t;t=null}else if(s===31){if(t=b(a),t!==null)return t;t=null}else if(s===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;t=null}else a!==t&&(t=null)}}return yu=t,null}function Nb(t){switch(t){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(jr()){case Ar:return 2;case Cr:return 8;case vs:case uc:return 32;case dc:return 268435456;default:return 32}default:return 32}}var eh=!1,Zi=null,Yi=null,Xi=null,Al=new Map,Cl=new Map,Ji=[],E4="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 _b(t,a){switch(t){case"focusin":case"focusout":Zi=null;break;case"dragenter":case"dragleave":Yi=null;break;case"mouseover":case"mouseout":Xi=null;break;case"pointerover":case"pointerout":Al.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":Cl.delete(a.pointerId)}}function Nl(t,a,s,l,p,f){return t===null||t.nativeEvent!==f?(t={blockedOn:a,domEventName:s,eventSystemFlags:l,nativeEvent:f,targetContainers:[p]},a!==null&&(a=Ni(a),a!==null&&Ab(a)),t):(t.eventSystemFlags|=l,a=t.targetContainers,p!==null&&a.indexOf(p)===-1&&a.push(p),t)}function R4(t,a,s,l,p){switch(a){case"focusin":return Zi=Nl(Zi,t,a,s,l,p),!0;case"dragenter":return Yi=Nl(Yi,t,a,s,l,p),!0;case"mouseover":return Xi=Nl(Xi,t,a,s,l,p),!0;case"pointerover":var f=p.pointerId;return Al.set(f,Nl(Al.get(f)||null,t,a,s,l,p)),!0;case"gotpointercapture":return f=p.pointerId,Cl.set(f,Nl(Cl.get(f)||null,t,a,s,l,p)),!0}return!1}function Tb(t){var a=Za(t.target);if(a!==null){var s=h(a);if(s!==null){if(a=s.tag,a===13){if(a=g(s),a!==null){t.blockedOn=a,hc(t.priority,function(){Cb(s)});return}}else if(a===31){if(a=b(s),a!==null){t.blockedOn=a,hc(t.priority,function(){Cb(s)});return}}else if(a===3&&s.stateNode.current.memoizedState.isDehydrated){t.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}t.blockedOn=null}function bu(t){if(t.blockedOn!==null)return!1;for(var a=t.targetContainers;0<a.length;){var s=Jp(t.nativeEvent);if(s===null){s=t.nativeEvent;var l=new s.constructor(s.type,s);Lr=l,s.target.dispatchEvent(l),Lr=null}else return a=Ni(s),a!==null&&Ab(a),t.blockedOn=s,!1;a.shift()}return!0}function Eb(t,a,s){bu(t)&&s.delete(a)}function z4(){eh=!1,Zi!==null&&bu(Zi)&&(Zi=null),Yi!==null&&bu(Yi)&&(Yi=null),Xi!==null&&bu(Xi)&&(Xi=null),Al.forEach(Eb),Cl.forEach(Eb)}function vu(t,a){t.blockedOn===a&&(t.blockedOn=null,eh||(eh=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,z4)))}var xu=null;function Rb(t){xu!==t&&(xu=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){xu===t&&(xu=null);for(var a=0;a<t.length;a+=3){var s=t[a],l=t[a+1],p=t[a+2];if(typeof l!="function"){if(Wp(l||s)===null)continue;break}var f=Ni(s);f!==null&&(t.splice(a,3),a-=3,Jm(f,{pending:!0,data:p,method:s.method,action:l},l,p))}}))}function Qo(t){function a(E){return vu(E,t)}Zi!==null&&vu(Zi,t),Yi!==null&&vu(Yi,t),Xi!==null&&vu(Xi,t),Al.forEach(a),Cl.forEach(a);for(var s=0;s<Ji.length;s++){var l=Ji[s];l.blockedOn===t&&(l.blockedOn=null)}for(;0<Ji.length&&(s=Ji[0],s.blockedOn===null);)Tb(s),s.blockedOn===null&&Ji.shift();if(s=(t.ownerDocument||t).$$reactFormReplay,s!=null)for(l=0;l<s.length;l+=3){var p=s[l],f=s[l+1],x=p[mn]||null;if(typeof f=="function")x||Rb(s);else if(x){var k=null;if(f&&f.hasAttribute("formAction")){if(p=f,x=f[mn]||null)k=x.formAction;else if(Wp(p)!==null)continue}else k=x.action;typeof k=="function"?s[l+1]=k:(s.splice(l,3),l-=3),Rb(s)}}}function zb(){function t(f){f.canIntercept&&f.info==="react-transition"&&f.intercept({handler:function(){return new Promise(function(x){return p=x})},focusReset:"manual",scroll:"manual"})}function a(){p!==null&&(p(),p=null),l||setTimeout(s,20)}function s(){if(!l&&!navigation.transition){var f=navigation.currentEntry;f&&f.url!=null&&navigation.navigate(f.url,{state:f.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,p=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",a),navigation.addEventListener("navigateerror",a),setTimeout(s,100),function(){l=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",a),navigation.removeEventListener("navigateerror",a),p!==null&&(p(),p=null)}}}function th(t){this._internalRoot=t}wu.prototype.render=th.prototype.render=function(t){var a=this._internalRoot;if(a===null)throw Error(r(409));var s=a.current,l=Un();Sb(s,l,t,a,null,null)},wu.prototype.unmount=th.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var a=t.containerInfo;Sb(t.current,2,null,t,null,null),tu(),a[Ai]=null}};function wu(t){this._internalRoot=t}wu.prototype.unstable_scheduleHydration=function(t){if(t){var a=co();t={blockedOn:null,target:t,priority:a};for(var s=0;s<Ji.length&&a!==0&&a<Ji[s].priority;s++);Ji.splice(s,0,t),s===0&&Tb(t)}};var Db=n.version;if(Db!=="19.2.4")throw Error(r(527,Db,"19.2.4"));ee.findDOMNode=function(t){var a=t._reactInternals;if(a===void 0)throw typeof t.render=="function"?Error(r(188)):(t=Object.keys(t).join(","),Error(r(268,t)));return t=w(a),t=t!==null?S(t):null,t=t===null?null:t.stateNode,t};var D4={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:P,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var ku=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ku.isDisabled&&ku.supportsFiber)try{bn=ku.inject(D4),St=ku}catch{}}return _l.createRoot=function(t,a){if(!u(t))throw Error(r(299));var s=!1,l="",p=L1,f=V1,x=$1;return a!=null&&(a.unstable_strictMode===!0&&(s=!0),a.identifierPrefix!==void 0&&(l=a.identifierPrefix),a.onUncaughtError!==void 0&&(p=a.onUncaughtError),a.onCaughtError!==void 0&&(f=a.onCaughtError),a.onRecoverableError!==void 0&&(x=a.onRecoverableError)),a=wb(t,1,!1,null,null,s,l,null,p,f,x,zb),t[Ai]=a.current,Ip(t),new th(a)},_l.hydrateRoot=function(t,a,s){if(!u(t))throw Error(r(299));var l=!1,p="",f=L1,x=V1,k=$1,E=null;return s!=null&&(s.unstable_strictMode===!0&&(l=!0),s.identifierPrefix!==void 0&&(p=s.identifierPrefix),s.onUncaughtError!==void 0&&(f=s.onUncaughtError),s.onCaughtError!==void 0&&(x=s.onCaughtError),s.onRecoverableError!==void 0&&(k=s.onRecoverableError),s.formState!==void 0&&(E=s.formState)),a=wb(t,1,!0,a,s??null,l,p,E,f,x,k,zb),a.context=kb(null),s=a.current,l=Un(),l=Rr(l),p=Pi(l),p.callback=null,Mi(s,p,l),s=l,a.current.lanes=s,ks(a,s),La(a),t[Ai]=a.current,Ip(t),new wu(a)},_l.version="19.2.4",_l}var Mb;function bC(){if(Mb)return nh.exports;Mb=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),nh.exports=yC(),nh.exports}var vC=bC();function Y(e,n,i){function r(b,v){if(b._zod||Object.defineProperty(b,"_zod",{value:{def:v,constr:g,traits:new Set},enumerable:!1}),b._zod.traits.has(e))return;b._zod.traits.add(e),n(b,v);const w=g.prototype,S=Object.keys(w);for(let A=0;A<S.length;A++){const T=S[A];T in b||(b[T]=w[T].bind(b))}}const u=i?.Parent??Object;class h extends u{}Object.defineProperty(h,"name",{value:e});function g(b){var v;const w=i?.Parent?new h:this;r(w,b),(v=w._zod).deferred??(v.deferred=[]);for(const S of w._zod.deferred)S();return w}return Object.defineProperty(g,"init",{value:r}),Object.defineProperty(g,Symbol.hasInstance,{value:b=>i?.Parent&&b instanceof i.Parent?!0:b?._zod?.traits?.has(e)}),Object.defineProperty(g,"name",{value:e}),g}class tr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class _w extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}const Tw={};function os(e){return Tw}function Ew(e){const n=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,u])=>n.indexOf(+r)===-1).map(([r,u])=>u)}function Ih(e,n){return typeof n=="bigint"?n.toString():n}function fd(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function jf(e){return e==null}function Af(e){const n=e.startsWith("^")?1:0,i=e.endsWith("$")?e.length-1:e.length;return e.slice(n,i)}function xC(e,n){const i=(e.toString().split(".")[1]||"").length,r=n.toString();let u=(r.split(".")[1]||"").length;if(u===0&&/\d?e-\d?/.test(r)){const v=r.match(/\d?e-(\d?)/);v?.[1]&&(u=Number.parseInt(v[1]))}const h=i>u?i:u,g=Number.parseInt(e.toFixed(h).replace(".","")),b=Number.parseInt(n.toFixed(h).replace(".",""));return g%b/10**h}const Bb=Symbol("evaluating");function dt(e,n,i){let r;Object.defineProperty(e,n,{get(){if(r!==Bb)return r===void 0&&(r=Bb,r=i()),r},set(u){Object.defineProperty(e,n,{value:u})},configurable:!0})}function ao(e,n,i){Object.defineProperty(e,n,{value:i,writable:!0,enumerable:!0,configurable:!0})}function ms(...e){const n={};for(const i of e){const r=Object.getOwnPropertyDescriptors(i);Object.assign(n,r)}return Object.defineProperties({},n)}function Lb(e){return JSON.stringify(e)}function wC(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Rw="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Ul(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const kC=fd(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ir(e){if(Ul(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const i=n.prototype;return!(Ul(i)===!1||Object.prototype.hasOwnProperty.call(i,"isPrototypeOf")===!1)}function zw(e){return ir(e)?{...e}:Array.isArray(e)?[...e]:e}const SC=new Set(["string","number","symbol"]);function sr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ps(e,n,i){const r=new e._zod.constr(n??e._zod.def);return(!n||i?.parent)&&(r._zod.parent=e),r}function _e(e){const n=e;if(!n)return{};if(typeof n=="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function jC(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}const AC={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function CC(e,n){const i=e._zod.def,r=i.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const h=ms(e._zod.def,{get shape(){const g={};for(const b in n){if(!(b in i.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&(g[b]=i.shape[b])}return ao(this,"shape",g),g},checks:[]});return ps(e,h)}function NC(e,n){const i=e._zod.def,r=i.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const h=ms(e._zod.def,{get shape(){const g={...e._zod.def.shape};for(const b in n){if(!(b in i.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&delete g[b]}return ao(this,"shape",g),g},checks:[]});return ps(e,h)}function _C(e,n){if(!ir(n))throw new Error("Invalid input to extend: expected a plain object");const i=e._zod.def.checks;if(i&&i.length>0){const h=e._zod.def.shape;for(const g in n)if(Object.getOwnPropertyDescriptor(h,g)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const u=ms(e._zod.def,{get shape(){const h={...e._zod.def.shape,...n};return ao(this,"shape",h),h}});return ps(e,u)}function TC(e,n){if(!ir(n))throw new Error("Invalid input to safeExtend: expected a plain object");const i=ms(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n};return ao(this,"shape",r),r}});return ps(e,i)}function EC(e,n){const i=ms(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n._zod.def.shape};return ao(this,"shape",r),r},get catchall(){return n._zod.def.catchall},checks:[]});return ps(e,i)}function RC(e,n,i){const u=n._zod.def.checks;if(u&&u.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const g=ms(n._zod.def,{get shape(){const b=n._zod.def.shape,v={...b};if(i)for(const w in i){if(!(w in b))throw new Error(`Unrecognized key: "${w}"`);i[w]&&(v[w]=e?new e({type:"optional",innerType:b[w]}):b[w])}else for(const w in b)v[w]=e?new e({type:"optional",innerType:b[w]}):b[w];return ao(this,"shape",v),v},checks:[]});return ps(n,g)}function zC(e,n,i){const r=ms(n._zod.def,{get shape(){const u=n._zod.def.shape,h={...u};if(i)for(const g in i){if(!(g in h))throw new Error(`Unrecognized key: "${g}"`);i[g]&&(h[g]=new e({type:"nonoptional",innerType:u[g]}))}else for(const g in u)h[g]=new e({type:"nonoptional",innerType:u[g]});return ao(this,"shape",h),h}});return ps(n,r)}function Jo(e,n=0){if(e.aborted===!0)return!0;for(let i=n;i<e.issues.length;i++)if(e.issues[i]?.continue!==!0)return!0;return!1}function Wo(e,n){return n.map(i=>{var r;return(r=i).path??(r.path=[]),i.path.unshift(e),i})}function ju(e){return typeof e=="string"?e:e?.message}function rs(e,n,i){const r={...e,path:e.path??[]};if(!e.message){const u=ju(e.inst?._zod.def?.error?.(e))??ju(n?.error?.(e))??ju(i.customError?.(e))??ju(i.localeError?.(e))??"Invalid input";r.message=u}return delete r.inst,delete r.continue,n?.reportInput||delete r.input,r}function Cf(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Gl(...e){const[n,i,r]=e;return typeof n=="string"?{message:n,code:"custom",input:i,inst:r}:{...n}}const Dw=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:n,enumerable:!1}),e.message=JSON.stringify(n,Ih,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ow=Y("$ZodError",Dw),qw=Y("$ZodError",Dw,{Parent:Error});function DC(e,n=i=>i.message){const i={},r=[];for(const u of e.issues)u.path.length>0?(i[u.path[0]]=i[u.path[0]]||[],i[u.path[0]].push(n(u))):r.push(n(u));return{formErrors:r,fieldErrors:i}}function OC(e,n=i=>i.message){const i={_errors:[]},r=u=>{for(const h of u.issues)if(h.code==="invalid_union"&&h.errors.length)h.errors.map(g=>r({issues:g}));else if(h.code==="invalid_key")r({issues:h.issues});else if(h.code==="invalid_element")r({issues:h.issues});else if(h.path.length===0)i._errors.push(n(h));else{let g=i,b=0;for(;b<h.path.length;){const v=h.path[b];b===h.path.length-1?(g[v]=g[v]||{_errors:[]},g[v]._errors.push(n(h))):g[v]=g[v]||{_errors:[]},g=g[v],b++}}};return r(e),i}const Nf=e=>(n,i,r,u)=>{const h=r?Object.assign(r,{async:!1}):{async:!1},g=n._zod.run({value:i,issues:[]},h);if(g instanceof Promise)throw new tr;if(g.issues.length){const b=new(u?.Err??e)(g.issues.map(v=>rs(v,h,os())));throw Rw(b,u?.callee),b}return g.value},_f=e=>async(n,i,r,u)=>{const h=r?Object.assign(r,{async:!0}):{async:!0};let g=n._zod.run({value:i,issues:[]},h);if(g instanceof Promise&&(g=await g),g.issues.length){const b=new(u?.Err??e)(g.issues.map(v=>rs(v,h,os())));throw Rw(b,u?.callee),b}return g.value},gd=e=>(n,i,r)=>{const u=r?{...r,async:!1}:{async:!1},h=n._zod.run({value:i,issues:[]},u);if(h instanceof Promise)throw new tr;return h.issues.length?{success:!1,error:new(e??Ow)(h.issues.map(g=>rs(g,u,os())))}:{success:!0,data:h.value}},qC=gd(qw),yd=e=>async(n,i,r)=>{const u=r?Object.assign(r,{async:!0}):{async:!0};let h=n._zod.run({value:i,issues:[]},u);return h instanceof Promise&&(h=await h),h.issues.length?{success:!1,error:new e(h.issues.map(g=>rs(g,u,os())))}:{success:!0,data:h.value}},IC=yd(qw),PC=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Nf(e)(n,i,u)},MC=e=>(n,i,r)=>Nf(e)(n,i,r),BC=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return _f(e)(n,i,u)},LC=e=>async(n,i,r)=>_f(e)(n,i,r),VC=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return gd(e)(n,i,u)},$C=e=>(n,i,r)=>gd(e)(n,i,r),UC=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return yd(e)(n,i,u)},GC=e=>async(n,i,r)=>yd(e)(n,i,r),KC=/^[cC][^\s-]{8,}$/,HC=/^[0-9a-z]+$/,QC=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,FC=/^[0-9a-vA-V]{20}$/,ZC=/^[A-Za-z0-9]{27}$/,YC=/^[a-zA-Z0-9_-]{21}$/,XC=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,JC=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Vb=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,WC=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,e5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function t5(){return new RegExp(e5,"u")}const n5=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,a5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,i5=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,s5=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,o5=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Iw=/^[A-Za-z0-9_-]*$/,r5=/^\+[1-9]\d{6,14}$/,Pw="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",l5=new RegExp(`^${Pw}$`);function Mw(e){const n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function c5(e){return new RegExp(`^${Mw(e)}$`)}function u5(e){const n=Mw({precision:e.precision}),i=["Z"];e.local&&i.push(""),e.offset&&i.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${n}(?:${i.join("|")})`;return new RegExp(`^${Pw}T(?:${r})$`)}const d5=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},m5=/^-?\d+$/,Bw=/^-?\d+(?:\.\d+)?$/,p5=/^(?:true|false)$/i,h5=/^null$/i,f5=/^[^A-Z]*$/,g5=/^[^a-z]*$/,On=Y("$ZodCheck",(e,n)=>{var i;e._zod??(e._zod={}),e._zod.def=n,(i=e._zod).onattach??(i.onattach=[])}),Lw={number:"number",bigint:"bigint",object:"date"},Vw=Y("$ZodCheckLessThan",(e,n)=>{On.init(e,n);const i=Lw[typeof n.value];e._zod.onattach.push(r=>{const u=r._zod.bag,h=(n.inclusive?u.maximum:u.exclusiveMaximum)??Number.POSITIVE_INFINITY;n.value<h&&(n.inclusive?u.maximum=n.value:u.exclusiveMaximum=n.value)}),e._zod.check=r=>{(n.inclusive?r.value<=n.value:r.value<n.value)||r.issues.push({origin:i,code:"too_big",maximum:typeof n.value=="object"?n.value.getTime():n.value,input:r.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),$w=Y("$ZodCheckGreaterThan",(e,n)=>{On.init(e,n);const i=Lw[typeof n.value];e._zod.onattach.push(r=>{const u=r._zod.bag,h=(n.inclusive?u.minimum:u.exclusiveMinimum)??Number.NEGATIVE_INFINITY;n.value>h&&(n.inclusive?u.minimum=n.value:u.exclusiveMinimum=n.value)}),e._zod.check=r=>{(n.inclusive?r.value>=n.value:r.value>n.value)||r.issues.push({origin:i,code:"too_small",minimum:typeof n.value=="object"?n.value.getTime():n.value,input:r.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),y5=Y("$ZodCheckMultipleOf",(e,n)=>{On.init(e,n),e._zod.onattach.push(i=>{var r;(r=i._zod.bag).multipleOf??(r.multipleOf=n.value)}),e._zod.check=i=>{if(typeof i.value!=typeof n.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof i.value=="bigint"?i.value%n.value===BigInt(0):xC(i.value,n.value)===0)||i.issues.push({origin:typeof i.value,code:"not_multiple_of",divisor:n.value,input:i.value,inst:e,continue:!n.abort})}}),b5=Y("$ZodCheckNumberFormat",(e,n)=>{On.init(e,n),n.format=n.format||"float64";const i=n.format?.includes("int"),r=i?"int":"number",[u,h]=AC[n.format];e._zod.onattach.push(g=>{const b=g._zod.bag;b.format=n.format,b.minimum=u,b.maximum=h,i&&(b.pattern=m5)}),e._zod.check=g=>{const b=g.value;if(i){if(!Number.isInteger(b)){g.issues.push({expected:r,format:n.format,code:"invalid_type",continue:!1,input:b,inst:e});return}if(!Number.isSafeInteger(b)){b>0?g.issues.push({input:b,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!n.abort}):g.issues.push({input:b,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!n.abort});return}}b<u&&g.issues.push({origin:"number",input:b,code:"too_small",minimum:u,inclusive:!0,inst:e,continue:!n.abort}),b>h&&g.issues.push({origin:"number",input:b,code:"too_big",maximum:h,inclusive:!0,inst:e,continue:!n.abort})}}),v5=Y("$ZodCheckMaxLength",(e,n)=>{var i;On.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!jf(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum<u&&(r._zod.bag.maximum=n.maximum)}),e._zod.check=r=>{const u=r.value;if(u.length<=n.maximum)return;const g=Cf(u);r.issues.push({origin:g,code:"too_big",maximum:n.maximum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),x5=Y("$ZodCheckMinLength",(e,n)=>{var i;On.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!jf(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>u&&(r._zod.bag.minimum=n.minimum)}),e._zod.check=r=>{const u=r.value;if(u.length>=n.minimum)return;const g=Cf(u);r.issues.push({origin:g,code:"too_small",minimum:n.minimum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),w5=Y("$ZodCheckLengthEquals",(e,n)=>{var i;On.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!jf(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag;u.minimum=n.length,u.maximum=n.length,u.length=n.length}),e._zod.check=r=>{const u=r.value,h=u.length;if(h===n.length)return;const g=Cf(u),b=h>n.length;r.issues.push({origin:g,...b?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!n.abort})}}),bd=Y("$ZodCheckStringFormat",(e,n)=>{var i,r;On.init(e,n),e._zod.onattach.push(u=>{const h=u._zod.bag;h.format=n.format,n.pattern&&(h.patterns??(h.patterns=new Set),h.patterns.add(n.pattern))}),n.pattern?(i=e._zod).check??(i.check=u=>{n.pattern.lastIndex=0,!n.pattern.test(u.value)&&u.issues.push({origin:"string",code:"invalid_format",format:n.format,input:u.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort})}):(r=e._zod).check??(r.check=()=>{})}),k5=Y("$ZodCheckRegex",(e,n)=>{bd.init(e,n),e._zod.check=i=>{n.pattern.lastIndex=0,!n.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:"regex",input:i.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),S5=Y("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=f5),bd.init(e,n)}),j5=Y("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=g5),bd.init(e,n)}),A5=Y("$ZodCheckIncludes",(e,n)=>{On.init(e,n);const i=sr(n.includes),r=new RegExp(typeof n.position=="number"?`^.{${n.position}}${i}`:i);n.pattern=r,e._zod.onattach.push(u=>{const h=u._zod.bag;h.patterns??(h.patterns=new Set),h.patterns.add(r)}),e._zod.check=u=>{u.value.includes(n.includes,n.position)||u.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:u.value,inst:e,continue:!n.abort})}}),C5=Y("$ZodCheckStartsWith",(e,n)=>{On.init(e,n);const i=new RegExp(`^${sr(n.prefix)}.*`);n.pattern??(n.pattern=i),e._zod.onattach.push(r=>{const u=r._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(i)}),e._zod.check=r=>{r.value.startsWith(n.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:r.value,inst:e,continue:!n.abort})}}),N5=Y("$ZodCheckEndsWith",(e,n)=>{On.init(e,n);const i=new RegExp(`.*${sr(n.suffix)}$`);n.pattern??(n.pattern=i),e._zod.onattach.push(r=>{const u=r._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(i)}),e._zod.check=r=>{r.value.endsWith(n.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:r.value,inst:e,continue:!n.abort})}}),_5=Y("$ZodCheckOverwrite",(e,n)=>{On.init(e,n),e._zod.check=i=>{i.value=n.tx(i.value)}});class T5{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n)}indented(n){this.indent+=1,n(this),this.indent-=1}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}const r=n.split(`
11
+ `).filter(g=>g),u=Math.min(...r.map(g=>g.length-g.trimStart().length)),h=r.map(g=>g.slice(u)).map(g=>" ".repeat(this.indent*2)+g);for(const g of h)this.content.push(g)}compile(){const n=Function,i=this?.args,u=[...(this?.content??[""]).map(h=>` ${h}`)];return new n(...i,u.join(`
12
+ `))}}const E5={major:4,minor:3,patch:6},Tt=Y("$ZodType",(e,n)=>{var i;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=E5;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const u of r)for(const h of u._zod.onattach)h(e);if(r.length===0)(i=e._zod).deferred??(i.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const u=(g,b,v)=>{let w=Jo(g),S;for(const A of b){if(A._zod.def.when){if(!A._zod.def.when(g))continue}else if(w)continue;const T=g.issues.length,C=A._zod.check(g);if(C instanceof Promise&&v?.async===!1)throw new tr;if(S||C instanceof Promise)S=(S??Promise.resolve()).then(async()=>{await C,g.issues.length!==T&&(w||(w=Jo(g,T)))});else{if(g.issues.length===T)continue;w||(w=Jo(g,T))}}return S?S.then(()=>g):g},h=(g,b,v)=>{if(Jo(g))return g.aborted=!0,g;const w=u(b,r,v);if(w instanceof Promise){if(v.async===!1)throw new tr;return w.then(S=>e._zod.parse(S,v))}return e._zod.parse(w,v)};e._zod.run=(g,b)=>{if(b.skipChecks)return e._zod.parse(g,b);if(b.direction==="backward"){const w=e._zod.parse({value:g.value,issues:[]},{...b,skipChecks:!0});return w instanceof Promise?w.then(S=>h(S,g,b)):h(w,g,b)}const v=e._zod.parse(g,b);if(v instanceof Promise){if(b.async===!1)throw new tr;return v.then(w=>u(w,r,b))}return u(v,r,b)}}dt(e,"~standard",()=>({validate:u=>{try{const h=qC(e,u);return h.success?{value:h.data}:{issues:h.error?.issues}}catch{return IC(e,u).then(g=>g.success?{value:g.data}:{issues:g.error?.issues})}},vendor:"zod",version:1}))}),Tf=Y("$ZodString",(e,n)=>{Tt.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??d5(e._zod.bag),e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=String(i.value)}catch{}return typeof i.value=="string"||i.issues.push({expected:"string",code:"invalid_type",input:i.value,inst:e}),i}}),Et=Y("$ZodStringFormat",(e,n)=>{bd.init(e,n),Tf.init(e,n)}),R5=Y("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=JC),Et.init(e,n)}),z5=Y("$ZodUUID",(e,n)=>{if(n.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[n.version];if(r===void 0)throw new Error(`Invalid UUID version: "${n.version}"`);n.pattern??(n.pattern=Vb(r))}else n.pattern??(n.pattern=Vb());Et.init(e,n)}),D5=Y("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=WC),Et.init(e,n)}),O5=Y("$ZodURL",(e,n)=>{Et.init(e,n),e._zod.check=i=>{try{const r=i.value.trim(),u=new URL(r);n.hostname&&(n.hostname.lastIndex=0,n.hostname.test(u.hostname)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n.hostname.source,input:i.value,inst:e,continue:!n.abort})),n.protocol&&(n.protocol.lastIndex=0,n.protocol.test(u.protocol.endsWith(":")?u.protocol.slice(0,-1):u.protocol)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:i.value,inst:e,continue:!n.abort})),n.normalize?i.value=u.href:i.value=r;return}catch{i.issues.push({code:"invalid_format",format:"url",input:i.value,inst:e,continue:!n.abort})}}}),q5=Y("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=t5()),Et.init(e,n)}),I5=Y("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=YC),Et.init(e,n)}),P5=Y("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=KC),Et.init(e,n)}),M5=Y("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=HC),Et.init(e,n)}),B5=Y("$ZodULID",(e,n)=>{n.pattern??(n.pattern=QC),Et.init(e,n)}),L5=Y("$ZodXID",(e,n)=>{n.pattern??(n.pattern=FC),Et.init(e,n)}),V5=Y("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=ZC),Et.init(e,n)}),$5=Y("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=u5(n)),Et.init(e,n)}),U5=Y("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=l5),Et.init(e,n)}),G5=Y("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=c5(n)),Et.init(e,n)}),K5=Y("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=XC),Et.init(e,n)}),H5=Y("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=n5),Et.init(e,n),e._zod.bag.format="ipv4"}),Q5=Y("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=a5),Et.init(e,n),e._zod.bag.format="ipv6",e._zod.check=i=>{try{new URL(`http://[${i.value}]`)}catch{i.issues.push({code:"invalid_format",format:"ipv6",input:i.value,inst:e,continue:!n.abort})}}}),F5=Y("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=i5),Et.init(e,n)}),Z5=Y("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=s5),Et.init(e,n),e._zod.check=i=>{const r=i.value.split("/");try{if(r.length!==2)throw new Error;const[u,h]=r;if(!h)throw new Error;const g=Number(h);if(`${g}`!==h)throw new Error;if(g<0||g>128)throw new Error;new URL(`http://[${u}]`)}catch{i.issues.push({code:"invalid_format",format:"cidrv6",input:i.value,inst:e,continue:!n.abort})}}});function Uw(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const Y5=Y("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=o5),Et.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=i=>{Uw(i.value)||i.issues.push({code:"invalid_format",format:"base64",input:i.value,inst:e,continue:!n.abort})}});function X5(e){if(!Iw.test(e))return!1;const n=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),i=n.padEnd(Math.ceil(n.length/4)*4,"=");return Uw(i)}const J5=Y("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=Iw),Et.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=i=>{X5(i.value)||i.issues.push({code:"invalid_format",format:"base64url",input:i.value,inst:e,continue:!n.abort})}}),W5=Y("$ZodE164",(e,n)=>{n.pattern??(n.pattern=r5),Et.init(e,n)});function eN(e,n=null){try{const i=e.split(".");if(i.length!==3)return!1;const[r]=i;if(!r)return!1;const u=JSON.parse(atob(r));return!("typ"in u&&u?.typ!=="JWT"||!u.alg||n&&(!("alg"in u)||u.alg!==n))}catch{return!1}}const tN=Y("$ZodJWT",(e,n)=>{Et.init(e,n),e._zod.check=i=>{eN(i.value,n.alg)||i.issues.push({code:"invalid_format",format:"jwt",input:i.value,inst:e,continue:!n.abort})}}),Gw=Y("$ZodNumber",(e,n)=>{Tt.init(e,n),e._zod.pattern=e._zod.bag.pattern??Bw,e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=Number(i.value)}catch{}const u=i.value;if(typeof u=="number"&&!Number.isNaN(u)&&Number.isFinite(u))return i;const h=typeof u=="number"?Number.isNaN(u)?"NaN":Number.isFinite(u)?void 0:"Infinity":void 0;return i.issues.push({expected:"number",code:"invalid_type",input:u,inst:e,...h?{received:h}:{}}),i}}),nN=Y("$ZodNumberFormat",(e,n)=>{b5.init(e,n),Gw.init(e,n)}),aN=Y("$ZodBoolean",(e,n)=>{Tt.init(e,n),e._zod.pattern=p5,e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=!!i.value}catch{}const u=i.value;return typeof u=="boolean"||i.issues.push({expected:"boolean",code:"invalid_type",input:u,inst:e}),i}}),iN=Y("$ZodNull",(e,n)=>{Tt.init(e,n),e._zod.pattern=h5,e._zod.values=new Set([null]),e._zod.parse=(i,r)=>{const u=i.value;return u===null||i.issues.push({expected:"null",code:"invalid_type",input:u,inst:e}),i}}),sN=Y("$ZodUnknown",(e,n)=>{Tt.init(e,n),e._zod.parse=i=>i}),oN=Y("$ZodNever",(e,n)=>{Tt.init(e,n),e._zod.parse=(i,r)=>(i.issues.push({expected:"never",code:"invalid_type",input:i.value,inst:e}),i)});function $b(e,n,i){e.issues.length&&n.issues.push(...Wo(i,e.issues)),n.value[i]=e.value}const rN=Y("$ZodArray",(e,n)=>{Tt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value;if(!Array.isArray(u))return i.issues.push({expected:"array",code:"invalid_type",input:u,inst:e}),i;i.value=Array(u.length);const h=[];for(let g=0;g<u.length;g++){const b=u[g],v=n.element._zod.run({value:b,issues:[]},r);v instanceof Promise?h.push(v.then(w=>$b(w,i,g))):$b(v,i,g)}return h.length?Promise.all(h).then(()=>i):i}});function Qu(e,n,i,r,u){if(e.issues.length){if(u&&!(i in r))return;n.issues.push(...Wo(i,e.issues))}e.value===void 0?i in r&&(n.value[i]=void 0):n.value[i]=e.value}function Kw(e){const n=Object.keys(e.shape);for(const r of n)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const i=jC(e.shape);return{...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(i)}}function Hw(e,n,i,r,u,h){const g=[],b=u.keySet,v=u.catchall._zod,w=v.def.type,S=v.optout==="optional";for(const A in n){if(b.has(A))continue;if(w==="never"){g.push(A);continue}const T=v.run({value:n[A],issues:[]},r);T instanceof Promise?e.push(T.then(C=>Qu(C,i,A,n,S))):Qu(T,i,A,n,S)}return g.length&&i.issues.push({code:"unrecognized_keys",keys:g,input:n,inst:h}),e.length?Promise.all(e).then(()=>i):i}const lN=Y("$ZodObject",(e,n)=>{if(Tt.init(e,n),!Object.getOwnPropertyDescriptor(n,"shape")?.get){const b=n.shape;Object.defineProperty(n,"shape",{get:()=>{const v={...b};return Object.defineProperty(n,"shape",{value:v}),v}})}const r=fd(()=>Kw(n));dt(e._zod,"propValues",()=>{const b=n.shape,v={};for(const w in b){const S=b[w]._zod;if(S.values){v[w]??(v[w]=new Set);for(const A of S.values)v[w].add(A)}}return v});const u=Ul,h=n.catchall;let g;e._zod.parse=(b,v)=>{g??(g=r.value);const w=b.value;if(!u(w))return b.issues.push({expected:"object",code:"invalid_type",input:w,inst:e}),b;b.value={};const S=[],A=g.shape;for(const T of g.keys){const C=A[T],F=C._zod.optout==="optional",R=C._zod.run({value:w[T],issues:[]},v);R instanceof Promise?S.push(R.then(M=>Qu(M,b,T,w,F))):Qu(R,b,T,w,F)}return h?Hw(S,w,b,v,r.value,e):S.length?Promise.all(S).then(()=>b):b}}),cN=Y("$ZodObjectJIT",(e,n)=>{lN.init(e,n);const i=e._zod.parse,r=fd(()=>Kw(n)),u=T=>{const C=new T5(["shape","payload","ctx"]),F=r.value,R=L=>{const le=Lb(L);return`shape[${le}]._zod.run({ value: input[${le}], issues: [] }, ctx)`};C.write("const input = payload.value;");const M=Object.create(null);let X=0;for(const L of F.keys)M[L]=`key_${X++}`;C.write("const newResult = {};");for(const L of F.keys){const le=M[L],ie=Lb(L),H=T[L]?._zod?.optout==="optional";C.write(`const ${le} = ${R(L)};`),H?C.write(`
13
+ if (${le}.issues.length) {
14
+ if (${ie} in input) {
15
+ payload.issues = payload.issues.concat(${le}.issues.map(iss => ({
16
+ ...iss,
17
+ path: iss.path ? [${ie}, ...iss.path] : [${ie}]
18
+ })));
19
+ }
20
+ }
21
+
22
+ if (${le}.value === undefined) {
23
+ if (${ie} in input) {
24
+ newResult[${ie}] = undefined;
25
+ }
26
+ } else {
27
+ newResult[${ie}] = ${le}.value;
28
+ }
29
+
30
+ `):C.write(`
31
+ if (${le}.issues.length) {
32
+ payload.issues = payload.issues.concat(${le}.issues.map(iss => ({
33
+ ...iss,
34
+ path: iss.path ? [${ie}, ...iss.path] : [${ie}]
35
+ })));
36
+ }
37
+
38
+ if (${le}.value === undefined) {
39
+ if (${ie} in input) {
40
+ newResult[${ie}] = undefined;
41
+ }
42
+ } else {
43
+ newResult[${ie}] = ${le}.value;
44
+ }
45
+
46
+ `)}C.write("payload.value = newResult;"),C.write("return payload;");const J=C.compile();return(L,le)=>J(T,L,le)};let h;const g=Ul,b=!Tw.jitless,w=b&&kC.value,S=n.catchall;let A;e._zod.parse=(T,C)=>{A??(A=r.value);const F=T.value;return g(F)?b&&w&&C?.async===!1&&C.jitless!==!0?(h||(h=u(n.shape)),T=h(T,C),S?Hw([],F,T,C,A,e):T):i(T,C):(T.issues.push({expected:"object",code:"invalid_type",input:F,inst:e}),T)}});function Ub(e,n,i,r){for(const h of e)if(h.issues.length===0)return n.value=h.value,n;const u=e.filter(h=>!Jo(h));return u.length===1?(n.value=u[0].value,u[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:i,errors:e.map(h=>h.issues.map(g=>rs(g,r,os())))}),n)}const Qw=Y("$ZodUnion",(e,n)=>{Tt.init(e,n),dt(e._zod,"optin",()=>n.options.some(u=>u._zod.optin==="optional")?"optional":void 0),dt(e._zod,"optout",()=>n.options.some(u=>u._zod.optout==="optional")?"optional":void 0),dt(e._zod,"values",()=>{if(n.options.every(u=>u._zod.values))return new Set(n.options.flatMap(u=>Array.from(u._zod.values)))}),dt(e._zod,"pattern",()=>{if(n.options.every(u=>u._zod.pattern)){const u=n.options.map(h=>h._zod.pattern);return new RegExp(`^(${u.map(h=>Af(h.source)).join("|")})$`)}});const i=n.options.length===1,r=n.options[0]._zod.run;e._zod.parse=(u,h)=>{if(i)return r(u,h);let g=!1;const b=[];for(const v of n.options){const w=v._zod.run({value:u.value,issues:[]},h);if(w instanceof Promise)b.push(w),g=!0;else{if(w.issues.length===0)return w;b.push(w)}}return g?Promise.all(b).then(v=>Ub(v,u,e,h)):Ub(b,u,e,h)}}),uN=Y("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=!1,Qw.init(e,n);const i=e._zod.parse;dt(e._zod,"propValues",()=>{const u={};for(const h of n.options){const g=h._zod.propValues;if(!g||Object.keys(g).length===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(h)}"`);for(const[b,v]of Object.entries(g)){u[b]||(u[b]=new Set);for(const w of v)u[b].add(w)}}return u});const r=fd(()=>{const u=n.options,h=new Map;for(const g of u){const b=g._zod.propValues?.[n.discriminator];if(!b||b.size===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(g)}"`);for(const v of b){if(h.has(v))throw new Error(`Duplicate discriminator value "${String(v)}"`);h.set(v,g)}}return h});e._zod.parse=(u,h)=>{const g=u.value;if(!Ul(g))return u.issues.push({code:"invalid_type",expected:"object",input:g,inst:e}),u;const b=r.value.get(g?.[n.discriminator]);return b?b._zod.run(u,h):n.unionFallback?i(u,h):(u.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:n.discriminator,input:g,path:[n.discriminator],inst:e}),u)}}),dN=Y("$ZodIntersection",(e,n)=>{Tt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value,h=n.left._zod.run({value:u,issues:[]},r),g=n.right._zod.run({value:u,issues:[]},r);return h instanceof Promise||g instanceof Promise?Promise.all([h,g]).then(([v,w])=>Gb(i,v,w)):Gb(i,h,g)}});function Ph(e,n){if(e===n)return{valid:!0,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return{valid:!0,data:e};if(ir(e)&&ir(n)){const i=Object.keys(n),r=Object.keys(e).filter(h=>i.indexOf(h)!==-1),u={...e,...n};for(const h of r){const g=Ph(e[h],n[h]);if(!g.valid)return{valid:!1,mergeErrorPath:[h,...g.mergeErrorPath]};u[h]=g.data}return{valid:!0,data:u}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const i=[];for(let r=0;r<e.length;r++){const u=e[r],h=n[r],g=Ph(u,h);if(!g.valid)return{valid:!1,mergeErrorPath:[r,...g.mergeErrorPath]};i.push(g.data)}return{valid:!0,data:i}}return{valid:!1,mergeErrorPath:[]}}function Gb(e,n,i){const r=new Map;let u;for(const b of n.issues)if(b.code==="unrecognized_keys"){u??(u=b);for(const v of b.keys)r.has(v)||r.set(v,{}),r.get(v).l=!0}else e.issues.push(b);for(const b of i.issues)if(b.code==="unrecognized_keys")for(const v of b.keys)r.has(v)||r.set(v,{}),r.get(v).r=!0;else e.issues.push(b);const h=[...r].filter(([,b])=>b.l&&b.r).map(([b])=>b);if(h.length&&u&&e.issues.push({...u,keys:h}),Jo(e))return e;const g=Ph(n.value,i.value);if(!g.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(g.mergeErrorPath)}`);return e.value=g.data,e}const mN=Y("$ZodRecord",(e,n)=>{Tt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value;if(!ir(u))return i.issues.push({expected:"record",code:"invalid_type",input:u,inst:e}),i;const h=[],g=n.keyType._zod.values;if(g){i.value={};const b=new Set;for(const w of g)if(typeof w=="string"||typeof w=="number"||typeof w=="symbol"){b.add(typeof w=="number"?w.toString():w);const S=n.valueType._zod.run({value:u[w],issues:[]},r);S instanceof Promise?h.push(S.then(A=>{A.issues.length&&i.issues.push(...Wo(w,A.issues)),i.value[w]=A.value})):(S.issues.length&&i.issues.push(...Wo(w,S.issues)),i.value[w]=S.value)}let v;for(const w in u)b.has(w)||(v=v??[],v.push(w));v&&v.length>0&&i.issues.push({code:"unrecognized_keys",input:u,inst:e,keys:v})}else{i.value={};for(const b of Reflect.ownKeys(u)){if(b==="__proto__")continue;let v=n.keyType._zod.run({value:b,issues:[]},r);if(v instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof b=="string"&&Bw.test(b)&&v.issues.length){const A=n.keyType._zod.run({value:Number(b),issues:[]},r);if(A instanceof Promise)throw new Error("Async schemas not supported in object keys currently");A.issues.length===0&&(v=A)}if(v.issues.length){n.mode==="loose"?i.value[b]=u[b]:i.issues.push({code:"invalid_key",origin:"record",issues:v.issues.map(A=>rs(A,r,os())),input:b,path:[b],inst:e});continue}const S=n.valueType._zod.run({value:u[b],issues:[]},r);S instanceof Promise?h.push(S.then(A=>{A.issues.length&&i.issues.push(...Wo(b,A.issues)),i.value[v.value]=A.value})):(S.issues.length&&i.issues.push(...Wo(b,S.issues)),i.value[v.value]=S.value)}}return h.length?Promise.all(h).then(()=>i):i}}),pN=Y("$ZodEnum",(e,n)=>{Tt.init(e,n);const i=Ew(n.entries),r=new Set(i);e._zod.values=r,e._zod.pattern=new RegExp(`^(${i.filter(u=>SC.has(typeof u)).map(u=>typeof u=="string"?sr(u):u.toString()).join("|")})$`),e._zod.parse=(u,h)=>{const g=u.value;return r.has(g)||u.issues.push({code:"invalid_value",values:i,input:g,inst:e}),u}}),hN=Y("$ZodLiteral",(e,n)=>{if(Tt.init(e,n),n.values.length===0)throw new Error("Cannot create literal schema with no valid values");const i=new Set(n.values);e._zod.values=i,e._zod.pattern=new RegExp(`^(${n.values.map(r=>typeof r=="string"?sr(r):r?sr(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,u)=>{const h=r.value;return i.has(h)||r.issues.push({code:"invalid_value",values:n.values,input:h,inst:e}),r}}),fN=Y("$ZodTransform",(e,n)=>{Tt.init(e,n),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new _w(e.constructor.name);const u=n.transform(i.value,i);if(r.async)return(u instanceof Promise?u:Promise.resolve(u)).then(g=>(i.value=g,i));if(u instanceof Promise)throw new tr;return i.value=u,i}});function Kb(e,n){return e.issues.length&&n===void 0?{issues:[],value:void 0}:e}const Fw=Y("$ZodOptional",(e,n)=>{Tt.init(e,n),e._zod.optin="optional",e._zod.optout="optional",dt(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),dt(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${Af(i.source)})?$`):void 0}),e._zod.parse=(i,r)=>{if(n.innerType._zod.optin==="optional"){const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>Kb(h,i.value)):Kb(u,i.value)}return i.value===void 0?i:n.innerType._zod.run(i,r)}}),gN=Y("$ZodExactOptional",(e,n)=>{Fw.init(e,n),dt(e._zod,"values",()=>n.innerType._zod.values),dt(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(i,r)=>n.innerType._zod.run(i,r)}),yN=Y("$ZodNullable",(e,n)=>{Tt.init(e,n),dt(e._zod,"optin",()=>n.innerType._zod.optin),dt(e._zod,"optout",()=>n.innerType._zod.optout),dt(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${Af(i.source)}|null)$`):void 0}),dt(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(i,r)=>i.value===null?i:n.innerType._zod.run(i,r)}),bN=Y("$ZodDefault",(e,n)=>{Tt.init(e,n),e._zod.optin="optional",dt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);if(i.value===void 0)return i.value=n.defaultValue,i;const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>Hb(h,n)):Hb(u,n)}});function Hb(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const vN=Y("$ZodPrefault",(e,n)=>{Tt.init(e,n),e._zod.optin="optional",dt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>(r.direction==="backward"||i.value===void 0&&(i.value=n.defaultValue),n.innerType._zod.run(i,r))}),xN=Y("$ZodNonOptional",(e,n)=>{Tt.init(e,n),dt(e._zod,"values",()=>{const i=n.innerType._zod.values;return i?new Set([...i].filter(r=>r!==void 0)):void 0}),e._zod.parse=(i,r)=>{const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>Qb(h,e)):Qb(u,e)}});function Qb(e,n){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}const wN=Y("$ZodCatch",(e,n)=>{Tt.init(e,n),dt(e._zod,"optin",()=>n.innerType._zod.optin),dt(e._zod,"optout",()=>n.innerType._zod.optout),dt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>(i.value=h.value,h.issues.length&&(i.value=n.catchValue({...i,error:{issues:h.issues.map(g=>rs(g,r,os()))},input:i.value}),i.issues=[]),i)):(i.value=u.value,u.issues.length&&(i.value=n.catchValue({...i,error:{issues:u.issues.map(h=>rs(h,r,os()))},input:i.value}),i.issues=[]),i)}}),kN=Y("$ZodPipe",(e,n)=>{Tt.init(e,n),dt(e._zod,"values",()=>n.in._zod.values),dt(e._zod,"optin",()=>n.in._zod.optin),dt(e._zod,"optout",()=>n.out._zod.optout),dt(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(i,r)=>{if(r.direction==="backward"){const h=n.out._zod.run(i,r);return h instanceof Promise?h.then(g=>Au(g,n.in,r)):Au(h,n.in,r)}const u=n.in._zod.run(i,r);return u instanceof Promise?u.then(h=>Au(h,n.out,r)):Au(u,n.out,r)}});function Au(e,n,i){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues},i)}const SN=Y("$ZodReadonly",(e,n)=>{Tt.init(e,n),dt(e._zod,"propValues",()=>n.innerType._zod.propValues),dt(e._zod,"values",()=>n.innerType._zod.values),dt(e._zod,"optin",()=>n.innerType?._zod?.optin),dt(e._zod,"optout",()=>n.innerType?._zod?.optout),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(Fb):Fb(u)}});function Fb(e){return e.value=Object.freeze(e.value),e}const jN=Y("$ZodCustom",(e,n)=>{On.init(e,n),Tt.init(e,n),e._zod.parse=(i,r)=>i,e._zod.check=i=>{const r=i.value,u=n.fn(r);if(u instanceof Promise)return u.then(h=>Zb(h,i,r,e));Zb(u,i,r,e)}});function Zb(e,n,i,r){if(!e){const u={code:"custom",input:i,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(u.params=r._zod.def.params),n.issues.push(Gl(u))}}var Yb;class AN{constructor(){this._map=new WeakMap,this._idmap=new Map}add(n,...i){const r=i[0];return this._map.set(n,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,n),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(n){const i=this._map.get(n);return i&&typeof i=="object"&&"id"in i&&this._idmap.delete(i.id),this._map.delete(n),this}get(n){const i=n._zod.parent;if(i){const r={...this.get(i)??{}};delete r.id;const u={...r,...this._map.get(n)};return Object.keys(u).length?u:void 0}return this._map.get(n)}has(n){return this._map.has(n)}}function CN(){return new AN}(Yb=globalThis).__zod_globalRegistry??(Yb.__zod_globalRegistry=CN());const ql=globalThis.__zod_globalRegistry;function NN(e,n){return new e({type:"string",..._e(n)})}function _N(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,..._e(n)})}function Xb(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,..._e(n)})}function TN(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,..._e(n)})}function EN(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",..._e(n)})}function RN(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",..._e(n)})}function zN(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",..._e(n)})}function DN(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,..._e(n)})}function ON(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,..._e(n)})}function qN(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,..._e(n)})}function IN(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,..._e(n)})}function PN(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,..._e(n)})}function MN(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,..._e(n)})}function BN(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,..._e(n)})}function LN(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,..._e(n)})}function VN(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,..._e(n)})}function $N(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,..._e(n)})}function UN(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,..._e(n)})}function GN(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,..._e(n)})}function KN(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,..._e(n)})}function HN(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,..._e(n)})}function QN(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,..._e(n)})}function FN(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,..._e(n)})}function ZN(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,..._e(n)})}function YN(e,n){return new e({type:"string",format:"date",check:"string_format",..._e(n)})}function XN(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,..._e(n)})}function JN(e,n){return new e({type:"string",format:"duration",check:"string_format",..._e(n)})}function WN(e,n){return new e({type:"number",checks:[],..._e(n)})}function e6(e,n){return new e({type:"number",coerce:!0,checks:[],..._e(n)})}function t6(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",..._e(n)})}function n6(e,n){return new e({type:"boolean",..._e(n)})}function a6(e,n){return new e({type:"null",..._e(n)})}function i6(e){return new e({type:"unknown"})}function s6(e,n){return new e({type:"never",..._e(n)})}function Jb(e,n){return new Vw({check:"less_than",..._e(n),value:e,inclusive:!1})}function sh(e,n){return new Vw({check:"less_than",..._e(n),value:e,inclusive:!0})}function Wb(e,n){return new $w({check:"greater_than",..._e(n),value:e,inclusive:!1})}function oh(e,n){return new $w({check:"greater_than",..._e(n),value:e,inclusive:!0})}function ev(e,n){return new y5({check:"multiple_of",..._e(n),value:e})}function Zw(e,n){return new v5({check:"max_length",..._e(n),maximum:e})}function Fu(e,n){return new x5({check:"min_length",..._e(n),minimum:e})}function Yw(e,n){return new w5({check:"length_equals",..._e(n),length:e})}function o6(e,n){return new k5({check:"string_format",format:"regex",..._e(n),pattern:e})}function r6(e){return new S5({check:"string_format",format:"lowercase",..._e(e)})}function l6(e){return new j5({check:"string_format",format:"uppercase",..._e(e)})}function c6(e,n){return new A5({check:"string_format",format:"includes",..._e(n),includes:e})}function u6(e,n){return new C5({check:"string_format",format:"starts_with",..._e(n),prefix:e})}function d6(e,n){return new N5({check:"string_format",format:"ends_with",..._e(n),suffix:e})}function pr(e){return new _5({check:"overwrite",tx:e})}function m6(e){return pr(n=>n.normalize(e))}function p6(){return pr(e=>e.trim())}function h6(){return pr(e=>e.toLowerCase())}function f6(){return pr(e=>e.toUpperCase())}function g6(){return pr(e=>wC(e))}function y6(e,n,i){return new e({type:"array",element:n,..._e(i)})}function b6(e,n,i){return new e({type:"custom",check:"custom",fn:n,..._e(i)})}function v6(e){const n=x6(i=>(i.addIssue=r=>{if(typeof r=="string")i.issues.push(Gl(r,i.value,n._zod.def));else{const u=r;u.fatal&&(u.continue=!1),u.code??(u.code="custom"),u.input??(u.input=i.value),u.inst??(u.inst=n),u.continue??(u.continue=!n._zod.def.abort),i.issues.push(Gl(u))}},e(i.value,i)));return n}function x6(e,n){const i=new On({check:"custom",..._e(n)});return i._zod.check=e,i}function Xw(e){let n=e?.target??"draft-2020-12";return n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??ql,target:n,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Kt(e,n,i={path:[],schemaPath:[]}){var r;const u=e._zod.def,h=n.seen.get(e);if(h)return h.count++,i.schemaPath.includes(e)&&(h.cycle=i.path),h.schema;const g={schema:{},count:1,cycle:void 0,path:i.path};n.seen.set(e,g);const b=e._zod.toJSONSchema?.();if(b)g.schema=b;else{const S={...i,schemaPath:[...i.schemaPath,e],path:i.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,g.schema,S);else{const T=g.schema,C=n.processors[u.type];if(!C)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${u.type}`);C(e,n,T,S)}const A=e._zod.parent;A&&(g.ref||(g.ref=A),Kt(A,n,S),n.seen.get(A).isParent=!0)}const v=n.metadataRegistry.get(e);return v&&Object.assign(g.schema,v),n.io==="input"&&kn(e)&&(delete g.schema.examples,delete g.schema.default),n.io==="input"&&g.schema._prefault&&((r=g.schema).default??(r.default=g.schema._prefault)),delete g.schema._prefault,n.seen.get(e).schema}function Jw(e,n){const i=e.seen.get(n);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const g of e.seen.entries()){const b=e.metadataRegistry.get(g[0])?.id;if(b){const v=r.get(b);if(v&&v!==g[0])throw new Error(`Duplicate schema id "${b}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(b,g[0])}}const u=g=>{const b=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const A=e.external.registry.get(g[0])?.id,T=e.external.uri??(F=>F);if(A)return{ref:T(A)};const C=g[1].defId??g[1].schema.id??`schema${e.counter++}`;return g[1].defId=C,{defId:C,ref:`${T("__shared")}#/${b}/${C}`}}if(g[1]===i)return{ref:"#"};const w=`#/${b}/`,S=g[1].schema.id??`__schema${e.counter++}`;return{defId:S,ref:w+S}},h=g=>{if(g[1].schema.$ref)return;const b=g[1],{ref:v,defId:w}=u(g);b.def={...b.schema},w&&(b.defId=w);const S=b.schema;for(const A in S)delete S[A];S.$ref=v};if(e.cycles==="throw")for(const g of e.seen.entries()){const b=g[1];if(b.cycle)throw new Error(`Cycle detected: #/${b.cycle?.join("/")}/<root>
47
+
48
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const g of e.seen.entries()){const b=g[1];if(n===g[0]){h(g);continue}if(e.external){const w=e.external.registry.get(g[0])?.id;if(n!==g[0]&&w){h(g);continue}}if(e.metadataRegistry.get(g[0])?.id){h(g);continue}if(b.cycle){h(g);continue}if(b.count>1&&e.reused==="ref"){h(g);continue}}}function Ww(e,n){const i=e.seen.get(n);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=g=>{const b=e.seen.get(g);if(b.ref===null)return;const v=b.def??b.schema,w={...v},S=b.ref;if(b.ref=null,S){r(S);const T=e.seen.get(S),C=T.schema;if(C.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(v.allOf=v.allOf??[],v.allOf.push(C)):Object.assign(v,C),Object.assign(v,w),g._zod.parent===S)for(const R in v)R==="$ref"||R==="allOf"||R in w||delete v[R];if(C.$ref&&T.def)for(const R in v)R==="$ref"||R==="allOf"||R in T.def&&JSON.stringify(v[R])===JSON.stringify(T.def[R])&&delete v[R]}const A=g._zod.parent;if(A&&A!==S){r(A);const T=e.seen.get(A);if(T?.schema.$ref&&(v.$ref=T.schema.$ref,T.def))for(const C in v)C==="$ref"||C==="allOf"||C in T.def&&JSON.stringify(v[C])===JSON.stringify(T.def[C])&&delete v[C]}e.override({zodSchema:g,jsonSchema:v,path:b.path??[]})};for(const g of[...e.seen.entries()].reverse())r(g[0]);const u={};if(e.target==="draft-2020-12"?u.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?u.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?u.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const g=e.external.registry.get(n)?.id;if(!g)throw new Error("Schema is missing an `id` property");u.$id=e.external.uri(g)}Object.assign(u,i.def??i.schema);const h=e.external?.defs??{};for(const g of e.seen.entries()){const b=g[1];b.def&&b.defId&&(h[b.defId]=b.def)}e.external||Object.keys(h).length>0&&(e.target==="draft-2020-12"?u.$defs=h:u.definitions=h);try{const g=JSON.parse(JSON.stringify(u));return Object.defineProperty(g,"~standard",{value:{...n["~standard"],jsonSchema:{input:Zu(n,"input",e.processors),output:Zu(n,"output",e.processors)}},enumerable:!1,writable:!1}),g}catch{throw new Error("Error converting schema to JSON.")}}function kn(e,n){const i=n??{seen:new Set};if(i.seen.has(e))return!1;i.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return kn(r.element,i);if(r.type==="set")return kn(r.valueType,i);if(r.type==="lazy")return kn(r.getter(),i);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return kn(r.innerType,i);if(r.type==="intersection")return kn(r.left,i)||kn(r.right,i);if(r.type==="record"||r.type==="map")return kn(r.keyType,i)||kn(r.valueType,i);if(r.type==="pipe")return kn(r.in,i)||kn(r.out,i);if(r.type==="object"){for(const u in r.shape)if(kn(r.shape[u],i))return!0;return!1}if(r.type==="union"){for(const u of r.options)if(kn(u,i))return!0;return!1}if(r.type==="tuple"){for(const u of r.items)if(kn(u,i))return!0;return!!(r.rest&&kn(r.rest,i))}return!1}const w6=(e,n={})=>i=>{const r=Xw({...i,processors:n});return Kt(e,r),Jw(r,e),Ww(r,e)},Zu=(e,n,i={})=>r=>{const{libraryOptions:u,target:h}=r??{},g=Xw({...u??{},target:h,io:n,processors:i});return Kt(e,g),Jw(g,e),Ww(g,e)},k6={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},S6=(e,n,i,r)=>{const u=i;u.type="string";const{minimum:h,maximum:g,format:b,patterns:v,contentEncoding:w}=e._zod.bag;if(typeof h=="number"&&(u.minLength=h),typeof g=="number"&&(u.maxLength=g),b&&(u.format=k6[b]??b,u.format===""&&delete u.format,b==="time"&&delete u.format),w&&(u.contentEncoding=w),v&&v.size>0){const S=[...v];S.length===1?u.pattern=S[0].source:S.length>1&&(u.allOf=[...S.map(A=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:A.source}))])}},j6=(e,n,i,r)=>{const u=i,{minimum:h,maximum:g,format:b,multipleOf:v,exclusiveMaximum:w,exclusiveMinimum:S}=e._zod.bag;typeof b=="string"&&b.includes("int")?u.type="integer":u.type="number",typeof S=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(u.minimum=S,u.exclusiveMinimum=!0):u.exclusiveMinimum=S),typeof h=="number"&&(u.minimum=h,typeof S=="number"&&n.target!=="draft-04"&&(S>=h?delete u.minimum:delete u.exclusiveMinimum)),typeof w=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(u.maximum=w,u.exclusiveMaximum=!0):u.exclusiveMaximum=w),typeof g=="number"&&(u.maximum=g,typeof w=="number"&&n.target!=="draft-04"&&(w<=g?delete u.maximum:delete u.exclusiveMaximum)),typeof v=="number"&&(u.multipleOf=v)},A6=(e,n,i,r)=>{i.type="boolean"},C6=(e,n,i,r)=>{n.target==="openapi-3.0"?(i.type="string",i.nullable=!0,i.enum=[null]):i.type="null"},N6=(e,n,i,r)=>{i.not={}},_6=(e,n,i,r)=>{},T6=(e,n,i,r)=>{const u=e._zod.def,h=Ew(u.entries);h.every(g=>typeof g=="number")&&(i.type="number"),h.every(g=>typeof g=="string")&&(i.type="string"),i.enum=h},E6=(e,n,i,r)=>{const u=e._zod.def,h=[];for(const g of u.values)if(g===void 0){if(n.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof g=="bigint"){if(n.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(g))}else h.push(g);if(h.length!==0)if(h.length===1){const g=h[0];i.type=g===null?"null":typeof g,n.target==="draft-04"||n.target==="openapi-3.0"?i.enum=[g]:i.const=g}else h.every(g=>typeof g=="number")&&(i.type="number"),h.every(g=>typeof g=="string")&&(i.type="string"),h.every(g=>typeof g=="boolean")&&(i.type="boolean"),h.every(g=>g===null)&&(i.type="null"),i.enum=h},R6=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},z6=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},D6=(e,n,i,r)=>{const u=i,h=e._zod.def,{minimum:g,maximum:b}=e._zod.bag;typeof g=="number"&&(u.minItems=g),typeof b=="number"&&(u.maxItems=b),u.type="array",u.items=Kt(h.element,n,{...r,path:[...r.path,"items"]})},O6=(e,n,i,r)=>{const u=i,h=e._zod.def;u.type="object",u.properties={};const g=h.shape;for(const w in g)u.properties[w]=Kt(g[w],n,{...r,path:[...r.path,"properties",w]});const b=new Set(Object.keys(g)),v=new Set([...b].filter(w=>{const S=h.shape[w]._zod;return n.io==="input"?S.optin===void 0:S.optout===void 0}));v.size>0&&(u.required=Array.from(v)),h.catchall?._zod.def.type==="never"?u.additionalProperties=!1:h.catchall?h.catchall&&(u.additionalProperties=Kt(h.catchall,n,{...r,path:[...r.path,"additionalProperties"]})):n.io==="output"&&(u.additionalProperties=!1)},q6=(e,n,i,r)=>{const u=e._zod.def,h=u.inclusive===!1,g=u.options.map((b,v)=>Kt(b,n,{...r,path:[...r.path,h?"oneOf":"anyOf",v]}));h?i.oneOf=g:i.anyOf=g},I6=(e,n,i,r)=>{const u=e._zod.def,h=Kt(u.left,n,{...r,path:[...r.path,"allOf",0]}),g=Kt(u.right,n,{...r,path:[...r.path,"allOf",1]}),b=w=>"allOf"in w&&Object.keys(w).length===1,v=[...b(h)?h.allOf:[h],...b(g)?g.allOf:[g]];i.allOf=v},P6=(e,n,i,r)=>{const u=i,h=e._zod.def;u.type="object";const g=h.keyType,v=g._zod.bag?.patterns;if(h.mode==="loose"&&v&&v.size>0){const S=Kt(h.valueType,n,{...r,path:[...r.path,"patternProperties","*"]});u.patternProperties={};for(const A of v)u.patternProperties[A.source]=S}else(n.target==="draft-07"||n.target==="draft-2020-12")&&(u.propertyNames=Kt(h.keyType,n,{...r,path:[...r.path,"propertyNames"]})),u.additionalProperties=Kt(h.valueType,n,{...r,path:[...r.path,"additionalProperties"]});const w=g._zod.values;if(w){const S=[...w].filter(A=>typeof A=="string"||typeof A=="number");S.length>0&&(u.required=S)}},M6=(e,n,i,r)=>{const u=e._zod.def,h=Kt(u.innerType,n,r),g=n.seen.get(e);n.target==="openapi-3.0"?(g.ref=u.innerType,i.nullable=!0):i.anyOf=[h,{type:"null"}]},B6=(e,n,i,r)=>{const u=e._zod.def;Kt(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},L6=(e,n,i,r)=>{const u=e._zod.def;Kt(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.default=JSON.parse(JSON.stringify(u.defaultValue))},V6=(e,n,i,r)=>{const u=e._zod.def;Kt(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,n.io==="input"&&(i._prefault=JSON.parse(JSON.stringify(u.defaultValue)))},$6=(e,n,i,r)=>{const u=e._zod.def;Kt(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType;let g;try{g=u.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}i.default=g},U6=(e,n,i,r)=>{const u=e._zod.def,h=n.io==="input"?u.in._zod.def.type==="transform"?u.out:u.in:u.out;Kt(h,n,r);const g=n.seen.get(e);g.ref=h},G6=(e,n,i,r)=>{const u=e._zod.def;Kt(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.readOnly=!0},ek=(e,n,i,r)=>{const u=e._zod.def;Kt(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},K6=Y("ZodISODateTime",(e,n)=>{$5.init(e,n),Dt.init(e,n)});function tk(e){return ZN(K6,e)}const H6=Y("ZodISODate",(e,n)=>{U5.init(e,n),Dt.init(e,n)});function nk(e){return YN(H6,e)}const Q6=Y("ZodISOTime",(e,n)=>{G5.init(e,n),Dt.init(e,n)});function F6(e){return XN(Q6,e)}const Z6=Y("ZodISODuration",(e,n)=>{K5.init(e,n),Dt.init(e,n)});function Y6(e){return JN(Z6,e)}const X6=(e,n)=>{Ow.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>OC(e,i)},flatten:{value:i=>DC(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,Ih,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,Ih,2)}},isEmpty:{get(){return e.issues.length===0}}})},da=Y("ZodError",X6,{Parent:Error}),J6=Nf(da),W6=_f(da),e_=gd(da),t_=yd(da),n_=PC(da),a_=MC(da),i_=BC(da),s_=LC(da),o_=VC(da),r_=$C(da),l_=UC(da),c_=GC(da),Rt=Y("ZodType",(e,n)=>(Tt.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:Zu(e,"input"),output:Zu(e,"output")}}),e.toJSONSchema=w6(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...i)=>e.clone(ms(n,{checks:[...n.checks??[],...i.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(i,r)=>ps(e,i,r),e.brand=()=>e,e.register=((i,r)=>(i.add(e,r),e)),e.parse=(i,r)=>J6(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>e_(e,i,r),e.parseAsync=async(i,r)=>W6(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>t_(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>n_(e,i,r),e.decode=(i,r)=>a_(e,i,r),e.encodeAsync=async(i,r)=>i_(e,i,r),e.decodeAsync=async(i,r)=>s_(e,i,r),e.safeEncode=(i,r)=>o_(e,i,r),e.safeDecode=(i,r)=>r_(e,i,r),e.safeEncodeAsync=async(i,r)=>l_(e,i,r),e.safeDecodeAsync=async(i,r)=>c_(e,i,r),e.refine=(i,r)=>e.check(n8(i,r)),e.superRefine=i=>e.check(a8(i)),e.overwrite=i=>e.check(pr(i)),e.optional=()=>av(e),e.exactOptional=()=>U_(e),e.nullable=()=>iv(e),e.nullish=()=>av(iv(e)),e.nonoptional=i=>Z_(e,i),e.array=()=>y(e),e.or=i=>He([e,i]),e.and=i=>M_(e,i),e.transform=i=>Bh(e,sk(i)),e.default=i=>H_(e,i),e.prefault=i=>F_(e,i),e.catch=i=>X_(e,i),e.pipe=i=>Bh(e,i),e.readonly=()=>e8(e),e.describe=i=>{const r=e.clone();return ql.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return ql.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return ql.get(e);const r=e.clone();return ql.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),ak=Y("_ZodString",(e,n)=>{Tf.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>S6(e,r,u);const i=e._zod.bag;e.format=i.format??null,e.minLength=i.minimum??null,e.maxLength=i.maximum??null,e.regex=(...r)=>e.check(o6(...r)),e.includes=(...r)=>e.check(c6(...r)),e.startsWith=(...r)=>e.check(u6(...r)),e.endsWith=(...r)=>e.check(d6(...r)),e.min=(...r)=>e.check(Fu(...r)),e.max=(...r)=>e.check(Zw(...r)),e.length=(...r)=>e.check(Yw(...r)),e.nonempty=(...r)=>e.check(Fu(1,...r)),e.lowercase=r=>e.check(r6(r)),e.uppercase=r=>e.check(l6(r)),e.trim=()=>e.check(p6()),e.normalize=(...r)=>e.check(m6(...r)),e.toLowerCase=()=>e.check(h6()),e.toUpperCase=()=>e.check(f6()),e.slugify=()=>e.check(g6())}),u_=Y("ZodString",(e,n)=>{Tf.init(e,n),ak.init(e,n),e.email=i=>e.check(_N(d_,i)),e.url=i=>e.check(DN(m_,i)),e.jwt=i=>e.check(FN(N_,i)),e.emoji=i=>e.check(ON(p_,i)),e.guid=i=>e.check(Xb(tv,i)),e.uuid=i=>e.check(TN(Cu,i)),e.uuidv4=i=>e.check(EN(Cu,i)),e.uuidv6=i=>e.check(RN(Cu,i)),e.uuidv7=i=>e.check(zN(Cu,i)),e.nanoid=i=>e.check(qN(h_,i)),e.guid=i=>e.check(Xb(tv,i)),e.cuid=i=>e.check(IN(f_,i)),e.cuid2=i=>e.check(PN(g_,i)),e.ulid=i=>e.check(MN(y_,i)),e.base64=i=>e.check(KN(j_,i)),e.base64url=i=>e.check(HN(A_,i)),e.xid=i=>e.check(BN(b_,i)),e.ksuid=i=>e.check(LN(v_,i)),e.ipv4=i=>e.check(VN(x_,i)),e.ipv6=i=>e.check($N(w_,i)),e.cidrv4=i=>e.check(UN(k_,i)),e.cidrv6=i=>e.check(GN(S_,i)),e.e164=i=>e.check(QN(C_,i)),e.datetime=i=>e.check(tk(i)),e.date=i=>e.check(nk(i)),e.time=i=>e.check(F6(i)),e.duration=i=>e.check(Y6(i))});function o(e){return NN(u_,e)}const Dt=Y("ZodStringFormat",(e,n)=>{Et.init(e,n),ak.init(e,n)}),d_=Y("ZodEmail",(e,n)=>{D5.init(e,n),Dt.init(e,n)}),tv=Y("ZodGUID",(e,n)=>{R5.init(e,n),Dt.init(e,n)}),Cu=Y("ZodUUID",(e,n)=>{z5.init(e,n),Dt.init(e,n)}),m_=Y("ZodURL",(e,n)=>{O5.init(e,n),Dt.init(e,n)}),p_=Y("ZodEmoji",(e,n)=>{q5.init(e,n),Dt.init(e,n)}),h_=Y("ZodNanoID",(e,n)=>{I5.init(e,n),Dt.init(e,n)}),f_=Y("ZodCUID",(e,n)=>{P5.init(e,n),Dt.init(e,n)}),g_=Y("ZodCUID2",(e,n)=>{M5.init(e,n),Dt.init(e,n)}),y_=Y("ZodULID",(e,n)=>{B5.init(e,n),Dt.init(e,n)}),b_=Y("ZodXID",(e,n)=>{L5.init(e,n),Dt.init(e,n)}),v_=Y("ZodKSUID",(e,n)=>{V5.init(e,n),Dt.init(e,n)}),x_=Y("ZodIPv4",(e,n)=>{H5.init(e,n),Dt.init(e,n)}),w_=Y("ZodIPv6",(e,n)=>{Q5.init(e,n),Dt.init(e,n)}),k_=Y("ZodCIDRv4",(e,n)=>{F5.init(e,n),Dt.init(e,n)}),S_=Y("ZodCIDRv6",(e,n)=>{Z5.init(e,n),Dt.init(e,n)}),j_=Y("ZodBase64",(e,n)=>{Y5.init(e,n),Dt.init(e,n)}),A_=Y("ZodBase64URL",(e,n)=>{J5.init(e,n),Dt.init(e,n)}),C_=Y("ZodE164",(e,n)=>{W5.init(e,n),Dt.init(e,n)}),N_=Y("ZodJWT",(e,n)=>{tN.init(e,n),Dt.init(e,n)}),Ef=Y("ZodNumber",(e,n)=>{Gw.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>j6(e,r,u),e.gt=(r,u)=>e.check(Wb(r,u)),e.gte=(r,u)=>e.check(oh(r,u)),e.min=(r,u)=>e.check(oh(r,u)),e.lt=(r,u)=>e.check(Jb(r,u)),e.lte=(r,u)=>e.check(sh(r,u)),e.max=(r,u)=>e.check(sh(r,u)),e.int=r=>e.check(nv(r)),e.safe=r=>e.check(nv(r)),e.positive=r=>e.check(Wb(0,r)),e.nonnegative=r=>e.check(oh(0,r)),e.negative=r=>e.check(Jb(0,r)),e.nonpositive=r=>e.check(sh(0,r)),e.multipleOf=(r,u)=>e.check(ev(r,u)),e.step=(r,u)=>e.check(ev(r,u)),e.finite=()=>e;const i=e._zod.bag;e.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??.5),e.isFinite=!0,e.format=i.format??null});function d(e){return WN(Ef,e)}const __=Y("ZodNumberFormat",(e,n)=>{nN.init(e,n),Ef.init(e,n)});function nv(e){return t6(__,e)}const T_=Y("ZodBoolean",(e,n)=>{aN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>A6(e,i,r)});function N(e){return n6(T_,e)}const E_=Y("ZodNull",(e,n)=>{iN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>C6(e,i,r)});function ue(e){return a6(E_,e)}const R_=Y("ZodUnknown",(e,n)=>{sN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>_6()});function Dn(){return i6(R_)}const z_=Y("ZodNever",(e,n)=>{oN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>N6(e,i,r)});function D_(e){return s6(z_,e)}const O_=Y("ZodArray",(e,n)=>{rN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>D6(e,i,r,u),e.element=n.element,e.min=(i,r)=>e.check(Fu(i,r)),e.nonempty=i=>e.check(Fu(1,i)),e.max=(i,r)=>e.check(Zw(i,r)),e.length=(i,r)=>e.check(Yw(i,r)),e.unwrap=()=>e.element});function y(e,n){return y6(O_,e,n)}const q_=Y("ZodObject",(e,n)=>{cN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>O6(e,i,r,u),dt(e,"shape",()=>n.shape),e.keyof=()=>j(Object.keys(e._zod.def.shape)),e.catchall=i=>e.clone({...e._zod.def,catchall:i}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Dn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Dn()}),e.strict=()=>e.clone({...e._zod.def,catchall:D_()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>_C(e,i),e.safeExtend=i=>TC(e,i),e.merge=i=>EC(e,i),e.pick=i=>CC(e,i),e.omit=i=>NC(e,i),e.partial=(...i)=>RC(ok,e,i[0]),e.required=(...i)=>zC(rk,e,i[0])});function m(e,n){const i={type:"object",shape:e??{},..._e(n)};return new q_(i)}const ik=Y("ZodUnion",(e,n)=>{Qw.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>q6(e,i,r,u),e.options=n.options});function He(e,n){return new ik({type:"union",options:e,..._e(n)})}const I_=Y("ZodDiscriminatedUnion",(e,n)=>{ik.init(e,n),uN.init(e,n)});function Oe(e,n,i){return new I_({type:"union",options:n,discriminator:e,..._e(i)})}const P_=Y("ZodIntersection",(e,n)=>{dN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>I6(e,i,r,u)});function M_(e,n){return new P_({type:"intersection",left:e,right:n})}const B_=Y("ZodRecord",(e,n)=>{mN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>P6(e,i,r,u),e.keyType=n.keyType,e.valueType=n.valueType});function $e(e,n,i){return new B_({type:"record",keyType:e,valueType:n,..._e(i)})}const Mh=Y("ZodEnum",(e,n)=>{pN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>T6(e,r,u),e.enum=n.entries,e.options=Object.values(n.entries);const i=new Set(Object.keys(n.entries));e.extract=(r,u)=>{const h={};for(const g of r)if(i.has(g))h[g]=n.entries[g];else throw new Error(`Key ${g} not found in enum`);return new Mh({...n,checks:[],..._e(u),entries:h})},e.exclude=(r,u)=>{const h={...n.entries};for(const g of r)if(i.has(g))delete h[g];else throw new Error(`Key ${g} not found in enum`);return new Mh({...n,checks:[],..._e(u),entries:h})}});function j(e,n){const i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new Mh({type:"enum",entries:i,..._e(n)})}const L_=Y("ZodLiteral",(e,n)=>{hN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>E6(e,i,r),e.values=new Set(n.values),Object.defineProperty(e,"value",{get(){if(n.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}})});function z(e,n){return new L_({type:"literal",values:Array.isArray(e)?e:[e],..._e(n)})}const V_=Y("ZodTransform",(e,n)=>{fN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>z6(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new _w(e.constructor.name);i.addIssue=h=>{if(typeof h=="string")i.issues.push(Gl(h,i.value,n));else{const g=h;g.fatal&&(g.continue=!1),g.code??(g.code="custom"),g.input??(g.input=i.value),g.inst??(g.inst=e),i.issues.push(Gl(g))}};const u=n.transform(i.value,i);return u instanceof Promise?u.then(h=>(i.value=h,i)):(i.value=u,i)}});function sk(e){return new V_({type:"transform",transform:e})}const ok=Y("ZodOptional",(e,n)=>{Fw.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>ek(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function av(e){return new ok({type:"optional",innerType:e})}const $_=Y("ZodExactOptional",(e,n)=>{gN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>ek(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function U_(e){return new $_({type:"optional",innerType:e})}const G_=Y("ZodNullable",(e,n)=>{yN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>M6(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function iv(e){return new G_({type:"nullable",innerType:e})}const K_=Y("ZodDefault",(e,n)=>{bN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>L6(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function H_(e,n){return new K_({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():zw(n)}})}const Q_=Y("ZodPrefault",(e,n)=>{vN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>V6(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function F_(e,n){return new Q_({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():zw(n)}})}const rk=Y("ZodNonOptional",(e,n)=>{xN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>B6(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function Z_(e,n){return new rk({type:"nonoptional",innerType:e,..._e(n)})}const Y_=Y("ZodCatch",(e,n)=>{wN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>$6(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function X_(e,n){return new Y_({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const J_=Y("ZodPipe",(e,n)=>{kN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>U6(e,i,r,u),e.in=n.in,e.out=n.out});function Bh(e,n){return new J_({type:"pipe",in:e,out:n})}const W_=Y("ZodReadonly",(e,n)=>{SN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>G6(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function e8(e){return new W_({type:"readonly",innerType:e})}const t8=Y("ZodCustom",(e,n)=>{jN.init(e,n),Rt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>R6(e,i)});function n8(e,n={}){return b6(t8,e,n)}function a8(e){return v6(e)}function Rf(e,n){return Bh(sk(e),n)}const be={custom:"custom"};function zf(e){return e6(Ef,e)}const lk=m({id:o(),name:o(),keyPrefix:o(),scopes:y(o()),projectId:o().nullable(),projectName:o().nullable(),readOnly:N(),operator:N().optional(),createdAt:o(),lastUsedAt:o().nullable(),revokedAt:o().nullable()});m({keys:y(lk)});m({name:o().min(1).max(100),scopes:y(o()).min(1).optional(),projectId:o().optional()});lk.extend({key:o()});const i8=m({maxConcurrency:d().int().positive(),maxRequestsPerMinute:d().int().positive(),maxRequestsPerDay:d().int().positive()}),ht=o().min(1),Df=$e(o(),o().trim().min(1));o().min(1);const Xt=m({label:o().min(1),city:o().min(1),region:o().min(1),country:o().length(2),timezone:o().optional()}),Of=j(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit","ads-sync","doctor"]);Of.enum;const qf=m({everyDays:d().int().min(1).max(3650),startDate:o().date(),time:o().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"Time must be HH:mm")}).strict();m({id:o(),projectId:o(),kind:Of,cronExpr:o(),recurrence:qf.nullable().optional(),preset:o().nullable().optional(),timezone:o().default("UTC"),enabled:N().default(!0),providers:y(ht).default([]),sourceId:o().nullable().optional(),lastRunAt:o().nullable().optional(),nextRunAt:o().nullable().optional(),createdAt:o(),updatedAt:o()});const s8=o().datetime();m({kind:Of.optional(),preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:qf.optional(),timezone:o().optional().default("UTC"),enabled:N().optional().default(!0),providers:y(ht).optional().default([]),sourceId:o().optional(),expectedUpdatedAt:s8.nullable().optional()}).refine(e=>[e.preset,e.cron,e.recurrence].filter(n=>n!==void 0).length===1,{message:'Exactly one of "preset", "cron", or "recurrence" must be provided'});const If=j(["citation.lost","citation.gained","run.completed","run.failed","insight.critical","insight.high","health.degraded","health.recovered"]);m({id:o(),projectId:o(),channel:z("webhook"),url:o().url(),urlDisplay:o(),urlHost:o(),events:y(If),enabled:N().default(!0),source:o().optional(),webhookSecret:o().optional(),createdAt:o(),updatedAt:o()});m({channel:z("webhook"),url:o().url(),events:y(If).min(1),source:o().optional()});class o8 extends Error{code;statusCode;details;constructor(n,i,r,u){super(i),this.name="AppError",this.code=n,this.statusCode=r,this.details=u}toJSON(){return{error:{code:this.code,message:this.message,...this.details?{details:this.details}:{}}}}}function sv(e,n){return new o8("VALIDATION_ERROR",e,400,n)}function r8(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e==null)return"unknown error";try{const n=JSON.stringify(e);if(n!==void 0)return n}catch{}try{return String(e)}catch{return"unknown error"}}function rh(e,n=!1){const i=new Set,r=[];for(const u of e){const h=n?u.toLowerCase():u;i.has(h)||(i.add(h),r.push(u))}return r}function ov(e){try{const n=e.includes("://"),i=new URL(n?e:`https://${e}`);if(!n&&(i.pathname!=="/"||i.search||i.hash)||i.username||i.password||i.port)return null;const r=i.hostname.trim().toLowerCase().replace(/^www\./,"");return!r||r.includes("/")||r.includes("?")||r.includes("#")?null:r}catch{return null}}const l8=o().trim().min(1).refine(e=>ov(e)!==null,{message:"Marketing hosts must be valid hostnames without credentials or ports"}).overwrite(e=>ov(e)??e),c8=o().trim().min(1),u8=o().trim().regex(/^[a-z]\w{0,39}$/i,{message:"GA4 event names must start with a letter and contain only letters, numbers, or underscores"}),Pf=m({marketingHosts:y(l8).overwrite(e=>rh(e,!0)),brandTerms:y(c8).overwrite(e=>rh(e,!0)),leadEventNames:y(u8).overwrite(e=>rh(e))});function d8(){return{marketingHosts:[],brandTerms:[],leadEventNames:["generate_lead"]}}const lh=Object.freeze({marketingHosts:Object.freeze([]),brandTerms:Object.freeze([]),leadEventNames:Object.freeze(["generate_lead"])}),ck=()=>d8(),rv=j(["never-synced","ready","error"]),m8=j(["landing-page","channel"]),p8=j(["30d","60d","90d"]),h8=j(["marketing","all"]),Il=nk(),Xl=m({label:j(["earliest","middle","previous","latest"]),startDate:Il,endDate:Il}),ch=Xl.extend({sessions:d().int().nonnegative()}),lv=Xl.extend({eventCount:d().int().nonnegative()}),cv=Xl.extend({clicks:d().int().nonnegative(),impressions:d().int().nonnegative()}),f8=Xl.extend({propertyClicks:d().int().nonnegative(),propertyImpressions:d().int().nonnegative(),reportedQueryClicks:d().int().nonnegative(),reportedQueryImpressions:d().int().nonnegative(),brandedClicks:d().int().nonnegative(),brandedImpressions:d().int().nonnegative(),nonBrandedClicks:d().int().nonnegative(),nonBrandedImpressions:d().int().nonnegative(),unreportedClicks:d().int().nonnegative(),unreportedImpressions:d().int().nonnegative()}),g8=Xl.extend({sessions:d().int().nonnegative(),engagementRate:d().min(0).max(1).nullable(),dailyTotalUsers:d().int().nonnegative().nullable(),dailyNewUsers:d().int().nonnegative().nullable(),metricsAvailable:N(),daysInPeriod:d().int().nonnegative(),daysWithEngagementRate:d().int().nonnegative(),daysWithUserSplit:d().int().nonnegative()}),y8=m({window:p8,bucketDays:z(30),filters:m({hostScope:h8,marketingHosts:y(o()),pathPrefix:o().nullable(),brandTerms:y(o()),queryMixScope:z("property")}),acquisition:m({status:rv,error:o().nullable(),syncedAt:o().datetime().nullable(),periods:y(ch),channels:y(m({channelGroup:o(),periods:y(ch)})),pages:y(m({hostName:o(),landingPage:o(),periods:y(ch)}))}),leads:m({status:rv,error:o().nullable(),syncedAt:o().datetime().nullable(),attributionScope:m8.nullable(),hostAndPathFiltersApplied:N(),periods:y(lv),channels:y(m({channelGroup:o(),periods:y(lv)}))}),engagement:m({status:j(["ready","unavailable"]),availableFromDate:Il.nullable(),latestDate:Il.nullable(),periods:y(g8)}),searchDemand:m({status:j(["ready","unavailable"]),periods:y(f8),queries:y(m({query:o(),classification:j(["branded","non-branded"]),periods:y(cv)})),pages:y(m({hostName:o(),landingPage:o(),periods:y(cv)})),latestDate:Il.nullable()})}),b8=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,v8=/[\0-\x1F\x7F-\x9F]/,x8=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,w8=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var k8=class{src_Any=b8.source;src_Cc=v8.source;src_Z=w8.source;src_P=x8.source;src_ZPCc=[this.src_Z,this.src_P,this.src_Cc].join("|");src_ZCc=[this.src_Z,this.src_Cc].join("|");cache={};opts={maxLength:1e4,urlAuth:!1,schema_names:[]};constructor(e={}){this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,n,i=4){const r=this.escapeRE(e),u=this.escapeRE(n),h=`(?:(?!${this.src_ZCc}|${r}|${u}).)`;let g=`${r}${h}{0,1000}${u}`;for(let b=2;b<=i;b++)g=`${r}(?:${h}|${g}){0,1000}${u}`;return g}get_text_separators(){return this.cache.text_separators??=/[><\uff5c]/}get_pseudo_letter(){return this.cache.src_pseudo_letter??=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`)}get_ipv4_addr(){return this.cache.src_ip4??=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])")}get_ipv6_addr(){const e="[0-9A-Fa-f]{1,4}",n=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return this.cache.src_ip6_addr??=new RegExp(`(?:(?:${e}:){6}${n}|::(?:${e}:){5}${n}|(?:${e})?::(?:${e}:){4}${n}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${n}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${n}|(?:(?:${e}:){0,3}${e})?::${e}:${n}|(?:(?:${e}:){0,4}${e})?::${n}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`)}get_ipv6_url_host(){return this.cache.src_ip6_host??=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`)}get_ipv6_mail_host(){return this.cache.src_ipv6_mail_host??=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`)}get_auth(){return this.cache.src_auth??=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`)}get_port(){return this.cache.src_port??=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?")}get_host_terminator(){return this.cache.src_host_terminator??=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`)}get_path_terminator(){return this.cache.src_path_terminator??=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`)}get_path(){return this.cache.src_path??=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`)}get_mail_name(){return this.cache.src_mail_name??=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}")}get_xn(){return this.cache.src_xn??=new RegExp("xn--[a-z0-9\\-]{1,59}")}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){return this.cache.src_domain_root??=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`)}get_domain(){return this.cache.src_domain??=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`)}get_url_host_port(){return this.cache.url_host_port??=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source)}get_fuzzy_url_host_port(){return this.cache.fuzzy_url_host_port??=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source)}get_mail_host(){return this.cache.src_mail_host??=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source)}get_fuzzy_mail_host(){return this.cache.src_fuzzy_mail_host??=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source)}get_path_extra(){return this.cache.src_path_extra??=new RegExp("")}get_fuzzy_mail_host_search(){return this.cache.mail_fuzzy_host_search??=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig")}get_fuzzy_link_search(){return this.cache.link_fuzzy_search??=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig")}get_http_validator(){return this.cache.http_validator??=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy")}get_relative_proto_validator(){return this.cache.relative_proto_validator??=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy")}get_mail_name_validator(){return this.cache.mail_name_validator??=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`)}get_mailto_validator(){return this.cache.mailto_validator??=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy")}get_schema_names(){return this.cache.schema_names??=new RegExp((this.opts.schema_names||[]).map(e=>this.escapeRE(e)).join("|"))}get_schema_search(){return this.cache.schema_search??=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig")}get_schema_at_start(){return this.cache.schema_at_start??=new RegExp(`^${this.get_schema_search().source}`,"i")}},uh={validate:(e,n,i)=>{const r=i.re.get_http_validator();r.lastIndex=n;const u=r.exec(e);return u?u[0].length:0},normalize:(e,n)=>n.normalize(e)},S8={"http:":uh,"https:":uh,"ftp:":uh,"//":{validate:function(e,n,i){const r=i.re.get_relative_proto_validator();r.lastIndex=n;const u=r.exec(e);return u?n>=3&&e[n-3]===":"||n>=3&&e[n-3]==="/"?0:u[0].length:0},normalize:(e,n)=>n.normalize(e)},"mailto:":{validate:function(e,n,i){const r=i.re.get_mailto_validator();r.lastIndex=n;const u=r.exec(e);return u?u[0].length:0},normalize:(e,n)=>n.normalize(e)}},j8="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",A8="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function C8(){const e=A8.split("|");return j8.split("|").forEach(n=>{const i=n.indexOf(":"),r=n.slice(0,i);for(const u of n.slice(i+1))e.push(r+u)}),e}var N8={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:C8(),urlAuth:!1,maxLength:1e4},uv=class{schema;index;lastIndex;raw;text;url;constructor(e,n,i,r){const u=e.slice(i,r);this.schema=n.toLowerCase(),this.index=i,this.lastIndex=r,this.raw=u,this.text=u,this.url=u}},_8=class{__opts__;__schemas__;re;constructor(e={}){const{rebuilder:n,...i}=e;this.__opts__={...N8,...i},this.__schemas__={...S8},this.re=n||new k8,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,n=null){if(!n)delete this.__schemas__[e];else{const i={normalize:(r,u)=>u.normalize(r),...n};this.__schemas__[e]=i}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let n,i;for(i=this.re.get_schema_search(),i.lastIndex=0;(n=i.exec(e))!==null;)if(this.testSchemaAt(e,n[2],i.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(i=this.re.get_fuzzy_link_search(),i.lastIndex=0,i.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const r=this.re.get_fuzzy_mail_host_search(),u=this.re.get_mail_name_validator();for(r.lastIndex=0;(n=r.exec(e))!==null;){const h=e.slice(Math.max(0,n.index-65),n.index);if(u.test(h))return!0}}return!1}testSchemaAt(e,n,i){return this.__schemas__[n.toLowerCase()]?this.__schemas__[n.toLowerCase()].validate(e.slice(0,i+this.__opts__.maxLength),i,this):0}match(e){const n=[],i=this.re.get_schema_search();let r,u,h,g,b,v,w=!1,S=!1,A=!1,T=0;if(!e.length)return null;for(i.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(r=this.re.get_fuzzy_link_search(),r.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(u=this.re.get_fuzzy_mail_host_search(),u.lastIndex=0,h=this.re.get_mail_name_validator());;){const C=Math.max(T-1,0);if(u&&h&&!A&&(!b||b.index<T))for(u.lastIndex<C&&(u.lastIndex=C);;){const J=u.exec(e);if(!J){A=!0,b=void 0;break}const L=h.exec(e.slice(Math.max(0,J.index-65),J.index));if(L){if(b={schema:"mailto:",index:J.index-L[1].length,lastIndex:J.index+J[0].length},b.index>=T)break;u.lastIndex<C&&(u.lastIndex=C)}}if(r&&!S&&(!g||g.index<T))for(r.lastIndex<C&&(r.lastIndex=C);;){const J=r.exec(e);if(!J){S=!0,g=void 0;break}if(g={schema:"",index:J.index+J[1].length,lastIndex:J.index+J[0].length},g.index>=T)break;r.lastIndex<C&&(r.lastIndex=C)}let F=b;(!F||g&&(g.index<F.index||g.index===F.index&&g.lastIndex>F.lastIndex))&&(F=g);let R;if(!w)for(;;){if(!v){i.lastIndex<C&&(i.lastIndex=C);const le=i.exec(e);if(!le){w=!0;break}v={schema:le[2],index:le.index+le[1].length,lastIndex:le.index+le[0].length}}if(v.index<T){v=void 0;continue}if(F&&v.index>F.index)break;const J=v;v=void 0;const L=this.testSchemaAt(e,J.schema,J.lastIndex);if(L){R={schema:J.schema,index:J.index,lastIndex:J.lastIndex+L};break}}let M=R;if((!M||b&&(b.index<M.index||b.index===M.index&&b.lastIndex>M.lastIndex))&&(M=b),(!M||g&&(g.index<M.index||g.index===M.index&&g.lastIndex>M.lastIndex))&&(M=g),!M)break;M===b?b=void 0:M===g&&(g=void 0);const X=new uv(e,M.schema,M.index,M.lastIndex);X.schema?this.__schemas__[X.schema].normalize(X,this):this.normalize(X),n.push(X),T=M.lastIndex}return n.length?n:null}matchAtStart(e){if(!e.length)return null;const n=this.re.get_schema_at_start().exec(e);if(!n)return null;const i=this.testSchemaAt(e,n[2],n[0].length);if(!i)return null;const r=new uv(e,n[2],n.index+n[1].length,n.index+n[0].length+i);return this.__schemas__[r.schema].normalize(r,this),r}tlds(e,n=!1){return e=Array.isArray(e)?e:[e],n?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const T8=JSON.parse('["aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","ac","academy","accenture","accountant","accountants","aco","actor","ad","ads","adult","ae","aeg","aero","aetna","af","afl","africa","ag","agakhan","agency","ai","aig","airbus","airforce","airtel","akdn","al","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","am","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","ao","aol","apartments","app","apple","aq","aquarelle","ar","arab","aramco","archi","army","arpa","art","arte","as","asda","asia","associates","at","athleta","attorney","au","auction","audi","audible","audio","auspost","author","auto","autos","aw","aws","ax","axa","az","azure","ba","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bb","bbc","bbt","bbva","bcg","bcn","bd","be","beats","beauty","beer","berlin","best","bestbuy","bet","bf","bg","bh","bharti","bi","bible","bid","bike","bing","bingo","bio","biz","bj","black","blackfriday","blockbuster","blog","bloomberg","blue","bm","bms","bmw","bn","bnpparibas","bo","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","br","bradesco","bridgestone","broadway","broker","brother","brussels","bs","bt","build","builders","business","buy","buzz","bv","bw","by","bz","bzh","ca","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","cat","catering","catholic","cba","cbn","cbre","cc","cd","center","ceo","cern","cf","cfa","cfd","cg","ch","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","ci","cipriani","circle","cisco","citadel","citi","citic","city","ck","cl","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","cm","cn","co","coach","codes","coffee","college","cologne","com","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","coop","corsica","country","coupon","coupons","courses","cpa","cr","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cyou","cz","dad","dance","data","date","dating","datsun","day","dclk","dds","de","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dj","dk","dm","dnp","do","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dupont","durban","dvag","dvr","dz","earth","eat","ec","eco","edeka","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","er","ericsson","erni","es","esq","estate","et","eu","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fi","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","fj","fk","flickr","flights","flir","florist","flowers","fly","fm","fo","foo","food","football","ford","forex","forsale","forum","foundation","fox","fr","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","ga","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gb","gbiz","gd","gdn","ge","gea","gent","genting","george","gf","gg","ggee","gh","gi","gift","gifts","gives","giving","gl","glass","gle","global","globo","gm","gmail","gmbh","gmo","gmx","gn","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","gov","gp","gq","gr","grainger","graphics","gratis","green","gripe","grocery","group","gs","gt","gu","gucci","guge","guide","guitars","guru","gw","gy","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hk","hkt","hm","hn","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hr","hsbc","ht","hu","hughes","hyatt","hyundai","ibm","icbc","ice","icu","id","ie","ieee","ifm","ikano","il","im","imamat","imdb","immo","immobilien","in","inc","industries","infiniti","info","ing","ink","institute","insurance","insure","int","international","intuit","investments","io","ipiranga","iq","ir","irish","is","ismaili","ist","istanbul","it","itau","itv","jaguar","java","jcb","je","jeep","jetzt","jewelry","jio","jll","jm","jmp","jnj","jo","jobs","joburg","jot","joy","jp","jpmorgan","jprs","juegos","juniper","kaufen","kddi","ke","kerryhotels","kerryproperties","kfh","kg","kh","ki","kia","kids","kim","kindle","kitchen","kiwi","km","kn","koeln","komatsu","kosher","kp","kpmg","kpn","kr","krd","kred","kuokgroup","kw","ky","kyoto","kz","la","lacaixa","lamborghini","lamer","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lb","lc","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","li","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","live","living","lk","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","lr","ls","lt","ltd","ltda","lu","lundbeck","luxe","luxury","lv","ly","ma","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mc","mckinsey","md","me","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","mg","mh","miami","microsoft","mil","mini","mint","mit","mitsubishi","mk","ml","mlb","mls","mm","mma","mn","mo","mobi","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","mp","mq","mr","ms","msd","mt","mtn","mtr","mu","museum","music","mv","mw","mx","my","mz","na","nab","nagoya","name","navy","nba","nc","ne","nec","net","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nf","nfl","ng","ngo","nhk","ni","nico","nike","nikon","ninja","nissan","nissay","nl","no","nokia","norton","now","nowruz","nowtv","np","nr","nra","nrw","ntt","nu","nyc","nz","obi","observer","office","okinawa","olayan","olayangroup","ollo","om","omega","one","ong","onl","online","ooo","open","oracle","orange","org","organic","origins","osaka","otsuka","ott","ovh","pa","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pe","pet","pf","pfizer","pg","ph","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","pk","pl","place","play","playstation","plumbing","plus","pm","pn","pnc","pohl","poker","politie","porn","post","pr","praxi","press","prime","pro","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","ps","pt","pub","pw","pwc","py","qa","qpon","quebec","quest","racing","radio","re","read","realestate","realtor","realty","recipes","red","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","ro","rocks","rodeo","rogers","room","rs","rsvp","ru","rugby","ruhr","run","rw","rwe","ryukyu","sa","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sb","sbi","sbs","sc","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","sd","se","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","sg","sh","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","si","silk","sina","singles","site","sj","sk","ski","skin","sky","skype","sl","sling","sm","smart","smile","sn","sncf","so","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","sr","srl","ss","st","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","su","sucks","supplies","supply","support","surf","surgery","suzuki","sv","swatch","swiss","sx","sy","sydney","systems","sz","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tc","tci","td","tdk","team","tech","technology","tel","temasek","tennis","teva","tf","tg","th","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tj","tjmaxx","tjx","tk","tkmaxx","tl","tm","tmall","tn","to","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","tr","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tt","tube","tui","tunes","tushu","tv","tvs","tw","tz","ua","ubank","ubs","ug","uk","unicom","university","uno","uol","ups","us","uy","uz","va","vacations","vana","vanguard","vc","ve","vegas","ventures","verisign","vermögensberater","vermögensberatung","versicherung","vet","vg","vi","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vn","vodka","volvo","vote","voting","voto","voyage","vu","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","wf","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","ws","wtc","wtf","xbox","xerox","xihuan","xin","xxx","xyz","yachts","yahoo","yamaxun","yandex","ye","yodobashi","yoga","yokohama","you","youtube","yt","yun","za","zappos","zara","zero","zip","zm","zone","zuerich","zw","ελ","ευ","бг","бел","дети","ею","католик","ком","мкд","мон","москва","онлайн","орг","рус","рф","сайт","срб","укр","қаз","հայ","ישראל","קום","ابوظبي","ارامكو","الاردن","البحرين","الجزائر","السعودية","العليان","المغرب","امارات","ایران","بارت","بازار","بيتك","بھارت","تونس","سودان","سورية","شبكة","عراق","عرب","عمان","فلسطين","قطر","كاثوليك","كوم","مصر","مليسيا","موريتانيا","موقع","همراه","پاکستان","ڀارت","कॉम","नेट","भारत","भारतम्","भारोत","संगठन","বাংলা","ভারত","ভাৰত","ਭਾਰਤ","ભારત","ଭାରତ","இந்தியா","இலங்கை","சிங்கப்பூர்","భారత్","ಭಾರತ","ഭാരതം","ලංකා","คอม","ไทย","ລາວ","გე","みんな","アマゾン","クラウド","グーグル","コム","ストア","セール","ファッション","ポイント","世界","中信","中国","中國","中文网","亚马逊","企业","佛山","信息","健康","八卦","公司","公益","台湾","台灣","商城","商店","商标","嘉里","嘉里大酒店","在线","大拿","天主教","娱乐","家電","广东","微博","慈善","我爱你","手机","招聘","政务","政府","新加坡","新闻","时尚","書籍","机构","淡马锡","游戏","澳門","点看","移动","组织机构","网址","网店","网站","网络","联通","谷歌","购物","通販","集团","電訊盈科","飞利浦","食品","餐厅","香格里拉","香港","닷넷","닷컴","삼성","한국"]');function E8(e,n){return e.endsWith(n)?e.length===n.length||e[e.length-n.length-1]===".":!1}function R8(e,n){const i=e.length-n.length-2,r=e.lastIndexOf(".",i);return r===-1?e:e.slice(r+1)}function z8(e,n,i){if(i.validHosts!==null){const u=i.validHosts;for(const h of u)if(E8(n,h))return h}let r=0;if(n.startsWith("."))for(;r<n.length&&n[r]===".";)r+=1;return e.length===n.length-r?null:R8(n,e)}function D8(e,n){return e.slice(0,-n.length-1)}const dh=/[\t\n\r]/g;let Lh=!1;function dv(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function mv(e,n,i){const r=i-n,u=e.charCodeAt(n)|32;if(r===2)return u===119&&(e.charCodeAt(n+1)|32)===115?1:0;if(r===3){const h=e.charCodeAt(n+1)|32,g=e.charCodeAt(n+2)|32;return u===119&&h===115&&g===115||u===102&&h===116&&g===112?1:0}else if(r===4){const h=e.charCodeAt(n+1)|32,g=e.charCodeAt(n+2)|32,b=e.charCodeAt(n+3)|32;return u===104&&h===116&&g===116&&b===112?1:u===102&&h===105&&g===108&&b===101?2:0}else if(r===5)return u===104&&(e.charCodeAt(n+1)|32)===116&&(e.charCodeAt(n+2)|32)===116&&(e.charCodeAt(n+3)|32)===112&&(e.charCodeAt(n+4)|32)===115?1:0;return 0}function Pl(e,n,i=!1){let r=0,u=e.length,h=!1,g=!1;if(Lh=!1,!n){if(e.startsWith("data:"))return null;for(;r<e.length&&e.charCodeAt(r)<=32;)r+=1;for(;u>r+1&&e.charCodeAt(u-1)<=32;)u-=1;if(e.charCodeAt(r)===47&&e.charCodeAt(r+1)===47)r+=2;else{const M=e.indexOf(":/",r);if(M!==-1){const X=mv(e,r,M);if(X===1)for(g=!0,r=M+2;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1;else if(X===2){g=!0,r=M+1;let J=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&J<2;)r+=1,J+=1;if(J<2)return null}else{for(let J=r;J<M;J+=1){const L=e.charCodeAt(J)|32;if(!(L>=97&&L<=122||L>=48&&L<=57||L===46||L===45||L===43)){const le=e.charCodeAt(J);return le===9||le===10||le===13?Pl(e.replace(dh,""),n,i):null}}if(e.charCodeAt(M+2)===47)r=M+3;else return null}}else if(e.charCodeAt(r)!==91){let X=-1;for(let J=r;J<u;J+=1){const L=e.charCodeAt(J);if(L===9||L===10||L===13)return Pl(e.replace(dh,""),n,i);if(L===58){X=J;break}if(L===47||L===92||L===63||L===35)break}if(X!==-1){let J=!1;for(let L=X+1;L<u;L+=1){const le=e.charCodeAt(L);if(le===47||le===92||le===63||le===35)break;if(le===64){J=!0;break}}if(!J){let L=!0,le=X+1;for(;le<u;le+=1){const ie=e.charCodeAt(le);if(ie===47||ie===92||ie===63||ie===35)break;if(ie<48||ie>57){L=!1;break}}if(le===X+1&&(L=!1),!L){const ie=mv(e,r,X);if(ie===0){let re=!1;for(let H=X+1;H<u;H+=1){const K=e.charCodeAt(H);if(K===47||K===92||K===63||K===35)break;if(K===58){re=!0;break}}if(!re)return null}else if(g=!0,r=X+1,ie===2){let re=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&re<2;)r+=1,re+=1;if(re<2)return null}else for(;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1}}}}}let v=-1,w=-1,S=-1,A=-1,T=!1,C=i,F=r-1,R=-1;if(i&&r<u){const M=e.charCodeAt(r);(!(dv(M)||M===46||M===95)||M===45)&&(C=!1)}for(let M=r;M<u;M+=1){const X=e.charCodeAt(M);if(X<64)if(X===47||X===35||X===63){u=M;break}else X===58?(A===-1&&(A=M),S=M):X===9||X===10||X===13?T=!0:i&&(X===46?((M-F>64||R===46||R===45)&&(C=!1),F=M):(X<48||X>57)&&(X!==45||R===46)&&(C=!1));else if(g&&X===92){u=M;break}else X===64?(v=M,A=-1):X===93?w=M:X>=65&&X<=90?h=!0:i&&!dv(X)&&(C=!1);i&&(R=X)}if(T)return Pl(e.replace(dh,""),n,i);if(v!==-1&&v>=r&&v<u&&(r=v+1),e.charCodeAt(r)===91)return w!==-1?e.slice(r+1,w).toLowerCase():null;if(S!==-1&&S>r&&S<u&&A===S&&(u=S),r>=u)return null;i&&C&&v===-1&&S===-1&&w===-1&&e.charCodeAt(u-1)!==46&&u-r<=255&&u-F-1<=63&&R!==45&&(Lh=!0)}for(;u>r+1&&e.charCodeAt(u-1)===46;)u-=1;const b=r!==0||u!==e.length?e.slice(r,u):e;return h?b.toLowerCase():b}function O8(e){if(e.length<7||e.length>15)return!1;let n=0;for(let i=0;i<e.length;i+=1){const r=e.charCodeAt(i);if(r===46)n+=1;else if(r<48||r>57)return!1}return n===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function q8(e){if(e.length<3)return!1;let n=e.startsWith("[")?1:0,i=e.length;if(e[i-1]==="]"&&(i-=1),i-n>39)return!1;let r=!1;for(;n<i;n+=1){const u=e.charCodeAt(n);if(u===58)r=!0;else if(!(u>=48&&u<=57||u>=97&&u<=102||u>=65&&u<=70))return!1}return r}function I8(e){return q8(e)||O8(e)}const P8=["test","localhost","invalid","example","example.com","example.net","example.org","local","onion","alt","home.arpa","ipv4only.arpa","resolver.arpa","service.arpa","6tisch.arpa","eap.arpa"];function M8(e){for(const n of P8)if(e.endsWith(n)&&(e.length===n.length||e.charCodeAt(e.length-n.length-1)===46))return!0;return!1}function pv(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function hv(e){if(e.length>255||e.length===0||!pv(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let n=-1,i=-1;const r=e.length;for(let u=0;u<r;u+=1){const h=e.charCodeAt(u);if(h===46){if(u-n>64||i===46||i===45)return!1;n=u}else if(!(pv(h)||h===45||h===95)||h===45&&i===46)return!1;i=h}return r-n-1<=63&&i!==45}function uk({allowIcannDomains:e=!0,allowPrivateDomains:n=!1,detectIp:i=!0,detectSpecialUse:r=!1,extractHostname:u=!0,mixedInputs:h=!0,validHosts:g=null,validateHostname:b=!0}){return{allowIcannDomains:e,allowPrivateDomains:n,detectIp:i,detectSpecialUse:r,extractHostname:u,mixedInputs:h,validHosts:g,validateHostname:b}}const B8=uk({});function L8(e){return e===void 0?B8:uk(e)}function V8(e,n){return n.length===e.length?"":e.slice(0,-n.length-1)}function $8(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function dk(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.isSpecialUse=null,e.publicSuffix=null,e.subdomain=null}function mk(e,n,i,r,u){const h=L8(r);if(typeof e!="string")return u;let g=!1;return h.extractHostname?h.mixedInputs?(g=hv(e),u.hostname=Pl(e,g,h.validateHostname)):u.hostname=Pl(e,!1,h.validateHostname):u.hostname=e,h.detectIp&&u.hostname!==null&&(u.isIp=I8(u.hostname),u.isIp)?u:h.validateHostname&&h.extractHostname&&u.hostname!==null&&!(g&&u.hostname===e)&&!Lh&&!hv(u.hostname)?(u.hostname=null,u):(n===0||u.hostname===null||(n===5&&h.detectSpecialUse&&(u.isSpecialUse=M8(u.hostname)),i(u.hostname,h,u),n===2||u.publicSuffix===null)||(u.domain=z8(u.publicSuffix,u.hostname,h),n===3||u.domain===null)||(u.subdomain=V8(u.hostname,u.domain),n===4)||(u.domainWithoutSuffix=D8(u.domain,u.publicSuffix)),u)}function U8(e,n,i){if(!n.allowPrivateDomains&&e.length>3){const r=e.length-1,u=e.charCodeAt(r),h=e.charCodeAt(r-1),g=e.charCodeAt(r-2),b=e.charCodeAt(r-3);if(u===109&&h===111&&g===99&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="com",!0;if(u===103&&h===114&&g===111&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="org",!0;if(u===117&&h===100&&g===101&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="edu",!0;if(u===118&&h===111&&g===103&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="gov",!0;if(u===116&&h===101&&g===110&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="net",!0;if(u===101&&h===100&&g===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="de",!0}return!1}const Ys=new Uint8Array([1,2,1,1,1,1,1,1,1,1,1,1,0,2,2,2,0,2,2,0,2,0,0,1,0,0,2,1,1,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,0,2,0,0,0,0,0,0,0,2,0,2,2,0,0,2,2,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,2,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,0,2,2,0,0,0,2,0,1,1,0,2,0,2,2,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,2,2,0,2,2,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,2,0,2,2,2,2,0,0,0,0,2,0,0,0,0,0,0,2,2,0,0,0,2,2,1,1,1,1,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,2,2,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,1,2,1,1,1,2,1,1,1,1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0]),Yu=new Uint16Array([0,0,0,10,11,18,106,111,117,124,130,136,145,146,147,148,149,150,151,153,154,155,157,159,226,239,241,242,243,258,265,266,269,270,271,274,276,295,296,298,307,312,313,331,332,335,337,338,340,374,375,377,380,381,385,387,391,394,426,429,442,443,451,452,454,464,478,479,480,489,490,527,532,548,568,574,615,616,643,670,671,819,825,828,829,830,835,840,849,871,872,873,874,875,876,877,895,897,898,901,903,904,906,908,923,938,943,944,946,947,948,949,950,952,955,960,961,962,964,965,968,971,972,973,986,988,1e3,1011,1019,1021,1061,1064,1068,1069,1071,1074,1085,1087,1097,1099,1105,1107,1108,1110,1113,1114,1115,1167,1169,1171,1191,1192,1193,1194,1196,1207,1238,1249,1261,1270,1277,1282,1295,1306,1319,1320,1331,1365,1366,1367,1382,1397,1469,1470,1472,1473,1507,1508,1509,1512,1516,1518,1547,1548,1556,1557,1558,1560,1562,1563,1565,1566,1567,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1594,1595,1596,1598,2053,2056,2057,2059,2066,2073,2083,2087,2098,2099,2100,2112,2113,2115,2117,2118,2125,2126,2128,2129,2131,2132,2133,2134,2135,2209,2211,2232,2233,2234,2236,2262,2263,2314,2315,2317,2324,2330,2340,2350,2403,2404,2405,2415,2429,2430,2433,2440,2441,2449,2450,2451,2452,2453,2464,2465,2466,2468,2469,2470,2471,2473,2483,2495,2501,2533,2537,2539,2540,2542,2543,2554,2555,2557,2565,2572,2578,2583,2584,2590,2593,2599,2606,2607,2614,2622,2623,2624,2662,2668,2683,2684,2689,2707,2738,2756,2758,2761,2769,2771,2778,2830,2854,2855,2856,2857,2858,2859,2860,2861,2868,2869,2870,2871,2872,2873,2875,2876,2880,2964,2977,2978,3414,3418,3432,3484,3512,3534,3592,3614,3629,3692,3743,3781,3817,3842,3984,4030,4081,4100,4134,4149,4169,4199,4230,4253,4284,4314,4346,4373,4448,4470,4508,4518,4552,4571,4597,4639,4689,4715,4784,4785,4787,4810,4833,4869,4900,4917,4974,4987,5011,5040,5042,5076,5092,5120,5425,5434,5443,5450,5467,5471,5477,5516,5518,5525,5532,5541,5548,5549,5560,5563,5578,5579,5588,5589,5598,5607,5613,5615,5616,5617,5653,5654,5656,5664,5671,5684,5688,5690,5691,5697,5704,5718,5728,5733,5741,5749,5755,5756,5760,5762,5763,5775,5776,5777,5778,5780,5781,5784,5786,5789,5793,5794,5800,5801,5802,5804,5806,5808,5809,5810,5813,5815,5818,5819,5821,6019,6026,6027,6037,6042,6059,6073,6082,6083,6084,6088,6089,6091,6093,6099,6100,6103,6104,6106,6107,6108,7008,7009,7013,7031,7040,7043,7050,7051,7053,7054,7055,7057,7109,7110,7113,7114,7231,7232,7243,7254,7261,7264,7273,7274,7275,7290,7345,7536,7538,7539,7541,7546,7559,7574,7581,7590,7593,7596,7603,7611,7615,7616,7617,7631,7635,7644,7645,7646,7650,7685,7686,7703,7710,7718,7719,7724,7732,7776,7777,7783,7786,7797,7802,7803,7806,7839,7840,7846,7853,7854,7863,7872,7887,7891,7943,7944,7949,7951,7954,7956,7957,7958,7967,7981,7989,8003,8015,8016,8018,8020,8042,8053,8059,8060,8072,8084,8171,8183,8185,8194,8197,8203,8228,8231,8232,8233,8235,8238,8241,8252,8254,8256,8284,8358,8365,8369,8370,8379,8401,8402,8407,8408,8487,8489,8491,8500,8504,8510,8516,8522,8532,8537,8538,8556,8567,8572,8577,8587,8593,8597,8603,8609,10217,10218,10219,10226,10228]),Xu=new Uint8Array([3,3,3,3,3,3,3,3,5,8,8,2,2,3,3,3,3,3,8,5,5,5,5,5,3,3,5,5,9,12,19,8,19,8,11,9,9,8,7,7,6,8,9,16,10,7,7,11,8,6,6,9,7,11,7,14,4,4,4,4,4,4,10,7,6,6,6,6,10,10,6,10,10,22,11,9,10,10,10,9,10,8,7,7,7,8,21,13,11,11,9,10,9,13,10,8,8,9,12,9,7,10,7,7,13,7,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,8,6,3,3,3,3,3,3,2,5,3,3,3,7,2,2,2,2,2,2,3,3,3,1,1,7,8,5,2,2,7,2,2,1,4,1,11,9,9,5,5,8,5,5,5,5,5,5,5,3,3,3,3,3,5,11,9,9,13,7,14,7,6,6,6,7,6,6,6,6,6,10,7,11,9,4,4,4,4,4,4,6,6,6,6,6,8,7,10,9,9,9,8,9,8,10,6,9,9,8,10,10,7,8,1,9,10,12,12,12,10,9,9,10,10,9,9,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,6,6,6,4,3,3,3,7,4,4,4,3,3,6,7,3,4,1,2,2,2,6,1,2,2,2,2,2,12,5,3,8,9,13,4,4,13,9,9,11,7,3,12,9,2,2,2,3,3,3,3,3,8,2,2,3,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,3,7,10,15,7,15,15,20,15,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,7,8,6,8,8,6,8,13,8,8,6,13,8,11,13,8,6,13,8,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,9,9,9,10,14,14,11,13,13,9,9,9,9,9,9,2,6,9,2,2,3,3,3,3,3,3,3,3,3,4,4,4,2,3,3,3,3,3,3,7,7,2,3,2,2,5,3,3,3,3,3,3,4,2,2,2,2,2,2,3,3,3,3,3,3,3,4,5,7,2,2,12,8,10,8,10,7,18,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,2,3,3,3,5,5,3,8,8,6,8,6,6,4,6,7,7,7,10,11,2,5,5,3,3,3,3,3,3,5,5,6,11,10,7,7,7,4,4,4,2,3,3,3,3,3,2,7,5,5,3,3,3,3,3,3,3,3,7,7,7,11,7,6,9,6,6,8,10,8,6,8,13,4,4,4,4,4,10,8,11,8,8,8,10,10,7,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,10,13,7,8,7,11,8,8,6,9,8,8,6,6,6,8,8,6,6,6,6,6,9,7,6,4,4,4,4,4,4,4,6,6,6,9,7,8,10,8,8,2,3,3,3,3,3,2,8,9,9,2,2,2,3,3,3,2,3,3,3,9,2,2,3,3,3,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,5,5,3,5,4,2,3,2,4,3,9,2,2,2,2,2,5,5,3,8,8,13,6,10,9,4,7,9,11,2,3,7,3,3,4,1,3,4,2,9,3,3,12,5,3,7,10,10,7,4,4,6,14,7,9,7,13,2,2,2,2,2,2,3,3,3,3,3,8,15,4,4,2,3,3,3,7,4,9,9,2,3,3,3,5,3,2,2,7,2,7,6,6,7,2,4,2,2,2,2,2,2,8,8,8,9,5,2,3,3,3,3,3,3,10,7,4,4,4,4,3,4,2,3,3,3,3,3,10,7,4,4,4,4,2,3,3,3,3,10,7,4,4,4,4,3,9,6,6,6,9,13,9,2,2,2,8,7,9,5,3,3,3,5,5,12,9,10,7,8,7,6,8,6,11,12,7,9,10,4,4,7,8,11,6,7,9,8,7,10,8,9,15,7,8,5,4,7,2,3,3,3,2,14,10,2,14,10,2,14,3,9,13,13,10,14,16,17,11,2,14,2,14,3,9,13,10,14,16,17,11,14,10,14,2,7,3,10,7,14,10,2,14,10,9,9,17,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,10,10,10,12,9,4,10,11,8,8,8,7,9,5,3,3,3,3,3,3,3,3,5,8,4,4,4,4,4,4,6,16,3,3,14,3,14,2,14,9,13,10,10,14,16,17,11,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,9,9,9,9,9,9,2,14,9,13,10,10,14,16,17,11,6,2,14,9,17,13,10,10,14,16,17,11,6,2,14,9,13,10,14,16,17,11,2,14,9,13,10,16,11,2,14,10,19,7,2,14,9,13,10,19,10,7,14,16,17,11,6,2,14,9,13,10,19,7,14,16,17,11,2,14,9,13,17,13,10,10,14,16,17,11,6,3,2,14,9,13,10,10,14,16,17,11,6,9,10,12,14,14,14,12,12,12,12,12,14,14,14,10,10,10,14,9,9,9,9,14,14,14,13,13,14,9,9,9,9,9,9,4,11,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,9,10,10,7,17,3,3,12,12,16,15,15,12,14,14,14,20,20,13,12,12,12,12,12,12,20,25,14,14,12,12,10,10,10,10,9,9,9,25,4,9,17,10,7,14,16,21,13,13,14,20,14,13,17,24,9,12,13,25,13,21,20,17,9,9,9,9,9,9,12,17,4,4,9,9,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,1,8,7,11,11,1,3,3,3,4,8,9,10,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,7,4,4,4,4,4,4,4,4,4,4,9,12,6,14,4,12,7,2,2,1,2,7,6,4,4,4,6,8,8,7,4,5,6,3,3,3,3,4,16,8,3,5,4,3,3,3,5,2,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,12,7,7,13,9,10,12,8,9,7,8,5,12,10,13,14,5,5,5,13,5,5,5,3,3,3,5,16,5,5,5,5,5,7,12,14,8,12,8,10,12,9,11,7,9,7,10,7,13,9,7,12,8,17,7,7,16,10,13,13,8,10,10,14,17,7,16,16,15,8,10,10,12,17,7,17,14,7,10,17,8,7,7,7,8,15,15,7,14,10,10,10,11,11,7,7,13,8,10,7,16,7,8,7,14,17,12,10,11,21,8,9,7,13,9,8,13,6,12,7,6,13,10,10,10,8,18,9,17,13,10,12,6,13,6,11,8,13,10,13,18,13,11,13,8,16,7,10,8,16,12,10,8,8,6,14,11,8,15,8,8,7,7,12,7,8,9,14,15,8,9,10,9,15,7,8,8,12,13,9,10,15,15,13,7,10,10,20,7,6,9,6,6,14,11,14,11,12,9,10,16,16,12,7,11,28,8,11,10,7,21,8,7,9,4,4,4,17,7,8,6,9,6,6,13,6,6,6,6,18,20,14,8,11,12,9,10,13,15,19,8,9,12,7,10,16,12,9,9,9,14,12,11,9,12,11,18,9,9,9,10,7,7,16,8,9,7,13,12,10,18,7,8,11,7,7,8,8,13,7,7,7,11,15,13,11,7,8,15,11,7,8,18,14,13,18,15,10,12,12,9,7,11,11,8,7,10,8,14,12,10,18,7,10,9,7,8,13,10,14,9,10,8,8,23,7,7,11,12,12,17,7,7,11,11,17,16,16,7,8,11,14,14,8,10,7,7,16,16,13,9,11,9,15,15,11,11,7,7,14,7,9,7,7,16,10,13,10,11,14,7,11,10,11,7,11,10,11,15,11,15,10,12,17,10,14,13,11,11,12,13,10,7,13,10,16,12,21,9,10,10,7,11,14,17,7,7,8,11,12,8,15,14,14,8,17,12,10,10,7,9,11,7,10,7,11,18,7,11,7,12,11,8,8,14,12,7,8,15,3,7,7,5,2,9,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,5,3,3,3,3,3,3,4,4,3,3,3,3,3,3,5,11,6,4,7,10,7,7,11,1,10,2,2,3,3,3,3,3,3,3,3,5,7,3,5,6,3,3,5,2,2,5,3,4,13,11,3,3,6,3,5,14,2,2,3,8,2,2,12,5,18,5,3,3,3,16,5,5,5,10,7,13,12,13,9,12,14,19,9,9,21,9,9,10,6,9,6,15,10,6,12,8,6,10,15,4,4,6,6,9,9,12,16,14,23,7,7,7,14,9,7,7,11,14,10,7,10,10,10,12,6,11,10,13,11,15,11,7,12,10,3,7,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,3,7,2,5,5,3,3,5,5,5,5,7,6,6,6,4,4,4,4,4,4,6,6,6,6,6,7,10,2,2,2,5,5,5,5,3,3,3,3,3,5,5,10,9,11,8,7,12,8,9,7,6,13,11,6,13,7,9,9,4,4,4,4,4,4,6,10,7,8,13,8,8,9,14,8,10,7,7,7,9,6,9,7,2,12,5,3,3,13,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,4,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,4,4,4,4,4,4,4,4,4,9,3,3,3,3,3,3,3,3,3,3,4,2,2,2,5,3,3,3,3,3,3,3,3,4,4,1,7,6,4,12,3,3,3,3,3,8,7,3,3,3,3,3,3,4,4,11,14,2,8,3,5,5,8,10,8,6,4,7,17,7,4,5,2,6,3,5,2,4,4,2,12,5,5,3,15,13,10,8,11,2,2,3,3,3,3,3,3,3,3,4,4,5,3,3,3,3,4,18,2,12,5,3,3,3,3,3,5,16,8,8,9,6,6,4,4,4,4,31,6,6,10,11,21,10,9,7,10,7,7,2,4,4,4,4,6,5,3,3,4,3,3,3,3,3,3,3,3,3,6,6,6,2,2,2,5,3,3,3,7,7,4,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,8,2,3,3,3,3,3,5,9,11,3,3,3,3,4,4,3,3,3,3,3,5,10,9,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,11,10,10,10,10,10,11,10,11,10,11,10,9,9,11,3,3,3,3,3,3,5,3,7,8,8,7,6,6,11,4,4,4,7,8,9,9,2,3,7,4,4,2,5,5,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,2,2,5,5,5,5,5,3,3,5,5,5,7,7,6,6,6,4,4,4,4,4,4,4,4,4,4,6,6,8,8,1,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,6,9,12,3,7,10,7,2,2,3,3,3,3,3,4,3,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,6,6,8,6,7,4,4,4,4,4,4,6,7,5,5,20,19,8,10,9,7,10,6,8,11,6,6,6,6,13,12,8,6,7,14,11,9,2,5,3,3,6,2,3,2,2,2,2,2,2,2,5,4,3,7,6,4,7,4,3,6,4,7,2,7,7,7,5,5,5,5,3,3,3,3,3,3,3,3,3,3,5,9,10,10,8,11,7,8,20,7,8,9,8,12,6,6,6,8,9,8,12,6,6,8,13,10,12,6,6,7,7,8,9,6,4,4,4,4,4,4,4,10,6,6,6,7,14,11,10,7,8,10,8,11,14,11,11,9,7,9,8,11,9,17,10,9,2,2,2,9,3,3,3,3,15,14,9,5,5,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,15,12,22,19,17,18,18,19,21,7,16,16,5,5,5,5,5,5,5,5,5,5,5,7,5,5,5,5,5,5,5,5,5,5,5,9,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,7,16,11,11,7,7,7,7,17,7,8,12,15,9,19,7,19,8,16,21,11,12,19,14,22,7,7,7,7,7,7,7,7,7,7,7,16,16,19,24,12,7,14,7,12,7,8,10,10,13,7,12,12,7,7,10,18,15,12,16,7,14,12,17,10,16,17,12,17,25,7,7,7,13,6,9,6,9,18,6,6,11,20,10,6,6,6,6,6,6,6,17,6,6,6,15,6,6,6,6,6,8,14,11,12,15,13,19,17,21,7,18,8,13,13,8,12,8,6,6,13,6,15,15,16,6,6,16,6,6,6,14,6,18,6,6,6,17,18,9,13,15,8,19,8,15,15,18,14,16,4,4,4,4,4,4,4,4,4,4,4,4,6,11,10,11,6,21,23,12,17,12,11,14,13,22,15,15,11,12,14,12,7,12,8,14,12,18,10,8,16,19,17,12,14,15,8,9,19,17,12,13,13,15,18,13,23,24,23,21,17,24,8,21,8,14,14,16,14,8,8,15,20,8,19,21,9,8,13,12,13,15,11,8,11,9,9,8,11,8,21,14,21,15,15,13,7,19,7,7,7,7,7,7,16,12,17,18,7,7,11,11,7,9,9,2,2,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,4,5,5,5,5,5,5,5,5,3,3,10,10,7,9,7,7,7,6,8,6,6,6,6,6,6,6,7,6,8,6,6,9,7,7,7,4,4,4,4,4,4,4,4,8,9,8,7,8,7,8,10,7,5,5,5,5,5,5,3,9,7,7,8,6,6,6,6,6,6,6,6,9,6,6,9,11,13,7,8,9,9,5,5,5,7,8,6,6,6,6,6,6,6,7,8,9,7,10,9,10,7,8,5,5,5,5,5,5,7,7,9,8,7,7,6,6,6,6,6,6,10,6,6,6,6,6,6,6,6,6,6,6,9,10,4,4,4,4,8,7,7,10,10,9,8,8,15,9,8,8,8,8,8,9,10,9,10,7,8,13,5,5,5,5,5,3,3,7,7,8,6,6,6,4,4,11,9,7,8,9,10,7,5,5,5,5,5,3,3,7,6,6,13,7,9,8,7,5,5,5,5,5,5,5,5,3,3,3,3,7,8,7,8,13,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,6,6,6,6,7,6,7,6,6,9,7,4,4,4,4,4,4,4,7,8,7,8,9,8,8,8,7,10,7,8,5,5,5,5,5,5,5,5,3,7,7,7,7,9,7,10,9,6,6,6,6,6,8,8,6,6,6,7,6,6,6,9,9,4,4,13,7,10,9,9,12,7,8,8,10,8,8,8,8,8,8,5,5,5,5,3,7,7,11,7,9,8,8,6,6,10,6,8,8,8,6,7,6,6,12,4,4,4,4,4,4,4,4,4,9,8,8,16,8,9,8,7,5,5,5,5,5,3,3,7,7,7,10,15,8,9,8,9,9,6,6,6,6,6,6,7,4,8,7,8,8,7,8,11,8,5,5,5,5,5,3,7,7,6,11,16,7,6,4,4,4,4,9,9,8,8,8,13,12,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,7,8,8,9,13,7,7,7,9,8,8,9,12,7,12,7,12,8,7,10,12,9,9,6,6,8,8,6,6,6,6,6,6,6,9,8,9,11,8,6,6,6,6,6,12,7,6,6,6,9,7,7,6,6,6,6,6,11,9,6,6,6,6,6,7,9,4,4,4,4,4,4,4,4,9,9,9,9,7,7,7,7,7,11,7,7,8,8,8,8,8,8,9,8,9,9,7,7,11,11,7,12,8,8,8,8,8,7,8,8,8,8,8,13,12,8,8,8,8,7,7,7,9,5,5,5,5,5,5,5,3,3,7,7,11,7,8,8,8,6,6,6,6,6,6,6,6,6,6,6,10,11,6,7,9,4,4,4,4,4,4,9,9,8,9,8,8,8,7,7,5,5,5,5,5,5,5,5,5,5,3,3,11,7,7,7,9,6,6,11,8,10,6,6,6,12,8,8,7,6,6,8,7,4,4,4,4,4,4,4,4,9,10,9,9,8,10,9,11,8,5,5,5,7,6,6,8,7,4,4,4,4,8,7,7,8,7,8,8,5,5,5,5,7,7,8,8,8,6,6,6,6,6,10,8,9,13,6,7,6,6,8,7,8,4,4,4,4,11,8,8,8,10,5,5,8,7,8,13,8,7,6,8,6,9,7,8,7,5,5,5,5,5,5,3,3,7,8,9,6,4,8,10,10,8,12,9,13,2,7,5,5,5,5,5,7,7,10,6,6,6,6,6,6,6,8,4,4,9,8,8,8,14,8,8,8,9,8,5,5,5,5,5,3,3,9,6,6,6,6,10,12,6,6,6,6,6,6,6,4,4,4,4,11,8,7,8,8,8,5,5,3,3,3,3,7,7,6,8,6,8,11,7,6,6,6,7,4,8,11,9,10,5,5,5,3,3,3,7,7,8,9,8,15,9,6,6,6,6,6,6,11,11,4,4,4,4,4,7,9,9,10,8,7,5,5,5,5,5,5,3,3,8,6,6,6,6,6,6,6,6,6,9,7,4,4,4,4,4,9,9,8,8,10,13,5,5,5,3,17,7,7,7,7,7,8,6,8,13,6,6,6,6,6,6,6,6,4,4,4,9,10,8,8,8,5,5,5,5,3,7,7,7,8,8,6,6,6,8,8,8,9,10,8,4,8,10,9,8,8,8,9,13,10,5,5,5,5,5,5,5,5,5,5,3,3,7,8,9,9,7,7,7,10,9,9,8,9,8,8,8,6,6,6,6,6,6,6,6,6,6,6,6,6,8,12,6,6,6,6,6,6,6,6,6,12,4,4,4,4,4,4,4,4,4,4,4,11,8,8,9,9,10,8,9,7,7,5,5,5,5,5,5,3,7,8,7,6,6,8,6,6,10,4,7,8,9,12,8,7,7,5,5,5,5,5,5,3,3,7,14,7,9,8,8,6,6,8,12,12,6,6,7,7,10,4,4,4,4,4,9,9,14,9,13,8,7,5,5,5,6,6,6,7,4,8,7,5,5,5,5,5,5,5,5,3,3,7,7,7,8,6,6,6,6,6,6,12,6,6,6,6,4,4,9,9,8,8,11,7,7,7,5,5,5,3,9,8,6,6,7,4,4,4,4,4,4,8,8,11,5,5,5,7,7,7,9,6,6,6,6,6,6,9,8,4,4,4,4,7,12,9,8,8,8,7,10,10,5,5,5,5,5,5,5,3,11,14,8,7,8,8,6,6,6,6,6,8,7,6,6,6,7,6,8,9,4,4,4,7,8,9,7,9,7,7,9,8,5,5,5,5,5,5,5,5,5,11,3,9,7,7,12,14,8,6,6,12,11,8,6,6,6,6,6,6,6,6,6,15,7,4,4,4,16,9,9,9,8,9,9,9,9,9,8,8,8,13,11,8,5,5,5,5,3,7,6,6,8,8,8,6,6,7,10,7,4,4,4,4,9,7,8,7,7,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,7,7,7,9,6,6,6,6,6,8,8,7,7,9,6,6,6,7,6,6,6,6,6,15,4,4,4,4,4,8,8,7,8,12,9,8,8,8,8,8,9,8,8,10,8,8,8,8,16,9,10,2,5,5,5,5,5,5,5,9,7,6,8,9,4,4,4,4,4,7,8,8,8,9,8,11,10,5,5,5,5,3,7,8,6,6,6,6,6,8,6,6,6,6,4,12,10,12,7,7,7,7,7,7,7,5,5,5,5,3,3,7,7,10,8,9,7,6,10,7,6,6,4,4,8,9,7,9,9,9,9,8,8,8,8,10,5,5,5,5,5,5,8,7,6,6,6,10,6,7,10,7,4,4,4,4,4,4,4,12,9,10,7,7,10,8,10,5,12,9,6,6,6,6,6,7,6,4,4,4,10,9,9,8,7,7,5,5,5,5,5,5,3,3,13,7,7,9,7,7,7,8,9,9,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,15,15,4,4,4,4,4,10,10,9,8,9,8,8,9,7,8,7,8,5,5,7,6,6,6,4,4,4,7,8,11,8,5,5,5,5,5,5,5,7,6,6,6,6,6,6,9,11,10,7,4,4,4,9,8,8,5,5,5,5,5,9,9,6,6,6,6,6,6,6,9,9,4,4,4,4,8,8,8,9,9,8,8,8,13,2,4,2,7,5,5,5,5,5,5,9,9,6,6,6,6,10,8,8,8,6,6,6,4,4,9,8,10,8,9,8,8,8,9,8,8,5,3,3,3,11,6,6,6,7,6,6,6,4,4,9,8,5,5,5,5,5,3,11,8,6,6,6,6,6,9,7,4,4,14,10,9,8,12,8,8,8,11,15,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,11,11,10,10,7,7,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,3,3,3,7,11,7,7,11,11,7,8,9,10,7,7,9,9,9,9,7,7,10,8,13,8,8,8,8,11,10,6,6,8,10,11,14,14,6,6,6,6,6,6,9,11,7,7,6,8,12,11,11,6,6,10,6,6,6,6,6,10,7,7,6,6,11,6,6,6,11,8,9,7,6,10,11,9,10,11,7,11,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,6,6,8,9,10,9,6,6,6,10,6,6,6,6,11,10,11,10,9,8,7,7,7,7,11,14,8,10,9,9,8,8,7,11,8,8,8,11,11,10,10,9,10,8,11,10,8,11,9,12,8,10,8,11,8,9,9,11,11,10,11,13,8,7,8,8,9,7,8,8,8,8,7,8,2,2,2,2,2,2,2,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,8,6,4,4,4,11,7,11,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,5,3,3,3,3,8,7,7,8,8,4,8,7,7,7,9,7,8,9,8,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,6,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,4,5,5,3,8,8,6,9,4,4,10,7,3,3,3,2,5,3,3,3,3,3,3,3,3,3,3,3,3,4,3,2,2,2,3,3,3,3,3,4,10,2,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,2,2,3,3,3,5,2,4,2,6,2,2,9,5,5,3,3,3,3,3,3,3,5,5,5,9,8,7,6,6,11,4,4,4,4,4,4,4,4,6,6,7,7,11,8,8,6,5,11,2,3,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,6,4,4,4,4,3,3,3,3,5,7,2,3,3,3,3,3,8,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,6,4,4,4,4,2,2,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,2,3,3,3,3,3,6,3,3,8,10,3,4,4,1,1,1,1,1,1,1,8,9,10,7,7,1,1,3,8,7,7,8,8,8,1,6,1,1,6,3,3,4,7,3,5,5,4,4,4,4,4,2,7,7,8,12,3,4,5,1,3,4,4,10,4,3,3,3,8,7,7,2,2,2,2,2,2,2,2,2,12,9,20,7,5,5,5,9,13,5,5,5,5,5,3,3,3,16,5,5,5,13,7,8,8,11,8,7,9,7,11,12,9,9,8,8,11,10,14,7,12,10,11,13,7,9,11,17,17,14,13,7,8,7,10,10,7,16,13,7,8,17,12,9,8,6,7,10,6,6,12,6,8,10,8,8,8,6,8,6,14,6,6,6,13,6,10,6,6,7,14,8,6,6,10,11,10,9,9,7,7,6,6,6,9,9,7,9,10,9,13,12,4,4,4,4,4,4,4,4,4,6,6,6,8,8,6,8,9,10,9,7,10,10,8,7,8,7,10,12,9,8,15,8,7,8,8,7,7,15,13,7,10,9,14,18,16,7,24,7,8,10,11,16,8,14,7,9,9,9,11,13,19,14,15,14,11,7,13,9,10,7,13,9,10,11,12,8,9,2,3,5,8,7,4,4,10,5,3,3,3,3,3,5,4,4,4,2,2,2,2,2,1,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,4,2,12,5,3,8,10,15,6,7,2,3,2,5,5,12,2,5,5,5,5,2,2,5,5,12,9,5,2,2,9,5,5,12,12,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,12,5,8,8,9,5,5,5,8,19,7,16,15,14,9,9,9,9,7,11,11,11,7,14,10,10,5,5,5,5,5,5,5,5,5,15,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,14,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,15,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,12,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,12,9,9,12,12,12,15,7,11,7,14,11,18,13,8,18,15,18,12,14,12,8,8,8,8,9,9,9,12,7,10,10,8,8,12,12,12,7,12,12,9,7,7,7,7,7,8,15,12,9,10,10,7,10,10,13,11,10,9,22,11,9,8,8,8,8,8,13,18,13,9,15,19,9,7,7,10,7,7,7,11,8,13,17,7,7,10,10,10,7,20,16,7,7,7,7,7,7,11,21,12,12,13,11,14,16,8,8,13,11,7,7,13,7,7,14,15,15,6,6,6,6,6,6,6,6,6,6,13,10,18,6,6,6,6,6,6,6,6,6,11,8,8,12,12,11,11,8,12,9,9,9,13,13,9,9,9,9,9,9,6,10,12,6,6,6,6,17,11,7,7,7,7,14,14,12,6,7,7,6,6,15,10,13,10,6,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,9,15,13,6,12,12,6,19,11,10,7,7,16,8,19,17,9,9,9,9,9,6,6,6,10,8,16,8,6,6,9,6,6,6,6,6,6,6,6,8,8,8,6,7,6,6,6,6,6,6,6,6,6,6,6,14,6,6,6,6,20,6,9,6,14,9,9,9,6,9,8,8,12,9,8,8,8,8,7,8,12,7,8,8,8,6,8,6,6,6,6,6,6,6,9,8,8,6,6,13,9,12,13,12,14,13,12,11,11,6,8,8,8,6,13,12,11,11,12,6,11,12,11,13,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,6,6,6,6,6,6,6,13,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,6,18,6,12,13,13,13,9,10,15,9,12,6,6,6,6,6,6,6,6,9,15,10,9,10,13,9,19,8,18,17,10,10,8,8,6,6,6,6,6,6,10,14,8,16,16,9,8,15,8,8,10,12,14,7,7,8,8,7,7,7,7,8,13,13,11,9,9,9,12,10,17,8,11,9,7,7,14,8,14,14,7,7,7,7,7,7,14,7,7,7,7,7,10,10,8,14,7,7,7,7,8,8,8,8,8,17,9,7,15,7,8,12,7,9,14,7,7,7,9,13,8,14,7,16,18,13,15,14,12,13,10,15,9,7,7,7,10,13,15,15,9,9,9,9,19,11,7,11,11,13,8,8,8,8,7,12,19,17,9,9,13,7,7,7,9,7,7,7,12,13,15,10,8,8,14,15,12,13,13,8,12,14,7,11,7,14,15,13,12,8,8,8,8,11,13,15,15,8,13,12,8,8,8,13,10,16,14,11,8,8,12,12,9,15,15,12,12,13,8,8,9,12,13,9,8,8,8,8,8,8,8,8,8,8,8,11,12,11,7,14,7,13,13,13,12,18,16,7,12,11,10,10,15,9,9,9,21,7,7,7,11,16,8,8,11,11,7,7,7,7,7,19,7,7,7,7,7,7,7,7,7,12,8,9,12,14,11,9,9,9,22,12,3,8,8,15,4,2,2,5,5,3,3,3,3,3,3,6,6,4,4,4,12,7,10,2,3,3,3,3,3,3,3,6,7,3,7,5,14,4,4,7,8,10,4,1,3,3,6,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,4,2,2,5,3,4,2,2,2,2,2,2,11,5,5,5,11,5,5,3,5,5,5,5,11,14,13,9,11,9,12,8,11,11,8,11,16,9,9,7,10,9,12,8,15,6,7,6,6,13,10,8,11,8,6,6,6,12,16,6,11,7,8,9,18,6,6,9,4,4,6,13,6,6,6,6,8,8,9,16,7,7,14,7,8,8,8,7,7,7,7,7,7,15,13,7,10,7,7,10,12,16,15,7,9,9,14,11,11,10,9,10,8,12,7,8,7,7,10,12,7,12,8,7,2,3,3,3,3,3,3,3,3,3,3,5,3,3,5,5,5,10,4,8,7,10,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,7,4,5,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,8,2,2,2,8,12,7,7,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,7,11,9,8,8,8,7,8,9,7,7,9,7,7,7,10,7,7,10,9,10,6,6,6,6,6,6,15,7,8,9,9,8,6,6,10,9,6,8,13,9,7,6,6,6,6,6,6,12,6,6,7,6,7,6,6,6,10,10,7,6,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,14,6,6,7,7,9,6,6,6,6,9,9,8,9,10,9,8,9,12,7,7,7,8,7,10,12,11,9,10,7,7,7,9,10,10,8,12,9,7,7,9,8,8,8,10,7,7,8,9,9,7,7,7,8,2,4,6,3,4,2,3,3,3,3,2,3,3,3,3,3,3,3,3,4,4,4,4,5,5,3,3,3,3,3,3,3,3,5,8,6,4,7,3,3,3,3,3,3,3,12,3,3,3,3,3,3,4,4,2,3,5,3,4,7,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,6,4,3,4,2,2,2,5,3,3,3,3,3,5,4,4,4,4,7,6,8,9,2,2,2,2,3,3,3,5,7,2,3,3,8,7,7,2,2,8,5,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,7,7,6,10,6,9,7,11,4,6,8,8,7,8,4,5,5,5,3,3,11,8,9,6,6,8,7,4,4,7,8,7,2,2,3,3,3,3,4,3,3,3,3,3,3,3,3,7,2,2,5,3,3,2,3,3,3,3,3,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,12,5,5,3,3,3,5,10,12,6,15,4,6,6,7,14,9,3,3,3,3,3,8,2,2,3,5,3,3,3,3,3,3,8,8,8,7,5,8,4,6,11,2,2,6,7,2,9,8,5,5,3,3,5,5,7,7,6,6,10,6,6,8,9,7,4,4,4,4,7,6,6,7,7,10,9,8,11,8,3,3,3,3,3,4,4,2,3,3,3,3,3,7,6,2,5,6,7,6,4,8,9,11,2,2,3,3,3,3,3,3,3,2,2,5,3,3,3,3,3,9,9,6,4,8,7,7,5,9,8,6,8,7,8,5,5,5,5,5,3,3,3,16,8,7,7,7,8,7,7,7,7,9,6,9,6,10,7,7,7,6,10,8,9,11,11,8,4,4,10,8,8,6,9,6,11,8,8,8,15,7,8,9,5,3,3,3,3,3,5,11,2,2,3,8,9,10,3,2,2,2,2,2,2,3,6,4,2,2,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,11,5,3,3,3,3,3,3,3,3,6,7,4,4,2,3,3,3,3,3,3,3,3,12,7,4,12,4,6,5,4,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,4,4,11,10,6,4,6,10,8,3,3,3,3,3,3,3,3,5,4,4,4,2,2,2,2,2,2,2,2,5,3,4,4,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,5,5,5,5,5,5,3,3,3,3,3,3,3,3,7,8,8,7,13,12,10,10,8,8,7,7,9,12,11,6,6,8,8,9,7,7,7,10,15,10,4,4,4,4,4,11,8,8,9,7,9,14,14,12,2,2,2,2,2,2,2,3,3,3,3,3,2,2,12,5,5,5,8,11,10,7,9,3,8,7,3,15,13,11,4,4,2,2,2,19,7,5,5,3,3,3,3,3,3,3,5,22,18,6,14,17,4,4,19,16,18,2,3,3,2,3,2,3,3,6,4,2,3,3,2,5,3,3,3,3,3,3,3,9,9,2,3,2,2,2,3,3,3,5,7,14,7,7,12,9,13,6,11,6,10,9,7,7,8,12,12,8,8,8,10,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,5,8,10,7,8,11,8,12,9,4,7,7,9,13,2,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,3,3,3,3,5,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,3,2,3,3,3,3,5,2,2,2,2,5,5,5,5,3,3,3,3,3,3,3,3,3,7,7,7,7,7,8,8,8,8,8,12,9,8,8,9,8,6,17,6,6,6,8,8,6,6,6,6,6,6,6,6,6,6,6,7,4,4,8,8,9,9,9,7,7,7,7,7,7,7,9,9,9,7,8,8,8,10,7,13,10,8,9,3,3,5,13,3,3,3,3,3,7,7,6,6,10,13,11,11,8,8,9,8,9,9,10,10,10,11,10,10,13,13,16,15,11,12,9,9,10,9,11,10,9,9,14,7,8,3,10,7,7,3,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,6,7,2,2,3,3,3,3,3,3,3,3,4,11,6,7,4,6,2,2,3,3,3,1,3,3,3,3,3,3,6,4,4,2,2,2,3,3,3,3,4,4,6,6,6,6,5,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,11,6,10,9,12,7,7,11,14,9,7,12,3,3,7,12,11,12,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,5,5,5,5,5,5,5,5,11,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,5,5,5,5,5,5,5,5,5,5,5,5,3,10,3,3,3,11,3,5,9,11,8,12,14,9,7,8,7,7,11,11,7,7,10,9,8,10,9,7,7,7,7,7,7,8,8,7,11,8,8,8,7,7,10,8,7,13,12,7,17,10,8,8,11,7,11,11,14,7,11,7,8,6,9,20,8,7,9,16,7,10,6,11,10,8,9,7,16,11,11,9,8,9,8,8,8,11,8,15,8,8,9,7,8,8,11,10,7,5,7,10,10,15,7,7,7,8,7,8,8,10,11,10,10,10,11,11,7,8,6,8,8,8,10,6,8,6,6,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,16,6,15,6,7,11,11,7,9,10,11,13,10,6,16,8,10,12,11,6,6,6,6,6,6,6,10,6,10,7,7,7,7,11,7,11,6,6,6,6,6,6,17,7,7,6,6,12,22,6,6,6,6,6,8,6,6,6,6,7,6,6,5,6,6,8,11,6,9,14,11,9,11,7,7,8,6,6,6,8,10,9,6,6,6,6,9,7,6,6,6,6,6,15,6,4,4,4,6,4,17,8,11,6,6,9,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,6,6,6,6,10,6,10,6,6,6,6,12,8,6,6,6,6,6,6,6,6,6,9,6,6,6,6,18,6,6,6,8,9,10,7,8,9,10,11,7,13,6,8,8,6,6,14,7,7,7,7,10,7,14,9,6,6,9,15,9,7,14,6,11,14,13,7,12,8,7,7,7,7,7,12,7,10,9,16,6,8,6,5,17,6,8,10,4,6,4,10,15,17,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,4,4,11,7,4,4,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,19,17,6,10,11,6,6,6,6,18,6,6,11,4,4,4,5,6,6,6,9,5,6,4,6,6,4,6,6,6,6,10,6,6,4,6,6,10,6,10,6,6,6,6,11,6,6,10,6,6,8,6,6,6,8,6,11,4,11,9,10,9,11,4,8,4,11,12,7,9,8,6,7,7,8,12,12,11,13,10,11,7,7,7,9,7,11,10,7,7,7,16,11,10,11,17,9,9,8,8,7,7,7,9,7,7,7,14,7,13,9,11,10,14,10,10,12,11,10,7,10,5,14,8,8,8,9,7,8,7,7,9,8,7,8,7,7,7,7,7,7,7,11,8,10,8,7,8,14,11,8,9,9,9,8,24,10,10,12,7,7,15,11,8,8,12,11,8,9,9,7,8,9,10,11,10,11,7,12,7,7,11,9,8,14,13,12,8,11,10,8,8,7,7,14,9,10,8,9,11,7,14,8,8,13,8,8,12,7,10,14,14,11,9,10,9,9,7,7,11,11,13,9,13,5,5,5,7,9,5,11,12,14,8,7,7,11,10,9,7,8,8,7,10,11,11,5,5,7,5,5,5,7,7,15,7,7,8,7,15,12,12,10,7,8,7,11,7,7,7,23,11,8,8,11,10,7,8,11,7,19,7,7,6,9,9,9,11,3,4,7,8,6,6,4,10,8,2,2]),fv=new Uint16Array([0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,17,1,1,1,12,1,12,1,12,13,1,1,1,1,12,1,12,1,1,1,1,1,14,21,1,1,1,1,1,1,1,19,12,1,1,1,1,1,1,1,20,1,1,1,16,1,18,1,1,15,1,1,1,1,12,1,1,1,1,1,1,22,1,1,1,12,1,1,1,1,1,1,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,1,24,25,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,12,12,12,12,1,32,0,0,0,1,1,1,1,35,34,1,1,1,1,1,33,1,1,1,1,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,38,0,0,0,0,39,40,0,0,0,41,0,12,1,1,12,1,1,1,1,44,45,45,45,44,45,44,44,46,45,44,45,44,44,44,44,44,44,46,44,44,44,44,44,44,45,47,47,45,44,44,44,44,44,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,50,52,50,50,50,52,50,51,50,53,50,51,51,50,50,50,51,53,51,53,50,51,51,12,55,55,54,56,51,53,50,50,48,49,57,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,60,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,67,1,12,1,1,66,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,76,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,12,1,1,1,1,89,1,91,1,1,1,1,1,1,1,1,94,1,1,1,1,1,1,1,1,1,1,1,1,0,1,97,97,1,1,12,1,100,1,1,1,1,1,1,1,98,1,99,1,101,1,1,1,1,1,102,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,110,111,1,1,1,1,1,1,113,113,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,121,122,1,1,1,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,126,123,125,120,1,124,1,1,114,1,1,1,1,117,1,127,1,1,1,1,1,119,1,108,1,109,1,12,128,106,1,112,1,1,1,1,1,107,115,1,12,12,12,118,116,1,1,1,1,1,1,0,0,0,0,1,12,12,1,1,1,1,1,12,134,1,1,1,1,1,1,1,1,1,1,1,12,136,1,1,1,1,1,1,1,1,137,138,12,12,135,133,45,45,140,50,50,139,142,141,1,1,0,0,0,0,0,0,0,0,0,0,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0,0,0,1,0,144,132,1,0,1,12,12,1,1,1,1,1,0,0,0,0,0,0,0,1,148,147,20,1,1,12,12,1,20,12,12,1,1,1,1,1,134,1,1,152,1,1,1,1,153,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,1,136,1,1,152,1,1,1,1,153,1,1,134,1,1,1,152,1,1,1,1,153,1,1,134,1,1,1,1,1,1,1,1,134,1,1,1,1,1,1,1,1,1,1,1,160,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,1,1,1,1,1,134,1,1,1,1,152,1,1,1,1,153,1,1,1,134,1,1,152,1,1,1,1,164,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,167,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,154,158,158,12,1,12,166,1,1,1,1,1,158,158,158,154,1,1,1,157,158,161,165,1,1,1,1,157,157,1,1,156,154,154,157,170,156,170,1,1,168,1,156,155,157,1,1,1,1,157,1,159,1,1,1,12,1,162,1,162,1,1,1,162,161,163,169,156,154,1,1,1,1,1,1,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,173,172,173,172,172,172,172,174,174,172,173,172,173,172,172,12,12,12,12,12,1,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,193,1,1,1,1,12,199,200,201,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,151,1,1,1,1,1,1,1,1,1,1,1,196,1,1,1,184,1,210,1,1,1,208,1,1,205,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,12,1,1,1,1,1,1,1,1,190,1,1,1,186,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,182,1,1,1,1,1,1,1,191,1,1,1,1,195,1,1,1,1,171,1,1,189,1,1,1,192,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,180,1,12,1,1,12,1,1,1,1,183,1,1,1,188,1,203,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,209,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,194,1,1,1,1,1,12,1,1,1,1,1,1,1,1,176,12,1,1,1,178,12,1,1,1,1,1,1,1,198,1,1,1,1,1,1,1,1,1,1,177,1,1,1,1,1,1,204,1,1,1,181,1,1,1,187,1,12,1,1,12,1,1,1,1,1,1,1,1,1,1,191,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,175,1,1,1,1,1,1,1,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,206,1,1,1,1,1,1,1,1,1,1,1,1,1,207,1,1,12,1,1,1,1,179,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,197,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,12,1,1,1,1,1,1,1,1,1,202,1,1,12,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,220,0,0,0,0,0,221,0,0,0,0,0,0,1,12,1,1,1,225,1,1,1,0,226,223,224,1,1,1,1,1,1,231,1,233,1,1,1,1,1,1,1,1,1,1,1,229,1,1,1,1,1,235,1,1,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,234,1,1,1,12,1,1,1,1,230,1,1,1,228,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,232,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,241,13,1,1,1,12,12,238,239,1,1,1,1,240,1,1,12,1,1,1,1,1,1,1,242,1,1,12,16,1,1,1,1,1,1,1,243,1,1,1,12,12,1,1,1,1,1,243,12,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,256,256,1,0,0,0,0,0,1,12,0,0,0,0,0,0,0,0,172,261,262,1,12,1,1,1,1,12,264,1,1,263,1,1,266,1,1,1,1,1,1,1,1,1,0,1,1,1,271,272,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,12,1,0,1,0,0,0,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,12,0,283,0,0,284,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,12,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,60,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,308,0,0,0,0,0,0,0,0,0,310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,327,327,328,327,0,185,1,1,13,323,1,321,0,0,0,0,1,0,0,0,324,1,1,329,1,205,1,1,1,1,1,322,1,319,1,325,1,317,1,326,1,318,1,1,1,1,1,1,1,12,1,1,1,12,1,12,320,320,1,1,1,316,184,1,1,12,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,12,1,1,1,1,315,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,332,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,266,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,372,372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,340,351,1,1,339,374,1,345,1,1,337,369,1,1,355,336,341,1,1,1,348,379,357,1,1,1,1,1,1,358,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,367,371,0,0,79,1,1,0,365,342,378,343,346,353,1,368,0,1,0,79,362,360,1,0,0,1,1,1,0,0,0,0,381,1,1,352,1,79,1,0,1,1,1,384,1,0,0,79,359,0,1,338,1,1,1,0,1,1,361,1,0,1,1,1,0,1,386,349,1,1,0,1,0,0,377,0,1,1,1,79,370,1,1,366,363,1,1,1,1,1,1,1,1,1,1,1,344,1,1,1,1,1,1,1,1,1,1,1,376,0,79,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,380,1,1,1,0,0,383,0,0,0,1,356,1,0,79,382,1,0,0,0,0,385,1,1,0,0,1,0,1,0,354,0,350,0,1,1,1,0,1,1,0,373,347,375,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,1,400,400,1,1,12,12,1,400,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,412,1,1,0,1,1,1,1,205,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,430,430,1,1,0,0,317,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,442,1,441,1,1,1,1,1,1,1,1,445,1,12,12,1,1,1,1,1,12,1,1,1,1,453,1,1,1,455,1,1,1,1,1,1,1,1,1,1,452,1,447,1,1,1,1,435,1,1,1,1,1,1,1,1,448,12,1,1,1,1,454,1,1,1,449,444,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,317,1,433,1,1,12,451,1,1,317,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,437,1,1,1,1,1,1,1,1,1,1,1,454,1,1,1,1,317,1,450,1,1,1,439,1,1,1,1,1,440,1,456,443,1,1,1,1,1,438,1,1,1,1,1,1,1,1,1,434,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,446,1,1,1,1,1,1,1,12,1,1,1,1,1,436,1,1,1,1,1,1,1,220,457,1,1,1,1,1,12,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,462,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,466,466,466,466,466,466,466,0,466,466,466,466,466,1,466,466,466,0,466,466,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,471,470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,474,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,467,0,0,478,473,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,472,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,476,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,1,1,1,1,1,1,1,488,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,198,198,1,492,1,1,1,491,1,1,1,1,487,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,489,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,493,1,1,490,1,1,1,1,1,1,1,1,372,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,494,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,505,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,12,1,507,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,12,12,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1,0,0,0,1,60,1,1,12,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,526,1,1,1,1,1,1,1,527,1,1,1,1,1,1,1,525,1,1,12,1,529,239,1,1,12,12,1,1,12,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,533,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,539,1,1,1,1,1,1,1,1,1,1,1,1,1,1,132,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,107,1,1,12,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,548,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,144,1,1,1,228,1,1,12,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,572,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,577,1,220,1,328,1,1,1,1,1,1,1,1,1,0,0,578,1,1,1,1,0,580,0,79,0,579,0,1,1,1,0,1,1,1,1,1,1,12,0,0,0,0,1,0,0,0,0,0,0,586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,582,582,0,585,583,582,582,582,582,582,587,582,582,591,582,582,582,582,582,582,582,582,582,582,588,585,582,582,585,582,582,582,582,582,582,582,582,582,582,582,582,582,583,582,582,582,582,582,589,582,582,582,582,582,582,0,0,0,1,590,1,1,1,1,584,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,12,595,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,12,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,12,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,65,280,306,411,535,0,4,68,236,254,282,307,334,388,413,0,499,519,536,597,9,0,61,88,398,409,429,575,0,497,518,532,612,0,30,6,0,461,500,602,560,70,0,7,285,255,389,463,416,538,79,598,0,576,309,418,465,9,105,288,506,6,30,0,311,79,391,79,483,10,6,131,248,275,0,613,509,0,563,0,64,6,6,251,95,2,432,399,410,596,0,6,0,6,286,103,6,561,501,540,0,464,390,273,287,8,71,104,599,543,392,312,300,419,146,74,290,546,510,601,564,335,330,479,6,75,149,11,0,249,522,547,565,514,551,570,611,36,6,260,295,333,304,218,30,528,553,218,42,216,265,296,305,406,423,481,274,0,73,562,0,403,417,299,79,247,79,0,581,545,504,292,421,79,393,387,0,0,0,9,555,571,217,0,424,407,531,516,573,615,85,218,43,297,396,425,569,0,511,293,276,79,215,80,28,390,30,6,394,331,303,604,592,524,550,513,0,258,81,30,405,422,0,30,426,0,219,593,517,9,408,427,218,248,86,222,594,574,557,482,428,397,250,227,87,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,0,0,0,0,82,0,129,0,0,84,549,0,0,0,0,0,0,0,27,0,552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,503,0,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,294,0,0,0,0,0,0,0,617,0,0,0,0,0,616,0,0,0,0,0,0,0,0,0,0,0,0,0,0,395,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,495,0,0,0,0,0,0,404,0,0,0,0,0,0,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,0,0,0,515,0,0,0,0,0,0,0,0,0,0,0,0,496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,269,281,0,0,0,0,0,530,277,0,0,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,0,0,0,0,0,0,0,458,0,0,0,314,0,0,0,0,0,0,253,0,0,0,0,0,0,23,0,0,0,0,568,0,0,0,0,600,521,0,0,0,0,244,0,0,0,0,0,0,0,0,0,480,0,0,0,0,0,62,0,0,0,267,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,0,0,0,0,0,279,610,0,72,0,0,0,0,0,0,0,0,0,619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,278,0,0,0,0,0,0,567,0,0,0,0,0,0,523,0,0,0,0,0,0,0,0,0,566,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,502,0,0,0,0,0,554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,83,0,0,0,0,0,0,0,0,0,0,0,0,486,0,485,0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,537,0,0,0,0,0,0,0,0,298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,237,0,0,0,0,0,0,0,0,0,0,84,0,606,0,0,0,0,0,0,0,0,0,0,0,0,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,520,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,498,0,614,0,0,431,0,0,0,0,0,0,0,0,0,0,0,0,402,0,0,0,544,0,93,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,29,92,0,0,0,0,0,0,0,0,0,0,0,0,291,0,0,0,214,0,0,0,0,0,0,558,0,270,0,0,130,0,0,0,0,0,559,0,0,0,0,0,0,0,414,420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,313,0,0,0,0,0,5,0,0,0,0,0,0,0,301,0,0,0,0,0,0,0,0,0,0,0,0,0,534,0,0,0,415,0,0,401,0,0,0,0,0,0,603,0,0,0,541,0,0,90,0,542,0,0,0,0,0,0,0,0,0,0,508,460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,618,0,0,0,0,0,556,0,0,0,0,0,0,0,0,0,0,302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,605,0,0,212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,623,623,623,623,623,623,623,622,624]),Vh="orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultdetaexponyatnoopencrpplxzeaburwasmerframerzeropsconvexmedusajsspritesonherculeseasypanelstreamlitsnowflakemesserliloginlinehackclubnorthflankbase44corespeedadaptableleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasvpsidwasantozqldorgcomvicasnactnetedugovnswtasconfhrsncomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxyacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugovtvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetinteduaéroportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz網絡网络公司orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algmyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rservicesbuilderstg-builderdev-builder*ociocpocsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appspaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformapimediasiteprojedrydpagesjsu2u2-localx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyxnbayfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3stdlibqualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebanddev-myqnapcloudlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musiciansecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocalreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedonfabricawafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailalpha-myqnapcloudservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectgünstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsgünstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultdetais-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmstorjfidemopaasdymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformdatacenterhäkkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra教育敎育網絡网絡组織組織网络網络组织組织公司政府個人个人箇人ltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormyᬩᬮᬶmilwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1uk0cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomhzcnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingprotonetfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebiton-acornwixstudioon-k3sicp0icp12038jeleqotobigvlairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedgeايرانایرانjclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinosüdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudtrentinosudtirolxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforlì-cesenatuscanyvallée-d-aostemantovavallée-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavalléedaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentinsüd-tiroltrentinosüd-tirolmonzabrianzatrentino-südtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevalléeaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenaaquilabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-süd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforlìcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentinsüdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardyfriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-südtirolfriulive-giuliaflorencevaldaostaxn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-süd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzasüdtirolreggiocalabriatrentinoaadigetrentin-südtirolfriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forlìvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforlìtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-südtirolbalsan-südtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara長野京都岐阜大阪三重群馬千葉滋賀佐賀奈良adednelgaccogogror秋田愛知高知埼玉沖縄栃木熊本岩手青森山梨新潟島根鳥取長崎香川宮城石川大分宮崎茨城山口兵庫山形徳島広島福島福岡岡山富山静岡愛媛福井東京xn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste北海道penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez神奈川鹿児島和歌山bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovipfscanvamypepw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintonohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmaplon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabcdenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscalecryptonomicoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvonoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalervålerxn--vler-qoaossandeheroysandeherøybøboheroyherøyxn--hery-iraxn--b-5gavalerbøboxn--b-5gasandesandexn--hery-iraxn--vler-qoavålerhåreålaahavaofsfvfhlolnlalrlhmfmtmahcostntbuåstrmreigersundmyspreadshopgálsáeidsvolltingvollgildeskalflorøvadsøvardøvanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-landsøndre-landtjieltexn--vrggt-xqadsør-aurdalsor-aurdalheradstordmoldefordeførdeseljefedjeryggehemnexn--krehamn-dxasognegranesøgnebrynetjomevallebykletokkegiskedovretjømehobølvoldasaudatolgasømnaviknadønnasomnadonnatranafrananesnaraumasmolatrænafrænalesjasmølaørstaorstahitrafloraaukraloppafrøyarissasnasahalsagalsaromsaraisaráisafroyasnåsagronghobolfjelltydalårdalardalaskimharamkraanghkekråanghkesorumbarumhurumbærumsørummodumsálátbálátfrognbjugnvåganvagangulenskienløtenlotenstrynvefsnxn--merker-kuaskaunsveiobømlobomloskjåkvardoflorovadsosalatbalatsálatklæbuklabuselbubarduulvikskjakklepprisørxn--nttery-byaeflåeidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnesåsnesrørosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyradøyandøyrødøymeløyaskøylurøydyrøymåsøyværøynærøyhoylandethøylandetdivtasvuodnalørenskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunjárgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkvæfjordsongdalenmjondalenmjøndalenxn--gls-elackragerogáŋgaviikagangaviikasørreisasorreisasør-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikrøyrvikroyrviksvelvikvenneslaevje-og-hornnessandnessjøenmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabrønnøysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontrøgstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hvegårsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenjárgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkrødsheradkrodsheradkvinnheradbrønnøyxn--mtta-vrjjat-k7afxn--lrenskog-54akvitsøyvárggátkarlsøyosterøyinderøyhamarøybronnoysundxn--aurskog-hland-jnbbahccavuotnabáhccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvmålselvxn--unjrga-rtamøre-og-romsdalmore-og-romsdalhareidmelandørlandorlandstrandålgårdsolundalgardafjordåfjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesnåasesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-totenøstre-totenvestfoldxn--mely-iraálaheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordjølsterjolsteraremarkhedmarknååmesjevuemienaamesjevuemiexn--vard-jrarollagmeråkermerakerorskogørskogxn--bdddj-mrabdákŋoluoktaxn--osyro-wuaaknoluoktatrysilskjervøymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdallærdalhurdalsirdalverdallerdallardaloppdalåseralaseralhadselkragerødivttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettromsøxn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblbájddarbajddarxn--laheadju-7yarennesøyxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordbåtsfjordbatsfjordmuosátbievátloabátkárášjohkanøtterøyxn--mjndalen-64anordkappláhppilahppialstahaugsiljanverranrøykenroykenhaldenlyngenbergenhortenhønefosshonefosstroandinbeiarnvarggatosoyroosøyrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyaskánitskanitraholtråholtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandjørpelanddeatnuringsakersør-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstjørdalnaustdalhjartdalgjøvikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdrøbakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iramálatvuopmimalatvuopmitysværkirkenesbirkenesmoskenesbáidárxn--fjord-lraxn--rdal-poabahcavuotnabáhcavuotnaxn--frde-gralindåsbearalvahkixn--hobl-iraráhkkerávjuxn--loabt-0qavågåáltábodøsundlundraderådeetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvamåmliamlibokntinnroangranosenoslobodorøstroststatåmotamotivguprivøyeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerhábmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularhápmirhapmirmelhusfosnesøksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergtønsberglindasxn--sndre-land-0cbnamsosxn--srum-graøystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26fčáhcesuolocahcesuoloakrehamnåkrehamnsandøykarmøyfinnøytranøyvågsøyaverøynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildeskålporsanguxn--trgstad-r1anávuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaevenáššivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalváhkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8aporsáŋgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierváivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsundålesundalesundfetsundfarsundovre-eikerøvre-eikerakershusxn--moreke-juasørfoldøstfoldostfoldsorfoldhøyangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordkåfjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogrømskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkvænangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandskånlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnagáivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimbådåddjåxn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholtålenxn--vads-jraxn--jlster-byamosjøenxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppegårdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangevågberlevågkristiansandxn--rsta-frahornindalstjørdalshalsenstjordalshalsensandnessjoenhámmárfeastaxn--lrdal-srasør-fronsor-fronnord-odalkristiansundmátta-várjjatvestvågøynesoddennotoddenbuskerudøygardenoygardensalangenlavangenralingenrælingenlodingenlødingenleaŋgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadhægebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomoårekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-hølandxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradynmerseineshacknetenterprisecloudmineaccomaorimāoriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshopprivlapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentbotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagecofigma-govcaffeinefigmacanvasoltstputerbarsysupportchatgptsquareomniweopensocialcpanelnotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovvmdhmyspreadshopadimono-ipbarsybytemarkbarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipcloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgovяспборгкоммскбизмирсамаракрымсочиакодпроргобрупрצהלממשלישובאקדמיהองค์กรธุรกิจรัฐบาลศึกษาทหารเน็ต教育網絡組織公司政府個人닷넷한국澳门新闻澳門联通家電嘉里招聘通販닷컴삼성コムგეбгрфеюadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzazελευ世界台灣购物公益点看臺灣网络書籍在线网站手机机构大拿游戏信息台湾谷歌慈善商标香港中国餐厅网址中國商城食品微博政务移动集团公司八卦商店健康网店政府时尚佛山中信娱乐广东企业homedepotengineeringاماراتrepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf亚马逊淡马锡alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxiみんなストアセールcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9cקוםհայоргсрбмонкомбелмкдқазрусукрمصرقطرعربكومdadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolarລາວคอมไทยtourslocusnexuslexusgiftsbeatsboatspartspressglassswissकॉमनेटtiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparisファッションworkssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday中文网xn--unup4y天主教飞利浦新加坡enterprises我爱你嘉里大酒店christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbankكاثوليكxn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbankپاكستانپاکستانnextdirectالسعوديهالعليانxn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownloadمليسياxn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7gஇலங்கைcontractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmartഭാരതംsupportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrimмоскваالسعودیةcoffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspaceонлайнvermögensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltiendaभारतम्africatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburgفلسطينlplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstreamభారత్unicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearchالاردنmarketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzukiアマゾンクラウドポイントbhartiグーグルxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgmابوظبيdiscoverreviewবাংলাxn--5su34j936bgsgmoscowobserverapartmentsдетиارامكوсайтeurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0hتونسموقعبارتڀارتشبكةعمانبيتكعراقreadkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilipsලංකාಭಾರತfitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcvermögensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56aভাৰতভারতभारतभारोतviajeshermeshughesxn--j1aefसंगठनvillasଭାରତclaimshotelsભારતzapposphotosjuegoscondostatamotorsgratistennisਭਾਰਤtkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b電訊盈科xn--gecrj9cstatefarmaccountantaquarelleolayangroup香格里拉xn--p1ai组织机构xn--1ck2e1bxn--mgbt3dhdschwarzموريتانياabudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsuالسعوديةstcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundationישראלxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrxالبحرينdiamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fhкатоликcaravanசிங்கப்பூர்richardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchenஇந்தியாweatherchannelallfinanzxn--kput3iالسعودیۃxn--90aisxn--efvy88hالجزائرxn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammxبازاربھارتسوريةorganicfreseniusسورياxn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082fاليمنهمراهpolitieسودانايرانایرانnetflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigitalالمغربbarcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp",G8=621,K8=625,pk=Ys.length,hk=Xu.length,fk=new Uint32Array(hk),$u=new Uint32Array(hk),$h=new Int32Array(pk).fill(-1);for(let e=0,n=0;e<pk;e+=1)for(let i=Yu[e];i<Yu[e+1];i+=1){fk[i]=n;const r=n+Xu[i];let u=5381;for(let h=r-1;h>=n;h-=1)u=u*33^Vh.charCodeAt(h);$u[i]=u>>>0,Xu[i]===1&&Vh.charCodeAt(n)===42&&($h[e]=i),n=r}let gi=-1,Uh=0,Gh=0;function gv(e,n,i,r){if(Xu[e]!==r)return!1;const u=fk[e];for(let h=0;h<r;h+=1)if(Vh.charCodeAt(u+h)!==n.charCodeAt(i+h))return!1;return!0}function yv(e,n,i,r,u){let h=Yu[e],g=Yu[e+1];for(;h<g;){const b=h+g>>>1,v=$u[b];if(v<n)h=b+1;else if(v>n)g=b;else{for(let w=b;w>=h&&$u[w]===n;w-=1)if(gv(w,i,r,u))return w;for(let w=b+1;w<g&&$u[w]===n;w+=1)if(gv(w,i,r,u))return w;return-1}}return-1}function bv(e,n,i){let r=n,u=e.length,h=5381;gi=-1;for(let b=e.length-1;b>=0;b-=1){const v=e.charCodeAt(b);if(v===46){const w=b+1;let S=yv(r,h>>>0,e,w,u-w);if(S===-1&&(S=$h[r]),S===-1)return gi!==-1;r=fv[S],(Ys[r]&i)!==0&&(gi=r,Uh=w,Gh=u),u=b,h=5381}else h=h*33^v}let g=yv(r,h>>>0,e,0,u);return g===-1&&(g=$h[r]),g!==-1&&(r=fv[g],(Ys[r]&i)!==0&&(gi=r,Uh=0,Gh=u)),gi!==-1}function gk(e,n,i){if(U8(e,n,i))return;const r=(n.allowPrivateDomains?2:0)|(n.allowIcannDomains?1:0);if(bv(e,K8,r)){i.isIcann=(Ys[gi]&1)!==0,i.isPrivate=(Ys[gi]&2)!==0,i.publicSuffix=e.slice(Gh+1);return}if(bv(e,G8,r)){i.isIcann=(Ys[gi]&1)!==0,i.isPrivate=(Ys[gi]&2)!==0,i.publicSuffix=e.slice(Uh);return}i.isIcann=!1,i.isPrivate=!1;const u=e.lastIndexOf(".");i.publicSuffix=u===-1?e:e.slice(u+1)}const Ju=$8();function H8(e,n){return dk(Ju),mk(e,0,gk,n,Ju).hostname}function Q8(e,n){return dk(Ju),mk(e,5,gk,n,Ju).domainWithoutSuffix}const F8={allowPrivateDomains:!0};new _8({fuzzyLink:!0,fuzzyEmail:!1}).tlds(T8);function EF(e,n){if(!e)return"";const i=e.trim();if(!i)return"";if(/^https?:\/\//i.test(i))return i;if(i.startsWith("//"))return`https:${i}`;const r=n.trim().replace(/^https?:\/\//i,"").replace(/\/+$/,"");return r?i.startsWith("/")?`https://${r}${i}`:`https://${r}/${i}`:i}function RF(e){const n=(e??"").trim();return n&&(n.startsWith("/")||/^https?:\/\//i.test(n)||/^mailto:/i.test(n))?n:"#"}function zF(e){const n=e??"",i=n.indexOf("?"),r=i===-1?n:n.slice(0,i),u=i===-1?"":n.slice(i+1),h=r||"/";if(!u)return{path:h,querySummary:null,raw:n};let g="";try{g=Z8(new URLSearchParams(u))}catch{g="tracking params"}return{path:h,querySummary:g||null,raw:n}}function Z8(e){const i=Array.from(e.keys()).length;if(i===0)return"";const r=i===1?"param":"params",u=Y8(e);return u?`${u} · ${i} ${r}`:`${i} tracking ${r}`}function Y8(e){if(e.has("fbclid"))return"Facebook Ad";if(e.has("gclid")||e.has("gbraid")||e.has("wbraid"))return"Google Ad";if(e.has("msclkid"))return"Microsoft Ad";if(e.has("ttclid"))return"TikTok Ad";if(e.has("li_fat_id"))return"LinkedIn Ad";if(e.has("twclid"))return"X / Twitter Ad";if(e.has("epik"))return"Pinterest Ad";for(const r of e.keys())if(r.startsWith("hsa_"))return"Search Ad";const n=e.get("utm_source"),i=e.get("utm_medium");return n&&i?`${n} / ${i}`:n?`Source: ${n}`:i?`Medium: ${i}`:null}function Jl(e){if(e==null)return null;const n=e.trim();if(!n)return null;const i=H8(n);return i?i.replace(/^www\./i,"").toLowerCase():null}function yk(e){return e==null||e.trim()===""?"":Q8(e,F8)?.toLowerCase()??""}const X8=new Intl.Segmenter("en",{granularity:"word"}),J8=/[^\p{L}\p{N}]+/gu,W8=/[\p{L}\p{N}]+/gu,e7=/[\p{Script=Latin}\p{Script=Greek}\p{Script=Cyrillic}]/u,t7=new RegExp("\\P{ASCII}","u");function n7(e){if(!t7.test(e))return e;let n="";for(const i of e){if(i.charCodeAt(0)<128){n+=i;continue}const r=i.normalize("NFD"),u=r[0];n+=r.length>1&&e7.test(u)?u:i}return n}function bk(e){return n7(e.normalize("NFKC")).toLocaleLowerCase("en")}function vk(e){const n=[];for(const i of X8.segment(e))if(i.isWordLike)for(const r of i.segment.match(W8)??[])n.push(r);return n}function a7(e){return vk(bk(e))}function ja(e){return a7(e).join("")}const vv=new WeakMap;function i7(e){if(!e)return null;const n=bk(e);return{normalized:n,stripped:n.replace(J8,"")}}function s7(e){const n=vv.get(e);if(n)return n;const i=vk(e.normalized);return vv.set(e,i),i}function o7(e){const n=new Set;let i=0;for(const r of e){if(!r)continue;const u=ja(r);u&&(n.add(u),u.length>i&&(i=u.length))}return{keys:n,longest:i}}function r7(e,n){if(!n||e.keys.size===0)return!1;const i=typeof n=="string"?i7(n):n;if(!i)return!1;let r=!1;for(const h of e.keys)if(i.stripped.includes(h)){r=!0;break}if(!r)return!1;const u=s7(i);for(let h=0;h<u.length;h++){let g="";for(let b=h;b<u.length;b++){if(g+=u[b],e.keys.has(g))return!0;if(g.length>=e.longest)break}}return!1}const l7=4,xk=j(["cli","api","config-file"]);function c7(e){const n=new Set,i=new Set;for(const r of e){if(n.has(r.label)){i.add(r.label);continue}n.add(r.label)}return[...i]}function u7(e,n){return n?e.some(i=>i.label===n):!0}const d7=m({displayName:o().min(1),canonicalDomain:o().min(1),ownedDomains:y(o().min(1)).optional(),aliases:y(o()).optional(),country:o().length(2),language:o().min(2),tags:y(o()).optional(),labels:$e(o(),o()).optional(),providers:y(ht).optional(),providerModels:Df.optional(),locations:y(Xt).optional(),defaultLocation:o().nullable().optional(),measurement:Pf.optional(),autoExtractBacklinks:N().optional(),configSource:xk.optional()});d7.extend({name:o().trim().min(1).max(120)});const m7=m({id:o(),name:o(),displayName:o().optional(),canonicalDomain:o(),ownedDomains:y(o()).default([]),aliases:y(o()).default([]),country:o().length(2),language:o().min(2),tags:y(o()).default([]),labels:$e(o(),o()).default({}),providers:y(o()).default([]),providerModels:Df.default({}),locations:y(Xt).default([]),defaultLocation:o().nullable().optional(),measurement:Pf.default(ck),autoExtractBacklinks:N().default(!1),configSource:xk.default("cli"),configRevision:d().int().positive().default(1),createdAt:o().optional(),updatedAt:o().optional()});m({id:o(),query:o(),createdAt:o()});m({id:o(),keyword:o(),createdAt:o()});m({queries:y(o().trim().min(1)).min(1)});m({keywords:y(o().trim().min(1)).min(1)});m({provider:ht,count:d().int().min(1).max(20).optional()});m({id:o(),domain:o(),createdAt:o()});m({competitors:y(o().trim().min(1)).min(1)});function Wu(e){return Jl(e)??e.trim().toLowerCase().replace(/^www\./,"")}function wk(e){const n=[e.canonicalDomain,...e.ownedDomains??[]],i=new Set,r=[];for(const u of n){const h=u.trim();if(!h)continue;const g=Wu(h);i.has(g)||(i.add(g),r.push(h))}return r}function p7(e,n){if(!n||n.length===0)return[];const i=e?.trim().toLowerCase()??"",r=new Set,u=[];for(const h of n){const g=h.trim();if(!g)continue;const b=g.toLowerCase();b!==i&&(r.has(b)||(r.add(b),u.push(g)))}return u}function h7(e){const n=[],i=new Set,r=h=>{const g=ja(h);!g||i.has(g)||(i.add(g),n.push(h))},u=e.displayName?.trim()??"";u&&r(u);for(const h of p7(e.displayName,e.aliases))r(h);for(const h of wk({canonicalDomain:e.canonicalDomain??"",ownedDomains:e.ownedDomains??[]})){const g=yk(h);if(ja(g).length>=l7)r(g);else{const b=Wu(h);b.includes(".")&&r(b)}}return n}const f7=m({name:o().min(1).max(63).regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,{message:"Name must be a lowercase slug (letters, numbers, hyphens)"}),labels:$e(o(),o()).optional().default({})}),g7=m({preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:qf.optional(),timezone:o().optional().default("UTC"),providers:y(ht).optional().default([]),enabled:N().optional()}).refine(e=>[e.preset,e.cron,e.recurrence].filter(n=>n!==void 0).length===1,{message:'Exactly one of "preset", "cron", or "recurrence" must be provided'}).optional(),y7=m({channel:z("webhook"),url:o().url(),events:y(If).min(1)}),b7=m({gsc:m({propertyUrl:o()}).optional(),syncSchedule:m({preset:o().optional(),cron:o().optional()}).optional()}).optional(),xv=y(o().min(1)),v7=m({displayName:o().min(1),canonicalDomain:o().min(1),ownedDomains:y(o().min(1)).optional().default([]),aliases:y(o().min(1)).optional().default([]),country:o().length(2),language:o().min(2),queries:xv.optional(),keywords:xv.optional(),competitors:y(o().min(1)).optional().default([]),providers:y(ht).optional().default([]),providerModels:Df.optional().default({}),locations:y(Xt).optional().default([]),defaultLocation:o().optional(),measurement:Pf.optional().default(ck),schedule:g7,notifications:y(y7).optional().default([]),google:b7,autoExtractBacklinks:N().optional().default(!1)}).superRefine((e,n)=>{e.queries!==void 0&&e.keywords!==void 0&&n.addIssue({code:"custom",message:"Use spec.queries; spec.keywords is accepted only as a legacy alias when spec.queries is omitted",path:["keywords"]});const i=c7(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),u7(e.locations,e.defaultLocation)||n.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});m({apiVersion:z("canonry/v1"),kind:z("Project"),metadata:f7,spec:v7});const x7=["branded","non-brand"],hr=j(x7),w7=j(["all","branded","non-brand"]);function k7(e){const n=e.filter(r=>ja(r).length>0);if(n.length===0)return null;const i=o7(n);return i.keys.size===0?null:{matcher:i,classify(r){return r7(i,r)?"branded":"non-brand"}}}const S7=2,j7=o().regex(/^[a-f0-9]{64}$/),vd=o().trim().min(1).max(256),wv=j(["sensitive","insensitive"]),me=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),A7=o().trim().min(1).refine(e=>Jl(e)!==null,"A competitor domain must be a valid hostname"),C7=Oe("kind",[m({kind:z("exact"),url:o().min(1),pathCase:wv}).strict(),m({kind:z("prefix"),host:o().min(1),pathPrefix:o().min(1),pathCase:wv}).strict(),m({kind:z("host"),host:o().min(1)}).strict()]),N7=m({canonicalHost:o().min(1),ownedHosts:y(o().min(1)),names:y(o().min(1))}).strict(),_7=m({projectBrand:N7}).strict(),T7=m({stableKey:me,label:o().trim().min(1),aliases:y(o().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(C7),mentionNotApplicable:N(),discoveryIdentity:o().min(1).nullable()}).strict(),kk=m({stableKey:me,label:o().trim().min(1),domain:A7,aliases:y(o().min(1))}).strict(),E7=m({stableKey:me,label:o().trim().min(1),parentGroupKey:me.optional(),targetKeys:y(me),competitors:y(kk)}).strict(),R7=j(["manual","query-set","template","discovery","research"]),z7=m({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),template:o().trim().min(1).max(4e3),bindings:$e(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:o().trim().min(1).max(4e3)}).strict(),Sk=m({source:R7,sourceId:o().min(1).nullable(),capturedAt:o().datetime(),template:z7.optional()}).strict(),D7=m({queryId:vd,queryText:o().min(1),provenance:Sk}).strict(),xd=m({providers:y(ht).min(1),models:$e(ht,o().min(1)),location:Xt.nullable()}).strict(),O7=m({stableKey:o().min(1),queryId:vd,queryText:o().min(1),context:xd,expectedSnapshots:d().int().nonnegative()}).strict(),Mf=hr,q7=m({targetKey:me,queryId:vd,queryClass:Mf,classificationSource:j(["server","operator"]).optional(),executionNodeKey:o().min(1)}).strict(),Bf=m({executionNodeKey:o().min(1),targetKey:me,queryId:vd}).strict(),jk=m({stableKey:me,label:o().trim().min(1),kind:z("market"),groupKey:me.optional(),usageEdges:y(Bf)}).strict();function kv(e){return[e.executionNodeKey,e.targetKey,e.queryId].join("\0")}const wd=m({schemaVersion:z(S7),identities:_7,targets:y(T7),groups:y(E7),querySnapshots:y(D7),assignments:y(q7),executionNodes:y(O7),usageEdges:y(Bf),reportingScopes:y(jk).optional(),compiledChecksum:j7}).strict().superRefine((e,n)=>{const i=new Set;for(const b of e.executionNodes)i.has(b.stableKey)&&n.addIssue({code:be.custom,path:["executionNodes"],message:`Duplicate execution node key "${b.stableKey}"`}),i.add(b.stableKey);const r=new Set(e.targets.map(b=>b.stableKey));e.usageEdges.forEach((b,v)=>{i.has(b.executionNodeKey)||n.addIssue({code:be.custom,path:["usageEdges",v,"executionNodeKey"],message:`Usage edge references unknown execution node "${b.executionNodeKey}"`}),r.has(b.targetKey)||n.addIssue({code:be.custom,path:["usageEdges",v,"targetKey"],message:`Usage edge references unknown Target "${b.targetKey}"`})});const u=new Set(e.usageEdges.map(kv)),h=new Set;e.reportingScopes?.forEach((b,v)=>{if(h.has(b.stableKey)&&n.addIssue({code:be.custom,path:["reportingScopes",v,"stableKey"],message:`Duplicate reporting scope key "${b.stableKey}"`}),h.add(b.stableKey),b.groupKey!==void 0){const S=e.groups.find(A=>A.stableKey===b.groupKey);(!S||b.usageEdges.some(A=>!S.targetKeys.includes(A.targetKey)))&&n.addIssue({code:be.custom,path:["reportingScopes",v,"groupKey"],message:"A market must link to an existing group containing all its assigned properties."})}const w=new Set;b.usageEdges.forEach((S,A)=>{const T=kv(S);u.has(T)||n.addIssue({code:be.custom,path:["reportingScopes",v,"usageEdges",A],message:`Reporting scope "${b.stableKey}" references a usage edge that this revision does not contain.`}),w.has(T)&&n.addIssue({code:be.custom,path:["reportingScopes",v,"usageEdges",A],message:`Reporting scope "${b.stableKey}" repeats a usage edge.`}),w.add(T)})}),e.assignments.forEach((b,v)=>{r.has(b.targetKey)||n.addIssue({code:be.custom,path:["assignments",v,"targetKey"],message:`Assignment references unknown Target "${b.targetKey}"`})});const g=new Map;e.groups.forEach((b,v)=>{g.has(b.stableKey)&&n.addIssue({code:be.custom,path:["groups",v,"stableKey"],message:"Duplicate group stable key "+b.stableKey}),g.set(b.stableKey,b)}),e.groups.forEach((b,v)=>{const w=b.parentGroupKey;if(w===void 0)return;if(w===b.stableKey){n.addIssue({code:be.custom,path:["groups",v,"parentGroupKey"],message:"A group cannot be its own parent."});return}const S=g.get(w);if(!S){n.addIssue({code:be.custom,path:["groups",v,"parentGroupKey"],message:"Group parent does not exist: "+w});return}const A=new Set(S.targetKeys);b.targetKeys.forEach((F,R)=>{A.has(F)||n.addIssue({code:be.custom,path:["groups",v,"targetKeys",R],message:"Group target membership must be a subset of its parent."})});const T=new Set([b.stableKey]);let C=S;for(;C.parentGroupKey!==void 0;){if(T.has(C.stableKey)){n.addIssue({code:be.custom,path:["groups",v,"parentGroupKey"],message:"Group parent relationships cannot contain a cycle."});break}T.add(C.stableKey);const F=g.get(C.parentGroupKey);if(!F)break;C=F}});for(const b of e.groups)for(const v of b.targetKeys)r.has(v)||n.addIssue({code:be.custom,path:["groups"],message:`Group "${b.stableKey}" references unknown Target "${v}"`})}),Lf=100;function or(e){return m({items:y(e),nextCursor:o().min(1).nullable(),totalEstimate:d().int().nonnegative().optional()}).strict()}const kd=j(["no_completed_run","plan_v1","no_population","evidence_incomplete","identity_ambiguous","not_applicable"]),zt=Oe("state",[m({state:z("available"),value:d(),numerator:d().int().nonnegative().optional(),denominator:d().int().positive().optional()}).strict(),m({state:z("unavailable"),reason:kd}).strict()]),Vf=j(["all","group","property"]),_a=w7,I7=j(["label-asc","label-desc","citationCoverage-asc","citationCoverage-desc","mentionCoverage-asc","mentionCoverage-desc"]),$f=j(["not_measured","queued","running","complete","partial","failed"]),P7=j(["run_measurement","review_flags","complete_setup","republish_setup","none"]);m({scope:Vf,groupKey:me.optional(),targetKey:me.optional(),queryClass:_a.optional(),provider:ht.optional(),location:o().trim().min(1).optional(),from:o().trim().min(1).optional(),to:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),search:o().optional(),sort:I7.optional(),cursor:o().trim().min(1).optional(),limit:d().int().positive().max(Lf).optional()}).strict();const M7=m({provider:ht,mentionCoverage:zt,citationCoverage:zt}).strict(),B7=m({bothSignals:d().int().nonnegative(),mentionedOnly:d().int().nonnegative(),citedOnly:d().int().nonnegative(),neither:d().int().nonnegative(),notMeasured:d().int().nonnegative(),total:d().int().nonnegative()}).strict(),L7=m({targetKey:me,label:o().min(1),mentionCoverage:zt,citationCoverage:zt,providers:y(M7),flags:d().int().nonnegative()}).strict(),V7=m({kind:j(["project","competitor"]),stableKey:o().min(1),label:o().min(1),domain:o().min(1),credits:d().int().nonnegative(),share:d().min(0).max(1)}).strict(),$7=m({groupKey:me,queryClass:z("non-brand"),denominator:d().int().positive(),entries:y(V7)}).strict();m({mode:j(["active-v1","active-v2"]),scope:m({kind:Vf,key:o().min(1).optional(),label:o().min(1)}).strict(),queryClass:_a,measurement:m({state:$f,currentRunId:o().min(1).optional(),displayedRunId:o().min(1).optional(),completed:d().int().nonnegative(),expected:d().int().nonnegative(),completedAt:o().datetime().optional(),includesHistoricalData:N().optional()}).strict(),nextAction:m({kind:P7,count:d().int().nonnegative().optional()}).strict(),metrics:m({propertiesMentioned:zt,mentionCoverage:zt,citationCoverage:zt,brandPresence:zt,sov:zt.describe("Deprecated alias of brandPresence carrying the identical value. Remove once the browser migrates.")}).strict(),properties:or(L7),outcomes:B7,flags:m({total:d().int().nonnegative()}).strict(),namedShareOfVoice:$7.optional()}).strict();const Ak=j(["sources","answers"]),U7=Ak.enum;U7.sources;m({targetKey:me,queryClass:_a.optional(),provider:ht.optional(),location:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),shape:Ak.optional(),cursor:o().trim().min(1).optional(),limit:d().int().positive().max(Lf).optional()}).strict();const Ck=1,Wl=d().int().positive(),Yt=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),ec=o().trim().min(1).max(256),Sv=j(["sensitive","insensitive"]);function ed(e){const n=Jl(e);if(!n)throw new Error(`Invalid measurement host: ${e}`);return n}function G7(e){const n=[];let i=!1;for(let r=0;r<e.length;r++){const u=e[r];u==="/"?(i||n.push(u),i=!0):(n.push(u),i=!1)}for(;n.length>1&&n.at(-1)==="/";)n.pop();return n.length?n.join(""):"/"}function jv(e){try{return decodeURI(e).normalize("NFC").toLowerCase()}catch{return e.normalize("NFC").toLowerCase()}}function Nk(e){const n=new URL(`https://measurement.invalid${e}`).pathname;return G7(n.replace(/%[0-9a-f]{2}/gi,i=>i.toUpperCase()))}function Kh(e){const n=e.trim();if(!n||n.includes("?")||n.includes("#")||n.includes("://")||n.includes("\\"))throw new Error(`Invalid measurement path prefix: ${e}`);const i=n.startsWith("/")?n:`/${n}`;for(const r of i.split("/")){let u;try{u=decodeURIComponent(r)}catch{throw new Error(`Invalid measurement path prefix: ${e}`)}if(u==="."||u==="..")throw new Error(`Invalid measurement path prefix: ${e}`)}try{return Nk(i)}catch{throw new Error(`Invalid measurement path prefix: ${e}`)}}function K7(e){const n=/^[a-z][a-z0-9+.-]*:\/\/[^/?#]*/i.exec(e);if(!n)throw new Error(`Invalid exact measurement URL: ${e}`);return e.slice(n[0].length).split(/[?#]/,1)[0]||"/"}function Av(e){const n=e.trim();if(!n||n.includes("\\"))throw new Error(`Invalid exact measurement URL: ${e}`);let i;try{i=new URL(n)}catch{throw new Error(`Invalid exact measurement URL: ${e}`)}if(i.protocol!=="http:"&&i.protocol!=="https:"||i.username||i.password||i.port||i.search||i.hash)throw new Error(`Invalid exact measurement URL: ${e}`);const r=ed(i.hostname),u=Kh(K7(n));return`https://${r}${u}`}const Kl=o().trim().min(1).refine(e=>{try{return ed(e),!0}catch{return!1}},"A target URL matcher host must be a valid hostname").overwrite(e=>ed(e)),H7=o().trim().min(1).refine(e=>{try{return Kh(e),!0}catch{return!1}},"A target URL matcher pathPrefix must be an absolute path without query or fragment").overwrite(e=>Kh(e)),Q7=o().trim().min(1).refine(e=>{try{return Av(e),!0}catch{return!1}},"A target exact matcher must be an HTTP(S) URL without credentials, port, query, or fragment").overwrite(e=>Av(e)),F7=Oe("kind",[m({kind:z("exact"),url:Q7,pathCase:Sv}).strict(),m({kind:z("prefix"),host:Kl,pathPrefix:H7,pathCase:Sv}).strict(),m({kind:z("host"),host:Kl}).strict()]),_k=o().trim().min(1).max(256).refine(e=>ja(e).length>0,"A target alias must contain mention text"),Z7=$e(o().trim().min(1),o()),Y7=Kl,Tk=m({stableKey:Yt,label:o().trim().min(1),urls:y(F7).min(1),aliases:y(_k),metadata:Z7.optional()}).strict(),Uf=m({stableKey:Yt,label:o().trim().min(1),targetKeys:y(Yt).min(1),competitors:y(Y7).optional()}).strict(),Ek=m({targetKey:Yt,queryIds:y(ec).min(1),context:Xt.nullable().optional()}).strict();function X7(e,n){return e<n?-1:e>n?1:0}function J7(e,n=i=>i){const i=new Set,r=new Set;for(const u of e){const h=n(u);i.has(h)&&r.add(h),i.add(h)}return r}function mh(e,n,i,r,u){for(const h of J7(n,u))e.addIssue({code:"custom",path:[...i],message:`Duplicate ${r}: ${h}`})}function Cv(e){if(e.kind==="host")return{host:e.host,pathname:null};if(e.kind==="prefix")return{host:e.host,pathname:e.pathPrefix};const n=new URL(e.url);return{host:ed(n.hostname),pathname:Nk(n.pathname||"/")}}function W7(e,n,i,r){return e===i||(n==="insensitive"||r==="insensitive")&&jv(e)===jv(i)}function eT(e,n){if(e.kind!==n.kind)return!1;const i=Cv(e),r=Cv(n);return i.host!==r.host?!1:e.kind==="host"||n.kind==="host"?!0:W7(i.pathname,e.pathCase,r.pathname,n.pathCase)}function tT(e){const n=new Set;return[...e].sort(X7).filter(i=>{const r=ja(i);return n.has(r)?!1:(n.add(r),!0)})}const Rk=m({schemaVersion:z(Ck),targets:y(Tk).min(1),groups:y(Uf).optional(),targetQuerySelections:y(Ek).optional()}).strict().superRefine((e,n)=>{const i=e.groups??[],r=e.targetQuerySelections??[];mh(n,e.targets.map(v=>v.stableKey),["targets"],"target stable key"),mh(n,i.map(v=>v.stableKey),["groups"],"group stable key");const u=new Set(e.targets.map(v=>v.stableKey)),h=new Set(i.map(v=>v.stableKey));for(const v of u)h.has(v)&&n.addIssue({code:"custom",path:["groups"],message:`Target and group stable keys must be globally unique: ${v}`});const g=new Map,b=[];e.targets.forEach((v,w)=>{for(const S of tT(v.aliases)){const A=ja(S),T=g.get(A);T&&T!==v.stableKey&&n.addIssue({code:"custom",path:["targets",w,"aliases"],message:`Target alias is already assigned to target ${T}: ${S}`}),g.set(A,v.stableKey)}v.urls.forEach((S,A)=>{b.find(C=>C.targetKey!==v.stableKey&&eT(C.matcher,S))&&n.addIssue({code:"custom",path:["targets",w,"urls",A],message:"Target URL matcher has an equal-specificity cross-target tie"}),b.push({targetKey:v.stableKey,matcher:S})})}),i.forEach((v,w)=>{mh(n,v.targetKeys,["groups",w,"targetKeys"],"group target key");for(let S=0;S<v.targetKeys.length;S++){const A=v.targetKeys[S];u.has(A)||n.addIssue({code:"custom",path:["groups",w,"targetKeys",S],message:`Unknown target: ${A}`})}}),r.forEach((v,w)=>{u.has(v.targetKey)||n.addIssue({code:"custom",path:["targetQuerySelections",w,"targetKey"],message:`Unknown target: ${v.targetKey}`})})});Rk.transform(e=>({...e,groups:e.groups??[],targetQuerySelections:e.targetQuerySelections??[]}));m({expectedActiveRevision:Wl.nullable(),plan:Rk}).strict();const nT=m({queryId:ec,queryText:o().min(1)}).strict(),Gf=m({stableKey:o().min(1),queryText:o().min(1),context:Xt.nullable(),expectedSnapshots:d().int().nonnegative()}).strict(),aT=m({kind:z("baseline"),executionNodeKey:o().min(1),queryId:ec}).strict(),iT=m({kind:z("target"),executionNodeKey:o().min(1),queryId:ec,targetKey:Yt}).strict(),Hh=Oe("kind",[aT,iT]),zk=m({code:z("target-alias-prefix-overlap"),message:o().min(1),targetKeys:y(Yt).min(1),aliases:y(o().min(1)).min(1)}).strict(),Dk=Tk.extend({mentionNotApplicable:N()}),Ok=m({schemaVersion:z(Ck),defaultContext:Xt.nullable(),effectiveOwnedHosts:y(Kl),projectCanonicalHost:Kl,projectBrandNames:y(_k),targets:y(Dk),groups:y(Uf),targetQuerySelections:y(Ek),querySnapshots:y(nT),executionNodes:y(Gf),usageEdges:y(Hh),warnings:y(zk)}).strict(),sT=Ok,qk=Oe("schemaVersion",[Ok,wd]),Kf=o().regex(/^[a-f0-9]{64}$/),Hf=o().datetime(),Ik=m({schemaVersion:z(1),providers:y(o().min(1)).min(1),models:$e(o().min(1),o().min(1)),checksum:o().regex(/^[a-f0-9]{64}$/)}).strict(),oT=m({groups:y(Yt).optional(),targets:y(Yt).optional()}).strict(),rT=m({groups:y(Yt),targets:y(Yt),queries:y(o().min(1)),resolvedTargets:y(Yt)}).strict().superRefine((e,n)=>{e.resolvedTargets.length===0&&e.queries.length===0&&n.addIssue({code:"custom",path:["resolvedTargets"],message:"A recorded scope must name something it measured"})});m({stableKey:Yt,retiredAt:o().datetime()});m({active:m({revision:Wl,checksum:Kf,createdAt:Hf,plan:qk}).nullable()});m({versions:y(m({revision:Wl,checksum:Kf,createdAt:Hf,active:N()}))});m({version:m({revision:Wl,checksum:Kf,createdAt:Hf,active:N(),plan:qk})});const Uu=m({targets:d().int(),groups:d().int(),queries:d().int(),executionNodes:d().int(),usageEdges:d().int(),baselineEdges:d().int(),targetEdges:d().int(),dedupSavings:d().int()}).strict(),lT=j(["invalid-authoring","duplicate-identity","unknown-target","unknown-query","invalid-project-context","unowned-target-url","owned-competitor","target-query-context-conflict","target-url-ownership-tie","target-alias-cross-target-collision","target-alias-project-brand-collision","target-alias-prefix-overlap"]),Pk=m({id:lT,severity:j(["fail","warn"]),message:o().min(1),path:y(He([o(),d().int()]))}).strict(),cT=m({baseline:d().int().nonnegative(),target:d().int().nonnegative()}).strict(),Mk=m({ok:z(!0),checks:y(Pk),executionNodes:y(Gf),dedupSaved:d().int().nonnegative(),usageEdges:cT,estCostUsd:ue(),plan:sT,warnings:y(zk),counts:Uu}).strict(),Bk=m({ok:z(!1),checks:y(Pk).min(1),executionNodes:y(Gf).length(0),dedupSaved:z(0),usageEdges:m({baseline:z(0),target:z(0)}).strict(),estCostUsd:ue()}).strict();Oe("ok",[Mk,Bk]);const Nu=m({targetKey:Yt,context:Xt.nullable(),queryIds:y(ec)}).strict();function Nv(e){return m({added:y(e),removed:y(e),changed:y(m({stableKey:Yt,before:e,after:e}).strict()),unchanged:y(Yt)}).strict()}const uT=Mk.extend({diff:m({activeRevision:Wl.nullable(),targets:Nv(Dk),groups:Nv(Uf),querySelections:m({added:y(Nu),removed:y(Nu),changed:y(m({targetKey:Yt,before:Nu,after:Nu}).strict()),unchanged:y(m({targetKey:Yt,context:Xt.nullable()}).strict())}).strict(),execution:m({addedNodeKeys:y(o().min(1)),removedNodeKeys:y(o().min(1)),addedUsageEdges:y(Hh),removedUsageEdges:y(Hh),counts:m({before:Uu.nullable(),after:Uu,delta:Uu.nullable()}).strict()}).strict()}).strict()}).strict(),dT=Bk.extend({diff:ue()}).strict();Oe("ok",[uT,dT]);const mT=1,pT=o().refine(e=>e.trim().length>0,{message:"Must not be blank"}),Lk=m({displayName:o(),aliases:y(o()),canonicalDomain:o(),ownedDomains:y(o())}).strict(),Vk=m({provider:ht.refine(e=>e.trim().length>0,{message:"Provider must not be blank"}),requestedModel:o().nullable()}).strict(),$k=m({domain:o(),label:o(),aliases:y(o())}).strict(),Uk=m({queryId:pT,queryText:o(),provenance:o().nullable()}).strict(),hT=Uk.extend({queryClass:hr.nullable()}).strict();function Gk(e,n){const i=new Set;e.engines.forEach((h,g)=>{const b=h.provider.trim().toLocaleLowerCase("en");i.has(b)&&n.addIssue({code:be.custom,path:["engines",g,"provider"],message:`Duplicate engine provider "${h.provider}"`}),i.add(b)});const r=new Set;e.queries.forEach((h,g)=>{r.has(h.queryId)&&n.addIssue({code:be.custom,path:["queries",g,"queryId"],message:`Duplicate query id "${h.queryId}"`}),r.add(h.queryId)});const u=new Set;e.competitors?.forEach((h,g)=>{const b=h.domain;u.has(b)&&n.addIssue({code:be.custom,path:["competitors",g,"domain"],message:`Duplicate competitor domain "${h.domain}"`}),u.add(b)})}m({capturedAt:o().datetime(),identity:Lk,country:o(),language:o(),location:Xt.nullable(),engines:y(Vk).min(1),competitors:y($k).optional(),queries:y(Uk)}).strict().superRefine(Gk);m({schemaVersion:z(mT),capturedAt:o().datetime(),identity:Lk,country:o(),language:o(),location:Xt.nullable(),engines:y(Vk).min(1),competitors:y($k).optional(),queries:y(hT)}).strict().superRefine(Gk);const fT=j(["auto","simple","advanced"]),Kk=j(["simple","advanced"]),Hk=j(["branded","non-brand","unknown","all"]),gT=j(["branded","non-brand","unknown"]),Qf=j(["project","group","market","property"]),Qk=Oe("kind",[m({kind:z("all")}).strict(),m({kind:z("none")}).strict(),m({kind:z("exact"),value:o().trim().min(1)}).strict()]);function yT(e){if(e===void 0||e==="")return{kind:"all"};const n=e.normalize("NFKC").trim();return n===""?{kind:"all"}:n.toLocaleLowerCase("en")==="none"?{kind:"none"}:{kind:"exact",value:n}}const ut=o().trim().min(1),bi=o().datetime(),bT={mode:fT.default("auto"),queryClass:Hk.default("non-brand"),scope:Qf.default("project"),scopeKey:ut.optional(),marketKey:ut.optional(),provider:ut.optional(),model:ut.optional(),location:o().trim().min(1).optional(),from:bi.optional(),to:bi.optional(),revision:d().int().positive().optional(),runId:ut.optional(),queryKey:ut.optional(),queryId:ut.optional(),search:o().trim().min(1).optional(),cursor:ut.optional(),limit:d().int().min(1).max(100).default(50)},vT=m(bT).strict().superRefine((e,n)=>{e.scope!=="project"&&e.scopeKey===void 0&&n.addIssue({code:be.custom,path:["scopeKey"],message:`scopeKey is required for ${e.scope} scope`}),e.scope==="project"&&e.scopeKey!==void 0&&n.addIssue({code:be.custom,path:["scopeKey"],message:"scopeKey is not valid for project scope"}),e.scope==="market"&&e.marketKey!==void 0&&n.addIssue({code:be.custom,path:["marketKey"],message:"marketKey is not valid for market scope"}),e.from!==void 0&&e.to!==void 0&&e.from>e.to&&n.addIssue({code:be.custom,path:["to"],message:"to must be on or after from"}),e.queryKey!==void 0&&e.queryId!==void 0&&n.addIssue({code:be.custom,path:["queryId"],message:"queryKey and queryId cannot both be supplied"})});vT.transform(e=>({...e,location:yT(e.location)}));const la=m({numerator:d().int().nonnegative().nullable(),denominator:d().int().nonnegative().nullable(),rate:d().min(0).max(1).nullable(),reason:j(["no-population","incomplete","evidence-incomplete","identity-ambiguous","not-applicable"]).optional()}).strict().superRefine((e,n)=>{if(e.numerator===null||e.denominator===null||e.rate===null){(e.numerator!==null||e.denominator!==null||e.rate!==null||e.reason===void 0)&&n.addIssue({code:be.custom,message:"Unavailable rates require null values and a reason"});return}e.reason!==void 0&&n.addIssue({code:be.custom,message:"Available rates cannot carry a reason"});const{numerator:r,denominator:u}=e;u===null||r===null||(u===0&&n.addIssue({code:be.custom,path:["denominator"],message:"Available rates require a positive denominator"}),r>u&&n.addIssue({code:be.custom,path:["numerator"],message:"Numerator cannot exceed denominator"}))}),Fk=Oe("kind",[m({kind:z("frozen-simple"),definitionRevision:ue()}).strict(),m({kind:z("legacy-simple"),definitionRevision:ue()}).strict(),m({kind:z("frozen-advanced"),definitionRevision:d().int().positive()}).strict(),m({kind:z("unsupported-advanced-v1"),definitionRevision:d().int().positive()}).strict()]),td=m({id:ut,label:o().trim().min(1),kind:Qf,targetCount:d().int().nonnegative(),parentGroupIds:y(ut).optional(),marketKeys:y(ut).optional()}).strict(),xT=m({provider:ut,model:ut}).strict(),wT=m({providers:y(ut),models:y(xT),locations:y(Qk)}).strict(),kT=m({queryCount:d().int().nonnegative(),answerCount:d().int().nonnegative(),mentionCoverage:la,citationCoverage:la,propertyReach:la,outcomes:m({bothSignals:d().int().nonnegative(),mentionedOnly:d().int().nonnegative(),citedOnly:d().int().nonnegative(),neither:d().int().nonnegative(),notMeasured:d().int().nonnegative(),total:d().int().nonnegative()}).strict().superRefine((e,n)=>{e.bothSignals+e.mentionedOnly+e.citedOnly+e.neither+e.notMeasured!==e.total&&n.addIssue({code:be.custom,message:"Outcome partition must sum to total"})})}).strict(),ST=m({runId:ut,createdAt:bi,revision:d().int().positive().nullable(),provenance:Fk,queryCount:d().int().nonnegative(),answerCount:d().int().nonnegative(),mentionCoverage:la,citationCoverage:la,continuity:m({state:j(["first","comparable","definition-changed","model-changed","legacy-unknown"]),comparedRunId:o().nullable()}).strict()}).strict(),jT=m({queryKey:ut,queryId:o().nullable(),query:o(),provider:ut,model:o().nullable(),location:o().nullable(),targetKeys:y(ut),marketKeys:y(ut).optional(),answerCount:d().int().nonnegative(),mentionCoverage:la,citationCoverage:la}).strict(),AT=m({answerId:ut,runId:ut,queryKey:ut,query:o(),provider:ut,model:o().nullable(),location:o().nullable(),targetKeys:y(ut),mentioned:N().nullable(),mentionUnavailableReason:z("identity-ambiguous").optional(),cited:N().nullable(),answerText:o().nullable(),createdAt:bi,sources:y(o()),observedCompetitors:y(ut)}).strict(),CT=m({domain:ut,answerCount:d().int().nonnegative(),mentionCoverage:la,citationCoverage:la}).strict(),NT=m({name:ut,answerCount:d().int().nonnegative()}).strict(),_T=Oe("state",[m({state:z("available")}).strict(),m({state:z("unavailable"),reason:z("frozen-competitor-identity-missing")}).strict()]),_v=m({id:ut,label:o().trim().min(1),queryCount:d().int().nonnegative(),mentionCoverage:la,citationCoverage:la}).strict();function Tv(e){return m({items:y(e),nextCursor:o().nullable(),total:d().int().nonnegative()}).strict()}const Zk=j(["current-unavailable","previous-unavailable","not-applicable"]),DF=Zk.enum,ph=Oe("state",[m({state:z("available"),previous:la,delta:d().min(-1).max(1)}).strict(),m({state:z("unavailable"),reason:Zk}).strict()]),Ev=m({id:ut,createdAt:bi,completedAt:bi.nullable()}).strict(),Yk=j(["no-selected-run","no-previous-run","scoped-run","partial-run","definition-changed","model-changed","legacy-unknown"]),OF=Yk.enum,TT=Oe("state",[m({state:z("available"),previousRun:Ev,mentionCoverage:ph,citationCoverage:ph,propertyReach:ph}).strict(),m({state:z("unavailable"),reason:Yk,previousRun:Ev.nullable()}).strict()]),Xk=m({queryClass:gT,summary:kT,trend:y(ST),comparison:TT.optional(),queries:Tv(jT),evidence:Tv(AT),competitorAvailability:_T,competitors:y(CT),observedCompetitors:y(NT),breakdown:m({properties:y(_v),groups:y(_v)}).strict()}).strict(),ET=j(["measured","not-measured","partial"]),RT=m({state:ET,activeRevision:d().int().positive().nullable(),measuredRevision:d().int().positive().nullable(),awaitingSweep:N(),pendingAssignmentCount:d().int().nonnegative(),completedAt:bi.nullable()}).strict(),Jk=m({mode:Kk,queryClass:Hk,scope:td,market:td.optional(),provider:o().nullable(),model:o().nullable(),location:Qk,time:m({from:bi.nullable(),to:bi.nullable()}).strict(),revision:d().int().positive().nullable(),run:m({id:o().nullable(),explicit:N()}).strict(),provenance:Fk,measurement:RT,availability:Oe("state",[m({state:z("available")}).strict(),m({state:z("unsupported"),reason:z("advanced-v1")}).strict()])}).strict();m({selection:Jk,scopeOptions:y(td),filterOptions:wT,populations:y(Xk).min(1)}).strict().superRefine((e,n)=>{const i=e.selection.queryClass==="all"?["branded","non-brand","unknown"]:[e.selection.queryClass],r=e.populations.map(u=>u.queryClass);(r.length!==i.length||r.some((u,h)=>u!==i[h]))&&n.addIssue({code:be.custom,path:["populations"],message:"Populations must exactly match the selected query class order"});for(const[u,h]of e.populations.entries()){const g=h.comparison;if(g?.state==="available")for(const b of["mentionCoverage","citationCoverage","propertyReach"]){const v=g[b];if(v.state!=="available")continue;const w=["populations",u,"comparison",b],S=h.summary[b].rate,A=v.previous.rate;S===null&&n.addIssue({code:be.custom,path:w,message:"Available changes require a current rate"}),A===null&&n.addIssue({code:be.custom,path:[...w,"previous","rate"],message:"Available changes require a previous rate"}),S!==null&&A!==null&&Math.abs(v.delta-(S-A))>Number.EPSILON&&n.addIssue({code:be.custom,path:[...w,"delta"],message:"Delta must equal current minus previous"}),e.selection.run.id===null&&n.addIssue({code:be.custom,path:w,message:"Available changes require a selected run"})}}});const Wk=j(["retired-scope","retired-market"]),zT=Wk.enum,DT=m({reason:Wk,kind:Qf.exclude(["project"]),key:ut}).strict().superRefine((e,n)=>{e.reason===zT["retired-market"]&&e.kind!=="market"&&n.addIssue({code:be.custom,path:["kind"],message:"retired-market details must name a market"})});function qF(e){const n=DT.safeParse(e);return n.success?n.data:void 0}function OT(e,n){let i=e;for(const[r,u]of Object.entries(n))i=i.split(`{${r}}`).join(u);return i.trim()}const Ff=o().regex(/^[a-f0-9]{64}$/),Gn=o().trim().min(1).max(256),Aa=o().trim().min(1).max(4e3),Zf=o().datetime(),Sd=o().regex(/^qtw_[a-f0-9]{64}$/),e2=o().regex(/^qtp_[a-f0-9]{64}$/),Yf=j(["simple","advanced"]),t2=m({templateId:Gn,templateVersion:o().trim().min(1).max(256),template:Aa,bindings:$e(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:Aa}).strict(),qT=m({source:j(["manual","query-set","template","research","discovery"]),sourceId:Gn.nullable(),capturedAt:o().datetime(),template:t2.optional()}).strict().superRefine((e,n)=>{e.source==="template"&&e.template===void 0&&n.addIssue({code:be.custom,path:["template"],message:"Template provenance is required for a template query."}),e.source!=="template"&&e.template!==void 0&&n.addIssue({code:be.custom,path:["template"],message:"Only a template query may carry template provenance."})}),IT=Oe("source",[m({source:z("manual"),text:Aa}).strict(),m({source:z("template"),templateId:Gn,templateVersion:o().trim().min(1).max(256),template:Aa}).strict(),m({source:z("research"),researchRunQueryId:Gn}).strict(),m({source:z("discovery"),discoveryProbeId:Gn}).strict()]),Xf=m({targetKeys:y(me).optional(),groupKeys:y(me).optional(),marketKeys:y(me).optional()}).strict(),PT=m({providers:y(ht).min(1),models:$e(ht,o().trim().min(1)),location:o().trim().min(1).nullable()}).strict(),MT=m({input:IT,audience:Xf.optional(),contexts:y(PT).min(1).optional(),queryClass:hr.optional()}).strict(),BT=m({queryId:Gn.optional(),queryText:Aa.optional(),audience:Xf.optional()}).strict().superRefine((e,n)=>{e.queryId===void 0==(e.queryText===void 0)&&n.addIssue({code:be.custom,message:"Provide exactly one of queryId or queryText."})}),LT=m({queryId:Gn,audience:Xf.optional(),text:Aa.optional(),queryClass:He([hr,ue()]).optional()}).strict().superRefine((e,n)=>{e.text===void 0&&e.queryClass===void 0&&n.addIssue({code:be.custom,message:"Provide query text or a classification change."})}),VT=m({additions:y(MT),removals:y(BT),edits:y(LT).optional()}).strict(),$T=VT.extend({expectedWorkspaceVersion:Sd}).strict();$T.extend({previewToken:e2,reviewedAt:Zf}).strict();const UT=m({stableKey:me,label:o().trim().min(1)}).strict(),GT=m({stableKey:me,parentGroupKey:me.optional(),label:o().trim().min(1),targetKeys:y(me)}).strict(),KT=m({stableKey:me,groupKey:me.optional(),label:o().trim().min(1),usageEdges:y(Bf)}).strict(),HT=m({targetKey:me,groupKeys:y(me),marketKeys:y(me),queryClass:hr.nullable(),classificationSource:j(["frozen","server","operator"]),contexts:y(xd).min(1)}).strict(),n2=m({queryId:Gn,queryText:Aa,normalizedText:Aa,provenance:qT.nullable(),state:j(["tracked","awaiting-sweep"]),lastMeasuredAt:o().datetime().nullable(),assignments:y(HT)}).strict(),QT=m({researchRunId:Gn,researchRunQueryId:Gn,queryText:Aa,createdAt:o().datetime()}).strict(),FT=m({discoverySessionId:Gn,discoveryProbeId:Gn,queryText:Aa,createdAt:o().datetime()}).strict();m({mode:Yf,workspaceVersion:Sd,active:m({revision:d().int().positive(),compiledChecksum:Ff}).strict().nullable(),defaultContexts:y(xd),targets:y(UT),groups:y(GT),markets:y(KT),scopeOptions:y(td).optional(),tracked:y(n2),savedSources:m({research:y(QT),discovery:y(FT)}).strict()}).strict();const _u=m({queryId:Gn,queryText:Aa,assignmentCount:d().int().nonnegative()}).strict(),a2=m({added:y(_u),removed:y(_u),reused:y(_u),unchanged:y(_u),noOp:N()}).strict(),i2=m({existingNodes:d().int().nonnegative(),existingProviderCalls:d().int().nonnegative(),nextSweepNodes:d().int().nonnegative(),nextSweepProviderCalls:d().int().nonnegative(),addedNodes:d().int().nonnegative(),addedProviderCalls:d().int().nonnegative(),removedNodes:d().int().nonnegative(),removedProviderCalls:d().int().nonnegative()}).strict();m({mode:Yf,workspaceVersion:Sd,previewToken:e2,reviewedAt:Zf,active:m({revision:d().int().positive(),compiledChecksum:Ff}).strict().nullable(),tracked:y(n2),diff:a2,workload:i2}).strict();m({committed:N(),mode:Yf,workspaceVersion:Sd,reviewedAt:Zf,active:m({revision:d().int().positive(),compiledChecksum:Ff}).strict().nullable(),diff:a2,workload:i2}).strict();const jd=j(["complete","partial","failed","unsupported"]);jd.enum;j(["proposed","alias","shared","unmatched","excluded"]);j(["primary-match","exact-slug-match","excluded-slug","shared-path","unmatched-path","alias-without-primary","unsupported-slug"]);const ZT=j(["invalid-url","unowned-host","duplicate-url","url-cap-reached"]),YT=m({kind:j(["exact","prefix","suffix","contains"]),value:o().trim().min(1)}).strict(),Rv=m({host:o().trim().min(1),pathTemplate:o().trim().min(1)}).strict(),Jf=m({primary:Rv,aliases:y(Rv).optional(),excludedSlugSuffixes:y(o().trim().min(1)).optional(),excludedSlugPatterns:y(YT).optional()}).strict();m({sitemapUrl:o().url().refine(e=>{try{const n=new URL(e).protocol;return n==="http:"||n==="https:"}catch{return!1}},"Sitemap URL must use http or https"),rule:Jf,maxUrls:d().int().positive().max(1e4).optional()}).strict();const hh=m({url:o(),canonicalUrl:o().nullable(),classification:j(["shared","unmatched","excluded"]),reason:j(["excluded-slug","shared-path","unmatched-path","alias-without-primary","unsupported-slug"])}).strict().superRefine((e,n)=>{({shared:["shared-path"],unmatched:["unmatched-path","alias-without-primary","unsupported-slug"],excluded:["excluded-slug"]})[e.classification].includes(e.reason)||n.addIssue({code:"custom",message:"Discovery classification and reason do not match"})}),XT=m({classification:z("proposed"),reason:z("primary-match"),stableKey:Yt,slug:o().trim().min(1),label:o().trim().min(1),primaryUrl:o().url(),aliasCoverageUrls:y(o().url())}).strict(),JT=m({classification:z("alias"),reason:z("exact-slug-match"),slug:o().trim().min(1),url:o().url(),targetStableKey:Yt}).strict(),WT=m({kind:ZT,url:o(),canonicalUrl:o().nullable(),duplicateOf:o().optional()}).strict();m({proposed:y(XT),aliases:y(JT),shared:y(hh),unmatched:y(hh),excluded:y(hh),diagnostics:y(WT)}).strict().superRefine((e,n)=>{const i=[["shared",["shared"]],["unmatched",["unmatched"]],["excluded",["excluded"]]];for(const[r,u]of i)for(const h of e[r])u.includes(h.classification)||n.addIssue({code:"custom",path:[r],message:"Discovery item is in the wrong result bucket"})});const Wf=j(["assigned","sibling","ownedUnmapped","external","ambiguous","invalid"]),s2=j(["baseline","target"]),o2=j(["incomplete","evidence-incomplete","identity-ambiguous","no-population","aliasless","no-competitors","no-project-aliases"]),Ws=He([m({numerator:d().int().nonnegative(),denominator:d().int().positive(),rate:d().min(0).max(1)}).strict(),m({numerator:ue(),denominator:ue(),rate:ue(),reason:o2}).strict()]).superRefine((e,n)=>{e.numerator!==null&&e.numerator>e.denominator&&n.addIssue({code:"custom",path:["numerator"],message:"Rate numerator cannot exceed denominator"})}),eE=o().trim().min(1).overwrite(e=>e.toLocaleLowerCase("en")),tE=m({executionId:o().trim().min(1),queryText:o().trim().min(1),provider:eE,context:Xt.nullable(),requestedModel:o().trim().min(1).optional()}).strict();m({schemaVersion:z(1),expectedSlots:y(tE)}).strict().superRefine((e,n)=>{const i=new Set;for(const[r,u]of e.expectedSlots.entries()){const h=[u.executionId,u.provider].join("\0");i.has(h)&&n.addIssue({code:"custom",path:["expectedSlots",r],message:"Duplicate expected provider slot"}),i.add(h)}});const Ad=m({executed:d().int().nonnegative(),expected:d().int().nonnegative(),complete:N(),sourceComplete:N(),sourceCompleteObservations:d().int().nonnegative(),answerComplete:N()}).strict(),zv=He([m({domain:o().trim().min(1),own:N(),presentIn:d().int().nonnegative(),of:d().int().positive()}).strict(),m({domain:o().trim().min(1),own:N(),presentIn:ue(),of:ue(),reason:o2}).strict()]),nE=m({domains:y(zv),providers:y(m({provider:ht,domains:y(zv)}).strict())}).strict(),aE=m({provider:ht,completeness:Ad,answerCoverage:Ws}).strict(),iE=m({id:o().trim().min(1),label:o().trim().min(1),targetIds:y(o().trim().min(1)),completeness:Ad,answerCoverage:Ws,targetCoverage:Ws,sov:nE,providers:y(aE)}).strict(),sE=m({provider:ht,completeness:Ad,citationCoverage:Ws,mentionCoverage:Ws}).strict(),oE=m({id:o().trim().min(1),label:o().trim().min(1),completeness:Ad,citationCoverage:Ws,mentionCoverage:Ws,providers:y(sE)}).strict(),r2=m({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:s2,provider:ht,queryText:o().trim().min(1),location:o().nullable(),sourceUrl:o(),bridged:N(),historical:N(),evidenceComplete:N(),classification:Wf,normalizedUrl:o().nullable(),matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),rE=m({sourceUrl:o(),normalizedUrl:o().nullable(),classification:Wf,matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),lE=m({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:s2,provider:ht,queryText:o().trim().min(1),location:o().nullable(),queryClass:He([j(["branded","non-brand"]),ue()]),mentioned:N().nullable(),cited:N().nullable(),sources:y(rE),sourceCount:d().int().nonnegative(),sourcesTruncated:N(),bridged:N(),historical:N(),evidenceComplete:N()}).strict(),cE=m({bridgedObservationIds:y(o()),historicalObservationIds:y(o()),evidenceIncompleteObservationIds:y(o()),ambiguousObservationIds:y(o()),unmatchedObservationIds:y(o())}).strict(),uE=m({id:o().trim().min(1),status:j(["completed","partial"]),createdAt:o().datetime(),startedAt:o().datetime().nullable(),finishedAt:o().datetime().nullable()}).strict();m({revision:d().int().positive(),run:uE.nullable(),groups:y(iE),targets:y(oE),evidence:y(r2),diagnostics:cE}).strict();m({property:m({targetKey:me,label:o().min(1)}).strict(),queryClass:_a,measurement:m({state:$f,displayedRunId:o().min(1).optional(),completedAt:o().datetime().optional()}).strict(),evidence:or(r2).optional(),answers:or(lE).optional()}).strict().refine(e=>e.evidence===void 0!=(e.answers===void 0),{message:"Exactly one of evidence or answers is present, naming the shape that was served."});const e0=j(["used","not-used","unknown","not-applicable"]);e0.enum;const t0=j(["native-auto-v1","search-required-v1"]);t0.enum;const Ca=o().trim().min(1),tc=o().trim().min(1),dE=o().trim().min(1),st=d().int().nonnegative(),nc=m({state:$f,displayedRunId:Ca.nullable(),planRevision:d().int().positive(),completedAt:o().datetime().nullable()}).strict(),is=m({targetKey:me,label:tc}).strict(),Kn={runId:Ca.optional(),provider:ht.optional(),location:dE.optional()},Hl=o().trim().min(1);m({runId:Kn.runId,groupKey:me.optional(),queryClass:_a.default("non-brand"),provider:Kn.provider,location:Kn.location,limit:d().int().positive().max(50).optional()}).strict();const mE=is.extend({mentionCoverage:zt,citationCoverage:zt,flags:st,recommendedInstead:y(m({name:Hl,occurrences:st}).strict()).max(5),recommendedInsteadTotal:st,recommendedInsteadTruncated:N()}).strict().superRefine((e,n)=>{e.recommendedInstead.length>e.recommendedInsteadTotal&&n.addIssue({code:be.custom,path:["recommendedInsteadTotal"],message:"Total cannot be smaller than the returned replacements"}),e.recommendedInsteadTruncated!==e.recommendedInstead.length<e.recommendedInsteadTotal&&n.addIssue({code:be.custom,path:["recommendedInsteadTruncated"],message:"Truncation must agree with the replacement total"})}),pE=m({groupKey:me,label:tc,propertyCount:st,propertiesMentioned:zt,mentionCoverage:zt,citationCoverage:zt}).strict(),hE=m({eligiblePropertyCount:st,strongest:y(is.extend({mentionCoverage:zt.options[0],citationCoverage:zt}).strict()).max(50),weakest:y(is.extend({mentionCoverage:zt.options[0],citationCoverage:zt}).strict()).max(50),excluded:y(is.extend({reason:kd}).strict()),truncated:N()}).strict();m({portfolio:m({groupKey:me.nullable(),label:tc.nullable(),measurementScope:He([j(["full","spot_check"]),ue()])}).strict(),measurement:nc,queryClass:_a,metrics:m({propertiesMentioned:zt,mentionCoverage:zt,citationCoverage:zt}).strict(),weakestProperties:y(mE),mentionRanking:hE,markets:y(pE),totalProperties:st,truncated:N()}).strict();m({targetKey:me,runId:Kn.runId,provider:Kn.provider,location:Kn.location,queryClass:_a.optional(),offset:d().int().nonnegative().optional(),limit:d().int().positive().max(100).optional()}).strict();j(["answered","missing"]);const Qh={queryId:Ca,text:tc,class:Mf,provider:ht,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable()},fE=Oe("status",[m({resultId:Ca,...Qh,status:z("answered"),mentioned:N().nullable(),cited:N().nullable(),recommendedInstead:y(Hl),answerExcerpt:o().nullable()}).strict(),m({resultId:ue(),...Qh,status:z("missing"),mentioned:ue(),cited:ue(),recommendedInstead:y(Hl).length(0),answerExcerpt:ue()}).strict()]);m({property:is,measurement:nc,queryClass:_a,questions:y(fE),total:st,truncated:N()}).strict();m({targetKey:me,resultId:Ca}).strict();const gE=m({url:Ca,classification:Wf,matchedTargetKeys:y(me),assigned:N(),historical:N(),evidenceComplete:N()}).strict().superRefine((e,n)=>{e.assigned!==(e.classification==="assigned")&&n.addIssue({code:be.custom,path:["assigned"],message:"Assigned must agree with the source attribution classification"})});m({property:is,measurement:nc,question:m({resultId:Ca,...Qh,status:z("answered")}).strict(),mentioned:N().nullable(),cited:N().nullable(),recommendedInstead:y(Hl),answer:o().nullable(),sources:y(gE),captureStatus:He([jd,ue()]),retrievalStatus:He([e0,ue()]),retrievalContract:He([t0,ue()])}).strict();m({targetKey:me,runId:Kn.runId,provider:Kn.provider,location:Kn.location,queryClass:_a.optional(),limit:d().int().positive().max(50).optional()}).strict();const yE=Oe("state",[m({state:z("available"),answeredResults:st,targetMissResults:st,recommendationOccurrences:st}).strict(),m({state:z("unavailable"),reason:kd}).strict()]),bE=m({name:Hl,occurrences:st,providers:y(ht).max(5),providerTotal:st,providersTruncated:N(),questions:y(tc).max(5),questionTotal:st,questionsTruncated:N()}).strict().superRefine((e,n)=>{(e.providers.length>e.providerTotal||e.questions.length>e.questionTotal)&&n.addIssue({code:be.custom,message:"Evidence totals cannot be smaller than returned evidence"}),e.providersTruncated!==e.providers.length<e.providerTotal&&n.addIssue({code:be.custom,path:["providersTruncated"],message:"Provider truncation must agree with its total"}),e.questionsTruncated!==e.questions.length<e.questionTotal&&n.addIssue({code:be.custom,path:["questionsTruncated"],message:"Question truncation must agree with its total"})});m({property:is,measurement:nc,queryClass:_a,basis:yE,competitors:y(bE),total:st,truncated:N()}).strict();m({runId:Kn.runId,scope:Vf.default("all"),groupKey:me.optional(),targetKey:me.optional(),queryClass:_a.default("all"),provider:Kn.provider,location:Kn.location,limit:d().int().positive().max(50).optional()}).strict().superRefine((e,n)=>{e.scope==="all"&&(e.groupKey!==void 0||e.targetKey!==void 0)&&n.addIssue({code:be.custom,path:["scope"],message:"All scope cannot name a group or Property"}),e.scope==="group"&&(e.groupKey===void 0||e.targetKey!==void 0)&&n.addIssue({code:be.custom,path:["groupKey"],message:"Group scope requires groupKey only"}),e.scope==="property"&&(e.targetKey===void 0||e.groupKey!==void 0)&&n.addIssue({code:be.custom,path:["targetKey"],message:"Property scope requires targetKey only"})});const l2=j(["no_previous_run","execution_identity_changed","incomplete","not_comparable"]),c2=nc.extend({executionIdentity:Ca.nullable(),measurementScope:He([j(["full","spot_check"]),ue()])}).strict(),Tl=Oe("state",[m({state:z("available"),previous:zt,current:zt,delta:d()}).strict().superRefine((e,n)=>{if(e.previous.state!=="available"||e.current.state!=="available"){n.addIssue({code:be.custom,message:"Available deltas require two available metrics"});return}Math.abs(e.delta-(e.current.value-e.previous.value))>Number.EPSILON&&n.addIssue({code:be.custom,path:["delta"],message:"Delta must equal current minus previous"})}),m({state:z("unavailable"),reason:kd}).strict()]);m({current:c2,comparison:Oe("state",[m({state:z("available"),previous:m({displayedRunId:Ca,planRevision:d().int().positive(),completedAt:o().datetime().nullable(),executionIdentity:Ca,measurementScope:j(["full","spot_check"])}).strict(),metrics:m({propertiesMentioned:Tl,mentionCoverage:Tl,citationCoverage:Tl}).strict(),changedProperties:y(is.extend({mentionCoverage:Tl,citationCoverage:Tl,flags:st}).strict()),totalProperties:st,truncated:N()}).strict(),m({state:z("unavailable"),reason:l2}).strict()])}).strict().superRefine((e,n)=>{if(e.comparison.state==="available"){if(e.current.displayedRunId===null||e.current.executionIdentity===null){n.addIssue({code:be.custom,path:["current"],message:"A comparison requires an identified current run"});return}e.comparison.previous.planRevision!==e.current.planRevision&&n.addIssue({code:be.custom,path:["comparison","previous","planRevision"],message:"Comparisons cannot cross plan revisions"}),e.comparison.previous.executionIdentity!==e.current.executionIdentity&&n.addIssue({code:be.custom,path:["comparison","previous","executionIdentity"],message:"Comparisons cannot cross execution identities"})}});m({runId:Kn.runId}).strict();const vE=j(["no_completed_run","incomplete","evidence_incomplete","no_population","not_applicable"]),Cd=m({state:z("unavailable"),reason:vE}).strict(),xE=m({state:z("available"),expected:st,executed:st,answered:st,missing:st}).strict(),wE=Oe("state",[xE,Cd]).superRefine((e,n)=>{e.state==="available"&&(e.executed+e.missing!==e.expected&&n.addIssue({code:be.custom,message:"Expected must equal executed plus missing"}),e.answered>e.executed&&n.addIssue({code:be.custom,path:["answered"],message:"Answered cannot exceed executed"}))}),kE=m({state:z("available"),complete:st,partial:st,failed:st,unsupported:st,notRecorded:st}).strict(),SE=Oe("state",[kE,Cd]),jE=m({state:z("available"),used:st,notUsed:st,unknown:st,notApplicable:st,notRecorded:st}).strict(),AE=Oe("state",[jE,Cd]),CE=m({state:z("available"),expectedQuestions:st,answeredQuestions:st,missingQuestions:st}).strict(),NE=Oe("state",[CE,Cd]).superRefine((e,n)=>{e.state==="available"&&e.answeredQuestions+e.missingQuestions!==e.expectedQuestions&&n.addIssue({code:be.custom,message:"Expected questions must equal answered plus missing"})});m({run:c2,completeness:wE,capture:SE,retrieval:AE,population:NE,comparison:Oe("state",[m({state:z("available"),previousDisplayedRunId:Ca}).strict(),m({state:z("unavailable"),reason:l2}).strict()])}).strict().superRefine((e,n)=>{if(e.completeness.state!=="available")return;const i=e.completeness.executed;e.capture.state==="available"&&e.capture.complete+e.capture.partial+e.capture.failed+e.capture.unsupported+e.capture.notRecorded!==i&&n.addIssue({code:be.custom,path:["capture"],message:"Capture counts must total executed snapshots"}),e.retrieval.state==="available"&&e.retrieval.used+e.retrieval.notUsed+e.retrieval.unknown+e.retrieval.notApplicable+e.retrieval.notRecorded!==i&&n.addIssue({code:be.custom,path:["retrieval"],message:"Retrieval counts must total executed snapshots"})});const rr=o().regex(/^[a-f0-9]{64}$/),Na=o().trim().min(1).max(256),Ua=d().int().positive(),Dv=m({kind:j(["user","api-key","system"]),id:o().trim().min(1),label:o().trim().min(1)}).strict(),_E=j(["proposed","included","excluded"]),TE=j(["manual","sitemap"]),n0=m({stableKey:me,label:o().trim().min(1),status:_E,aliases:y(o().trim().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(o().trim().min(1)),source:TE,discoveredUrl:o().trim().min(1).optional(),discoveryIdentity:o().trim().min(1).optional()}).strict(),Nd=m({providers:y(ht).optional(),models:$e(ht,o().trim().min(1)).optional(),locations:y(o().trim().min(1)).optional()}).strict(),EE=j(["branded","non-brand","unclassified"]),RE=j(["rule","operator"]),u2=m({targetKey:me,queryId:Na,contextOverride:Nd.optional(),executionContexts:y(xd.extend({executionNodeKey:o().min(1).optional()})).min(1).optional(),queryProvenance:Sk.optional(),queryClass:EE,classificationSource:RE}).strict().superRefine((e,n)=>{e.contextOverride!==void 0&&e.executionContexts!==void 0&&n.addIssue({code:"custom",path:["executionContexts"],message:"Use either frozen execution contexts or a context override, not both."})}),_d=kk,d2=m({stableKey:me,label:o().trim().min(1),parentGroupKey:me.optional(),targetKeys:y(me),competitors:y(_d)}).strict(),zE=m({sitemapUrl:o().url(),rule:Jf,exclusions:y(o().trim().min(1)),inputChecksum:rr,reviewedAt:o().datetime().optional()}).strict(),DE=m({providers:y(ht),models:$e(ht,o().trim().min(1)).optional(),locations:y(o().trim().min(1))}).strict(),m2=jk,OE=m({defaultContext:DE,targets:y(n0),assignments:y(u2),groups:y(d2),reportingScopes:y(m2).optional(),discovery:zE.optional()}).strict(),qE=m({id:o().trim().min(1),projectId:o().trim().min(1),schemaVersion:z(2),baseActiveVersionId:o().trim().min(1).nullable(),baseActiveRevision:Ua.nullable(),authoring:OE,createdBy:Dv,updatedBy:Dv,createdAt:o().datetime(),updatedAt:o().datetime()}).strict(),a0=m({targets:d().int().nonnegative(),includedTargets:d().int().nonnegative(),assignments:d().int().nonnegative(),unclassifiedAssignments:d().int().nonnegative(),groups:d().int().nonnegative(),competitors:d().int().nonnegative()}).strict(),IE=m({code:o().trim().min(1),message:o().trim().min(1),path:y(He([o(),d().int()]))}).strict(),p2=m({etag:o().trim().min(1),changed:N(),warnings:y(IE),counts:a0}).strict();m({draft:qE.nullable(),etag:o().trim().min(1).nullable()}).strict();or(n0);or(u2);or(d2);m({search:o().optional(),cursor:o().trim().min(1).optional(),limit:d().int().positive().max(Lf).optional()}).strict();m({expectedActiveRevision:Ua.nullable()}).strict();m({sitemapUrl:o().url(),rule:Jf,exclusions:y(o().trim().min(1)).optional()}).strict();const PE=m({discoveryIdentity:o().trim().min(1),action:j(["create","rebind","ignore"]),targetKey:me.optional(),label:o().trim().min(1).optional()}).strict();m({selections:y(PE),selectedTargetKeys:y(me).optional()}).strict().superRefine((e,n)=>{e.selections.length===0&&e.selectedTargetKeys===void 0&&n.addIssue({code:"custom",message:"A proposal or reviewed Property selection is required."}),e.selectedTargetKeys&&new Set(e.selectedTargetKeys).size!==e.selectedTargetKeys.length&&n.addIssue({code:"custom",path:["selectedTargetKeys"],message:"Property keys must be unique."})});m({target:n0}).strict();m({targetKey:me,label:o().trim().min(1)}).strict();m({targetKey:me,mergedKeys:y(me).min(1)}).strict();m({targetKey:me,cleanup:z("assignments-and-group-memberships").optional()}).strict();m({targetKey:me,discoveryIdentity:o().trim().min(1),discoveredUrl:o().url()}).strict();const h2={targetKeys:y(me).optional(),groupKeys:y(me).optional()};function f2(e,n){(e.targetKeys?.length??0)===0&&(e.groupKeys?.length??0)===0&&n.addIssue({code:"custom",message:"At least one Target or group selector is required."})}m(h2).strict().superRefine(f2);const ME=m({...h2,queryIds:y(Na).min(1),contextOverride:Nd.optional()}).strict().superRefine(f2);He([m({targetKey:me,queryIds:y(Na).min(1),contextOverride:Nd.optional()}).strict(),ME]);const BE=m({groupKey:me,label:o().trim().min(1),memberCount:d().int().positive()}).strict();m({draftEtag:o().trim().min(1),groups:y(BE),resolvedTargetKeys:y(me),overlapCount:d().int().nonnegative(),assignments:m({requested:d().int().nonnegative(),added:d().int().nonnegative(),alreadyPresent:d().int().nonnegative()}).strict(),execution:m({addedNodes:d().int().nonnegative(),addedProviderCalls:d().int().nonnegative(),fullRunNodes:d().int().nonnegative(),fullRunProviderCalls:d().int().nonnegative()}).strict()}).strict();m({pairs:y(m({targetKey:me,queryId:Na}).strict()).min(1),contextOverride:Nd.optional()}).strict();He([m({targetKey:me,queryId:Na}).strict(),m({targetKeys:y(me).min(1),queryId:Na}).strict()]);m({targetKey:me}).strict();m({queryClass:Mf,assignments:y(m({targetKey:me,queryId:Na}).strict()).min(1)}).strict();m({group:m({stableKey:me,label:o().trim().min(1),parentGroupKey:me.nullable().optional(),targetKeys:y(me),competitors:y(_d).optional()}).strict()}).strict();m({market:m2}).strict();m({groupKey:me}).strict();m({groupKey:me,competitor:_d}).strict();m({expectedActiveRevision:Ua,groupKey:me,domain:o().trim().min(1).refine(e=>Jl(e)!==null,"A competitor domain must be a valid hostname"),label:o().trim().min(1).optional(),aliases:y(o().trim().min(1)).optional()}).strict();p2.extend({groupKey:me,competitor:_d,draftCreated:N(),published:m({revision:Ua,competitorsChanged:z(!1)}).strict()}).strict();m({groupKey:me,competitorKey:me}).strict();const nd=m({ruleId:o().trim().min(1),severity:j(["fail","warn"]),message:o().trim().min(1),path:y(He([o(),d().int()]))}).strict();Oe("ok",[m({ok:z(!0),compiledChecksum:rr,checks:y(nd),counts:a0,plan:wd}).strict(),m({ok:z(!1),compiledChecksum:ue(),checks:y(nd).min(1)}).strict()]);const Ov=m({added:y(o().trim().min(1)),removed:y(o().trim().min(1)),changed:y(o().trim().min(1)),unchanged:y(o().trim().min(1))}).strict(),LE=m({activeRevision:Ua.nullable(),targets:Ov,groups:Ov,assignments:m({added:d().int().nonnegative(),removed:d().int().nonnegative(),reclassified:d().int().nonnegative()}).strict(),execution:m({addedNodeKeys:y(o().trim().min(1)),removedNodeKeys:y(o().trim().min(1))}).strict()}).strict();Oe("ok",[m({ok:z(!0),compiledChecksum:rr,checks:y(nd),counts:a0,plan:wd,diff:LE}).strict(),m({ok:z(!1),compiledChecksum:ue(),checks:y(nd).min(1),diff:ue()}).strict()]);m({expectedActiveRevision:Ua.nullable(),expectedCompiledChecksum:rr}).strict();m({published:N(),active:m({revision:Ua,checksum:rr,compiledChecksum:rr,createdAt:o().datetime(),plan:wd}).strict()}).strict();m({discarded:N()}).strict();m({expectedActiveRevision:Ua}).strict();m({deactivated:N(),previousRevision:Ua.nullable()}).strict();const VE=j(["republish_required","setup_in_progress","awaiting_first_run","operational","simple"]),$E=j(["republish_setup","continue_setup","run_measurement","view_measurement","start_setup"]),UE=j(["simple","draft-only","active-v1","active-v2"]);m({state:VE,nextAction:$E,mode:UE,answerVisibilityProviderReady:N(),activeRevision:Ua.nullable(),activeSchemaVersion:He([z(1),z(2)]).nullable(),draft:m({etag:o().trim().min(1),updatedAt:o().datetime()}).strict().nullable()}).strict();const g2=m({id:o().trim().min(1),projectId:o().trim().min(1),name:o().trim().min(1),description:o().nullable(),itemCount:d().int().nonnegative(),createdAt:o().datetime(),updatedAt:o().datetime()}).strict(),GE=m({queryId:Na,queryText:o().min(1),position:d().int().nonnegative()}).strict();g2.extend({items:y(GE)}).strict();m({querySets:y(g2)}).strict();m({name:o().trim().min(1),description:o().nullable().optional(),queryIds:y(Na)}).strict();const KE=m({id:o().trim().min(1),projectId:o().trim().min(1),name:o().trim().min(1),description:o().nullable(),pattern:o().trim().min(1),variables:y(o().trim().min(1)),createdAt:o().datetime(),updatedAt:o().datetime()}).strict();m({templates:y(KE)}).strict();m({name:o().trim().min(1),description:o().nullable().optional(),pattern:o().trim().min(1),variables:y(o().trim().min(1))}).strict();m({bindings:y($e(o().trim().min(1),o().trim().min(1))).min(1),querySetId:o().trim().min(1).optional()}).strict();m({created:y(m({queryId:Na,queryText:o().min(1)}).strict()),existing:y(m({queryId:Na,queryText:o().min(1)}).strict())}).strict();const ad=o().regex(/^[a-f0-9]{64}$/),Td=d().int().positive();m({stableKey:me,kind:j(["target","group"]),retiredAt:o().datetime().nullable()}).strict();m({csv:o()}).strict();j(["matched","ambiguous","unmatched","invalid","duplicate","proposed","excluded"]);const HE=j(["column-count","missing-property","missing-group","invalid-url","property-not-found","property-label-ambiguous","url-not-exact-match","target-proposed","target-excluded","group-label-ambiguous","group-key-conflict"]),Fh=m({dataRow:Td,property:o(),group:o(),url:o().nullable(),normalizedProperty:o(),normalizedGroupLabel:o()}).strict(),El=Fh.extend({reason:HE}),QE=m({source:j(["draft-target","draft-group","persisted-segment","retired-segment","proposed-group"]),stableKey:me,kind:j(["target","group"]).optional(),retiredAt:o().datetime().nullable().optional(),normalizedGroupLabel:o().optional()}).strict(),FE=m({proposedGroupKey:me,evidence:y(QE).min(1)}).strict(),ZE=Oe("status",[Fh.extend({status:z("matched"),targetKey:me,groupKey:me}).strict(),El.extend({status:z("ambiguous"),candidateTargetKeys:y(me).min(1).optional(),candidateGroupKeys:y(me).min(1).optional()}).strict(),El.extend({status:z("unmatched")}).strict(),El.extend({status:z("invalid"),groupKeyConflict:FE.optional()}).strict(),Fh.extend({status:z("duplicate"),duplicateOfRow:Td,targetKey:me,groupKey:me}).strict(),El.extend({status:z("proposed"),targetKey:me}).strict(),El.extend({status:z("excluded"),targetKey:me}).strict()]),YE=m({normalizedGroupLabel:o(),groupKey:me,label:o().trim().min(1),action:j(["create","extend"]),matchedRows:y(Td),targetKeys:y(me),addedTargetKeys:y(me),unchangedTargetKeys:y(me)}).strict(),XE=m({dataRows:d().int().nonnegative(),matchedRows:d().int().nonnegative(),ambiguousRows:d().int().nonnegative(),unmatchedRows:d().int().nonnegative(),invalidRows:d().int().nonnegative(),duplicateRows:d().int().nonnegative(),proposedRows:d().int().nonnegative(),excludedRows:d().int().nonnegative(),needsAttention:d().int().nonnegative(),groupsReady:d().int().nonnegative(),groupsToCreate:d().int().nonnegative(),groupsToExtend:d().int().nonnegative(),membershipsReady:d().int().nonnegative(),addedMemberships:d().int().nonnegative(),unchangedMemberships:d().int().nonnegative()}).strict();m({draftEtag:o().trim().min(1),sourceChecksum:ad,previewChecksum:ad,rows:y(ZE),groupChanges:y(YE),counts:XE}).strict();m({csv:o(),sourceChecksum:ad,previewChecksum:ad,acceptedRows:y(Td).min(1)}).strict().superRefine((e,n)=>{new Set(e.acceptedRows).size!==e.acceptedRows.length&&n.addIssue({code:"custom",path:["acceptedRows"],message:"Accepted CSV data rows must be unique."})});p2.extend({appliedRows:d().int().nonnegative(),addedMemberships:d().int().nonnegative(),unchangedMemberships:d().int().nonnegative()}).strict();function JE(e){return!Number.isFinite(e)||e===0?"0%":`${(e*100).toFixed(1)}%`}function WE(e){return Number.isFinite(e)?`${Math.round(Number((e*100).toFixed(6)))}%`:"0%"}function Sn(e){return Number.isFinite(e)?Math.abs(e)>=1e6?`${(e/1e6).toFixed(1)}M`:Math.abs(e)>=1e3?`${(e/1e3).toFixed(1)}K`:e.toLocaleString("en-US"):"—"}function Js(e){if(!e)return"—";try{const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e),i={month:"short",day:"numeric",year:"numeric"},r=n&&n[1]&&n[2]&&n[3]?new Date(Date.UTC(Number(n[1]),Number(n[2])-1,Number(n[3]))):new Date(e);return Number.isNaN(r.getTime())?e:r.toLocaleDateString("en-US",n?{...i,timeZone:"UTC"}:i)}catch{return e}}function IF(e,n,i=800){const r=[];if(!/^\d{4}-\d{2}-\d{2}$/.test(e)||!/^\d{4}-\d{2}-\d{2}$/.test(n))return r;for(let u=e;u<=n&&(r.push(u),!(r.length>=i));u=eR(u,1));return r}function eR(e,n){if(!Number.isFinite(n))return e;const i=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!i?.[1]||!i[2]||!i[3])return e;const r=new Date(Date.UTC(Number(i[1]),Number(i[2])-1,Number(i[3])+Math.trunc(n)));if(Number.isNaN(r.getTime()))return e;const u=r.getUTCFullYear(),h=String(r.getUTCMonth()+1).padStart(2,"0"),g=String(r.getUTCDate()).padStart(2,"0");return`${u}-${h}-${g}`}function tR(e,n){return!e&&!n?"":e&&n?`${Js(e)} → ${Js(n)}`:Js(e||n)}function nR(e,n){if(!Number.isFinite(e)||!Number.isFinite(n)||n<=0)return null;const i=(e-n)/n;return Number.isFinite(i)?i:null}function PF(e,n){const i=nR(e,n);return i===null?null:Math.round(i*100)}function MF(e){return e===null||e===0?"neutral":e>0?"positive":"negative"}function BF(e,n,i="vs prior 7 days"){return e.deltaPct===null?e.prior===0?"First baseline week":"":e.deltaPct>0?`Up ${e.deltaPct}% ${i} (${Sn(e.prior)} ${n})`:e.deltaPct<0?`Down ${Math.abs(e.deltaPct)}% ${i} (${Sn(e.prior)} ${n})`:`Flat ${i} (${Sn(e.prior)} ${n})`}const y2=30;function qv(e){return Math.round(e*10)/10}function aR(e){return e.prior>=y2&&e.deltaPct!==null?`${e.deltaPct>0?"+":""}${e.deltaPct}% vs prior`:`${e.deltaAbs>0?"+":""}${qv(e.deltaAbs)} vs ${qv(e.prior)}`}function LF(e,n,i){return e.prior>=y2&&e.deltaPct!==null?`${e.deltaPct>0?"+":""}${e.deltaPct}% ${i}`:`${e.deltaAbs>0?"+":""}${Sn(Math.round(e.deltaAbs))} ${n} ${i}`}function VF(e){if(e===0)return{direction:"none",magnitude:"0"};const n=Math.abs(e)*100;return{direction:e>0?"up":"down",magnitude:n<.05?"<0.1":n.toFixed(1)}}function $F(e,n="UTC"){const i=new Date(e);if(!Number.isFinite(i.getTime()))return null;const r={weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZoneName:"short"};try{return i.toLocaleString("en-US",{...r,timeZone:n})}catch{return i.toLocaleString("en-US",{...r,timeZone:"UTC"})}}const b2=j(["introduced","repointed","retired"]),iR=b2.enum;m({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/,"date must be YYYY-MM-DD"),kind:b2,confirmed:N(),sourceUrl:o().url(),note:o().min(1)});const sR=[{modelId:"chatgpt-4o-latest",date:"2024-08-15",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released dynamic model for chatgpt-4o-latest—this model will point to the latest GPT-4o model used by ChatGPT." First moving id in the lineage.'},{modelId:"chatgpt-4o-latest",date:"2026-02-17",kind:"retired",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/deprecations.md",note:'Shutdown 2026-02-17, replacement gpt-5.1-chat-latest. Announced under the heading "2025-11-18: chatgpt-4o-latest snapshot".'},{modelId:"gpt-5.1-chat-latest",date:"2025-11-13",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:"Introduced inside the GPT-5.1 launch entry, not as a standalone entry."},{modelId:"gpt-5.2-chat-latest",date:"2025-12-11",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:"Introduced inside the GPT-5.2 launch entry."},{modelId:"gpt-5.2-chat-latest",date:"2026-02-10",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Updated the gpt-5.2-chat-latest slug to point to the latest model currently used in ChatGPT." Target model NOT named.'},{modelId:"gpt-5.3-chat-latest",date:"2026-03-03",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released gpt-5.3-chat-latest to the Chat Completions and Responses API. This model points to the GPT-5.3 Instant snapshot currently used in ChatGPT."'},{modelId:"gpt-5.3-chat-latest",date:"2026-03-16",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Updated the gpt-5.3-chat-latest slug to point to the latest model currently used in ChatGPT." Target model NOT named.'},{modelId:"chat-latest",date:"2026-05-05",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released chat-latest snapshot which points to the latest Instant model currently used in ChatGPT... The underlying model snapshot will be regularly updated."'},{modelId:"chat-latest",date:"2026-05-28",kind:"repointed",confirmed:!1,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'UNCONFIRMED. The entry reads "Released chat-latest snapshot..." — the verb is "Released", the same boilerplate as the 2026-05-05 entry, not "Updated" as used on 2026-06-24. Only "the latest improvements" vs "our latest improvements" differs. Either a real change logged with copy-pasted text, or a duplicated entry; the record does not disambiguate.'},{modelId:"chat-latest",date:"2026-06-24",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim (re-read at source 2026-07-20): "Updated the chat-latest snapshot, which points to the latest Instant model currently used in ChatGPT." The verb is "Updated", unlike the "Released" boilerplate of 2026-05-05 and 2026-05-28, which is the wording the changelog reserves for a real change. Target model NOT named. The only unambiguous chat-latest change on record.'}];iR.repointed;new Set(sR.map(e=>e.modelId.toLowerCase()));const oR=j(["not-exposed","no-known-change","known-change"]);oR.enum;const rR=m({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/),confirmed:N(),sourceUrl:o().url()}),lR=m({status:j(["no-known-change","known-change"]),modelIds:y(o().trim().min(1)).min(1),changes:y(rR),changeCount:d().int().nonnegative(),unverifiedChangeCount:d().int().nonnegative(),firstChangeDate:o().optional(),lastChangeDate:o().optional(),knownGoodAsOf:o(),checkedThroughPeriodEnd:N()}),cR={openai:"ChatGPT",chatgpt:"ChatGPT",anthropic:"Claude",claude:"Claude",google:"Gemini",gemini:"Gemini",perplexity:"Perplexity"};function uR(e){const n=e.trim().toLowerCase();return cR[n]??e.charAt(0).toUpperCase()+e.slice(1)}function fh(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):0}function Rl(e){return typeof e=="string"&&e.trim().length>=10?e.trim().slice(0,10):null}function gh(e){return[...new Set(e.filter(n=>n!==null))].sort()}function dR(e,n){const i=uR(e),r=Array.isArray(n.changes)?n.changes:[],u=fh(n.changeCount)||r.length,h=Math.min(u,fh(n.unverifiedChangeCount)||fh(n.unconfirmedChangeCount)||r.filter(S=>S.confirmed===!1).length),g=Rl(n.knownGoodAsOf),b=n.checkedThroughPeriodEnd!==!1,v={engine:i,confirmedCount:u-h,unconfirmedCount:h,knownGoodAsOf:g,checkedThroughPeriodEnd:b};if(r.length>0)return{...v,confirmedDates:gh(r.filter(S=>S.confirmed!==!1).map(S=>Rl(S.date))),unconfirmedDates:gh(r.filter(S=>S.confirmed===!1).map(S=>Rl(S.date)))};const w=gh([Rl(n.firstChangeDate),Rl(n.lastChangeDate)]);return u===0?{...v,confirmedDates:[],unconfirmedDates:[]}:h===0?{...v,confirmedDates:w,unconfirmedDates:[]}:v.confirmedCount===0?{...v,confirmedDates:[],unconfirmedDates:w}:{...v,confirmedDates:[],unconfirmedDates:[]}}function mR(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e.slice(0,-1).join(", ")}, and ${e[e.length-1]}`}function Iv(e,n){return e.length===0?null:e.length===1&&n<=1?`on ${e[0]}`:`more than once between ${e[0]} and ${e[e.length-1]}`}function pR(e){const n=Iv(e.confirmedDates,e.confirmedCount),i=Iv(e.unconfirmedDates,e.unconfirmedCount),r=`The model behind ${e.engine}`;if(e.confirmedCount>0&&e.unconfirmedCount===0)return n?`${r} was updated ${n}, inside this period.`:`${r} was updated inside this period.`;if(e.confirmedCount===0)return i?`${r} may have been updated ${i}, inside this period, though that is not confirmed.`:`${r} may have been updated inside this period, though that is not confirmed.`;if(n&&i)return`${r} was updated ${n}, inside this period, and may also have been updated ${i}.`;const u=e.unconfirmedCount>1?"more times":"once more";return`${r} was updated inside this period, and may have been updated ${u}, though that is not confirmed.`}function Pv(e){const n=e.filter(r=>!r.checkedThroughPeriodEnd&&r.knownGoodAsOf!==null);return n.length===0?null:`We last checked for model updates on ${n.map(r=>r.knownGoodAsOf).sort()[0]}, and this period runs past that date, so there may be later updates we do not know about.`}function UF(e){const n=Object.entries(e??{}).map(([v,w])=>dR(v,w??{})).sort((v,w)=>v.engine.localeCompare(w.engine));if(n.length===0)return null;const i=n.filter(v=>v.confirmedCount+v.unconfirmedCount>0);if(i.length===0){const v=[...new Set(n.map(C=>C.engine))],w=v.length>1,S=Pv(n),A=[...new Set(n.map(C=>C.knownGoodAsOf).filter(C=>C!==null))].sort(),T=S??(A.length>0?`We last checked for model updates on ${A[0]}.`:null);return{kind:"no-known-change",text:`No model updates are on record for ${mR(v)} in this period.`,detail:`${w?"These engines":"This engine"} can be moved onto a different underlying model without the data ever showing a different model name, so we check each period against a record of known updates. Nothing is listed inside this one.${T?` ${T}`:""}`}}const r=i.reduce((v,w)=>v+w.confirmedCount+w.unconfirmedCount,0),u=i.some(v=>v.confirmedCount>0),h=r===1?"this update":"these updates",g=u?`Some of the movement in these numbers may come from ${h} rather than from a real change in how AI answers about you, so compare periods carefully.`:`If so, some of the movement in these numbers may come from ${h} rather than from a real change in how AI answers about you, so compare periods carefully.`,b=Pv(n);return{kind:"change",text:`${i.map(pR).join(" ")} ${g}${b?` ${b}`:""}`}}const Xs=m({slope:d(),intercept:d(),r2:d(),start:d(),end:d(),n:d(),startIndex:d(),endIndex:d()}),hR=j(["gsc","ga4","gbp"]);m({id:o(),domain:o(),connectionType:hR,propertyId:o().nullable().optional(),sitemapUrl:o().nullable().optional(),scopes:y(o()).default([]),createdAt:o(),updatedAt:o()});const fR=m({date:o(),query:o(),page:o(),country:o().nullable().optional(),device:o().nullable().optional(),clicks:d(),impressions:d(),ctr:d(),position:d()});j(["clicks","impressions","date"]);m({rows:y(fR),totalMatching:d(),truncated:N(),latestAvailableDate:o().nullable()});const gR=m({date:o(),clicks:d(),impressions:d(),ctr:d(),position:d().nullable()}),yR=m({startDate:o().nullable(),endDate:o().nullable(),latestDataDate:o().nullable(),daysSinceLatestData:d().nullable()}),bR=m({clicks:Xs.nullable(),impressions:Xs.nullable(),ctr:Xs.nullable(),position:Xs.nullable()}),Mv=m({startDate:o(),endDate:o(),clicks:d(),impressions:d(),ctr:d().nullable(),position:d().nullable(),source:j(["property-daily","dimensioned","mixed","empty"])}),vR=m({days:d(),basis:j(["prior-window","split-window"]).optional(),prior:Mv,trailing:Mv,comparable:N(),change:m({clicks:d().nullable(),impressions:d().nullable(),ctr:d().nullable(),position:d().nullable()})});m({totals:m({clicks:d(),impressions:d(),ctr:d(),position:d().nullable(),positionDays:d(),days:d()}),daily:y(gR),window:yR.optional(),trends:bR.optional(),periodComparison:vR.nullable().optional()});const xR=m({page:o(),clicks:d(),impressions:d(),ctr:d()});m({rows:y(xR),totals:m({clicks:d(),impressions:d(),ctr:d(),days:d(),coveredFrom:o().nullable(),coveredThrough:o().nullable(),complete:N()}).nullable(),totalsSource:z("property-daily"),rankedFrom:o().nullable(),rankedThrough:o().nullable()});const Zh=m({id:o(),url:o(),indexingState:o().nullable().optional(),verdict:o().nullable().optional(),coverageState:o().nullable().optional(),pageFetchState:o().nullable().optional(),robotsTxtState:o().nullable().optional(),crawlTime:o().nullable().optional(),lastCrawlResult:o().nullable().optional(),isMobileFriendly:N().nullable().optional(),richResults:y(o()).default([]),referringUrls:y(o()).default([]),inspectedAt:o()});j(["stable","reindexed","deindexed","still-missing","new"]);const wR=m({url:o(),previousState:o().nullable(),currentState:o().nullable(),transitionDate:o()}),kR=m({reason:o(),count:d(),urls:y(Zh).default([])});m({summary:m({total:d(),indexed:d(),notIndexed:d(),deindexed:d(),percentage:d()}),lastInspectedAt:o().nullable(),lastSyncedAt:o().nullable(),indexed:y(Zh).default([]),notIndexed:y(Zh).default([]),deindexed:y(wR).default([]),reasonGroups:y(kR).default([])});m({url:o(),type:j(["URL_UPDATED","URL_DELETED"]),notifiedAt:o()});const SR=m({url:o(),type:j(["URL_UPDATED","URL_DELETED"]),notifiedAt:o(),status:j(["success","error"]),error:o().optional()});m({summary:m({total:d().int().nonnegative(),succeeded:d().int().nonnegative(),failed:d().int().nonnegative()}),results:y(SR).default([])});m({date:o(),indexed:d(),notIndexed:d(),unknownPages:d().default(0),verifiedByInspection:d().default(0),derivedFromImpressions:d().default(0),reasonBreakdown:$e(o(),d()).default({})});const jR=m({siteUrl:o(),permissionLevel:o()});m({sites:y(jR).default([])});const AR=m({type:o(),submitted:o(),indexed:o().optional().describe("Deprecated compatibility field.")}),v2=m({path:o(),parentSitemapUrl:o().optional(),lastSubmitted:o().optional(),isPending:N().optional(),isSitemapsIndex:N().optional(),type:o().optional(),lastDownloaded:o().optional(),warnings:o().optional(),errors:o().optional(),contents:y(AR).optional()});m({sitemaps:y(v2).default([]),summary:m({total:d().int().nonnegative(),indexes:d().int().nonnegative(),files:d().int().nonnegative()}),preferredSubmissionUrls:y(o()).default([])});m({sitemapUrls:y(o().url().refine(e=>{const n=new URL(e).protocol;return n==="http:"||n==="https:"},{message:"Sitemap URL must use http or https."})).min(1).max(50)});const CR=m({sitemapUrl:o(),status:j(["accepted","error"]),submittedAt:o().optional(),error:o().optional()});m({summary:m({total:d().int().nonnegative(),accepted:d().int().nonnegative(),failed:d().int().nonnegative()}),results:y(CR)});m({sitemaps:y(v2),primarySitemapUrl:o(),run:m({id:o(),projectId:o(),kind:o(),status:o(),trigger:o(),createdAt:o()}).nullable()});const tt=o().trim().min(1),Bv=o().regex(/^[a-f0-9]{64}$/i);function NR(e){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;const n=new Date(`${e}T00:00:00.000Z`);return!Number.isNaN(n.getTime())&&n.toISOString().slice(0,10)===e}const $a=o().refine(NR,{message:"Expected a calendar date as YYYY-MM-DD."});function _R(e,n){const i=Date.parse(`${e}T00:00:00.000Z`),r=Date.parse(`${n}T00:00:00.000Z`);return Math.floor((r-i)/864e5)+1}const TR=j(["not-connected","selection-required","connected","stale"]),Tu=TR.enum,x2=j(["enabled","suspended","closed","canceled","unspecified","unknown"]);x2.enum;const i0=j(["enabled","paused","removed","unknown"]);i0.enum;const w2=j(["enabled","hidden","removed","unknown"]);w2.enum;const s0=j(["customer","campaign"]);s0.enum;const k2=j(["customer-goal","campaign-goal","custom-goal"]);k2.enum;const S2=m({loginCustomerId:tt.nullable(),customerId:tt.nullable(),selectedAt:o().nullable()}).strict(),yh=m({id:tt,projectId:tt,scopes:y(o()).default([]),selection:S2,lastValidatedAt:o().nullable(),lastInventorySnapshotAt:o().nullable(),lastMetricsSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),Yh=m({resourceName:tt,customerId:tt,parentCustomerId:tt.nullable(),descriptiveName:o().nullable(),currencyCode:o().nullable(),timeZone:o().nullable(),manager:N(),hidden:N(),testAccount:N(),level:d().int().nonnegative(),status:x2}).strict(),ER=m({customers:y(Yh),totalAccessible:d().int().nonnegative(),truncated:N(),selection:S2,fetchedAt:o()}).strict();Oe("status",[m({connected:z(!1),status:z(Tu["not-connected"]),connection:ue(),selectedCustomer:ue()}).strict(),m({connected:z(!0),status:z(Tu["selection-required"]),connection:yh,selectedCustomer:ue()}).strict(),m({connected:z(!0),status:z(Tu.connected),connection:yh,selectedCustomer:Yh}).strict(),m({connected:z(!0),status:z(Tu.stale),connection:yh,selectedCustomer:Yh}).strict()]);const RR=m({id:tt,resourceName:tt,name:o(),status:i0,advertisingChannelType:o().nullable(),biddingStrategyType:o().nullable()}).strict(),zR=m({id:tt,resourceName:tt,name:o(),status:w2,category:o(),origin:o(),primaryForGoal:N(),includeInConversionsMetric:N()}).strict(),DR=m({category:o(),origin:o(),biddable:N()}).strict(),OR=m({campaignId:tt,category:o(),origin:o(),biddable:N()}).strict(),qR=m({id:tt,name:o(),conversionActionIds:y(tt)}).strict(),IR=m({campaignId:tt,goalConfigLevel:s0,customGoalId:tt.nullable()}).strict(),PR=m({customerId:tt,fetchedAt:o(),campaigns:y(RR),conversionActions:y(zR),customerConversionGoals:y(DR),campaignConversionGoals:y(OR),campaignConversionGoalsComplete:N().optional(),customConversionGoals:y(qR),campaignGoalConfigurations:y(IR)}).strict(),MR=m({source:k2,category:o().nullable(),origin:o().nullable(),customGoalId:tt.nullable(),biddable:N().nullable(),conversionActionIds:y(tt),primaryConversionActionIds:y(tt),secondaryConversionActionIds:y(tt),missingConversionActionIds:y(tt)}).strict(),BR=m({campaignId:tt,goalConfigLevel:s0,customGoalId:tt.nullable(),missingCustomGoalId:tt.nullable(),goals:y(MR)}).strict();m({customerId:tt,derivedAt:o(),campaigns:y(BR)}).strict();const j2=50,Xh=31,LR=j2*Xh,VR=m({campaignIds:y(tt).min(1).max(j2),startDate:$a,endDate:$a}).strict().superRefine((e,n)=>{if(new Set(e.campaignIds).size!==e.campaignIds.length&&n.addIssue({code:be.custom,path:["campaignIds"],message:"Campaign IDs must be unique."}),e.endDate<e.startDate){n.addIssue({code:be.custom,path:["endDate"],message:"endDate must not precede startDate."});return}_R(e.startDate,e.endDate)>Xh&&n.addIssue({code:be.custom,path:["endDate"],message:`Campaign metrics may cover at most ${Xh} calendar days.`})}),$R=m({campaignId:tt,date:$a,impressions:d().int().nonnegative(),clicks:d().int().nonnegative(),costMicros:d().int().nonnegative(),conversions:d().nonnegative(),conversionValueMicros:d().int().nonnegative().nullable()}).strict(),UR=m({query:VR,rows:y($R).max(LR),truncated:N(),fetchedAt:o()}).strict(),A2=j(["accessible-customers","inventory","campaign-metrics"]),bh=A2.enum,o0=m({id:tt,projectId:tt,connectionId:tt,runId:tt,kind:A2,customerId:tt.nullable(),payloadChecksum:Bv,rawPayloadSha256:Bv.nullable(),rawPayloadBytes:d().int().nonnegative().nullable(),redactedFieldCount:d().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),GR=Oe("kind",[m({kind:z(bh["accessible-customers"]),data:ER}).strict(),m({kind:z(bh.inventory),data:PR}).strict(),m({kind:z(bh["campaign-metrics"]),data:UR}).strict()]),KR=m({metadata:o0,payload:GR}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:be.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),HR=j(["7d","14d","30d"]),r0=m({impressions:d().int().nonnegative(),clicks:d().int().nonnegative(),costMicros:d().int().nonnegative(),conversions:d().nonnegative(),conversionValueMicros:d().int().nonnegative().nullable(),ctr:d().nullable(),cpcMicros:d().int().nonnegative().nullable(),conversionRate:d().nullable(),costPerConversionMicros:d().int().nonnegative().nullable()}),QR=m({date:$a,origin:j(["provider","filled"]),impressions:d().int().nonnegative(),clicks:d().int().nonnegative(),costMicros:d().int().nonnegative(),conversions:d().nonnegative(),ctr:d().nullable()}),FR=m({campaignId:tt,name:o().nullable(),status:i0,totals:r0}),ZR=m({snapshotId:tt,capturedAt:o(),customerId:tt,currencyCode:o().nullable(),timeZone:o().nullable(),asOfDate:$a,openDate:$a.nullable(),truncated:N(),campaignsQueried:d().int().nonnegative(),campaignsInInventory:d().int().nonnegative()}),YR=m({startDate:$a,endDate:$a,days:d().int().positive(),totals:r0}),XR=m({days:d().int().positive(),prior:YR,change:m({impressions:d().nullable(),clicks:d().nullable(),costMicros:d().nullable(),conversions:d().nullable(),ctr:d().nullable(),conversionRate:d().nullable()})});m({window:HR,startDate:$a,endDate:$a,days:d().int().positive(),totals:r0,daily:y(QR),campaigns:y(FR),comparison:XR.nullable(),comparisonUnavailableReason:j(["insufficient-history","no-snapshot"]).nullable(),source:ZR.nullable()});const et=o().trim().min(1),Lv=o().regex(/^[a-f0-9]{64}$/i),JR=j(["not-connected","selection-required","connected","stale"]),Eu=JR.enum,WR=j(["live","draft"]),C2=WR.enum,Gu=m({accountId:et.nullable(),containerId:et.nullable(),workspaceId:et.nullable(),selectedAt:o().nullable()}).strict(),vh=m({id:et,projectId:et,scopes:y(o()).default([]),selection:Gu,lastValidatedAt:o().nullable(),lastSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),N2=m({id:et,path:o(),name:o(),shareData:N().nullable()}).strict(),_2=m({accountId:et,id:et,path:o(),name:o(),publicId:o().nullable(),domainName:o().nullable(),usageContexts:y(o())}).strict(),l0=m({accountId:et,containerId:et,id:et,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable()}).strict(),ez=m({accounts:y(N2),totalAccessible:d().int().nonnegative(),truncated:N(),fetchedAt:o()}).strict();m({accountId:et,containers:y(_2),totalAccessible:d().int().nonnegative(),truncated:N(),fetchedAt:o()}).strict();m({accountId:et,containerId:et,workspaces:y(l0),totalAccessible:d().int().nonnegative(),truncated:N(),fetchedAt:o()}).strict();const tz=m({id:et,name:o(),type:o(),paused:N(),firingTriggerIds:y(et),blockingTriggerIds:y(et),referencedVariableIds:y(et),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),nz=m({id:et,name:o(),type:o(),customEventNames:y(o()),filterKeys:y(o()),autoEventFilterKeys:y(o()),fingerprint:o().nullable()}).strict(),az=m({id:et,name:o(),type:o(),dataLayerVariableName:o().nullable(),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),T2=j(["recognized","unknown"]),Vv=T2.enum,iz=j(["literal","variable-ref","absent","unknown"]),Ed=iz.enum,sz=o().trim().min(5).max(132).regex(/^\{\{\w[\w ./-]{0,127}\}\}$/),fr=m({source:z(Ed.absent),literal:ue(),variableRef:ue()}).strict(),gr=m({source:z(Ed.unknown),literal:ue(),variableRef:ue()}).strict(),yr=m({source:z(Ed["variable-ref"]),literal:ue(),variableRef:sz}).strict();function ac(e){return m({source:z(Ed.literal),literal:e,variableRef:ue()}).strict()}const oz=o().trim().max(23).regex(/^(?:AW-)?\d{1,20}$/i),rz=o().trim().min(1).max(128).regex(/^[\w-]+$/),lz=o().trim().min(1).max(20).regex(/^(?:0|[1-9]\d{0,11})(?:\.\d{1,6})?$/),cz=o().trim().length(3).regex(/^[a-z]{3}$/i);Oe("source",[ac(o().trim().min(1).max(256)),yr,fr,gr]);const uz=Oe("source",[ac(oz),yr,fr,gr]),dz=Oe("source",[ac(rz),yr,fr,gr]),mz=Oe("source",[ac(lz),yr,fr,gr]),pz=Oe("source",[yr,fr,gr]),hz=Oe("source",[ac(cz),yr,fr,gr]),E2=j(["all-pages","custom-event","filtered","unknown"]);E2.enum;const $v=m({operator:o().trim().min(1).max(64),value:o().max(2048),negated:N(),ignoreCase:N()}).strict(),fz=m({triggerId:et,triggerType:o(),eventPredicates:y($v),hostnamePredicates:y($v),unsupportedConditionCount:d().int().nonnegative()}).strict(),R2=j(["not-google-ads-tag","unsupported-tag-type","custom-html-opaque","conversion-id-unresolved","conversion-label-unresolved","value-mapping-missing","transaction-id-mapping-missing","currency-mapping-missing","trigger-unresolved","hostname-filter-unresolved"]);R2.enum;const gz=m({tagId:et,tagType:o(),recognition:T2,recognitionReason:o().nullable(),conversionId:uz,conversionLabel:dz,value:mz,transactionId:pz,currency:hz,triggerStrategy:E2,triggerIds:y(et),triggerPredicates:y(fz),reviewReasons:y(R2)}).strict().superRefine((e,n)=>{e.recognition===Vv.recognized&&e.recognitionReason!==null&&n.addIssue({code:be.custom,path:["recognitionReason"],message:"Recognized assessments cannot carry an unknown-recognition reason."}),e.recognition===Vv.unknown&&!e.recognitionReason&&n.addIssue({code:be.custom,path:["recognitionReason"],message:"Unknown assessments require a recognition reason."})}),z2=m({accountId:et,containerId:et,workspaceId:et.nullable(),tags:y(tz),triggers:y(nz),variables:y(az),googleAdsTagAssessments:y(gz).default([])}).strict(),yz=m({accountId:et,containerId:et,id:et,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable(),deleted:N()}).strict(),D2=m({source:z(C2.live),version:yz,graph:z2,fetchedAt:o()}).strict(),O2=m({source:z(C2.draft),workspace:l0,graph:z2,conflictCount:d().int().nonnegative(),fetchedAt:o()}).strict(),bz=m({account:N2,container:_2,workspaces:y(l0),live:D2.nullable(),draft:O2.nullable(),fetchedAt:o()}).strict();Oe("status",[m({connected:z(!1),status:z(Eu["not-connected"]),connection:ue(),selection:ue()}).strict(),m({connected:z(!0),status:z(Eu["selection-required"]),connection:vh,selection:Gu}).strict(),m({connected:z(!0),status:z(Eu.connected),connection:vh,selection:Gu}).strict(),m({connected:z(!0),status:z(Eu.stale),connection:vh,selection:Gu}).strict()]);const q2=j(["accounts","container","live","draft"]),Ru=q2.enum,c0=m({id:et,projectId:et,connectionId:et,runId:et,kind:q2,accountId:et.nullable(),containerId:et.nullable(),workspaceId:et.nullable(),payloadChecksum:Lv,rawPayloadSha256:Lv.nullable(),rawPayloadBytes:d().int().nonnegative().nullable(),redactedFieldCount:d().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),vz=Oe("kind",[m({kind:z(Ru.accounts),data:ez}).strict(),m({kind:z(Ru.container),data:bz}).strict(),m({kind:z(Ru.live),data:D2}).strict(),m({kind:z(Ru.draft),data:O2}).strict()]),xz=m({metadata:c0,payload:vz}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:be.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),zn=o().trim().min(1),wz=o().trim().min(1).refine(e=>Jl(e)!==null,"Expected a hostname or http(s) URL."),u0=j(["configured","statically-consistent","runtime-unverified","observed"]);u0.enum;const I2=j(["pass","fail","unknown"]);I2.enum;const P2=j(["ads-connection-missing","ads-conversion-action-missing","ads-goal-missing","ads-goal-not-biddable","ads-action-not-primary","gtm-connection-missing","gtm-live-graph-missing","gtm-tag-missing","gtm-tag-unrecognized","gtm-tag-paused","gtm-trigger-missing","gtm-variable-missing","gtm-event-mismatch","gtm-hostname-mismatch","gtm-value-mapping-missing","gtm-transaction-id-mapping-missing","gtm-currency-mapping-missing","gtm-conversion-id-mismatch","gtm-conversion-label-mismatch","runtime-event-not-observed","runtime-gtm-not-observed","runtime-ads-not-observed"]);P2.enum;const M2=m({id:zn,projectId:zn,name:o().trim().min(1),eventName:o().trim().min(1),googleAds:m({customerId:zn,conversionActionId:zn,conversionId:o().trim().min(1).optional(),conversionLabel:o().trim().min(1).optional(),campaignIds:y(zn).max(50).default([]),requireBiddableGoal:N().default(!0),requirePrimaryAction:N().default(!0)}).strict(),gtm:m({accountId:zn,containerId:zn,tagId:zn,triggerIds:y(zn).default([]),variableIds:y(zn).default([])}).strict(),runtime:m({verificationRequired:N().default(!0),requireTransactionId:N().default(!0),requireValue:N().default(!0),requireCurrency:N().default(!0),productionHosts:y(wz).default([])}).strict(),createdAt:o(),updatedAt:o()}).strict();M2.omit({id:!0,projectId:!0,createdAt:!0,updatedAt:!0});const B2=j(["not-run","consistent","inconsistent"]);B2.enum;const L2=j(["not-run","not-observed","observed"]);L2.enum;m({staticCheck:B2,runtimeVerificationRequired:N(),runtimeObservation:L2}).strict();const kz=m({code:P2,subject:o().trim().min(1),outcome:I2,status:u0,evidenceIds:y(zn).default([])}).strict(),Sz=m({contract:M2,status:u0,findings:y(kz),evaluatedAt:o()}).strict(),Uv=m({id:zn,name:o(),detail:o(),active:N()});m({googleAds:m({customerId:zn.nullable(),syncedAt:o().nullable(),conversionActions:y(Uv)}),gtm:m({containerId:zn.nullable(),syncedAt:o().nullable(),tags:y(Uv)})});const Ml=o().trim().min(1);function Gv(e){const n=e.trim();return/^\d{10}$/.test(n)?n:/^\d{3}-\d{3}-\d{4}$/.test(n)?n.replaceAll("-",""):null}const jz=/^[\w-]+$/;function d0(e){const n=e.trim();return jz.test(n)?n:null}function Az(e){const n=e.trim();return/^accounts\/([\w-]+)$/.exec(n)?.[1]??d0(n)}function Cz(e,n){const i=e.trim(),r=/^accounts\/([\w-]+)\/containers\/([\w-]+)$/.exec(i);return r?r[1]===n?r[2]:null:d0(i)}function Nz(e,n,i){const r=e.trim(),u=/^accounts\/([\w-]+)\/containers\/([\w-]+)\/workspaces\/([\w-]+)$/.exec(r);return u?u[1]===n&&u[2]===i?u[3]:null:d0(r)}function _z(e){const n=Gv(e.customerId);if(!n)return null;if(e.loginCustomerId===null)return{loginCustomerId:null,customerId:n};if(e.loginCustomerId===void 0)return{customerId:n};const i=Gv(e.loginCustomerId);return i?{loginCustomerId:i,customerId:n}:null}function Tz(e){const n=Az(e.accountId);if(!n)return null;const i=Cz(e.containerId,n);if(!i)return null;if(e.workspaceId===void 0)return{accountId:n,containerId:i};const r=Nz(e.workspaceId,n,i);return r?{accountId:n,containerId:i,workspaceId:r}:null}const Rd=j(["google-ads","gtm"]);Rd.enum;m({provider:Rd,publicUrl:o().url().optional(),developerToken:o().trim().min(1).max(512).optional()}).strict();m({provider:Rd,authorizationUrl:o().url(),redirectUri:o().url(),expiresAt:o().nullable()}).strict();m({loginCustomerId:Ml.nullable().optional(),customerId:Ml}).strict().superRefine((e,n)=>{_z(e)||n.addIssue({code:be.custom,message:"Expected ten-digit Google Ads customer IDs, with optional 3-3-4 display hyphens."})});m({accountId:Ml,containerId:Ml,workspaceId:Ml.optional()}).strict().superRefine((e,n)=>{Tz(e)||n.addIssue({code:be.custom,message:"GTM resource paths must match the selected account and container."})});m({provider:Rd,disconnected:N()}).strict();const V2=100;m({snapshots:y(o0).max(V2),nextCursor:o().nullable(),total:d().int().nonnegative()}).strict();m({snapshot:KR}).strict();m({snapshots:y(c0).max(V2),nextCursor:o().nullable(),total:d().int().nonnegative()}).strict();m({snapshot:xz}).strict();m({assessment:Sz,googleAdsSnapshot:o0.nullable(),gtmSnapshot:c0.nullable()}).strict();const Ez=m({name:o(),accountName:o().nullable(),type:o().nullable(),role:o().nullable()});m({accounts:y(Ez),total:d().int().nonnegative()});const Rz=m({id:o(),projectId:o(),accountName:o(),locationName:o(),displayName:o(),primaryCategoryDisplayName:o().nullable(),storefrontAddress:o().nullable(),websiteUri:o().nullable(),placeId:o().nullable(),mapsUri:o().nullable(),additionalCategories:y(o()),description:o().nullable(),serviceArea:$e(o(),Dn()).nullable(),regularHours:$e(o(),Dn()).nullable(),primaryPhone:o().nullable(),openStatus:o().nullable(),openingDate:o().nullable(),selected:N(),syncedAt:o().nullable(),createdAt:o(),updatedAt:o()});m({locations:y(Rz),totalDiscovered:d().int().nonnegative(),totalSelected:d().int().nonnegative()});m({selectAllNew:N().default(!0),accountName:o().optional(),switchAccount:N().default(!1)});m({selected:N()});m({locationNames:y(o()).optional(),daysOfMetrics:d().int().positive().max(540).optional(),monthsOfKeywords:d().int().positive().max(18).optional()});m({runId:o(),status:o()});const zz=m({locationName:o(),date:o(),metric:o(),value:d().int()});m({metrics:y(zz),total:d().int().nonnegative()});const Dz=m({locationName:o(),periodStart:o(),periodEnd:o(),keyword:o(),valueCount:d().int().nullable(),valueThreshold:d().int().nullable()});m({keywords:y(Dz),total:d().int().nonnegative(),thresholdedPct:d().int().min(0).max(100)});const Oz=m({locationName:o(),placeActionLinkName:o(),placeActionType:o(),uri:o().nullable(),isPreferred:N(),providerType:o().nullable()});m({placeActions:y(Oz),total:d().int().nonnegative()});const qz=m({locationName:o(),populatedGroupCount:d().int().nonnegative(),syncedAt:o(),attributes:$e(o(),Dn())});m({lodging:y(qz),total:d().int().nonnegative()});const Iz=m({name:o(),valueType:o(),values:y(He([N(),o()])),unsetValues:y(o()),uris:y(o())}),Pz=m({locationName:o(),attributeCount:d().int().nonnegative(),syncedAt:o(),attributes:y(Iz)});m({attributes:y(Pz),total:d().int().nonnegative()});const Mz=m({locationName:o(),placeId:o(),tier:o(),amenities:y(o()),syncedAt:o(),place:$e(o(),Dn())});m({places:y(Mz),total:d().int().nonnegative()});m({scope:m({locationName:o().nullable(),locationCount:d().int().nonnegative()}),performance:m({totals:$e(o(),d()),recent7d:$e(o(),d()),prior7d:$e(o(),d()),deltaPct:$e(o(),d().nullable())}),freshness:m({dataThroughDate:o().nullable(),latestStoredDate:o().nullable(),pendingDays:d().int().nonnegative()}),timeseries:y(m({date:o(),pending:N(),metrics:$e(o(),d())})),keywords:m({total:d().int().nonnegative(),thresholdedCount:d().int().nonnegative(),thresholdedPct:d().int().min(0).max(100)}),placeActions:m({total:d().int().nonnegative(),hasReservationCta:N(),hasBookingCta:N(),hasDirectMerchantCta:N()}),lodging:m({lodgingLocationCount:d().int().nonnegative(),populatedLodgingCount:d().int().nonnegative(),emptyLodgingCount:d().int().nonnegative()}),profileCompleteness:m({locationCount:d().int().nonnegative(),withSecondaryCategories:d().int().nonnegative(),secondaryCategoryTotal:d().int().nonnegative(),withDescription:d().int().nonnegative(),withServiceArea:d().int().nonnegative(),withHours:d().int().nonnegative(),withPrimaryPhone:d().int().nonnegative(),permanentlyClosed:d().int().nonnegative(),temporarilyClosed:d().int().nonnegative()})});const Bz={BUSINESS_DIRECTION_REQUESTS:"Direction requests",WEBSITE_CLICKS:"Website clicks",CALL_CLICKS:"Call clicks",BUSINESS_BOOKINGS:"Bookings",BUSINESS_CONVERSATIONS:"Conversations",BUSINESS_FOOD_ORDERS:"Food orders",BUSINESS_FOOD_MENU_CLICKS:"Food menu clicks",BUSINESS_IMPRESSIONS_DESKTOP_SEARCH:"Search impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_SEARCH:"Search impressions (mobile)",BUSINESS_IMPRESSIONS_DESKTOP_MAPS:"Maps impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_MAPS:"Maps impressions (mobile)"};function Lz(e){const n=e.replace(/^BUSINESS_/,"").split("_").filter(Boolean).map(r=>r.toLowerCase());if(n.length===0)return e;const i=n.join(" ");return i.charAt(0).toUpperCase()+i.slice(1)}function GF(e){return Bz[e]??Lz(e)}const Vz=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],$z=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function KF(e){return Vz.includes(e)?"conversion":$z.includes(e)?"reach":"other"}m({id:o(),domain:o(),siteUrl:o().nullable().optional(),createdAt:o(),updatedAt:o()});const xh=m({id:o(),url:o(),httpCode:d().nullable().optional(),inIndex:N().nullable().optional(),lastCrawledDate:o().nullable().optional(),inIndexDate:o().nullable().optional(),inspectedAt:o(),documentSize:d().nullable().optional(),anchorCount:d().nullable().optional(),discoveryDate:o().nullable().optional()});m({summary:m({total:d(),indexed:d(),notIndexed:d(),unknown:d().optional(),percentage:d()}),lastInspectedAt:o().nullable(),indexed:y(xh).default([]),notIndexed:y(xh).default([]),unknown:y(xh).default([]).optional()});m({query:o(),impressions:d(),clicks:d(),ctr:d(),averagePosition:d()});m({date:o(),indexed:d(),notIndexed:d(),unknown:d()});const Uz=m({url:o(),status:j(["success","error"]),submittedAt:o(),error:o().optional()});m({summary:m({total:d().int().nonnegative(),succeeded:d().int().nonnegative(),failed:d().int().nonnegative()}),results:y(Uz).default([])});const $2=m({url:o(),verified:N()});m({sites:y($2).default([])});m({connected:N(),domain:o(),siteUrl:o().nullable(),createdAt:o().nullable(),updatedAt:o().nullable()});m({connected:N(),domain:o(),siteUrl:o().nullable(),availableSites:y($2).default([])});m({siteUrl:o()});const Gz=m({name:o(),alive:N(),lastUsed:o().nullable()});m({connected:N(),endpoint:o(),version:o().optional(),browserVersion:o().optional(),targets:y(Gz).default([])});const br=j(["live","staging"]);m({projectName:o(),url:o(),stagingUrl:o().optional(),username:o(),defaultEnv:br,createdAt:o(),updatedAt:o()});const Kv=m({url:o(),reachable:N(),pageCount:d().nullable().optional(),version:o().nullable().optional(),error:o().nullable().optional(),plugins:y(o()).optional(),authenticatedUser:m({id:d(),slug:o()}).nullable().optional()});m({connected:N(),projectName:o(),defaultEnv:br,live:Kv.nullable(),staging:Kv.nullable(),adminUrl:o().nullable().optional()});const Kz=m({id:d(),slug:o(),title:o(),status:o(),modifiedAt:o().nullable().optional(),link:o().nullable().optional()}),U2=m({title:o().nullable(),description:o().nullable(),noindex:N().nullable(),writable:N().default(!1),writeTargets:y(o()).default([])}),Hz=m({type:o(),json:$e(o(),Dn())}),Qz=Kz.extend({env:br,content:o(),seo:U2,schemaBlocks:y(Hz).default([])}),Hv=Qz.extend({contentHash:o(),contentSnippet:o()}),G2=m({manualRequired:z(!0),targetUrl:o(),adminUrl:o().nullable().optional(),content:o(),nextSteps:y(o()).default([])}),Fz=m({slug:o(),severity:j(["high","medium","low"]),code:j(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:o()});m({slug:o(),title:o(),status:o(),wordCount:d(),seo:U2,schemaPresent:N(),issues:y(Fz).default([])});const Zz=m({slug:o(),status:j(["applied","skipped","manual"]),error:o().optional(),manualAssist:G2.optional()});m({env:br,strategy:j(["plugin","manual"]),results:y(Zz)});const Yz=m({slug:o(),status:j(["deployed","stripped","skipped","failed"]),schemasInjected:y(o()).optional(),manualAssist:G2.optional(),error:o().optional()});m({env:br,results:y(Yz)});const Xz=m({slug:o(),title:o(),canonrySchemas:y(o()),thirdPartySchemas:y(o()),hasCanonrySchema:N()});m({env:br,pages:y(Xz)});const Jz=m({name:o(),status:j(["completed","skipped","failed"]),summary:o().optional(),error:o().optional()});m({projectName:o(),steps:y(Jz)});m({slug:o(),live:Hv,staging:Hv,hasDifferences:N(),differences:m({title:N(),slug:N(),content:N(),seoTitle:N(),seoDescription:N(),noindex:N(),schema:N()})});const Wz=m({name:o(),displayName:o().optional(),keyUrl:o().optional(),modelHint:o().optional(),model:o().optional(),defaultModel:o().optional(),configured:N(),quota:i8.optional(),vertexConfigured:N().optional()}),eD=m({name:o(),displayName:o(),mode:j(["api","browser"]),modelConfigurable:N(),defaultModel:o(),knownModels:y(m({id:o(),displayName:o(),tier:j(["flagship","standard","fast","economy"])})).default([]),modelValidationPattern:m({source:o(),flags:o()}),modelValidationHint:o()}),Qv=m({configured:N()});m({providers:y(Wz).default([]),providerCatalog:y(eD).default([]),google:Qv,bing:Qv});const ma=j(["queued","running","completed","partial","failed","cancelled"]),Bt=ma.enum,m0=j(["answer-visibility","site-audit","gsc-sync","inspect-sitemap","ga-sync","bing-inspect","bing-inspect-sitemap","backlink-extract","traffic-sync","aeo-discover-seed","aeo-discover-probe","gbp-sync","ads-sync","google-ads-sync","gtm-sync"]),Ne=m0.enum;m({kind:m0.optional(),status:ma.optional()});const p0=j(["manual","scheduled","config-apply","backfill","probe"]),ss=p0.enum,vi=j(["cited","not-cited"]),id=vi.enum,sd=j(["visible","not-visible"]);sd.enum;const Ql=j(["mentioned","not-mentioned"]);Ql.enum;const K2=j(["new","cited","lost","emerging","not-cited"]);K2.enum;const tD=j(["new","mentioned","lost","emerging","not-mentioned"]);tD.enum;const nD=j([ss.manual,ss.probe]);m({kind:z(Ne["answer-visibility"]).optional(),trigger:nD.optional(),providers:y(ht).optional(),queries:y(o().min(1)).min(1).optional(),measurementScope:oT.optional(),location:o().min(1).optional(),allLocations:N().optional(),noLocation:N().optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const aD=m({message:o(),raw:Dn().optional()}),iD=m({message:o().optional(),providers:$e(o(),aD).optional()}),sD=m({id:o(),projectId:o(),kind:m0,status:ma,trigger:p0.default("manual"),measurementPlanVersionId:o().nullable().optional(),measurementManifest:$e(o(),Dn()).nullable().optional(),measurementScope:rT.nullable().optional(),measurementExecutionIdentity:Ik.nullable().optional(),location:o().nullable().optional(),queries:y(o()).nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),error:iD.nullable().optional(),queryBasketRevision:d().int().nullable().optional(),createdAt:o()});function h0(e){if(e.providers){const n=Object.entries(e.providers);if(n.length===1){const[i,r]=n[0];return`${i}: ${r.message}`}if(n.length>1)return n.map(([i,r])=>`${i}: ${r.message}`).join(" • ")}return e.message??"Run failed."}const zd=m({uri:o(),title:o()}),oD=m({status:j(["applied","ignored","browser-implicit","unknown"]),resolved:Xt.nullable().optional()}),H2=m({id:o(),runId:o(),queryId:o(),query:o().optional(),provider:ht,citationState:vi,answerMentioned:N().optional(),visibilityState:sd.optional(),mentionState:Ql.optional(),transition:K2.optional(),answerText:o().nullable().optional(),citedDomains:y(o()).default([]),citedUrls:y(o()).nullable().default(null),captureStatus:He([jd,ue()]).default(null),sourceCount:d().int().nonnegative().nullable().default(null),resolvedCount:d().int().nonnegative().nullable().default(null),captureVersion:d().int().positive().nullable().default(null),retrievalStatus:He([e0,ue()]).default(null),retrievalContract:He([t0,ue()]).default(null),competitorOverlap:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),mentionedCompetitorDomains:y(o()).default([]),recommendedCompetitors:y(o()).default([]),matchedTerms:y(o()).default([]),groundingSources:y(zd).default([]),searchQueries:y(o()).default([]),model:o().nullable().optional(),servedModel:o().nullable().optional(),location:o().nullable().optional(),requestedContext:Xt.nullable().optional(),supportedContext:oD.nullable().optional(),createdAt:o()});m({snapshots:y(H2),total:d().int().nonnegative()});const rD=m({queryId:o().nullable(),query:o().nullable(),run1State:vi.nullable(),run2State:vi.nullable(),run1AnswerMentioned:N().nullable(),run2AnswerMentioned:N().nullable(),run1VisibilityState:sd.nullable(),run2VisibilityState:sd.nullable(),run1MentionState:Ql.nullable().optional(),run2MentionState:Ql.nullable().optional(),changed:N(),visibilityChanged:N()});m({run1:o(),run2:o(),diff:y(rD)});const lD=sD.extend({snapshots:y(H2).optional()}),cD=m({totalRuns:d().int().nonnegative(),run:lD.nullable()});m({id:o(),projectId:o().nullable().optional(),actor:o(),action:o(),entityType:o(),entityId:o().nullable().optional(),diff:Dn().optional(),userAgent:o().nullable().optional(),actorSession:o().nullable().optional(),requestId:o().nullable().optional(),credentialId:o().nullable().optional(),createdAt:o()});const Q2=j(["all","api","browser"]);Q2.enum;const uD=j(["yes","no","unknown","not-mentioned"]),Fv=y(o().min(1)),Zv=m({companyName:o().min(1),domain:o().min(1),queries:Fv.optional(),phrases:Fv.optional(),competitors:y(o().min(1)).optional(),providers:y(o().trim().min(1)).min(1).optional().describe("Configured provider names to use for both answers and analysis. Omit to use all providers matching providerMode."),providerMode:Q2.optional().describe("Filter providers by transport; defaults to all. Browser-only selection requires manual queries and uses no API provider for analysis.")}).superRefine((e,n)=>{e.queries!==void 0&&e.phrases!==void 0&&n.addIssue({code:"custom",message:"Use queries; phrases is accepted only as a legacy alias when queries is omitted",path:["phrases"]})});Zv.safeExtend({competitors:Zv.shape.competitors.default([])});const dD=m({name:o(),count:d().int().nonnegative()}),mD=m({id:o(),name:o(),weight:d(),score:d(),findings:y(m({type:o(),message:o()})).default([]),recommendations:y(o()).default([])}),pD=m({url:o(),finalUrl:o(),auditedAt:o(),overallScore:d(),summary:o(),factors:y(mD).default([])}),hD=m({industry:o(),summary:o(),services:y(o()).default([]),categoryTerms:y(o()).default([])}),fD=m({provider:o(),displayName:o(),model:o().nullable().optional(),mentioned:N(),cited:N(),describedAccurately:uD,accuracyNotes:o().nullable().optional(),incorrectClaims:y(o()).default([]),recommendedCompetitors:y(o()).default([]),citedDomains:y(o()).default([]),groundingSources:y(zd).default([]),searchQueries:y(o()).default([]),answerText:o(),error:o().nullable().optional()}),gD=m({query:o(),providerResults:y(fD).default([])}),yD=m({totalQueries:d().int().nonnegative(),totalProviders:d().int().nonnegative(),totalComparisons:d().int().nonnegative(),mentionCount:d().int().nonnegative(),citationCount:d().int().nonnegative(),topCompetitors:y(dD).default([]),visibilityGap:o(),whatThisMeans:y(o()).default([]),recommendedActions:y(o()).default([])});m({companyName:o(),domain:o(),homepageUrl:o(),generatedAt:o(),queries:y(o()).default([]),competitors:y(o()).default([]),profile:hD,audit:pD,queryResults:y(gD).default([]),summary:yD});const F2=He([ma,ue()]),f0=j(["pass","partial","fail"]);f0.enum;const Z2=j(["up","down","flat"]);Z2.enum;const bD=m({id:o(),name:o(),weight:d(),avgScore:d(),status:f0,pagesPassing:d().int().nonnegative(),pagesPartial:d().int().nonnegative(),pagesFailing:d().int().nonnegative()}),vD=m({factorId:o(),factorName:o(),avgScore:d(),affectedPages:d().int().nonnegative(),totalPages:d().int().nonnegative(),affectedPct:d().int().nonnegative(),topRecommendations:y(o()).default([])});m({project:o(),hasData:N(),runId:o().nullable(),runStatus:F2,sitemapUrl:o().nullable(),auditedAt:o().nullable(),aggregateScore:d(),pagesDiscovered:d().int().nonnegative(),pagesAudited:d().int().nonnegative(),pagesSkipped:d().int().nonnegative(),pagesErrored:d().int().nonnegative(),deltaScore:d().nullable(),trend:He([Z2,ue()]),previousScore:d().nullable(),previousAuditedAt:o().nullable(),factors:y(bD).default([]),crossCuttingIssues:y(vD).default([]),prioritizedFixes:y(o()).default([])});const Y2=m({id:o(),name:o(),weight:d(),score:d()}),xD=m({url:o(),overallScore:d(),status:j(["success","error"]),error:o().nullable().optional(),factors:y(Y2).default([])});m({project:o(),runId:o().nullable(),auditedAt:o().nullable(),total:d().int().nonnegative(),pages:y(xD).default([])});const wD=m({runId:o(),auditedAt:o(),aggregateScore:d(),pagesAudited:d().int().nonnegative()});m({project:o(),points:y(wD).default([])});const kD=j(["disabled","complete","partial","unavailable"]);kD.enum;const SD=m({pagesDiscovered:d().int().nonnegative(),pagesFetched:d().int().nonnegative(),pagesEligible:d().int().nonnegative(),edges:d().int().nonnegative(),findings:d().int().nonnegative()}),jD=Oe("state",[m({state:z("unavailable")}),m({state:z("disabled")}),m({state:z("complete"),checked:d().int().nonnegative(),found:d().int().nonnegative(),unverified:d().int().nonnegative()}),m({state:z("partial"),checked:d().int().nonnegative(),found:d().int().nonnegative(),unverified:d().int().nonnegative()})]);m({project:o(),hasCrawlData:N(),legacyAuditAvailable:N(),runId:o().nullable(),runStatus:F2,requestedRootUrl:o().nullable(),rootUrl:o().nullable(),crawlSchemaVersion:o().nullable().optional(),engineVersion:o().nullable().optional(),normalizationVersion:o().nullable().optional(),indexabilityVersion:o().nullable().optional(),linkScoreVersion:o().nullable().optional(),effectiveOptions:$e(o(),Dn()).default({}),complete:N(),termination:o().nullable(),detailsAvailable:N(),counts:SD,deadLinks:jD});j(["complete","unknown","max-pages","max-edges","max-fetches","max-duration","max-bytes","max-page-bytes","max-depth","max-links-per-page","max-query-variants","max-sitemap-fanout","max-sitemap-urls","root-host-redirect"]);const Dd=j(["eligible","hidden","resource","redirect","failed","unchecked"]),HF=Dd.enum,QF=Dd.options,Zo={discovered:"discovered",robotsBlocked:"robots-blocked",html:"html",redirect:"redirect",nonHtml:"non-html",fetchError:"fetch-error"},zu={indexable:"indexable",noindex:"noindex",blocked:"blocked",unknown:"unknown"},AD={robotsDisallow:"robots-disallow",redirectTerminal:"redirect-terminal",metaRobotsNoindex:"meta-robots-noindex",xRobotsNoindex:"x-robots-noindex",canonicalToOther:"canonical-to-other",notHtmlOrUnavailable:"not-html-or-unavailable"};function CD(e){return e.indexabilityReasons?.some(n=>n===AD.canonicalToOther)===!0||e.nodeKey!==void 0&&e.canonicalNodeKey!==null&&e.canonicalNodeKey!==void 0&&e.canonicalNodeKey!==e.nodeKey}function FF(e){switch(e.fetchState){case Zo.fetchError:return"failed";case Zo.discovered:return"unchecked";case Zo.nonHtml:return"resource";case Zo.redirect:return"redirect";case Zo.robotsBlocked:return"hidden";case Zo.html:break;default:return"unchecked"}if(CD(e))return"hidden";switch(e.indexabilityState){case zu.indexable:return"eligible";case zu.noindex:case zu.blocked:return"hidden";case zu.unknown:default:return"unchecked"}}const ZF=15,ND=j(["navigation","content","unknown"]);ND.enum;const _D=m({navigation:d().int().nonnegative(),content:d().int().nonnegative(),unknown:d().int().nonnegative()}),X2=j(["placement","ubiquity","unmeasured"]);X2.enum;const Od=j(["applied","applied-placement","applied-placement-with-ubiquity","applied-placement-partial","unavailable-too-few-pages","unavailable-legacy-scan"]);Od.enum;function YF(e){switch(e){case"applied":case"applied-placement":case"applied-placement-with-ubiquity":case"applied-placement-partial":return!0;case"unavailable-too-few-pages":case"unavailable-legacy-scan":return!1}}const qd=j(["all","content","template"]);qd.enum;const TD=j(["anchor","redirect","canonical","link"]);TD.enum;const Fl=m({nodeKey:o(),url:o(),finalUrl:o().nullable(),path:o(),parentPath:o(),discoverySource:o(),fetchState:o(),httpStatus:d().int().nullable(),canonicalUrl:o().nullable(),indexabilityState:o(),indexabilityReasons:y(o()).default([]),auditState:o(),auditScore:d().nullable(),inventoryEligible:N(),depth:d().int().nullable(),inboundUniqueEdges:d().int().nonnegative(),outboundUniqueEdges:d().int().nonnegative(),inboundOccurrences:d().int().nonnegative(),outboundOccurrences:d().int().nonnegative(),linkScoreRaw:d().nullable(),linkScoreNormalized:d().nullable(),healthState:Dd}),ED=m({type:j(["found","missing","info","timeout","unreachable"]),code:o().min(1),message:o().min(1)}),Yv=Y2.extend({status:f0,applicable:N().nullable(),findings:y(ED).default([]),recommendations:y(o()).default([])}),Xv=m({id:o().min(1),severity:j(["critical","warning"]),detail:o().min(1),recommendation:o().min(1)}),Du=m({project:o(),runId:o(),complete:N(),termination:o().nullable()}),Jv=m({nodeKey:o(),url:o(),auditState:o()});Oe("state",[m({state:z("no-crawl"),project:o(),runId:ue()}),Du.extend({state:z("details-unavailable")}),Du.extend({state:z("not-found")}),Du.merge(Jv).extend({state:z("not-audited"),auditScore:ue(),factors:y(Yv).length(0).default([]),criticalDefects:y(Xv).length(0).default([])}),Du.merge(Jv).extend({state:z("ready"),auditScore:d(),evidenceState:j(["complete","scores-only"]),factors:y(Yv).default([]),criticalDefects:y(Xv).default([])})]);const RD=j(["applied","unavailable-legacy-scan"]);m({project:o(),hasCrawlData:N(),runId:o().nullable(),total:d().int().nonnegative(),nextCursor:o().nullable(),healthStateFilter:He([RD,ue()]).default(null),pages:y(Fl).default([])});const zD=m({path:o(),url:o().nullable(),hasPage:N(),pageCount:d().int().positive(),inventoryEligibleCount:d().int().nonnegative(),fetchedCount:d().int().nonnegative()});m({project:o(),hasCrawlData:N(),runId:o().nullable(),parentPath:o(),nextCursor:o().nullable(),children:y(zD).default([])});const eo=m({edgeKey:o(),sourceNodeKey:o(),sourceUrl:o(),targetNodeKey:o().nullable(),targetUrl:o(),relation:o(),internal:N(),followable:N(),occurrences:d().int().positive(),followableOccurrences:d().int().nonnegative(),nofollowOccurrences:d().int().nonnegative(),anchors:y(o()).default([]),isTemplate:He([N(),ue()]),templateRatio:He([d(),ue()]),templateSource:X2,placementOccurrences:He([_D,ue()])}),DD=m({nodeKey:o(),url:o(),path:o(),depth:d().int().nonnegative().nullable(),indexabilityState:o(),fetchState:o(),auditState:o(),auditScore:d().nullable(),inventoryEligible:N(),inboundUniqueEdges:d().int().nonnegative(),outboundUniqueEdges:d().int().nonnegative(),linkScoreNormalized:d().nullable(),healthState:Dd,x:d(),y:d()}),OD=m({edgeKey:o(),sourceNodeKey:o(),targetNodeKey:o(),followable:N(),occurrences:d().int().positive(),isTemplate:N()}),qD=j(["no-crawl","legacy-snapshot","details-unavailable","layout-failed","empty-crawl"]),ID=Oe("state",[m({state:z("ready"),version:o().min(1),computedAt:o().min(1),templateLinksExcluded:N()}),m({state:z("unavailable"),version:ue(),reason:qD})]);m({project:o(),hasCrawlData:N(),runId:o().nullable(),rootNodeKey:o().nullable(),layout:ID,templateDetection:Od,linkKind:qd,totalNodes:d().int().nonnegative(),totalEdges:d().int().nonnegative(),totalTemplateEdges:d().int().nonnegative(),totalContentEdges:d().int().nonnegative(),nodes:y(DD).default([]),edges:y(OD).default([]),omittedNodes:d().int().nonnegative(),omittedEdges:d().int().nonnegative(),sampled:N()});const XF=2e4,JF=5e4,PD=j(["focus","inbound","outbound","both","transitive"]),MD=Fl.extend({distance:d().int().nonnegative(),relationToFocus:PD});m({project:o(),hasCrawlData:N(),runId:o().nullable(),complete:N(),termination:o().nullable(),state:j(["no-crawl","details-unavailable","ready"]),focusNodeKey:o().nullable(),focusUrl:o().nullable(),hops:d().int().min(0).max(3),totalNodes:d().int().nonnegative(),totalEdges:d().int().nonnegative(),nodes:y(MD).default([]),edges:y(eo).default([]),omittedNodes:d().int().nonnegative(),omittedEdges:d().int().nonnegative(),countAccuracy:j(["exact","lower-bound"]),truncated:N()});const Wv=m({nodeKey:o(),url:o(),path:o()});m({project:o(),runId:o().nullable(),complete:N(),termination:o().nullable(),state:j(["no-crawl","details-unavailable","found","unreachable","truncated"]),from:Wv.nullable(),to:Wv.nullable(),maxDepth:d().int().positive(),visitedNodes:d().int().nonnegative(),nodes:y(Fl).default([]),edges:y(eo).default([])});const J2=j(["added","removed","changed"]),BD=m({entity:z("page"),change:J2,key:o(),changedFields:y(o()).default([]),before:Fl.nullable(),after:Fl.nullable()}),LD=m({entity:z("link"),change:J2,key:o(),changedFields:y(o()).default([]),before:eo.nullable(),after:eo.nullable()}),VD=Oe("entity",[BD,LD]),ex=m({added:d().int().nonnegative(),removed:d().int().nonnegative(),changed:d().int().nonnegative()}),$D=m({scope:j(["all","pages","links"]),change:j(["all","added","removed","changed"])});Oe("state",[m({project:o(),state:z("unavailable"),reason:j(["no-crawl","insufficient-history","details-unavailable","partial-not-comparable"]),fromRunId:o().nullable(),toRunId:o().nullable()}),m({project:o(),state:z("incompatible"),reason:z("incompatible-versions"),fromRunId:o(),toRunId:o(),mismatchedVersions:y(o()).min(1)}),m({project:o(),state:z("ready"),fromRunId:o(),toRunId:o(),versions:m({crawlSchema:o(),normalization:o(),indexability:o(),linkScore:o()}),filters:$D,summaryState:j(["exact","omitted-on-continuation"]),summary:m({pages:ex,links:ex}).nullable(),total:d().int().nonnegative().nullable(),nextCursor:o().nullable(),changes:y(VD).default([])})]);m({project:o(),hasCrawlData:N(),runId:o().nullable(),total:d().int().nonnegative(),nextCursor:o().nullable(),templateDetection:Od,linkKind:qd,edges:y(eo).default([])});m({project:o(),hasCrawlData:N(),runId:o().nullable(),nodeKey:o().nullable(),url:o().nullable(),templateDetection:Od,linkKind:qd,inbound:y(eo).default([]),outbound:y(eo).default([]),inboundTruncated:N(),outboundTruncated:N()});const tx=m({findingKey:o(),severity:o(),sourceNodeKey:o().nullable(),sourceUrl:o().nullable(),targetNodeKey:o().nullable(),targetUrl:o().nullable(),evidence:$e(o(),Dn()).default({})});Oe("state",[m({project:o(),runId:o().nullable(),state:z("unavailable"),legacyAuditAvailable:N()}),m({project:o(),runId:o(),state:z("disabled"),checkDeadLinks:z(!1)}),m({project:o(),runId:o(),state:z("complete"),checkDeadLinks:z(!0),checked:d().int().nonnegative(),found:d().int().nonnegative(),unverified:d().int().nonnegative(),total:d().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y(tx).default([])}),m({project:o(),runId:o(),state:z("partial"),checkDeadLinks:z(!0),checked:d().int().nonnegative(),found:d().int().nonnegative(),unverified:d().int().nonnegative(),total:d().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y(tx).default([])})]);const WF=1e3,eZ=10,W2=100;m({sitemapUrl:o().url().optional(),limit:d().int().positive().max(2e3).optional(),maxPages:d().int().positive().max(5e4).optional(),maxEdges:d().int().positive().max(1e6).optional(),maxDepth:d().int().min(0).max(100).optional(),checkDeadLinks:N().default(!1)});m({runId:o(),status:ma});const UD=m({runId:o(),status:ma,createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable(),hasCrawlData:N()});m({project:o(),scans:y(UD).default([])});const GD=j(["queued","discovering","checking","arranging-map","completed","partial","failed","cancelled"]),KD=m({state:j(["pending","ready","unavailable"]),layoutVersion:o().nullable(),failureCode:o().nullable(),updatedAt:o().nullable()}),HD=m({id:o(),state:o(),pagesDiscovered:d().int().nonnegative(),pagesFetched:d().int().nonnegative(),pagesEligible:d().int().nonnegative(),pagesErrored:d().int().nonnegative(),edgesDiscovered:d().int().nonnegative(),lastUpdatedAt:o(),startedAt:o().nullable(),finishedAt:o().nullable(),error:o().nullable()});m({project:o(),runId:o(),status:ma,phase:GD,attempt:HD.nullable(),layout:KD,error:o().nullable()});const QD=j(["waiting","collecting","terminal"]),FD=m({nodeKey:o(),url:o(),auditScore:d(),checksNeedingAttention:d().int().nonnegative()});m({project:o(),runId:o(),status:ma,state:QD,attemptId:o().nullable(),pagesAudited:d().int().nonnegative(),updatedAt:o().nullable(),examples:y(FD).max(12).default([])});const ZD=m({basis:j(["tracked","observed"]).nullable(),availability:j(["measured","not-measured","unavailable"]),reason:j(["select-query-class","no-competitors","insufficient-observed","no-answers","no-mentions","unavailable"]).nullable()}),g0=ZD.partial().shape;function tZ(e){switch(e){case"select-query-class":return"Select a query class.";case"no-competitors":return"No competitors configured.";case"insufficient-observed":return"Requires 3 observed competitors mentioned in at least 3 answers each.";case"no-answers":return"No answer text in scope.";case"no-mentions":return"No brands mentioned in scope.";case"unavailable":return"Competitor evidence is unavailable.";default:return""}}function YD(e,n){const i=n?.availability==="unavailable"?"Unavailable":n?.availability==="not-measured"||e===null?"Not measured":`${e.toFixed(1)}%`;return n?.basis?`${i} · ${n.basis} competitors`:i}function nZ(e,n,i){return`Share of voice · ${n} queries: ${YD(e,i)}${i?.measurementScope==="all-markets"?" · all markets":""}`}const y0=j(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]),Ku=y0.enum,b0=j(["cited","aspirational","wasted-surface"]),nx=b0.enum;nx.cited,nx.aspirational;const Id=j(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),XD=Id.enum;XD["direct-competitor"];const Pd=j(["queued","seeding","probing","completed","failed"]);Pd.enum;const eS=m({domain:o().min(1),hits:d().int().positive(),competitorType:Id.default("unknown")}),JD=m({id:o(),sessionId:o(),projectId:o(),query:o(),bucket:b0.nullable().default(null),citationState:vi,citedDomains:y(o()).default([]),answerMentioned:N().nullable().default(null),createdAt:o()}),WD=m({id:o(),projectId:o(),status:Pd,icpDescription:o().nullable().optional(),seedProvider:o().nullable().optional(),seedCountRaw:d().int().nullable().optional(),seedCount:d().int().nullable().optional(),seedFromAnswerCount:d().int().nullable().optional(),seedFromGroundingCount:d().int().nullable().optional(),seedBrandFilteredCount:d().int().nullable().optional(),buyerDescription:o().nullable().optional(),locations:y(Xt).nullable().optional(),seedRawCandidates:y(o()).nullable().optional(),dedupClusterMinSims:y(d()).nullable().optional(),dedupBandPairFraction:d().nullable().optional(),dedupPairsTotal:d().int().nullable().optional(),seedProviders:y(o()).nullable().optional(),seedProviderCounts:$e(o(),d().int()).nullable().optional(),canonicalCount:d().int().nullable().optional(),dedupThreshold:d().nullable().optional(),probeCount:d().int().nullable().optional(),citedCount:d().int().nullable().default(null),aspirationalCount:d().int().nullable().default(null),wastedCount:d().int().nullable().default(null),competitorMap:y(eS).default([]),warning:o().nullable().optional(),error:o().nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),createdAt:o()});WD.extend({probes:y(JD).default([])});const e9=500,t9=8,n9=["gemini","openai"],a9=j(n9);m({icpDescription:o().min(1).optional(),buyerDescription:o().min(1).optional(),seedProviders:y(a9).min(1).transform(e=>[...new Set(e)].sort()).optional(),dedupThreshold:d().min(0).max(1).optional(),maxProbes:d().int().positive().max(e9).optional(),probeConcurrency:d().int().min(1).max(t9).optional(),locations:y(o().min(1)).optional()});m({buckets:y(b0).min(1).optional(),includeCompetitors:N().optional(),competitorTypes:y(Id).min(1).optional()});m({sessionId:o(),projectId:o(),status:Pd,queriesByBucket:m({cited:y(o()),aspirational:y(o()),"wasted-surface":y(o())}),suggestedCompetitors:y(eS)});m({sessionId:o(),projectId:o(),promoted:m({queries:y(o()),competitors:y(o())}),skipped:m({queries:y(o()),competitors:y(o())})});He([z("cli"),o().regex(/^discovery:.+$/)]);const i9=m({query:o().min(1),probeHits:d().int().positive()}),s9=m({rawCandidates:d().int().nonnegative(),admitted:d().int().nonnegative(),rejected:m({belowFloor:d().int().nonnegative(),length:d().int().nonnegative(),navigational:d().int().nonnegative(),duplicate:d().int().nonnegative(),offAnchor:d().int().nonnegative(),semanticDuplicate:d().int().nonnegative()})});m({sessionId:o(),projectId:o(),provider:o(),status:Pd,minProbeHits:d().int().positive(),anchorApplied:N(),semanticNoveltyApplied:N(),candidates:y(i9),stats:s9});const v0=j(["own","direct-competitor","ota-aggregator","editorial-media","other"]);v0.enum;const Md=j(["7d","30d","90d","all"]),ax=j(["improving","declining","stable"]),o9=j(["mentioned","cited"]);o9.enum;const Jh=m({citationRate:d(),cited:d().int(),total:d().int(),mentionRate:d(),mentionedCount:d().int()}),vr=o().trim().min(1),r9=y(vr).min(1).superRefine((e,n)=>{for(let i=1;i<e.length;i+=1)e[i-1]>=e[i]&&n.addIssue({code:"custom",message:"mixed model IDs must be sorted and unique",path:[i]})}),to=Oe("status",[m({status:z("known"),model:vr}),m({status:z("unknown")}),m({status:z("mixed"),models:r9,includesUnknown:N()})]),l9=m({observedAt:o(),bucketStartDate:o(),from:to,to,fromPreWindowAnchor:N().optional(),anchorObservedAt:o().optional()}),tS=m({latestObservation:m({observedAt:o(),state:to}),events:y(l9),eventTotal:d().int().nonnegative().optional(),anchorUnavailable:N().optional()}),c9=$e(o(),tS),u9=tS.extend({latestServedModelIds:y(vr).default([])}),d9=$e(o(),u9),m9=m({observedAt:o(),configured:to,served:to}),p9=m({scope:j(["non-brand","pooled"]),rate:d().nullable(),projectMentionSnapshots:d().int().nonnegative(),competitorMentionSnapshots:d().int().nonnegative()}),h9=m({startDate:o(),endDate:o(),dataStartDate:o(),dataEndDate:o(),sweepCount:d().int().nonnegative(),citationRate:d(),cited:d().int(),total:d().int(),queryCount:d().int(),mentionRate:d(),mentionedCount:d().int(),mentionShare:p9,byProvider:$e(o(),Jh),modelEvidenceByProvider:$e(o(),to).default({}),basketRevision:d().int().nullable().default(null)}),f9=m({revision:d().int(),at:o(),added:y(o()),removed:y(o())}),g9=m({date:o(),delta:d().int(),label:o()}),y9=m({at:o(),identity:Ik});m({window:Md,mentionShareScope:j(["non-brand","pooled"]),buckets:y(h9),overall:Jh,byProvider:$e(o(),Jh),trend:ax,mentionTrend:ax,queryChanges:y(g9),basketChanges:y(f9).default([]),executionIdentityChanges:y(y9).default([]),referenceBasketRevision:d().int().nullable().default(null),modelAttribution:c9.default({}),servedModelAttribution:d9.default({}),modelServiceMismatch:$e(o(),m9).default({}),modelPointerChanges:$e(o(),lR).default({})});const ix=m({category:y0,label:o(),count:d().int(),percentage:d(),topDomains:y(m({domain:o(),count:d().int()}))}),b9=m({domain:o(),count:d().int(),percentage:d(),category:y0,label:o(),surfaceClass:v0}),v9=m({surfaceClass:v0,label:o(),count:d().int(),percentage:d(),domainCount:d().int()}),sx=m({totalCitedSlots:d().int(),domainTotal:d().int(),entries:y(b9),truncatedDomainCount:d().int(),truncatedCitedSlots:d().int(),bySurfaceClass:y(v9)});m({overall:y(ix),byQuery:$e(o(),y(ix)),ranked:sx,byProvider:$e(o(),sx),runId:o(),window:Md,limit:d().int().nullable()});const x9=j(["own","direct-competitor","ota-aggregator","editorial-media","other","unknown"]),w9=Oe("kind",[m({kind:z("project")}).strict(),m({kind:z("group"),groupKey:o().trim().min(1)}).strict(),m({kind:z("all-markets")}).strict()]),nS=j(["all","branded","non-brand"]),aS=j(["project","all-markets"]);m({window:Md.optional(),groupKey:o().trim().min(1).optional(),scope:aS.optional(),provider:o().trim().min(1).optional(),model:vr.optional(),groupBy:z("model").optional(),queryClass:nS.optional(),location:o().trim().min(1).optional(),runId:o().trim().min(1).optional()}).strict().superRefine((e,n)=>{e.scope==="all-markets"&&e.groupKey!==void 0&&n.addIssue({code:"custom",path:["groupKey"],message:"groupKey cannot be combined with scope=all-markets"}),e.model!==void 0&&e.provider===void 0&&n.addIssue({code:"custom",path:["provider"],message:"provider is required when filtering by model"})});const as=m({domain:o().trim().min(1),label:o().trim().min(1),surfaceClass:x9,pinned:N(),mentionCount:d().int().nonnegative(),shareOfVoice:d().min(0).max(100).nullable(),citationCount:d().int().nonnegative(),answeredResults:d().int().nonnegative(),firstSeenAt:o().datetime().nullable(),lastSeenAt:o().datetime().nullable(),sampleUrls:y(o().url()).max(3)}).strict(),iS=m({answeredResults:d().int().nonnegative(),sourceResults:d().int().nonnegative(),missingAnswerTextResults:d().int().nonnegative(),mentionCredits:d().int().nonnegative(),incompleteSourceResults:d().int().nonnegative(),excludedProbeResults:d().int().nonnegative(),excludedNonCompletedResults:d().int().nonnegative()}).strict(),k9=50,S9=m({...g0,comparison:y(m({domain:o(),mentions:d().int().nonnegative()})).optional(),observedNames:y(m({name:o(),answerCount:d().int().nonnegative()})).optional(),provider:o().trim().min(1),model:vr.nullable(),servedModels:to,snapshotCount:d().int().positive(),project:as,pinned:y(as),observed:y(as),otherSources:y(as),evidence:iS,truncated:N()}).strict(),j9=m({basis:z("requested-model"),groups:y(S9).max(k9),totalGroups:d().int().nonnegative(),truncated:N()}).strict();m({...g0,comparison:y(m({domain:o(),mentions:d().int().nonnegative()})).optional(),observedNames:y(m({name:o(),answerCount:d().int().nonnegative()})).optional(),window:Md,scope:w9,project:as,pinned:y(as),observed:y(as),otherSources:y(as),evidence:iS,modelComparison:j9.optional(),marketState:m({activeRevision:d().int().positive(),draft:m({etag:o().trim().min(1),pendingCompetitorDomains:y(o().trim().min(1))}).strict().nullable()}).strict().nullable(),filters:m({scope:aS,groupKey:o().nullable(),provider:o().nullable(),model:vr.optional(),groupBy:z("model").optional(),queryClass:nS,location:o().nullable(),runId:o().nullable()}).strict(),truncated:N()}).strict();const x0=m({total:d().int(),checked:d().int(),mentioned:d().int(),cited:d().int(),mentionRate:d().nullable(),citedRate:d().nullable()}),sS=x0.extend({provider:o(),firstObserved:o(),lastObserved:o()}),A9=x0.extend({queryId:o().nullable(),query:o(),firstObserved:o(),lastObserved:o(),providers:y(sS).optional()}),C9=m({since:o().nullable(),until:o().nullable(),lastRuns:d().int().nullable(),runCount:d().int()}),N9=j(["provider"]),Wh=m({domain:o(),mentions:d().int()}),oS=m({...g0,measurementScope:j(["project","all-markets"]).optional(),queryClass:j(["branded","non-brand","pooled"]),percent:d().nullable(),competitorCount:d().int().nonnegative(),projectMentions:d().int(),competitorMentions:d().int(),snapshotsWithAnswerText:d().int(),perCompetitor:y(Wh)});m({project:o(),groupBy:N9.optional(),window:C9,totals:x0,byProvider:y(sS).optional(),queries:y(A9),shareOfVoice:oS.optional()});const _9=j(["within-noise","moved","insufficient-data","model-discontinuous","model-unknown"]),T9=j(["up","down","flat"]),ox=m({availability:j(["available","no-observations","no-competitive-frame"]),point:d().nullable(),ciLow:d().nullable(),ciHigh:d().nullable(),numerator:d().int(),denominator:d().int()}),E9=j(["mention-share-of-voice","cited-share-of-voice","mention-rate","cited-rate"]),R9=m({key:E9,label:o(),queryClass:j(["all","non-brand","pooled"]),driftRobust:N(),from:ox,to:ox,rateRatio:d().nullable(),direction:He([T9,ue()]),verdict:_9}),rx=m({month:o(),since:o(),until:o(),runCount:d().int(),lowRunCount:N()}),z9=m({queryCount:d().int(),excludedFromOnly:d().int(),excludedToOnly:d().int(),providers:y(o()),excludedProviders:y(o())}),D9=m({provider:o(),fromModels:y(o()),toModels:y(o())}),O9=j(["included","model-discontinuous","model-unknown"]),q9=m({provider:o(),status:O9,fromModels:y(o()),toModels:y(o())}),I9=j(["comparable","model-discontinuous","model-unknown","insufficient-data"]),P9=m({status:I9,comparedProviders:y(o()),providers:y(q9)}),M9=m({provider:o(),from:m({checked:d().int(),mentioned:d().int(),cited:d().int()}),to:m({checked:d().int(),mentioned:d().int(),cited:d().int()})}),B9=m({from:m({count:d().int(),of:d().int()}),to:m({count:d().int(),of:d().int()})});m({project:o(),from:rx,to:rx,basket:z9,metrics:y(R9),queriesMentioned:B9,byProvider:y(M9),modelChanges:y(D9),continuity:P9,competitors:m({from:y(Wh),to:y(Wh)})});j(["json","csv"]);const L9=m({runId:o(),runKind:z("answer-visibility"),runStatus:ma,runTrigger:p0,runCreatedAt:o(),runStartedAt:o().nullable(),runFinishedAt:o().nullable(),snapshotId:o(),snapshotCreatedAt:o(),queryId:o().nullable(),query:o().nullable(),provider:o(),model:o().nullable(),location:o().nullable(),citationState:vi,cited:N(),answerMentioned:N().nullable(),mentionState:He([Ql,ue()]),citedDomains:y(o()),citedUrls:y(o()).nullable(),captureStatus:He([jd,ue()]),sourceCount:d().int().nonnegative().nullable(),resolvedCount:d().int().nonnegative().nullable(),captureVersion:d().int().positive().nullable(),competitorOverlap:y(o()),recommendedCompetitors:y(o()),answerText:o().nullable(),groundingSources:y(zd),searchQueries:y(o())}),V9=m({since:o().nullable(),until:o().nullable(),includeProbes:N()});m({schemaVersion:z("canonry.results-export/v1"),generatedAt:o(),project:m({id:o(),name:o(),displayName:o(),canonicalDomain:o(),country:o(),language:o()}),filters:V9,recordCount:d().int().nonnegative(),records:y(L9)});m({runIds:y(o().trim().min(1)).max(100).default([]),researchRunIds:y(o().trim().min(1)).max(100).default([]),confirm:N().default(!1)}).strict().superRefine((e,n)=>{e.runIds.length+e.researchRunIds.length===0&&n.addIssue({code:"custom",message:"Select at least one saved run."}),(new Set(e.runIds).size!==e.runIds.length||new Set(e.researchRunIds).size!==e.researchRunIds.length)&&n.addIssue({code:"custom",message:"Run IDs must be unique."})});m({dryRun:N(),runIds:y(o()),researchRunIds:y(o()),querySnapshots:d().int().nonnegative(),researchQueries:d().int().nonnegative(),insights:d().int().nonnegative(),healthSnapshots:d().int().nonnegative()});const Bd=j(["organic","paid"]);Bd.enum;m({id:o(),projectId:o(),propertyId:o(),clientEmail:o(),connected:N(),createdAt:o(),updatedAt:o()});m({date:o(),landingPage:o(),sessions:d(),organicSessions:d(),users:d()});const w0=j(["session","first_user","manual_utm"]),$9=m({source:o(),medium:o(),trafficClass:Bd,sessions:d(),users:d().optional(),sourceDimension:w0}),U9=m({source:o(),medium:o(),trafficClass:Bd,sourceDimension:w0,landingPage:o(),sessions:d(),users:d().optional()}),G9=m({source:o(),medium:o(),sessions:d(),users:d(),channelGroup:o()}),zl=m({sessions:d(),sharePct:d(),sharePctDisplay:o()}),K9=m({organic:zl,social:zl,direct:zl,ai:zl,other:zl});m({totalSessions:d(),totalOrganicSessions:d(),totalDirectSessions:d(),totalUsers:d().nullable(),topPages:y(m({landingPage:o(),sessions:d(),organicSessions:d(),directSessions:d(),users:d()})),aiReferrals:y($9),aiReferralLandingPages:y(U9),aiSessionsDeduped:d(),aiUsersDeduped:d().optional(),paidAiSessionsDeduped:d(),paidAiUsersDeduped:d().optional(),organicAiSessionsDeduped:d(),organicAiUsersDeduped:d().optional(),aiSessionsBySession:d(),aiUsersBySession:d().optional(),paidAiSessionsBySession:d(),paidAiUsersBySession:d().optional(),organicAiSessionsBySession:d(),organicAiUsersBySession:d().optional(),socialReferrals:y(G9),socialSessions:d(),socialUsers:d().optional(),channelBreakdown:K9,organicSharePct:d(),aiSharePct:d(),aiSharePctBySession:d(),paidAiSharePct:d(),paidAiSharePctBySession:d(),organicAiSharePct:d(),organicAiSharePctBySession:d(),directSharePct:d(),socialSharePct:d(),organicSharePctDisplay:o(),aiSharePctDisplay:o(),aiSharePctBySessionDisplay:o(),paidAiSharePctDisplay:o(),paidAiSharePctBySessionDisplay:o(),organicAiSharePctDisplay:o(),organicAiSharePctBySessionDisplay:o(),directSharePctDisplay:o(),socialSharePctDisplay:o(),otherSessions:d(),otherSharePct:d(),otherSharePctDisplay:o(),lastSyncedAt:o().nullable()});m({connected:N(),propertyId:o().nullable(),clientEmail:o().nullable(),authMethod:j(["service-account","oauth"]).nullable(),lastSyncedAt:o().nullable(),createdAt:o().nullable().optional(),updatedAt:o().nullable().optional()});const H9=m({propertyId:o(),displayName:o(),accountName:o()});m({properties:y(H9)});m({synced:N(),rowCount:d().int().nonnegative(),aiReferralCount:d().int().nonnegative(),socialReferralCount:d().int().nonnegative(),days:d().int().nonnegative(),requestedDays:d().int().nonnegative(),clamped:N(),syncedAt:o(),measurement:m({acquisition:m({days:d().int().nonnegative(),status:j(["ready","error"]),rowCount:d().int().nonnegative(),error:o().optional()}),leads:m({days:d().int().nonnegative(),status:j(["ready","error","not-configured"]),rowCount:d().int().nonnegative(),attributionScope:j(["landing-page","channel"]).optional(),error:o().optional()})}),syncedComponents:y(o()).optional()});m({date:o(),source:o(),medium:o(),trafficClass:Bd,landingPage:o(),sessions:d(),users:d(),sourceDimension:w0});const Q9=m({source:o(),sessions:d(),paidSessions:d(),organicSessions:d()}),F9=m({date:o(),sessions:d(),paidSessions:d(),organicSessions:d(),bySource:y(Q9)});m({days:y(F9),sources:y(o()),totalSessions:d(),totalPaidSessions:d(),totalOrganicSessions:d()});m({date:o(),source:o(),medium:o(),sessions:d(),users:d(),channelGroup:o()});m({date:o(),sessions:d(),organicSessions:d(),users:d(),usersSource:j(["deduplicated","landing-page-sum"])});m({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:d(),overallMentionRate:d(),totalPairs:d().int().nonnegative(),citedPairs:d().int().nonnegative(),mentionedPairs:d().int().nonnegative(),providerBreakdown:$e(o(),m({citedRate:d(),mentionRate:d(),cited:d().int().nonnegative(),mentioned:d().int().nonnegative(),total:d().int().nonnegative()})),createdAt:o(),status:j(["ready","no-data"]),reason:z("no-runs-yet").optional()});const rS=j(["claude","openai","gemini","zai","deepinfra"]),Z9=m({id:rS,label:o(),defaultModel:o(),configured:N(),keySource:j(["config","env"]).nullable()});m({providers:y(Z9).default([]),defaultProvider:rS.nullable()});const Y9=j(["aero","user","compaction"]);Y9.enum;const lS=128;m({key:o().min(1).max(lS),value:o().min(1)});m({key:o().min(1).max(lS)});const xr=j(["commoncrawl","bing-webmaster"]);xr.enum;const k0=j(["queued","downloading","querying","ready","failed"]);k0.enum;m({id:o(),release:o(),status:k0,phaseDetail:o().nullable().optional(),vertexPath:o().nullable().optional(),edgesPath:o().nullable().optional(),vertexSha256:o().nullable().optional(),edgesSha256:o().nullable().optional(),vertexBytes:d().int().nullable().optional(),edgesBytes:d().int().nullable().optional(),projectsProcessed:d().int().nullable().optional(),domainsDiscovered:d().int().nullable().optional(),downloadStartedAt:o().nullable().optional(),downloadFinishedAt:o().nullable().optional(),queryStartedAt:o().nullable().optional(),queryFinishedAt:o().nullable().optional(),error:o().nullable().optional(),createdAt:o(),updatedAt:o()});const X9=m({linkingDomain:o(),numHosts:d().int(),source:xr}),J9=m({projectId:o(),release:o(),targetDomain:o(),totalLinkingDomains:d().int(),totalHosts:d().int(),top10HostsShare:o(),queriedAt:o(),source:xr,excludedLinkingDomains:d().int().optional(),excludedHosts:d().int().optional()});m({source:xr,summary:J9.nullable(),total:d().int(),rows:y(X9)});m({release:o(),totalLinkingDomains:d().int(),totalHosts:d().int(),top10HostsShare:o(),queriedAt:o(),source:xr});const W9=m({source:xr,connected:N(),hasData:N(),latestRelease:o().nullable(),totalLinkingDomains:d().int(),lastSyncedAt:o().nullable()});m({projectId:o(),targetDomain:o(),sources:y(W9),anyConnected:N(),anyData:N()});m({duckdbInstalled:N(),duckdbVersion:o().nullable().optional(),duckdbSpec:o(),pluginDir:o()});m({installed:N(),version:o(),path:o(),alreadyPresent:N()});m({release:o(),vertexUrl:o(),edgesUrl:o(),vertexBytes:d().int().nullable(),edgesBytes:d().int().nullable(),lastModified:o().nullable()});m({release:o(),syncStatus:k0.nullable(),bytes:d().int(),lastUsedAt:o().nullable()});const S0=j(["positive","caution","negative","neutral"]),ns=m({label:o(),value:o(),delta:o(),tone:S0,description:o(),tooltip:o().optional(),trend:y(d()),progress:d().optional(),providerCoverage:o().optional()}),lx=m({projectMentionSnapshots:d().int().nonnegative(),competitorMentionSnapshots:d().int().nonnegative(),perCompetitor:y(m({domain:o(),mentionSnapshots:d().int().nonnegative(),shareOfCompetitiveTotal:d()})),snapshotsWithAnswerText:d().int().nonnegative(),snapshotsTotal:d().int().nonnegative(),score:d().int().min(0).max(100).nullable()}),eO=ns.extend({breakdown:lx,scope:j(["non-brand","pooled"]),branded:lx}),wh=m({gained:d().int().nonnegative(),lost:d().int().nonnegative(),tone:S0,hasPreviousRun:N(),gainedQueries:y(o()).optional(),lostQueries:y(o()).optional()}),tO=m({hasPreviousRun:N(),comparable:N(),querySetChanged:N(),previousRunAt:o().nullable(),currentQueryCount:d().int().nonnegative(),previousQueryCount:d().int().nonnegative(),comparableQueryCount:d().int().nonnegative(),addedQueryCount:d().int().nonnegative(),removedQueryCount:d().int().nonnegative(),addedQueries:y(o()),removedQueries:y(o())}),nO=m({id:o(),projectId:o(),runId:o().nullable(),type:j(["regression","gain","opportunity","first-citation","provider-pickup","persistent-gap","competitor-gained","competitor-lost","gbp-lodging-gap","gbp-listing-discrepancy","gbp-cta-gap","gbp-description-missing","gbp-metric-drop","gbp-keyword-drop"]),severity:j(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),recommendation:m({action:o(),target:o().optional(),reason:o()}).optional(),cause:m({cause:o(),competitorDomain:o().optional(),details:o().optional()}).optional(),dismissed:N(),createdAt:o()}),aO=m({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:d(),overallMentionRate:d(),totalPairs:d().int().nonnegative(),citedPairs:d().int().nonnegative(),mentionedPairs:d().int().nonnegative(),providerBreakdown:$e(o(),m({citedRate:d(),mentionRate:d(),cited:d().int().nonnegative(),mentioned:d().int().nonnegative(),total:d().int().nonnegative()})),createdAt:o(),status:j(["ready","no-data"]),reason:z("no-runs-yet").optional()});m({project:m7,latestRun:cD,health:aO.nullable(),topInsights:y(nO),queryCounts:m({totalQueries:d().int().nonnegative(),citedQueries:d().int().nonnegative(),notCitedQueries:d().int().nonnegative(),citedRate:d(),mentionedQueries:d().int().nonnegative(),notMentionedQueries:d().int().nonnegative(),mentionRate:d()}),providers:y(m({provider:o(),citedRate:d(),cited:d().int().nonnegative(),total:d().int().nonnegative()})),transitions:m({since:o().nullable(),gained:d().int().nonnegative(),lost:d().int().nonnegative(),emerging:d().int().nonnegative()}),scores:m({mention:ns,visibility:ns,mentionShare:eO,gapQueries:ns,mentionGaps:ns,indexCoverage:ns,competitorPressure:ns,runStatus:ns}),movementSummary:wh,citationMovement:wh,mentionMovement:wh,movementComparison:tO,competitors:y(m({id:o(),domain:o(),citationCount:d().int().nonnegative(),totalQueries:d().int().nonnegative(),pressureLabel:j(["None","Low","Moderate","High"]),citedQueries:y(o())})),providerScores:y(m({provider:o(),model:o().nullable(),score:d(),cited:d().int().nonnegative(),total:d().int().nonnegative(),trend:y(d()).optional()})),attentionItems:y(m({id:o(),tone:S0,title:o(),detail:o(),actionLabel:o(),href:o()})),runHistory:y(m({runId:o(),createdAt:o(),citedCount:d().int().nonnegative(),totalCount:d().int().nonnegative(),citationRate:d(),mentionedCount:d().int().nonnegative(),mentionRate:d(),status:o()})),suggestedQueries:m({rows:y(m({query:o(),impressions:d(),clicks:d(),avgPosition:d(),reason:o()})),totalCandidates:d().int().nonnegative(),skippedAlreadyTracked:d().int().nonnegative()}),dateRangeLabel:o(),contextLabel:o()});j(["snapshot","insight"]);const iO=m({kind:z("snapshot"),id:o(),runId:o(),query:o(),provider:o(),model:o().nullable(),citationState:vi,matchedField:j(["answerText","citedDomains","citedUrls","searchQueries","query"]),snippet:o(),createdAt:o()}),sO=m({kind:z("insight"),id:o(),runId:o().nullable(),type:j(["regression","gain","opportunity","first-citation","provider-pickup","persistent-gap","competitor-gained","competitor-lost","gbp-lodging-gap","gbp-listing-discrepancy","gbp-cta-gap","gbp-description-missing","gbp-metric-drop","gbp-keyword-drop"]),severity:j(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),matchedField:j(["title","query","recommendation","cause"]),snippet:o(),dismissed:N(),createdAt:o()}),oO=Oe("kind",[iO,sO]);m({query:o(),totalHits:d().int().nonnegative(),truncated:N(),hits:y(oO)});const cS=j(["create","expand","refresh","add-schema"]);cS.enum;function rO(e){switch(e){case"create":return"Create";case"expand":return"Expand";case"refresh":return"Refresh";case"add-schema":return"Add schema"}}const uS=j(["gsc","competitor-evidence","both"]);uS.enum;const dS=j(["high","medium","low"]);dS.enum;function lO(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}const cO=j(["blog-post","comparison","listicle","how-to","guide","glossary"]);cO.enum;const mS=j(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);mS.enum;const j0=j(["ownable","ceded"]),aZ=j0.enum;function iZ(e){switch(e){case"ownable":return"Ownable";case"ceded":return"Ceded"}}const uO=m({url:o(),gscImpressions:d().nonnegative(),gscClicks:d().nonnegative(),gscAvgPosition:d().nonnegative().nullable(),organicSessions:d().nonnegative()}),dO=m({domain:o(),url:o(),title:o(),citationCount:d().int().nonnegative()}),mO=m({demand:d(),competitor:d(),absence:d(),gapSeverity:d()}),pO=m({actionId:o(),state:mS,lastUpdated:o()}),pS=m({targetRef:o(),query:o(),action:cS,ourBestPage:uO.nullable(),winningCompetitor:dO.nullable(),score:d(),scoreBreakdown:mO,drivers:y(o()),demandSource:uS,actionConfidence:dS,existingAction:pO.nullable(),winnabilityClass:j0,winnability:d().min(0).max(1).nullable()});m({targets:y(pS),contextMetrics:m({totalAiReferralSessions:d().int().nonnegative(),latestRunId:o(),runTimestamp:o()})});const hO=m({targetRef:o(),addressedUrl:o().nullable(),note:o().nullable(),dismissedAt:o()});m({dismissals:y(hO)});m({targetRef:o().min(1),addressedUrl:o().url().optional(),note:o().max(500).optional()});m({targetRef:o(),promptVersion:o(),provider:o(),model:o(),responseText:o(),costMillicents:d().int().nonnegative(),generatedAt:o()});m({provider:o().optional(),model:o().optional(),forceRefresh:N().optional()});const fO=m({targetQuery:o().trim().min(1),winnabilityClass:j0,angle:o().trim().min(1),whyWinnable:o().trim().min(1),schemaHookup:o().trim().min(1),controllableSurfaceRationale:o().trim().min(1)});m({targetRef:o(),promptVersion:o(),provider:o(),model:o(),brief:fO,costMillicents:d().int().nonnegative(),generatedAt:o()});const gO=m({domain:o(),competitorType:Id,hits:d().int().nonnegative(),updatedAt:o()});m({classifications:y(gO)});const yO=m({uri:o(),title:o(),domain:o(),isOurDomain:N(),isCompetitor:N(),citationCount:d().int().nonnegative(),providers:y(ht)}),hS=m({query:o(),groundingSources:y(yO)});m({sources:y(hS),latestRunId:o()});const fS=m({query:o(),competitorDomains:y(o()),competitorCount:d().int().nonnegative(),missRate:d().min(0).max(1),lastSeenInRunId:o()});m({gaps:y(fS),latestRunId:o()});const gS=j(["ok","warn","fail","skipped"]);gS.enum;const A0=j(["global","project"]);A0.enum;const yS=j(["auth","config","providers","integrations","database","schedules","agent"]);yS.enum;const bO=m({id:o(),category:yS,scope:A0,title:o(),status:gS,code:o().describe('Stable machine-readable code (e.g. "google.token.refresh-failed"). Use this for filtering and remediation logic.'),summary:o(),remediation:o().nullable().optional().describe('Operator-facing next step. Null when status is "ok" or no specific remediation applies.'),details:$e(o(),Dn()).optional().describe("Structured context — principal email, redirect URI, missing scopes, etc. Stable per check id."),durationMs:d().int().nonnegative().describe("How long the check took to execute.")});m({scope:A0,project:o().nullable().describe('Project name when scope is "project", null otherwise.'),generatedAt:o().describe("ISO-8601 timestamp when this doctor run started."),durationMs:d().int().nonnegative(),summary:m({total:d().int().nonnegative(),ok:d().int().nonnegative(),warn:d().int().nonnegative(),fail:d().int().nonnegative(),skipped:d().int().nonnegative()}),checks:y(bO)});function vO(e){return e.trim().toLowerCase()}const xO=m({provider:o(),citationState:vi,cited:N(),mentioned:N(),runId:o(),runCreatedAt:o()}),wO=m({queryId:o(),query:o(),providers:y(xO),citedCount:d().int().nonnegative(),mentionedCount:d().int().nonnegative(),totalProviders:d().int().nonnegative()}),kO=m({queryId:o(),query:o(),provider:o(),citingCompetitors:y(o()),runId:o(),runCreatedAt:o()}),SO=m({providersConfigured:d().int().nonnegative(),providersCiting:d().int().nonnegative(),providersMentioning:d().int().nonnegative(),totalQueries:d().int().nonnegative(),queriesCitedAndMentioned:d().int().nonnegative(),queriesCitedOnly:d().int().nonnegative(),queriesMentionedOnly:d().int().nonnegative(),queriesInvisible:d().int().nonnegative(),latestRunId:o().nullable(),latestRunAt:o().nullable()});m({summary:SO,byQuery:y(wO),competitorGaps:y(kO),status:j(["ready","no-data"]),reason:j(["no-runs-yet","no-queries"]).optional()});const jO=m({selection:Jk,historyWindow:m({from:o().datetime(),to:o().datetime()}).optional(),populations:y(Xk.pick({queryClass:!0,summary:!0,trend:!0}))}),un={title:"AI visibility",description:"Each answer is counted once for its assigned properties. Branded and non-brand queries are measured separately.",simpleDescription:"Each saved answer is counted once. Branded and non-brand queries are measured separately.",queryType:"Query type",queries:"Queries measured",answers:"Answers measured",mentioned:"Mentioned",cited:"Cited",history:"Measurement history",latestMeasurement:"Latest measurement",allLocations:"All measured locations",noLocation:"No provider location",location:"Location",previousOutsideWindow:"Previous measurement outside this period",date:"Date",comparison:"Comparison",notMeasured:"Not measured",incomplete:"Evidence incomplete",ambiguous:"Property identity unverified",noPopulation:"No measured answers",notApplicable:"Not applicable",comparable:"Comparable",baseline:"Baseline",changed:"Measurement changed",unknownHistory:"Comparison unavailable"};function sZ(e){return{branded:"Branded","non-brand":"Non-brand",unknown:"Unclassified"}[e]}function oZ(e){return e.rate===null?un.notMeasured:`${Number((e.rate*100).toFixed(1))}%`}function rZ(e){if(e.numerator!==null&&e.denominator!==null)return`${e.numerator} of ${e.denominator} answers`;switch(e.reason){case"no-population":return un.noPopulation;case"not-applicable":return un.notApplicable;case"identity-ambiguous":return un.ambiguous;default:return un.incomplete}}function lZ(e,n=!1){const i=e==="first"?un.baseline:e==="comparable"?un.comparable:e==="legacy-unknown"?un.unknownHistory:un.changed;return n?`${i} · ${un.previousOutsideWindow}`:i}function cZ(e){const n=e.selection.measurement.completedAt?.slice(0,10)??un.notMeasured;return`${un.latestMeasurement}: ${n}`}function uZ(e){const n=e.historyWindow;return n===void 0?un.history:`${un.history} (${n.from.slice(0,10)} – ${n.to.slice(0,10)})`}function dZ(e){const n=e.selection.location;return n.kind==="all"?un.allLocations:n.kind==="none"?un.noLocation:`${un.location}: ${n.value}`}const mZ=[7,14,30,90],pZ=30;He([z(7),z(14),z(30),z(90)]).describe("Report window in days (7, 14, 30, or 90). Defaults to 30 when omitted.");const AO=j(["prompt","request-param","browser-geo","ignored"]),CO=m({label:o(),city:o(),region:o(),country:o(),otherConfiguredLabels:y(o())}),NO=m({provider:o(),treatment:AO,description:o()}),_O=m({generatedAt:o(),project:m({id:o(),name:o(),displayName:o(),canonicalDomain:o(),country:o(),language:o()}),location:CO.nullable(),providerLocationHandling:y(NO),periodStart:o().nullable(),periodEnd:o().nullable(),periodDays:d().int().positive()}),TO=m({visibilityBasis:j(["legacy-project-queries","frozen-populations"]).optional(),citationRate:d().nullable(),citedQueryCount:d().nullable(),totalQueryCount:d().nullable(),mentionRate:d().nullable(),mentionedQueryCount:d().nullable(),trend:j(["up","down","flat","unknown"]),queryCount:d(),competitorCount:d(),providerCount:d(),gsc:m({clicks:d(),impressions:d(),ctr:d(),avgPosition:d(),periodStart:o(),periodEnd:o()}).nullable(),ga:m({sessions:d(),users:d(),periodStart:o(),periodEnd:o()}).nullable(),findings:y(m({title:o(),detail:o(),tone:j(["positive","caution","negative","neutral"])}))}),EO=m({citationState:j(["cited","not-cited","pending"]),answerMentioned:N().nullable(),model:o().nullable()}),RO=m({queries:y(o()),providers:y(o()),matrix:y(y(EO.nullable())),providerRates:y(m({provider:o(),citedCount:d(),mentionedCount:d(),totalCount:d(),citationRate:d(),mentionRate:d()}))}),zO=m({domain:o(),citationCount:d(),totalCount:d(),pressureLabel:j(["High","Moderate","Low","None"]),citedQueries:y(o()),sharePct:d(),theirCitedPages:y(m({url:o(),citedFor:y(o())}))}),DO=m({projectCitationCount:d(),competitors:y(zO)}),OO=m({domain:o(),mentionCount:d(),totalCount:d(),pressureLabel:j(["High","Moderate","Low","None"]),mentionedQueries:y(o()),sharePct:d().nullable()}),kh=m({shareOfVoice:oS.optional(),projectMentionCount:d(),totalAnswerSnapshots:d(),competitors:y(OO)}),qO=kh.extend({scope:j(["non-brand","pooled"]),nonBrand:kh,branded:kh}),IO=m({category:o(),label:o(),count:d(),sharePct:d()}),PO=m({categories:y(IO),topDomains:y(m({domain:o(),count:d(),isCompetitor:N()}))}),MO=m({query:o(),clicks:d(),impressions:d(),ctr:d(),avgPosition:d(),category:j(["brand","lead-gen","industry","other"])}),BO=m({periodStart:o(),periodEnd:o(),totalClicks:d(),totalImpressions:d(),ctr:d(),avgPosition:d(),topQueries:y(MO),categoryBreakdown:y(m({category:j(["brand","lead-gen","industry","other"]),clicks:d(),impressions:d(),sharePct:d()})),trend:y(m({date:o(),clicks:d(),impressions:d()})),trackedButNoGsc:y(o()),gscButNotTracked:y(o())}),LO=m({totalSessions:d(),totalUsers:d(),totalOrganicSessions:d(),periodStart:o(),periodEnd:o(),topLandingPages:y(m({page:o(),sessions:d(),users:d().optional(),organicSessions:d()})),channelBreakdown:y(m({channel:o(),sessions:d(),sharePct:d()}))}),VO=m({totalSessions:d(),organicSessions:d(),paidSessions:d(),channels:y(m({channelGroup:o(),sessions:d(),sharePct:d()})),topCampaigns:y(m({source:o(),medium:o(),sessions:d()}))}),$O=m({totalSessions:d(),paidSessions:d(),organicSessions:d(),totalUsers:d().optional(),paidUsers:d().optional(),organicUsers:d().optional(),bySource:y(m({source:o(),sessions:d(),users:d().optional(),paidSessions:d(),organicSessions:d(),sharePct:d()})),trend:y(m({date:o(),sessions:d()})),topLandingPages:y(m({page:o(),sessions:d(),users:d().optional()}))}),UO=m({windowStart:o(),windowEnd:o(),hasData:N(),verifiedCrawlerHits:m({current:d(),prior:d(),deltaPct:d().nullable()}),unverifiedCrawlerHits:m({current:d(),prior:d(),deltaPct:d().nullable()}),aiUserFetchHits:m({current:d(),prior:d(),deltaPct:d().nullable()}),referralArrivals:m({current:d(),prior:d(),deltaPct:d().nullable()}),referralRedirects:d().int().nonnegative(),referralArrivalsByClass:m({paid:m({current:d(),prior:d(),deltaPct:d().nullable()}),organic:m({current:d(),prior:d(),deltaPct:d().nullable()}),unclassified:m({current:d(),prior:d(),deltaPct:d().nullable()})}),referralArrivalsClassSummary:o(),byOperator:y(m({operator:o(),verifiedHits:d(),unverifiedHits:d(),userFetchHits:d(),referralArrivals:d(),deltaPct:d().nullable()})),topCrawledPaths:y(m({path:o(),verifiedHits:d(),unverifiedHits:d().default(0),distinctOperators:d()})),referralProducts:y(m({product:o(),arrivals:d(),distinctLandingPaths:d()})),dailyTrend:y(m({date:o(),verifiedCrawlerHits:d(),unverifiedCrawlerHits:d().default(0),userFetchHits:d(),referralArrivals:d()})),topReferralLandingPaths:y(m({path:o(),arrivals:d(),distinctProducts:d()}))}),GO=m({provider:j(["google","bing"]).nullable(),total:d(),indexed:d(),notIndexed:d(),deindexed:d(),unknown:d(),indexedPct:d()}),KO=m({runId:o(),date:o(),citationRate:d(),citedQueryCount:d(),totalQueryCount:d(),mentionRate:d(),mentionedQueryCount:d(),providerRates:y(m({provider:o(),citationRate:d(),mentionRate:d()}))}),bS=j(["regression","gain","opportunity"]),HO=bS.enum,ef=m({id:o(),type:bS,severity:j(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),recommendation:o().nullable(),createdAt:o(),instanceCount:d()}),QO=m({horizon:j(["immediate","short-term","medium-term"]),title:o(),rationale:o()}),Yo=m({current:d(),prior:d(),deltaAbs:d(),deltaPct:d().nullable(),direction:j(["up","down","flat"]),window:d().optional()}),FO=m({provider:o(),current:d(),prior:d(),deltaAbs:d(),direction:j(["up","down","flat"])}),ZO=m({enoughHistory:N(),headline:o(),citationRate:Yo.nullable(),mentionRate:Yo.nullable(),citedQueryCount:Yo.nullable(),mentionedQueryCount:Yo.nullable(),gscClicksDelta:Yo.nullable(),aiReferralsDelta:Yo.nullable(),comparisonWindowDays:d().int().positive(),providerMovements:y(FO),wins:y(ef),regressions:y(ef)}),YO=j(["agency","client"]),vS=j(["agency","client","both"]),XO=j(["immediate","short-term","medium-term"]),JO=j(["high","medium","low"]);j(["positive","caution","negative","neutral"]);const WO=j(["content","competitors","provider","search-demand","indexing","location","monitoring"]),C0=m({audience:vS,priority:d(),horizon:XO,category:WO,title:o(),action:o(),why:y(o()),evidence:y(o()),successMetric:o(),confidence:JO,targetRef:o().optional()}),eq=m({headline:o(),overview:o(),actionItems:y(C0),confidenceNotes:y(o())}),tq=m({title:o(),detail:o(),severity:j(["positive","caution","negative","neutral"]),evidence:y(o())}),nq=m({priorities:y(C0),diagnostics:y(tq)});function hZ(e){return e.horizon==="immediate"?"negative":e.confidence==="high"?"caution":e.confidence==="low"?"neutral":"caution"}function fZ(e){return e==="High"?"negative":e==="Moderate"?"caution":e==="Low"?"positive":"neutral"}function aq(e){switch(e){case"critical":return"negative";case"high":return"negative";case"medium":return"caution";case"low":return"neutral"}}function gZ(e){return e.type===HO.gain?"positive":aq(e.severity)}function yZ(e){switch(e){case Ku.competitor:return"negative";case Ku.directory:case Ku.forum:return"caution";default:return"neutral"}}function bZ(e){switch(e){case"critical":return"Critical";case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}function iq(e){switch(e){case"immediate":return"Immediate";case"short-term":return"Short term";case"medium-term":return"Medium term"}}function vZ(e){switch(e){case"content":return"Content";case"competitors":return"Competitors";case"provider":return"Provider";case"search-demand":return"Search demand";case"indexing":return"Indexing";case"location":return"Location";case"monitoring":return"Monitoring"}}function sq(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}m({visibility:jO.optional(),meta:_O,executiveSummary:TO,citationScorecard:RO,competitorLandscape:DO,mentionLandscape:qO,aiSourceOrigin:PO,gsc:BO.nullable(),ga:LO.nullable(),socialReferrals:VO.nullable(),aiReferrals:$O.nullable(),serverActivity:UO.nullable(),indexingHealth:GO.nullable(),citationsTrend:y(KO),whatsChanged:ZO,insights:y(ef),recommendedNextSteps:y(QO),actionPlan:y(C0),clientSummary:eq,agencyDiagnostics:nq,contentOpportunities:y(pS),contentGaps:y(fS),groundingSources:y(hS)});const oq=He([z(60),z(90)]),rq=j(["earliest","middle","prior","latest"]),Xo=m({clicks:d().int().nonnegative(),impressions:d().int().nonnegative()}),xS=m({name:rq,startDate:o(),endDate:o()}),lq=xS.extend({totals:Xo}),cq=xS.extend({organicSessions:d().int().nonnegative()}),Sh=m({startDate:o(),endDate:o(),observedDays:d().int().nonnegative()}),Ou=m({verified:d().int().nonnegative(),claimedUnverified:d().int().nonnegative(),unknownAiLike:d().int().nonnegative()}),cx=m({total:d().int().nonnegative(),paid:d().int().nonnegative(),organic:d().int().nonnegative(),unknown:d().int().nonnegative()});m({contractVersion:z("organic-evidence/v1"),periodDays:oq,asOfDate:o().nullable(),coverage:m({gsc:N(),ga4:N(),server:N(),visibility:N()}),sourceCoverage:m({gsc:Sh.nullable(),ga4:Sh.nullable(),server:Sh.nullable(),visibility:m({completedAt:o(),ageDays:d().nonnegative()}).nullable()}),gsc:m({propertyTotals:Xo,namedBrand:Xo,namedNonBrand:Xo,suppressedOrUnreportedResidual:Xo,cohorts:y(lq)}).nullable(),ga4:m({organicSessions:d().int().nonnegative(),cohorts:y(cq)}).nullable(),gaAiReferrals:m({paidSessions:d().int().nonnegative(),organicSessions:d().int().nonnegative()}).nullable(),server:m({crawlerHits:Ou,userFetchHits:Ou,referralSessions:cx}).nullable(),visibility:m({runId:o(),completedAt:o(),ageDays:d().nonnegative(),answerPairs:d().int().nonnegative(),mentionedPairs:d().int().nonnegative(),citedPairs:d().int().nonnegative()}).nullable(),measurement:y8,pages:y(m({path:o(),gsc:Xo,ga4OrganicSessions:d().int().nonnegative(),server:m({crawlerHits:Ou,userFetchHits:Ou,referralSessions:cx})})),findings:y(m({tone:j(["positive","caution","neutral"]),title:o(),detail:o()})),limitations:y(m({code:o(),detail:o()}))});const uq=new Set(["a","an","and","for","from","in","near","of","on","or","the","to"]);function wS(e){return e.toLowerCase().match(/[a-z0-9]+/g)??[]}function kS(e){return e.length>4&&e.endsWith("ies")?`${e.slice(0,-3)}y`:e.length>4&&e.endsWith("s")&&!e.endsWith("ss")?e.slice(0,-1):e}function SS(e){const n=e.meta.location;return n?new Set([n.label,n.city,n.region,n.country].flatMap(wS).map(kS).filter(Boolean)):new Set}function jS(e,n){const i=wS(e).map(kS).filter(Boolean).filter(r=>!uq.has(r)).filter(r=>!n.has(r));return[...new Set(i)].sort().join(" ")}function dq(e){return e.title.match(/"([^"]+)"/)?.[1]??e.successMetric.match(/"([^"]+)"/)?.[1]??e.title}function AS(e,n){const i=SS(e);if(n.length<=1||i.size===0)return[...n];const r=new Set,u=[];for(const h of n){if(h.category!=="content"){u.push(h);continue}const g=jS(dq(h),i);!g||r.has(g)||(r.add(g),u.push(h))}return u}function mq(e){const n=SS(e),i=e.contentOpportunities;if(i.length<=1||n.size===0)return i;const r=new Set;return i.filter(u=>{const h=jS(u.query,n);return!h||r.has(h)?!1:(r.add(h),!0)})}const pq=j(["claude","codex"]);pq.enum;const hq=j(["claude","codex","all"]);hq.enum;const CS=m({content:d().int().nonnegative(),sitemap:d().int().nonnegative(),robots:d().int().nonnegative(),asset:d().int().nonnegative(),other:d().int().nonnegative()}),fq=j(["content","sitemap","robots","asset","other"]),N0=j(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);N0.enum;const gq=j(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);gq.enum;const yq=j(["raw-request","aggregate-bucket"]),bq=yq.enum,vq=j(["observed","provider-aggregated","inferred"]),xq=vq.enum,wq=m({type:o().nullable(),labels:$e(o(),o())}),kq=m({sourceType:N0,evidenceKind:z(bq["raw-request"]),confidence:z(xq.observed),eventId:o().min(1),observedAt:o().min(1),method:o().nullable(),requestUrl:o().nullable(),host:o().nullable(),path:o().min(1),queryString:o().nullable(),status:d().int().nullable(),userAgent:o().nullable(),remoteIp:o().nullable(),referer:o().nullable(),latencyMs:d().nullable(),requestSizeBytes:d().int().nullable(),responseSizeBytes:d().int().nullable(),providerResource:wq,providerLabels:$e(o(),o())});m({events:y(kq),rawEntryCount:d().int().nonnegative(),skippedEntryCount:d().int().nonnegative(),nextPageToken:o().optional(),filter:o()});const NS=j(["connected","paused","error","archived"]),xZ=NS.enum,_S=j(["oauth","service-account"]);_S.enum;const Sq=j(["verified","claimed_unverified","unknown_ai_like"]),wZ=Sq.enum,jq=m({id:o().min(1),source:o().min(1),version:o().min(1)}),TS=m({manifestId:o().min(1),manifest:jq.nullable(),hits:d().int().nonnegative()});m({gcpProjectId:o().min(1),serviceName:o().nullable().optional(),location:o().nullable().optional(),authMode:_S});m({baseUrl:o().url(),username:o().min(1)});const _0=j(["production","preview"]);_0.enum;m({projectId:o().min(1),teamId:o().min(1),environment:_0});const ES=m({id:o(),projectId:o(),sourceType:N0,displayName:o(),status:NS,lastSyncedAt:o().nullable(),lastCursor:o().nullable(),lastError:o().nullable(),skippedThroughAt:o().nullable(),queueBacklogCount:d().int().nonnegative().nullable(),queueBacklogObservedAt:o().nullable(),archivedAt:o().nullable(),config:$e(o(),Dn()),createdAt:o(),updatedAt:o()});m({gcpProjectId:o().min(1),serviceName:o().min(1).optional(),location:o().min(1).optional(),displayName:o().min(1).optional(),keyJson:o().optional()});m({baseUrl:o().url(),username:o().min(1),applicationPassword:o().min(1),displayName:o().min(1).optional()});m({projectId:o().min(1),teamId:o().min(1),token:o().min(1),environment:_0.optional(),displayName:o().min(1).optional()});const Aq=j(["direct-push","queue-pull"]),wr=Aq.enum,T0=o().regex(/^(?=.{1,63}$)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,"Cloudflare Queue name must be 1-63 characters, use only letters, numbers, or dashes, and start and end with a letter or number"),RS=m({schemaVersion:z(1),workerVersion:o().min(1),expectedBotListVersion:o().min(1),zoneId:o().nullable()}),Cq=RS.extend({deliveryMode:z(wr["direct-push"]),accountId:o().nullable()}),Nq=RS.extend({deliveryMode:z(wr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:T0,retentionSeconds:d().int().min(60).max(1209600)});function zS(e){if(typeof e!="object"||e===null||Array.isArray(e))return e;const n=e;return"deliveryMode"in n?e:{...n,deliveryMode:"direct-push"}}Rf(zS,Oe("deliveryMode",[Cq,Nq]));const DS=m({displayName:o().min(1).optional(),zoneId:o().min(1).optional()}),_q=DS.extend({deliveryMode:z(wr["direct-push"]),accountId:o().min(1).optional()}),Tq=DS.extend({deliveryMode:z(wr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:T0,retentionSeconds:d().int().min(60).max(1209600),apiToken:o().min(1)});Rf(zS,Oe("deliveryMode",[_q,Tq]));const OS=m({sourceId:o().min(1),workerScript:o().min(1),wranglerToml:o().min(1),workerVersion:o().min(1),instructions:o().min(1)}),Eq=OS.extend({deliveryMode:z(wr["direct-push"]),activationRequired:N().default(!1)}),Rq=OS.extend({deliveryMode:z(wr["queue-pull"]),activationRequired:N().default(!1),accountId:o().min(1),queueId:o().min(1),queueName:T0,retentionSeconds:d().int().min(60).max(1209600)});Oe("deliveryMode",[Eq,Rq]);const zq=m({eventId:o().min(1),observedAt:o().datetime(),method:o().nullable(),host:o().nullable(),path:o().min(1),queryString:o().nullable(),status:d().int().nullable(),userAgent:o().nullable(),remoteIp:o().nullable(),referer:o().nullable(),cf:m({verifiedBot:N().nullable(),botScore:d().int().nullable(),country:o().nullable(),asn:d().int().nullable(),asOrganization:o().nullable()}).nullable()});m({schemaVersion:z(1),workerVersion:o().min(1),events:y(zq).min(1).max(100)});m({acceptedEvents:d().int(),droppedEvents:d().int(),workerVersionAck:o(),crawlerBucketRows:d().int(),aiUserFetchBucketRows:d().int(),aiReferralBucketRows:d().int(),sampleRows:d().int()});m({sourceId:o(),runId:o(),syncedAt:o(),pulledEvents:d().int().nonnegative(),selfTrafficExcluded:d().int().nonnegative(),crawlerHits:d().int().nonnegative(),aiUserFetchHits:d().int().nonnegative(),aiReferralHits:d().int().nonnegative(),unknownHits:d().int().nonnegative(),crawlerBucketRows:d().int().nonnegative(),aiUserFetchBucketRows:d().int().nonnegative(),aiReferralBucketRows:d().int().nonnegative(),sampleRows:d().int().nonnegative(),remainingBacklogCount:d().int().nonnegative().optional(),windowStart:o(),windowEnd:o()});m({days:d().int().positive().optional()});m({advanceToNow:z(!0)});m({sourceId:o(),runId:o(),status:ma,windowStart:o(),windowEnd:o(),daysRequested:d().int().positive(),daysApplied:d().int().positive()});const Dq=m({crawlerHits:d().int().nonnegative(),crawlerContentHits:d().int().nonnegative(),crawlerInfraHits:d().int().nonnegative(),crawlerSegments:CS,aiUserFetchHits:d().int().nonnegative(),aiReferralHits:d().int().nonnegative(),aiReferralLandedHits:d().int().nonnegative(),aiReferralRedirectedHits:d().int().nonnegative(),sampleCount:d().int().nonnegative()});m({sources:y(ES)});const Oq=ES.extend({totals24h:Dq,latestRun:m({runId:o(),status:ma,startedAt:o().nullable(),finishedAt:o().nullable(),error:o().nullable()}).nullable()});m({sources:y(Oq)});const qq=j(["crawler","ai-user-fetch","ai-referral"]),E0=qq.enum,qS=j(["hour","day"]);qS.enum;const Iq=m({bucket:o(),crawlerHits:d().int().nonnegative(),aiUserFetchHits:d().int().nonnegative(),aiReferralHits:d().int().nonnegative(),aiReferralLandedHits:d().int().nonnegative(),crawlerContentHits:d().int().nonnegative(),measured:N()}),Pq=m({kind:z(E0.crawler),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(TS).optional(),verificationUnattributedHits:d().int().nonnegative().optional(),pathNormalized:o(),pathClass:fq,status:d().int(),hits:d().int().nonnegative()}),Mq=m({kind:z(E0["ai-user-fetch"]),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(TS).optional(),verificationUnattributedHits:d().int().nonnegative().optional(),pathNormalized:o(),status:d().int(),hits:d().int().nonnegative()}),Bq=m({kind:z(E0["ai-referral"]),sourceId:o(),tsHour:o(),product:o(),operator:o(),sourceDomain:o(),evidenceType:o(),landingPathNormalized:o(),status:d().int(),hits:d().int().nonnegative(),paidHits:d().int().nonnegative(),organicHits:d().int().nonnegative(),unknownHits:d().int().nonnegative()}),Lq=Oe("kind",[Pq,Mq,Bq]);m({windowStart:o(),windowEnd:o(),series:m({granularity:qS,points:y(Iq),coverageStart:o().nullable(),trends:m({crawlerContentHits:Xs.nullable(),aiUserFetchHits:Xs.nullable(),aiReferralLandedHits:Xs.nullable()})}),totals:m({crawlerHits:d().int().nonnegative(),crawlerContentHits:d().int().nonnegative(),crawlerInfraHits:d().int().nonnegative(),crawlerSegments:CS,aiUserFetchHits:d().int().nonnegative(),aiReferralHits:d().int().nonnegative(),aiReferralLandedHits:d().int().nonnegative(),aiReferralRedirectedHits:d().int().nonnegative(),aiReferralPaidHits:d().int().nonnegative(),aiReferralOrganicHits:d().int().nonnegative(),aiReferralUnknownHits:d().int().nonnegative()}),eventRows:m({total:d().int().nonnegative(),returned:d().int().nonnegative(),truncated:N()}),events:y(Lq)});const R0=j(["admin","viewer"]),Vq=/^[a-z\d][\w.-]{0,63}$/i,$q=o().regex(Vq,"A name may use letters, digits, dots, dashes and underscores, and must start with a letter or digit."),ux=12,Uq=o().min(ux,`A password must be at least ${ux} characters.`),IS=m({id:o(),name:o(),role:R0,createdAt:o(),lastLoginAt:o().nullable()});m({users:y(IS)});m({name:$q,password:Uq,role:R0});m({name:o().min(1),password:o().min(1)});m({authRequired:N(),user:IS.pick({name:!0,role:!0}).nullable()});const PS=j(["queued","running","completed","partial","failed"]),kZ=PS.enum,MS=j(["queued","running","completed","failed"]),SZ=MS.enum,Gq=20,Kq=20,tf=50,BS=m({kind:j(["market","property"]),key:me,expectedPlanRevision:d().int().positive().optional()}).strict(),Hq=m({kind:j(["market","property"]),key:me,label:o().trim().min(1),planRevision:d().int().positive()}).strict(),LS=o().min(1).max(4e3).refine(e=>e.trim().length>0,"Research queries cannot be blank.");function jZ(e){const n=new Set;return e.filter(i=>{const r=vO(i);return!r||n.has(r)?!1:(n.add(r),!0)})}function Qq(e,n){const i=e?e.kind==="market"?{market:e.label,submarket:e.label}:{property:e.label,propertyBrand:e.label}:{};return n?{...i,location:n.label}:i}function AZ(e,n,i){const r=new Set(e.variables),u=[...e.pattern.matchAll(/\{([^{}]+)\}/g)].map(w=>w[1]),h=[...new Set(u.filter(w=>!r.has(w)))];if(h.length)throw sv("The selected research template contains undeclared placeholders: "+h.join(", "));const g=Qq(n,i),b=e.variables.filter(w=>g[w]===void 0);if(b.length)throw sv("The selected research template requires unavailable bindings: "+b.join(", "));const v=Object.fromEntries(e.variables.map(w=>[w,g[w]]));return{bindings:v,output:OT(e.pattern,v)}}const VS=m({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),bindingLocation:Xt.nullable().optional()}).strict();m({queries:y(LS).min(1).max(50),provider:o().trim().min(1).optional(),model:o().trim().min(1).max(200).optional(),location:Xt.nullable().optional(),scope:BS.optional(),template:VS.optional(),idempotencyKey:o().trim().min(1).max(128).optional()}).superRefine((e,n)=>{e.model&&!e.provider&&n.addIssue({code:be.custom,path:["provider"],message:"provider is required when model is supplied"})});const Fq=BS.extend({expectedPlanRevision:d().int().positive()}).strict(),Zq=m({queries:y(LS).min(1).max(tf),provider:o().trim().min(1),model:o().trim().min(1).max(200),location:Xt.nullable(),scope:Fq.optional(),template:VS.optional()}).strict();m({idempotencyKey:o().trim().min(1).max(128),runs:y(Zq).min(1).max(Kq)}).strict().superRefine((e,n)=>{e.runs.reduce((r,u)=>r+u.queries.length,0)>tf&&n.addIssue({code:be.custom,path:["runs"],message:`A research batch may contain at most ${tf} concrete queries across all destinations`})});const Yq=m({kind:j(["api-key","user"]),id:o(),name:o(),role:R0.nullable(),limited:N().optional()}),$S=m({id:o(),projectId:o(),status:PS,provider:o(),requestedModel:o().nullable(),resolvedModel:o(),location:Xt.nullable(),scope:Hq.nullable().optional(),template:t2.nullable().optional(),totalQueries:d().int(),completedQueries:d().int(),failedQueries:d().int(),error:o().nullable(),initiatedBy:Yq.nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),Xq=m({id:o(),position:d().int(),query:o(),queryClass:hr.nullable().optional(),status:MS,requestedModel:o().nullable(),resolvedModel:o(),servedModel:o().nullable(),answerText:o().nullable(),groundingSources:y(zd),citedDomains:y(o()),searchQueries:y(o()),namedCompetitors:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),answerMentioned:N().nullable(),citationState:vi.nullable(),error:o().nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),Jq=$S.extend({queries:y(Xq)});m({runs:y(Jq)});const Wq=m({name:o(),displayName:o(),modelConfigurable:N(),defaultModel:o(),knownModels:y(m({id:o(),displayName:o()}))});m({runs:y($S),nextCursor:o().nullable().optional(),providers:y(Wq).optional(),access:m({canRun:N(),dailyRunLimit:d().int().positive().nullable()}).optional()});m({apiKey:o().min(1)});m({id:o(),name:o(),status:o(),currencyCode:o().nullable(),timezone:o().nullable(),url:o().nullable(),reviewStatus:o().nullable(),integrityReviewStatus:o().nullable(),integrityDecision:o().nullable()});m({q:o().trim().min(1).max(200),limit:d().int().min(1).max(100).default(20)});const eI=m({id:o(),type:o(),canonicalName:o(),countryCode:o(),name:o(),regionCode:o().nullable()});m({count:d().int().nonnegative(),query:o(),results:y(eI)});const tI=m({id:o(),clientType:o().optional(),name:o().optional(),pixelId:o().optional()});m({pixels:y(tI)});const nI=m({id:o(),name:o().optional()}),aI=m({id:o(),name:o().optional(),eventType:o().optional(),customEventName:o().nullable().optional(),attributionWindowDays:d().int().positive().optional(),adAccountId:o().optional(),sourceIds:y(o()).optional(),sources:y(nI).optional(),archived:N().optional(),version:d().int().nonnegative().optional()});m({eventSettings:y(aI)});m({connected:N(),adAccountId:o().nullable().optional(),displayName:o().nullable().optional(),currencyCode:o().nullable().optional(),timezone:o().nullable().optional(),status:o().nullable().optional(),reviewStatus:o().nullable().optional(),integrityReviewStatus:o().nullable().optional(),integrityDecision:o().nullable().optional(),lastSyncedAt:o().nullable().optional(),conversionTrackingConfigured:N().optional()});m({disconnected:N()});m({runId:o(),status:o()});const iI=m({type:o().nullable().optional(),title:o().nullable().optional(),body:o().nullable().optional(),targetUrl:o().nullable().optional(),fileId:o().nullable().optional()}),ic=j(["impressions","clicks"]);ic.enum;const sc=j(["impression","click"]);sc.enum;const sI=m({id:o(),adGroupId:o(),name:o(),status:o(),reviewStatus:o().nullable().optional(),creative:iI.nullable().optional(),upstreamUpdatedAt:d().int().nullable().optional(),syncedAt:o().optional()}),oI=m({id:o(),campaignId:o(),name:o(),description:o().nullable().optional(),status:o(),billingEventType:He([sc,ue()]).optional(),maxBidMicros:d().int().nullable().optional(),contextHints:y(o()).default([]),ads:y(sI).default([]),upstreamUpdatedAt:d().int().nullable().optional(),syncedAt:o().optional()}),rI=m({id:o(),name:o(),description:o().nullable().optional(),status:o(),startTime:d().int().nullable().optional(),endTime:d().int().nullable().optional(),biddingType:He([ic,ue()]).optional(),dailySpendLimitMicros:d().int().nullable().optional(),lifetimeSpendLimitMicros:d().int().nullable().optional(),conversionEventSettingIds:y(o()).default([]),locationIds:y(o()).optional(),adGroups:y(oI).default([]),upstreamUpdatedAt:d().int().nullable().optional(),syncedAt:o().optional()});m({campaigns:y(rI)});const US=j(["campaign","ad_group"]);US.enum;const lI=m({level:US,entityId:o(),date:o(),impressions:d().int(),clicks:d().int(),spendMicros:d().int(),conversions:d().int(),ctr:d().nullable(),cpcMicros:d().int().nullable(),inProgress:N()});m({rows:y(lI),currencyCode:o().nullable().optional()});const GS=m({from:o().nullable(),to:o().nullable(),inProgressDate:o().nullable()}),KS=m({impressions:d().int(),clicks:d().int(),spendMicros:d().int(),conversions:d().int(),ctr:d().nullable(),cpcMicros:d().int().nullable()});m({connected:N(),displayName:o().nullable().optional(),currencyCode:o().nullable().optional(),lastSyncedAt:o().nullable().optional(),campaignCount:d().int(),adGroupCount:d().int(),adCount:d().int(),window:GS,totals:KS});const HS=j(["unavailable","partial","complete"]);HS.enum;const QS=j(["no_ads_connection","connection_not_synced","no_ads_sync","entity_rows_missing_sync_run_id","entity_rows_span_multiple_sync_runs","source_sync_missing","source_sync_not_ads_sync","source_sync_not_completed"]);QS.enum;const FS=j(["unavailable","reported"]);FS.enum;const cI={storedSnapshot:"stored_ads_snapshot"},ZS=j(["unavailable","partial_snapshot","metrics_unavailable","observed_activity","no_observed_activity"]);ZS.enum;const uI=m({id:o(),name:o(),status:o(),reviewStatus:o().nullable()}),dI=m({id:o(),name:o(),status:o(),billingEventType:He([sc,ue()]),maxBidMicros:d().int().nullable(),contextHints:y(o()),ads:y(uI)}),mI=m({id:o(),name:o(),status:o(),biddingType:He([ic,ue()]),dailySpendLimitMicros:d().int().nullable(),lifetimeSpendLimitMicros:d().int().nullable(),conversionEventSettingIds:y(o()),adGroups:y(dI)});m({snapshot:m({status:HS,issue:He([QS,ue()]),lastSyncedAt:o().nullable(),campaignCount:d().int().nonnegative(),adGroupCount:d().int().nonnegative(),adCount:d().int().nonnegative(),sourceSync:m({runId:o(),status:ma}).nullable()}),historicalCampaignRollups:m({status:FS,window:GS,totals:KS.nullable()}),storedConfiguration:m({basis:z(cI.storedSnapshot),connection:m({status:o().nullable(),reviewStatus:o().nullable(),integrityReviewStatus:o().nullable(),integrityDecision:o().nullable(),conversionTrackingConfigured:N()}).nullable(),campaigns:y(mI)}),assessment:m({state:ZS})});const Ga=o().min(8).max(128).regex(/^[\w.:-]+$/,"operationKey may contain letters, numbers, dot, underscore, colon, and hyphen"),_t=o().min(1).max(200),io=o().min(3).max(1e3).refine(e=>e.trim().length>0),lr=d().int().min(946684800).max(4102444800),cr=d().int().positive().max(Number.MAX_SAFE_INTEGER),z0=o().regex(/^[a-f0-9]{64}$/),YS=y(_t).max(100).refine(e=>new Set(e).size===e.length,"conversionEventSettingIds must be unique"),XS=o().url().refine(e=>new URL(e).protocol==="https:",{message:"URL must use https"}),JS=j(["image_upload","campaign_create","campaign_update","campaign_pause","campaign_archive","campaign_tree_activate","ad_group_create","ad_group_update","ad_group_pause","ad_group_archive","ad_create","ad_update","ad_pause","ad_archive"]);JS.enum;const WS=j(["pending","reconciling","succeeded","failed","unknown"]),nr=WS.enum,e3=j(["known_entity","create_fingerprint","manual_only"]);e3.enum;const t3=j([nr.pending,nr.unknown,nr.reconciling]);t3.enum;const n3=j(["active","paused","archived"]);n3.enum;const a3=j(["file","campaign","ad_group","ad"]);a3.enum;const i3=j(["campaign","ad_group","ad"]);i3.enum;const D0=m({id:_t,expectedUpdatedAt:d().int().nonnegative()}).strict(),pI=D0,od=1e3;function hI(e){return 1+e.campaign.adGroups.reduce((n,i)=>n+1+i.ads.length,0)}const fI=D0.extend({ads:y(pI).min(1).max(od-1)}).strict(),gI=D0.extend({adGroups:y(fI).min(1).max(od-1)}).strict();function yI(e,n){return e<n?-1:e>n?1:0}function dx(e,n,i){for(let r=1;r<e.length;r+=1)if(yI(e[r-1].id,e[r].id)>=0){i.addIssue({code:"custom",path:n,message:"Activation manifest entities must be uniquely sorted by id"});return}}const s3=m({campaign:gI}).strict().superRefine((e,n)=>{hI(e)>od&&n.addIssue({code:"custom",path:["campaign"],message:`Activation manifests may contain at most ${od} entities`}),dx(e.campaign.adGroups,["campaign","adGroups"],n);const r=new Set;for(let u=0;u<e.campaign.adGroups.length;u+=1){const h=e.campaign.adGroups[u];dx(h.ads,["campaign","adGroups",u,"ads"],n);for(let g=0;g<h.ads.length;g+=1){const b=h.ads[g];r.has(b.id)&&n.addIssue({code:"custom",path:["campaign","adGroups",u,"ads",g,"id"],message:"An ad may appear only once in an activation manifest"}),r.add(b.id)}}}),o3=z0,bI=j(["approved","executing","consumed","revoked","expired","unknown"]),yi=bI.enum,vI=j(["pending","executing","active","failed","rollback_executing","rolled_back","rollback_failed","unknown"]),hs=vI.enum,xI=m({name:io.optional(),description:o().max(4e3).nullable().optional(),status:n3.optional(),startTime:lr.nullable().optional(),endTime:lr.nullable().optional(),lifetimeSpendLimitMicros:cr.min(1e6).optional(),locationIds:y(_t).max(100).optional(),biddingType:ic.optional(),conversionEventSettingIds:YS.optional(),campaignId:_t.optional(),contextHints:y(o().min(1).max(1e3)).max(100).optional(),maxBidMicros:cr.max(1e8).optional(),billingEventType:sc.optional(),adGroupId:_t.optional(),creativeFingerprint:z0.optional()}).strict();m({operationKey:Ga,imageUrl:XS});m({operationKey:Ga,name:io,description:o().max(4e3).optional(),startTime:lr.optional(),endTime:lr.optional(),lifetimeSpendLimitMicros:cr.min(1e6),locationIds:y(_t).min(1).max(100),biddingType:ic.optional(),conversionEventSettingIds:YS.optional()}).superRefine((e,n)=>{e.startTime!==void 0&&e.endTime!==void 0&&e.endTime<=e.startTime&&n.addIssue({code:"custom",path:["endTime"],message:"endTime must be after startTime"})});m({operationKey:Ga,campaignId:_t,name:io,description:o().max(4e3).optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100),maxBidMicros:cr.max(1e8),billingEventType:sc.optional()});const r3=m({title:o().min(3).max(50),body:o().min(1).max(100),targetUrl:XS,fileId:_t});m({operationKey:Ga,adGroupId:_t,name:io,creative:r3});function O0(e){return Object.keys(e).some(n=>n!=="operationKey"&&n!=="expectedUpdatedAt")}m({operationKey:Ga,expectedUpdatedAt:d().int().nonnegative(),name:io.optional(),description:o().max(4e3).nullable().optional(),startTime:lr.nullable().optional(),endTime:lr.nullable().optional(),lifetimeSpendLimitMicros:cr.min(1e6).optional(),locationIds:y(_t).min(1).max(100).optional()}).refine(O0,{message:"At least one campaign field must be updated"});m({operationKey:Ga,expectedUpdatedAt:d().int().nonnegative(),name:io.optional(),description:o().max(4e3).nullable().optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100).optional(),maxBidMicros:cr.max(1e8).optional()}).refine(O0,{message:"At least one ad group field must be updated"});m({operationKey:Ga,expectedUpdatedAt:d().int().nonnegative(),name:io.optional(),creative:r3.optional()}).refine(O0,{message:"At least one ad field must be updated"});m({operationKey:Ga});m({operationKey:Ga,expectedUpdatedAt:d().int().nonnegative()});const Ld=m({id:o(),adAccountId:o().nullable(),operationKey:o(),kind:JS,state:WS,entityType:He([a3,ue()]),entityId:o().nullable(),upstreamUpdatedAt:d().int().nullable(),errorCode:o().nullable(),errorMessage:o().nullable(),reconcileStrategy:He([e3,ue()]),reconcileParentId:_t.nullable(),reconcileFingerprint:z0.nullable(),reconcileFields:xI.nullable(),reconcileAttempts:d().int().nonnegative(),lastReconciledAt:o().nullable(),createdAt:o(),updatedAt:o()});m({operation:Ld,replayed:N()});const xt=tk({offset:!0}),kr={id:_t,projectId:_t,adAccountId:_t,manifestHash:o3,manifest:s3,executorApiKeyId:_t,approverApiKeyId:_t,expiresAt:xt,approvedAt:xt,createdAt:xt,updatedAt:xt,revocationRequestedAt:xt.nullable()},wI=m({...kr,state:z(yi.approved),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),kI=m({...kr,state:z(yi.executing),operationId:_t,executionStartedAt:xt,consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),SI=m({...kr,state:z(yi.consumed),operationId:_t,executionStartedAt:xt,consumedAt:xt,revokedAt:ue(),expiredAt:ue()}).strict(),jI=m({...kr,state:z(yi.revoked),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:xt,expiredAt:ue()}).strict(),AI=m({...kr,state:z(yi.expired),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:ue(),expiredAt:xt}).strict(),CI=m({...kr,state:z(yi.unknown),operationId:_t,executionStartedAt:xt,consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),l3=Oe("state",[wI,kI,SI,jI,AI,CI]).superRefine((e,n)=>{e.executorApiKeyId===e.approverApiKeyId&&n.addIssue({code:"custom",path:["executorApiKeyId"],message:"The activation executor must use a different API key from the approver"}),e.revocationRequestedAt!==null&&e.state!==yi.executing&&e.state!==yi.unknown&&e.state!==yi.consumed&&n.addIssue({code:"custom",path:["revocationRequestedAt"],message:"Only an executing, cancelled, or unresolved activation can carry a cancellation request"})}),fs={id:_t,operationId:_t,ordinal:d().int().nonnegative(),entityType:i3,entityId:_t,expectedUpdatedAt:d().int().nonnegative(),createdAt:xt,updatedAt:xt},oc={errorCode:ue(),errorMessage:ue()},q0={errorCode:o().min(1).max(100),errorMessage:o().min(1).max(500),remediation:o().min(1).max(500)},NI=m({...fs,...oc,state:z(hs.pending),providerUpdatedAt:ue(),remediation:ue(),startedAt:ue(),finishedAt:ue()}).strict(),_I=m({...fs,...oc,state:z(hs.executing),providerUpdatedAt:ue(),remediation:ue(),startedAt:xt,finishedAt:ue()}).strict(),TI=m({...fs,...oc,state:z(hs.active),providerUpdatedAt:d().int().nonnegative(),remediation:ue(),startedAt:xt,finishedAt:xt}).strict(),EI=m({...fs,...q0,state:z(hs.failed),providerUpdatedAt:He([d().int().nonnegative(),ue()]),startedAt:xt,finishedAt:xt}).strict(),RI=m({...fs,...oc,state:z(hs.rollback_executing),providerUpdatedAt:d().int().nonnegative(),remediation:o().min(1).max(500),startedAt:xt,finishedAt:ue()}).strict(),zI=m({...fs,...oc,state:z(hs.rolled_back),providerUpdatedAt:d().int().nonnegative(),remediation:o().min(1).max(500),startedAt:xt,finishedAt:xt}).strict(),DI=m({...fs,...q0,state:z(hs.rollback_failed),providerUpdatedAt:d().int().nonnegative(),startedAt:xt,finishedAt:xt}).strict(),OI=m({...fs,...q0,state:z(hs.unknown),providerUpdatedAt:He([d().int().nonnegative(),ue()]),startedAt:xt,finishedAt:xt}).strict(),qI=Oe("state",[NI,_I,TI,EI,RI,zI,DI,OI]),nf={exact:"exact",refreshSemanticallyUnchanged:"refresh_semantically_unchanged"},II=j([nf.exact,nf.refreshSemanticallyUnchanged]);m({manifest:s3,executorApiKeyId:_t,expiresAt:xt,versionPolicy:II.default(nf.exact)}).strict();m({grant:l3}).strict();m({}).strict();m({operationKey:Ga,grantId:_t,manifestHash:o3}).strict();m({grant:l3,operation:Ld,steps:y(qI)}).strict();const PI=[nr.pending,nr.unknown,nr.reconciling];function MI(e){if(e===void 0||e==="")return PI;if(Array.isArray(e)){const n=[];for(const i of e)typeof i=="string"?n.push(...i.split(",")):n.push(i);return n}return typeof e=="string"?e.split(",").filter(Boolean):e}m({state:Rf(MI,y(t3).min(1).max(3).refine(e=>new Set(e).size===e.length,"state values must be unique")),limit:zf().int().min(1).max(200).default(100),cursor:o().min(1).max(1e3).optional()});m({operations:y(Ld),count:d().int().nonnegative(),nextCursor:o().nullable()});m({}).strict();m({operation:Ld,resolved:N()});m({campaignId:o().min(1).max(200).optional(),lookbackDays:zf().int().min(1).max(30).default(7)});const c3=j(["campaign","ad_group","ad"]);c3.enum;const u3=j(["both","live-only","stored-only"]);u3.enum;const BI=z("live-provider-read"),LI=m({date:o().nullable(),startTime:d().nullable(),endTime:d().nullable(),impressions:d().nullable(),clicks:d().nullable(),spend:d().nullable(),conversions:d().nullable(),ctr:d().nullable(),cpc:d().nullable(),cpm:d().nullable()}),mx=m({impressions:d().int(),clicks:d().int(),spendMicros:d().int(),conversions:d().int()}),VI=m({date:o(),live:mx.nullable(),stored:mx.nullable(),drifted:N()}),$I=m({field:o(),live:o().nullable(),stored:o().nullable()}),UI=m({name:o().nullable(),status:o(),reviewStatus:o().nullable(),mode:o().nullable(),updatedAt:d().nullable()}),GI=m({name:o(),status:o(),reviewStatus:o().nullable(),upstreamUpdatedAt:d().nullable(),syncedAt:o()}),KI=m({entityType:c3,id:o(),parentId:o().nullable(),presence:u3,live:UI.nullable(),stored:GI.nullable(),fieldDeltas:y($I),liveMetrics:y(LI).nullable(),metricDeltas:y(VI).nullable(),drifted:N()}),HI=m({surface:o(),entityId:o().nullable(),upstreamStatus:d().int().nullable()});m({basis:BI,fetchedAt:o(),adAccountId:o(),storedSnapshotSyncedAt:o().nullable(),metricsWindow:m({lookbackDays:d().int().positive()}),bounds:m({maxCampaigns:d().int().positive(),maxAdGroupsPerCampaign:d().int().positive(),maxAdsPerAdGroup:d().int().positive(),maxReaderCalls:d().int().positive(),readerCalls:d().int().nonnegative(),maxPagesPerReaderCall:d().int().positive(),maxUpstreamHttpRequests:d().int().positive(),truncated:N()}),entities:y(KI),drift:m({entitiesCompared:d().int().nonnegative(),driftedEntities:d().int().nonnegative(),statusDrifted:d().int().nonnegative(),metricsDrifted:d().int().nonnegative()}),errors:y(HI)});const QI=m({status:j(["available","unavailable","not-supported"])}),px="*",FI=j(["enabled","configured_disabled","CANONRY_TELEMETRY_DISABLED","DO_NOT_TRACK","CI","NO_CONFIG","CONFIG_UNAVAILABLE"]),ZI=j(["server","local"]);m({enabled:N(),configuredEnabled:N(),reason:FI,anonymousId:o().regex(/^[0-9a-f]{8}\.\.\.$/i).optional(),target:ZI.optional()}).strict();const it=1,jh=j(["system","project","queries","competitors","run","finish"]),YI=j(["copy_agent_command","connect_server_traffic","connect_search_console","connect_analytics","connect_business_profile","set_schedule","add_notification","open_project","review_page_health"]),Ah=j(["0","1","2-3","4-5","6-10","11+"]);function Va(e){return!Number.isFinite(e)||e<=0?"0":e<2?"1":e<4?"2-3":e<6?"4-5":e<11?"6-10":"11+"}const hx=j(["api_unavailable","database_unavailable","worker_unavailable","no_provider","no_queries","provider_save_failed","project_create_failed","query_save_failed","run_rejected","run_failed","run_cancelled","rate_limited","provider_auth","network","unknown"]),XI=j(["wizard","platform","site_health"]),qu=m({eventId:o().uuid(),flowVersion:z(it),onboardingSessionId:o().uuid(),surface:XI.optional()});Oe("event",[qu.extend({event:z("onboarding.started"),step:jh,resumed:N()}).strict(),qu.extend({event:z("onboarding.step_completed"),step:jh,method:j(["existing","inline","manual","generated","skipped","automatic"]),countBucket:Ah.optional(),nextAction:YI.optional()}).strict(),qu.extend({event:z("onboarding.blocked"),step:jh,action:j(["continue","configure_provider","generate_queries","save","launch_run","retry_run"]),reasonCode:hx}).strict(),qu.extend({event:z("run.requested"),origin:z("dashboard_setup"),result:j(["queued","rejected"]),kind:j(["answer_visibility","site_health"]).optional(),providerCountBucket:Ah,queryCountBucket:Ah,reasonCode:hx.optional()}).strict()]);m({accepted:N()});j(["cli","mcp-stdio","mcp-http","aero","api","dashboard"]);const d3=4;function JI(e){return e.length<d3}const rc=YO.enum.client,WI=vS.enum.both,eP=Kk.enum.advanced;function ca(e,n,i=`${n}s`){return e===1?n:i}const tP=j(["client-summary","executive-summary","share-of-voice","whats-changed","client-action-plan","agency-action-plan","agency-diagnostics","citation-scorecard","competitor-landscape","ai-source-origin","gsc","ga","social-referrals","ai-referrals","server-activity","indexing-health","citations-trend","insights","content-opportunities","content-gaps","recommended-next-steps","client-evidence-summary"]),vt=tP.enum;function CZ(e,n){const i=e.visibility,r=i?.selection.mode===eP;return(n===rc?[vt["client-summary"],r?null:vt["share-of-voice"],i?null:vt["whats-changed"],e.serverActivity?vt["server-activity"]:null,vt["client-action-plan"],vt["client-evidence-summary"]]:[i?vt["client-summary"]:vt["executive-summary"],r?null:vt["share-of-voice"],i?null:vt["whats-changed"],vt["agency-action-plan"],r?null:vt["agency-diagnostics"],r?null:vt["citation-scorecard"],r?null:vt["competitor-landscape"],vt["ai-source-origin"],vt.gsc,vt.ga,vt["social-referrals"],vt["ai-referrals"],vt["server-activity"],vt["indexing-health"],r?null:vt["citations-trend"],vt.insights,mq(e).length>0?vt["content-opportunities"]:null,e.contentGaps.length>0?vt["content-gaps"]:null,vt["recommended-next-steps"]]).filter(h=>h!==null)}const nP={gemini:"Gemini",openai:"ChatGPT",claude:"Claude",perplexity:"Perplexity",local:"Local model","cdp:chatgpt":"ChatGPT (browser)"};function aP(e){return nP[e]??e.charAt(0).toUpperCase()+e.slice(1)}function iP(e){switch(e){case"immediate":return"Do now";case"short-term":return"This month";case"medium-term":return"Next quarter"}}function sP(e){switch(e){case"high":return"Strong evidence";case"medium":return"Some evidence";case"low":return"Worth trying"}}function m3(e){if(!e)return"";const n=[e.city,e.region,e.country].filter(Boolean).join(", ");return n?`${e.label} (${n})`:e.label}const af={eyebrow:"AI Visibility Report",market:"Market",noMarket:"No market set",generated:"Generated"};function NZ(e){return e?`${af.market}: ${m3(e)}`:af.noMarket}function _Z(e){return`Last ${e} days`}function fx(e,n=3){const i=e.slice(0,n),r=e.length-i.length;return`${i.join(", ")}${r>0?`, +${r} more`:""}`}function TZ(e,n){return`${e.slice(0,n).join(", ")}${e.length>n?"…":""}`}function EZ(e){return`+${e} more`}function RZ(e){return`× ${e}`}function zZ(e){return`${e} bar chart`}function DZ(e){return`${e} line chart`}function p3(e){return e==="up"?"↑":e==="down"?"↓":"→"}function OZ(e){return e==="up"?"positive":e==="down"?"negative":"neutral"}function qZ(e,n){return n==="%"?`${e.deltaAbs>0?"+":""}${e.deltaAbs.toFixed(1)}% vs ${e.prior}%`:aR(e)}function IZ(e){return`${e.deltaAbs>0?"+":""}${e.deltaAbs.toFixed(1)}% ${p3(e.direction)}`}function PZ(e){return`vs prior ${e} days`}function MZ(e){if(!e)return null;const n=e.window??1,i=n>=2?`vs prior ${n} checks (avg ${e.prior}%)`:`since last check (was ${e.prior}%)`,r=p3(e.direction);return e.direction==="up"?{text:`Up ${e.deltaAbs.toFixed(1)} points ${i}`,tone:"positive",arrow:r}:e.direction==="down"?{text:`Down ${Math.abs(e.deltaAbs).toFixed(1)} points ${i}`,tone:"negative",arrow:r}:{text:`Holding steady ${i}`,tone:"neutral",arrow:r}}const Vd={"client-summary":{heroEyebrow:"Overview",heroEmpty:"No AI check has been run yet. Run a check to see how AI tools answer customer queries about your business.",tiles:{mentioned:"AI mentions your name",cited:"AI links to your website",providers:"AI tools tested"},noData:"No data yet",explainer:{lead:"Mentions and links are different.",mention:{article:"A",term:"mention",definition:"is when AI says your name out loud in its answer."},link:{article:"A",term:"link",definition:"is when AI lists your website as a source it used."},closing:"AI can do either, both, or neither — that's why we track both."},queriesHeading:"Customer queries we tested",providerBarsHeading:"How often each AI tool mentions you",providerBarsSubtitle:"Higher is better. Each bar shows the share of customer queries where the AI named you in the answer."},"whats-changed":{client:{eyebrow:"Since last check",title:"What's different since last check",empty:"No comparison yet — trends will appear after a few more checks.",tiles:{mentionRate:"AI mentions your name",citationRate:"AI links to your website",mentionedQueryCount:"Queries AI mentioned you in",gscClicks:"Visitors from Google",aiReferrals:"Visitors from AI tools"},gscCountLabel:"visits",aiReferralsCountLabel:"visits",movementsHeading:"How each AI tool changed",movementHeaders:["AI tool","Was","Now","Change"],winsHeading:"What got better",winsEmpty:"No new wins this period.",regressionsHeading:"What got worse",regressionsEmpty:"Nothing got worse this period.",insightHeaders:["What changed","Customer query","AI tool"]},agency:{eyebrow:"Section 2",title:"What's Changed",empty:"Trends will appear after a few more checks.",tiles:{citationRate:"Citation rate",mentionRate:"Mention rate",citedQueryCount:"Cited queries",gscClicks:"GSC clicks",aiReferrals:"AI referral sessions"},gscCountLabel:"clicks",aiReferralsCountLabel:"sessions",movementsHeading:"AI engine movements",movementHeaders:["Engine","Prior","Current","Change"],winsHeading:"Wins",winsEmpty:"No new gains in the latest check.",regressionsHeading:"Regressions",regressionsEmpty:"No new regressions in the latest check.",insightHeaders:["Severity","Title","Query","Provider"]},rateTileEmpty:"No prior data",trafficTileEmpty:"Not enough trend data"},"client-action-plan":{eyebrow:"Action plan",title:"What to do next",intro:"Approve these in order. They are sorted by what will move the needle fastest.",empty:"No recommendations yet — run an AI check to populate this.",rankTitle:"Priority — 1 will move the needle fastest",detailsSummary:"See the data behind this",whyLabel:"Why this matters",evidenceLabel:"What we saw",successLabel:"What success looks like:"},"agency-action-plan":{eyebrow:"Agency actions",title:"Agency Action Plan",intro:"The highest-leverage work, sorted by urgency and evidence strength.",empty:"No prioritized actions yet.",rankTitle:"Impact rank — 1 is the highest-leverage action",detailsSummary:"Evidence details",whyLabel:"Why",evidenceLabel:"Evidence",successLabel:"Win condition:"},"client-evidence-summary":{eyebrow:"What we based this on",title:"The signals behind this plan",intro:"The data behind the recommendations above. Switch to Agency for the full breakdowns.",empty:"No supporting evidence yet — this fills in after the first AI check.",sources:{heading:"Where AI gets its answers",subtitle:"The websites AI tools cited most often when answering customer queries about your industry.",competitorTag:"(competitor)"},indexing:{heading:"Pages Google can find on your site",subtitle:"Google indexing your site increases the chances of it appearing in AI search (especially Gemini)."},search:{heading:"What people search Google for",subtitleLead:"You appeared in",subtitleMiddle:"Google searches and got",subtitleTail:"this period."},opportunities:{heading:"Topics where you could improve",subtitle:"Customer queries where better content on your site would help AI cite you.",cededTag:"Ceded surface"}}};function BZ(e,n){return e>0?`When customers asked AI ${e} ${ca(e,"query","queries")} about your industry, AI mentioned you in ${n} of ${e===1?"them":"those queries"}.`:Vd["client-summary"].heroEmpty}function LZ(e,n){return n>0?`Says your name in ${e} of ${n} ${ca(n,"query","queries")}`:Vd["client-summary"].noData}function VZ(e,n){return n>0?`Cites your site as a source in ${e} of ${n} ${ca(n,"query","queries")}`:Vd["client-summary"].noData}function $Z(e,n){return e.length>0?e.map(i=>aP(i)).join(", "):`${Sn(n)} ${ca(n,"query","queries")} tested`}function UZ(e){return`These are the ${e} ${ca(e,"query we asked","queries we asked")} every AI tool. The numbers above measure how often you came up.`}function GZ(e,n){const i=n===rc?e.clientSummary.actionItems:e.agencyDiagnostics.priorities.length>0?e.agencyDiagnostics.priorities:e.actionPlan.filter(r=>r.audience===WI||r.audience===n);return AS(e,i)}function KZ(e,n){return e===rc?iP(n):iq(n)}function HZ(e,n){return e===rc?sP(n):`${sq(n)} confidence`}function QZ(e){return`${Sn(e)}×`}function FZ(e,n){return`${Sn(e)} of ${Sn(n)} pages indexed`}function ZZ(e){return`${ca(e,"page is","pages are")} not indexed yet.`}function YZ(e){return ca(e,"click")}function XZ(e){return`${Sn(e)} ${ca(e,"search","searches")}`}function JZ(e){return e>=90?"positive":e>=70?"caution":"negative"}const I0={"executive-summary":{eyebrow:"Section 1",title:"Executive Summary",intro:"Citation = source list. Mention = answer text. They are independent signals.",heroKicker:"Latest AI visibility check",emptyTitle:"No AI citation data yet",emptySubtitle:"Run a check to populate the first citation and mention baseline.",noQueries:"no queries",proofTiles:{citationTrend:"Citation trend",mentionCoverage:"Mention coverage",prioritizedActions:"Prioritized actions"},prioritizedActionsCopy:"Sorted for agency follow-up.",tiles:{citationRate:"Citation rate",mentionRate:"Mention rate",queriesTracked:"Queries tracked",gscClicks:"GSC clicks",gaSessions:"GA sessions"},trendLabels:{up:"↑ Up",down:"↓ Down",flat:"→ Flat",unknown:"—"},marketScope:{heading:"Market Scope",currentLabel:"Current check",currentCopy:"All findings below are scoped to this run.",notIncludedLabel:"Not included",providerLabel:"Provider context",noOtherMarkets:"None",noProviders:"—",singleMarketCopy:"Single-market report; findings can be read as the current market view.",noMarketCopy:"No geographic hint was attached to this check; read findings as default-market or national results.",noProviderMetadataCopy:"No provider-level location metadata is available for this report.",warningTitle:"Location handling needs review",warningDetail:"used weak or indirect market handling. Treat provider-level differences cautiously."}},"agency-diagnostics":{eyebrow:"Agency diagnostics",title:"Technical Diagnostics",intro:"Fast-read operator flags behind the action plan.",empty:"No agency diagnostics available yet.",hiddenTitle:"Location caveat"},"recommended-next-steps":{eyebrow:"Section 16",title:"Recommended Next Steps",intro:"Action items bucketed by timing.",empty:"No outstanding actions."}};function WZ(e){const n=I0["executive-summary"],i=e.executiveSummary,r=i.trend,u=r==="up"?n.trendLabels.up:r==="down"?n.trendLabels.down:r==="flat"?n.trendLabels.flat:n.trendLabels.unknown,h=r==="up"?"positive":r==="down"?"negative":"neutral",g=(i.totalQueryCount??0)>0,b=i.totalQueryCount===1?"query":"queries",v=e.agencyDiagnostics.priorities.length>0?e.agencyDiagnostics.priorities:e.actionPlan,w=i.gsc?h3(e):"";return{trendLabel:u,trendTone:h,title:g?`${i.citedQueryCount} of ${i.totalQueryCount} tracked ${b} cite ${e.meta.project.displayName}`:n.emptyTitle,subtitle:g?`${i.citationRate}% citation coverage and ${i.mentionRate}% mention coverage across ${i.providerCount} ${ca(i.providerCount,"provider")}.`:n.emptySubtitle,citedFragment:g?`${i.citedQueryCount}/${i.totalQueryCount} ${b} cited`:n.noQueries,mentionedFragment:g?`${i.mentionedQueryCount}/${i.totalQueryCount} ${b} mentioned`:n.noQueries,prioritizedActionCount:AS(e,v).length,providerCountLabel:`${i.providerCount} provider${i.providerCount===1?"":"s"}`,competitorCountLabel:`${i.competitorCount} competitor${i.competitorCount===1?"":"s"} tracked`,gscDelta:i.gsc?`${Sn(i.gsc.impressions)} imp · ${JE(i.gsc.ctr)} CTR${w?` · ${w}`:""}`:null,gaDelta:i.ga?`${Sn(i.ga.users)} users · ${Js(i.ga.periodStart)} → ${Js(i.ga.periodEnd)}`:null}}function eY(e){const n=I0["executive-summary"].marketScope,i=e.meta.location,r=e.meta.providerLocationHandling;if(!i&&r.length===0)return null;const u=i?.otherConfiguredLabels??[],h=r.filter(g=>g.treatment==="ignored"||g.treatment==="browser-geo").map(g=>g.provider);return{currentValue:i?m3(i):af.noMarket,notIncludedValue:u.length>0?fx(u,4):n.noOtherMarkets,notIncludedCopy:i?u.length>0?`${u.length} configured ${ca(u.length,"market")} still ${u.length===1?"needs":"need"} a matching check before cross-market recommendations.`:n.singleMarketCopy:n.noMarketCopy,providerValue:r.length>0?Sn(r.length):n.noProviders,providerCopy:r.length>0?h.length>0?`${h.length} ${ca(h.length,"provider")} need a closer location check.`:`${r.length} ${ca(r.length,"provider")} received the market context.`:n.noProviderMetadataCopy,weakProviders:h.length>0?fx(h,4):null}}const oP={"citation-scorecard":{eyebrow:"Section 3",title:"Citation Scorecard",intro:"Per-engine citation and mention coverage from the latest check.",providerChartTitle:"Provider citation rate",empty:"Run a check to populate the citation matrix.",queryHeader:"Query",glyphs:{cited:"C",notCited:"c",mentioned:"M",notMentioned:"m",pending:"–",missingCell:"— —"},legend:{lead:"Legend:",citedMeaning:"= cited/not,",mentionedMeaning:"= mentioned/not,",pendingMeaning:"= no data."}},"competitor-landscape":{eyebrow:"Section 4",title:"Competitor Landscape",intro:"Who AI engines cite and mention instead of the client.",empty:"No competitor data yet. Add competitors and run a check.",noCompetitors:"No competitors configured.",citationsChartTitle:"Citations per domain",brandedChartTitle:"Mentions per domain · branded queries",headers:{domain:"Domain",pressure:"Pressure",citations:"Citations",citationShare:"Citation share",citedQueries:"Cited queries"},citationShareTooltip:"Citation share — % of cited-source slots that went to this competitor across tracked queries. Distinct from Mention Share."},"ai-source-origin":{eyebrow:"Section 5",title:"AI Citation Sources",intro:"External domains AI engines cited most in the latest check.",empty:"No source data yet. Run a check first.",topSourcesHeading:"Top sources",topSourceHeaders:["Domain","Citations","Tag"],trackedCompetitorTag:"Tracked competitor",externalTag:"External",categoriesHeading:"By source type"}};function tY(e){return`${e.citationRate}% (${e.citedCount}/${e.totalCount})`}const rP={"non-brand":"non-brand queries",pooled:"pooled queries · classification unavailable"};function lP(e){return rP[e]??"pooled queries · classification unavailable"}function nY(e){const n=lP(e.scope),i=e.branded;return{scopeLabel:n,mentionsHeader:`Mentions (${n})`,mentionsTooltip:e.scope==="non-brand"?`Mentions on ${n}. Branded queries are counted separately — the client is named on nearly all of them and a competitor cannot be, so pooling the two would rank the client on its own brand recall.`:`Mentions on ${n}. The project has no usable brand identity for a branded/non-brand split, so all tracked queries remain pooled and this is not a competitive category read.`,mentionsChartTitle:`Mentions per domain · ${n}`,mentionShareUnavailable:`Mention share unavailable for ${n}: no tracked brand was named, so the denominator is 0.`,brandedNote:`Branded queries contain the client's own name. The client is named on nearly all of them and a competitor structurally cannot be, so these are kept out of the competitive figure above. Read them as brand recall: ${i?.projectMentionCount??0} of ${i?.totalAnswerSnapshots??0} branded answers named the client.`}}function aY(e){return`${e} cited URL${e>1?"s":""}`}function iY(e){const n=e.find(r=>r.category===Ku.competitor);if(!n)return null;const i=e.reduce((r,u)=>r+u.count,0);return{share:`${n.sharePct}%`,detail:`of citations went to tracked competitors (${n.count} of ${i}).`}}function sY(e){return`(${e}%)`}const cP={gsc:{eyebrow:"Section 6",title:"GSC Performance",empty:"Connect Google Search Console to populate this section.",tiles:{clicks:"Total clicks",impressions:"Total impressions",ctr:"Avg CTR",position:"Avg position"},trendTitle:"Clicks over time",topQueriesHeading:"Top queries",topQueryHeaders:["Query","Clicks","Imp.","CTR","Pos.","Category"],intentHeading:"Search demand by intent",intentCountLabel:"clicks",untrackedDemand:{heading:"AEO queries without search demand",subtitle:"Review whether these still belong in the tracking set."},suggestedQueries:{heading:"Search queries you should track",subtitle:"High-impression candidates to add to AEO tracking."}},ga:{eyebrow:"Section 7",title:"GA4 Traffic",empty:"Connect Google Analytics 4 to populate this section.",tiles:{sessions:"Total sessions",users:"Total users",organicSessions:"Organic sessions"},topPagesHeading:"Top landing pages",topPageHeaders:["Page","Sessions","Organic"],channelsHeading:"Channel mix",channelsCountLabel:"sessions"},"social-referrals":{eyebrow:"Section 8",title:"Social Referrals",intro:"Social traffic split by channel and campaign.",empty:"No social referral data yet.",tiles:{sessions:"Total sessions",organic:"Organic social",paid:"Paid social"},channelsHeading:"Social channel mix",channelsCountLabel:"sessions",campaignsHeading:"Top campaigns",campaignHeaders:["Source","Medium","Sessions"]},"ai-referrals":{eyebrow:"Section 9",title:"AI Referral Traffic",intro:"Traffic arriving from AI answer engines.",empty:"No AI referral traffic detected yet.",tiles:{sessions:"Total sessions"},trendTitle:"AI referral sessions over time",sourcesHeading:"AI sessions by source",sourcesCountLabel:"sessions",topPagesHeading:"Top AI landing pages",topPageHeaders:["Page","Sessions"]}};function h3(e){const n=e.executiveSummary.gsc,i=e.gsc,r=n?.periodStart||i?.periodStart||i?.trend.at(0)?.date||"",u=n?.periodEnd||i?.periodEnd||i?.trend.at(-1)?.date||"";return tR(r,u)}function oY(e){const n=h3(e);return`Search demand signals to compare against AI visibility${n?` for ${n}`:""}.`}function rY(e){return`Site traffic from ${Js(e.periodStart)} to ${Js(e.periodEnd)}.`}function lY(e,n){return`${e} · ${n}%`}const P0={"server-activity":{title:"AI Visibility — Server-Side",client:{eyebrow:"AI engine attention",introNoData:"Live telemetry from your server logs.",empty:"Your server-side traffic source is connected. Numbers will appear after the next sync.",tiles:{botRequests:"AI bot requests observed",userFetches:"AI user-fetch requests",referralSessions:"AI referral sessions"},userFetchFallback:"ChatGPT-User, Perplexity-User, MistralAI-User",operatorsHeading:"By AI tool",operatorsFootnote:"Bot requests are bulk crawl (GPTBot, PerplexityBot, …). User fetches are on-demand reads triggered by real users inside an AI surface (ChatGPT-User, Perplexity-User, …). Verified means the request came from an IP the operator publishes as its own; unverified means the user-agent matched but the IP is not in a published range. User-fetch totals count both, since many genuine user fetches come from outside any published range."},agency:{eyebrow:"Section 10",intro:"What AI engines actually do in your server logs — direct evidence, complementary to citations (which measure what they say).",emptyNotConnected:"Connect a server-side traffic source to surface what AI engines do directly in your server logs — distinct from GA4 click-throughs.",empty:"Source connected — collecting your first data. Numbers will appear after the next sync.",operatorsHeading:"Per AI operator",operatorsNote:"Verified means the request's source IP falls inside the operator's published range. Unverified bots claim the user-agent but the IP is not in a published range, so it could be the real bot or an imitator. User fetches are on-demand reads from an AI surface on behalf of a real user (ChatGPT-User, Perplexity-User, …), disjoint from bulk crawl and counted whether or not the IP can be verified.",noDelta:"—",crawledPathsHeading:"Top crawled paths",crawledPathHeaders:["Path","Hits","Verified","Distinct operators"],referralProductsHeading:"AI-referral sessions by product",referralProductsNote:"Where humans landed coming from each AI product (chatgpt.com, claude.ai, …).",referralProductHeaders:["Product","Sessions","Distinct landing paths"],referralLandingHeading:"Top AI-referral landing paths",referralLandingHeaders:["Path","Sessions","Distinct products"]},countNouns:{requests:"requests",hits:"hits",sessions:"sessions"}},"indexing-health":{eyebrow:"Section 11",title:"Indexing Health",empty:"Connect Google Search Console or Bing Webmaster Tools and run a sitemap inspection.",tiles:{indexed:"Indexed",total:"Total inspected",share:"Indexed share"},coverageHeading:"Coverage breakdown",coverageLabel:"Coverage stacked bar",segments:{indexed:"Indexed",notIndexed:"Not indexed",deindexed:"Deindexed",unknown:"Unknown"}},"citations-trend":{eyebrow:"Section 12",title:"Citations Over Time",intro:"Citation coverage across recent checks.",empty:"Run multiple checks to see a trend.",chartTitle:"Overall citation rate",breakdownHeading:"Check-by-check breakdown",breakdownHeaders:["Check","Cited queries","Per-engine rates"]}};function cY(e,n,i){const r=P0["server-activity"],u=e===rc;return{id:vt["server-activity"],eyebrow:u?r.client.eyebrow:r.agency.eyebrow,title:r.title,intro:u?n?`What AI engines actually do in your server logs over the last ${i} days — the other half of citations.`:r.client.introNoData:r.agency.intro}}function $d(e){return`${e}d`}function uY(e){const n=$d(e);return["AI tool",`Bot requests (${n})`,`User fetches (${n})`,"Referral sessions"]}function dY(e){const n=$d(e);return{verified:`Verified crawler hits (${n})`,unverified:`Unverified crawler hits (${n})`,userFetches:`AI user-fetch hits (${n})`,referralSessions:`AI-referral sessions (${n})`}}function mY(e){return["Operator","Verified hits","Unverified","User fetches","Referral sessions",`${$d(e)} delta`]}function pY(e){return`Verified crawler hits over time (last ${e} days)`}function hY(e){return`Pages AI bots fetched most often (verified only, last ${$d(e)}).`}function fY(e){return e===null?P0["server-activity"].agency.noDelta:`${e>0?"+":""}${e}%`}function gY(e){return e.verifiedHits+e.unverifiedHits}function yY(e,n){return`${Sn(e)} verified · ${Sn(n)} unverified`}function bY(e){return e>0?`${Sn(e)} blocked by redirects`:""}function vY(e){return`Pages absent from ${e==="google"?"Google":"Bing"} are harder for AI engines to retrieve.`}function xY(e,n){return`${e}: ${n}`}function wY(e){return`Building baseline (${e} of ${d3} checks completed). Trend will appear once more checks are recorded.`}function kY(e){return e.map(n=>`${n.provider}: ${n.citationRate}%`).join(" · ")}const uP={insights:{eyebrow:"Section 13",title:"Insights & Alerts",intro:"Regressions, gains, and recurring alerts ordered by severity.",empty:"No insights yet — run a check to generate alerts.",headers:["Severity","Title","Query","Provider","Recommendation"],noRecommendation:"—"},"content-opportunities":{eyebrow:"Section 14",title:"Content Opportunities",intro:"Queries where content work has the clearest path to more AI citations. Opportunity score is 0–100, higher = stronger. Winnability flags whether the cited surface is ownable or ceded to aggregators/editorial.",headers:["Query","Action","Winnability","Score","Why","Our page","Winning competitor","Confidence"],scoreSuffix:"/100",scoreCardTooltip:"Opportunity score (0–100, higher = stronger)",scoreHeaderTooltip:"Opportunity score (0–100)",noDriverSignal:"No driver signal yet",noPage:"No page yet",noWinningCompetitor:"—"},"content-gaps":{eyebrow:"Section 15",title:"Content Gaps",intro:"Tracked queries where competitors are cited and the client is missing.",headers:["Query","Competitors cited","Domains","Miss rate"]}};function SY(e){return`${rO(e.action)} · ${lO(e.actionConfidence)} confidence`}function jY(e){return WE(e)}const AY={...Vd,...I0,...oP,...cP,...P0,...uP},f3=j(["trace","debug","info","warn","error","fatal"]),dP=m({runId:o().min(1).max(256).optional(),projectId:o().min(1).max(256).optional(),requestId:o().min(1).max(256).optional(),actor:o().min(1).max(512).optional(),credentialId:o().min(1).max(512).optional(),userAgent:o().min(1).max(512).optional(),actorSession:o().min(1).max(512).optional(),method:o().min(1).max(16).optional(),route:o().min(1).max(256).optional(),operationId:o().min(1).max(256).optional(),jobId:o().min(1).max(256).optional(),taskId:o().min(1).max(256).optional(),traceId:o().min(1).max(256).optional(),errorCode:o().min(1).max(128).optional(),attempt:d().finite().optional(),count:d().finite().optional(),total:d().finite().optional(),progress:d().finite().optional(),httpStatus:d().finite().optional(),statusCode:d().finite().optional(),durationMs:d().finite().optional(),bytes:d().finite().optional(),retryAfterMs:d().finite().optional(),retriable:N().optional(),retrying:N().optional(),cancelled:N().optional(),success:N().optional()}).strict(),mP=m({cursor:o().min(1).max(512),ts:o().datetime(),level:f3,module:o().min(1).max(256),action:o().min(1).max(256),message:o().max(4096).optional(),runId:o().min(1).max(256).optional(),projectId:o().min(1).max(256).optional(),context:dP}).strict();m({level:f3.optional(),module:o().trim().min(1).max(256).optional(),runId:o().trim().min(1).max(256).optional(),projectId:o().trim().min(1).max(256).optional(),actor:o().trim().min(1).max(512).optional(),requestId:o().trim().min(1).max(256).optional(),since:o().datetime().optional(),until:o().datetime().optional(),limit:zf().int().min(1).max(200).default(100),cursor:o().trim().min(1).max(512).optional()}).strict().superRefine((e,n)=>{e.since&&e.until&&Date.parse(e.since)>Date.parse(e.until)&&n.addIssue({code:be.custom,path:["until"],message:'"until" must be on or after "since".'})});m({entries:y(mP),nextCursor:o().min(1).max(512).nullable(),truncated:d().int().nonnegative(),dropped:d().int().nonnegative(),retention:j(["process","durable"]),retentionPolicy:m({maxEntries:d().int().positive(),maxAgeSeconds:d().int().positive()}).strict().optional(),captureErrors:d().int().nonnegative().optional(),observedAt:o().datetime()}).strict();function gx(e){return e!==""&&/^[\w./:@%+=,-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}const pP={bodySerializer:e=>JSON.stringify(e,(n,i)=>typeof i=="bigint"?i.toString():i)},hP=({onRequest:e,onSseError:n,onSseEvent:i,responseTransformer:r,responseValidator:u,sseDefaultRetryDelay:h,sseMaxRetryAttempts:g,sseMaxRetryDelay:b,sseSleepFn:v,url:w,...S})=>{let A;const T=v??(R=>new Promise(M=>setTimeout(M,R)));return{stream:async function*(){let R=h??3e3,M=0;const X=S.signal??new AbortController().signal;for(;!X.aborted;){M++;const J=S.headers instanceof Headers?S.headers:new Headers(S.headers);A!==void 0&&J.set("Last-Event-ID",A);try{const L={redirect:"follow",...S,body:S.serializedBody,headers:J,signal:X};let le=new Request(w,L);e&&(le=await e(w,L));const re=await(S.fetch??globalThis.fetch)(le);if(!re.ok)throw new Error(`SSE failed: ${re.status} ${re.statusText}`);if(!re.body)throw new Error("No body in SSE response");const H=re.body.pipeThrough(new TextDecoderStream).getReader();let K="";const Re=()=>{try{H.cancel()}catch{}};X.addEventListener("abort",Re);try{for(;;){const{done:Qe,value:Fe}=await H.read();if(Qe)break;K+=Fe;const ze=K.split(`
49
+
50
+ `);K=ze.pop()??"";for(const ke of ze){const Me=ke.split(`
51
+ `),ve=[];let P;for(const Ce of Me)if(Ce.startsWith("data:"))ve.push(Ce.replace(/^data:\s*/,""));else if(Ce.startsWith("event:"))P=Ce.replace(/^event:\s*/,"");else if(Ce.startsWith("id:"))A=Ce.replace(/^id:\s*/,"");else if(Ce.startsWith("retry:")){const W=Number.parseInt(Ce.replace(/^retry:\s*/,""),10);Number.isNaN(W)||(R=W)}let ee,pe=!1;if(ve.length){const Ce=ve.join(`
52
+ `);try{ee=JSON.parse(Ce),pe=!0}catch{ee=Ce}}pe&&(u&&await u(ee),r&&(ee=await r(ee))),i?.({data:ee,event:P,id:A,retry:R}),ve.length&&(yield ee)}}}finally{X.removeEventListener("abort",Re),H.releaseLock()}break}catch(L){if(n?.(L),g!==void 0&&M>=g)break;const le=Math.min(R*2**(M-1),b??3e4);await T(le)}}}()}},fP=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},gP=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},yP=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},g3=({allowReserved:e,explode:n,name:i,style:r,value:u})=>{if(!n){const b=(e?u:u.map(v=>encodeURIComponent(v))).join(gP(r));switch(r){case"label":return`.${b}`;case"matrix":return`;${i}=${b}`;case"simple":return b;default:return`${i}=${b}`}}const h=fP(r),g=u.map(b=>r==="label"||r==="simple"?e?b:encodeURIComponent(b):Ud({allowReserved:e,name:i,value:b})).join(h);return r==="label"||r==="matrix"?h+g:g},Ud=({allowReserved:e,name:n,value:i})=>{if(i==null)return"";if(typeof i=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${n}=${e?i:encodeURIComponent(i)}`},y3=({allowReserved:e,explode:n,name:i,style:r,value:u,valueOnly:h})=>{if(u instanceof Date)return h?u.toISOString():`${i}=${u.toISOString()}`;if(r!=="deepObject"&&!n){let v=[];Object.entries(u).forEach(([S,A])=>{v=[...v,S,e?A:encodeURIComponent(A)]});const w=v.join(",");switch(r){case"form":return`${i}=${w}`;case"label":return`.${w}`;case"matrix":return`;${i}=${w}`;default:return w}}const g=yP(r),b=Object.entries(u).map(([v,w])=>Ud({allowReserved:e,name:r==="deepObject"?`${i}[${v}]`:v,value:w})).join(g);return r==="label"||r==="matrix"?g+b:b},bP=/\{[^{}]+\}/g,vP=({path:e,url:n})=>{let i=n;const r=n.match(bP);if(r)for(const u of r){let h=!1,g=u.substring(1,u.length-1),b="simple";g.endsWith("*")&&(h=!0,g=g.substring(0,g.length-1)),g.startsWith(".")?(g=g.substring(1),b="label"):g.startsWith(";")&&(g=g.substring(1),b="matrix");const v=e[g];if(v==null)continue;if(Array.isArray(v)){i=i.replace(u,g3({explode:h,name:g,style:b,value:v}));continue}if(typeof v=="object"){i=i.replace(u,y3({explode:h,name:g,style:b,value:v,valueOnly:!0}));continue}if(b==="matrix"){i=i.replace(u,`;${Ud({name:g,value:v})}`);continue}const w=encodeURIComponent(b==="label"?`.${v}`:v);i=i.replace(u,w)}return i},xP=({baseUrl:e,path:n,query:i,querySerializer:r,url:u})=>{const h=u.startsWith("/")?u:`/${u}`;let g=(e??"")+h;n&&(g=vP({path:n,url:g}));let b=i?r(i):"";return b.startsWith("?")&&(b=b.substring(1)),b&&(g+=`?${b}`),g};function wP(e){const n=e.body!==void 0;if(n&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(n)return e.body}const kP=async(e,n)=>{const i=typeof n=="function"?await n(e):n;if(i)return e.scheme==="bearer"?`Bearer ${i}`:e.scheme==="basic"?`Basic ${btoa(i)}`:i},b3=({allowReserved:e,array:n,object:i}={})=>u=>{const h=[];if(u&&typeof u=="object")for(const g in u){const b=u[g];if(b!=null)if(Array.isArray(b)){const v=g3({allowReserved:e,explode:!0,name:g,style:"form",value:b,...n});v&&h.push(v)}else if(typeof b=="object"){const v=y3({allowReserved:e,explode:!0,name:g,style:"deepObject",value:b,...i});v&&h.push(v)}else{const v=Ud({allowReserved:e,name:g,value:b});v&&h.push(v)}}return h.join("&")},SP=e=>{if(!e)return"stream";const n=e.split(";")[0]?.trim();if(n){if(n.startsWith("application/json")||n.endsWith("+json"))return"json";if(n==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(i=>n.startsWith(i)))return"blob";if(n.startsWith("text/"))return"text"}},jP=(e,n)=>n?!!(e.headers.has(n)||e.query?.[n]||e.headers.get("Cookie")?.includes(`${n}=`)):!1,AP=async({security:e,...n})=>{for(const i of e){if(jP(n,i.name))continue;const r=await kP(i,n.auth);if(!r)continue;const u=i.name??"Authorization";switch(i.in){case"query":n.query||(n.query={}),n.query[u]=r;break;case"cookie":n.headers.append("Cookie",`${u}=${r}`);break;default:n.headers.set(u,r);break}}},yx=e=>xP({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:b3(e.querySerializer),url:e.url}),bx=(e,n)=>{const i={...e,...n};return i.baseUrl?.endsWith("/")&&(i.baseUrl=i.baseUrl.substring(0,i.baseUrl.length-1)),i.headers=v3(e.headers,n.headers),i},CP=e=>{const n=[];return e.forEach((i,r)=>{n.push([r,i])}),n},v3=(...e)=>{const n=new Headers;for(const i of e){if(!i)continue;const r=i instanceof Headers?CP(i):Object.entries(i);for(const[u,h]of r)if(h===null)n.delete(u);else if(Array.isArray(h))for(const g of h)n.append(u,g);else h!==void 0&&n.set(u,typeof h=="object"?JSON.stringify(h):h)}return n};class Ch{fns=[];clear(){this.fns=[]}eject(n){const i=this.getInterceptorIndex(n);this.fns[i]&&(this.fns[i]=null)}exists(n){const i=this.getInterceptorIndex(n);return!!this.fns[i]}getInterceptorIndex(n){return typeof n=="number"?this.fns[n]?n:-1:this.fns.indexOf(n)}update(n,i){const r=this.getInterceptorIndex(n);return this.fns[r]?(this.fns[r]=i,n):!1}use(n){return this.fns.push(n),this.fns.length-1}}const NP=()=>({error:new Ch,request:new Ch,response:new Ch}),_P=b3({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),TP={"Content-Type":"application/json"},x3=(e={})=>({...pP,headers:TP,parseAs:"auto",querySerializer:_P,...e}),w3=(e={})=>{let n=bx(x3(),e);const i=()=>({...n}),r=w=>(n=bx(n,w),i()),u=NP(),h=async w=>{const S={...n,...w,fetch:w.fetch??n.fetch??globalThis.fetch,headers:v3(n.headers,w.headers),serializedBody:void 0};S.security&&await AP({...S,security:S.security}),S.requestValidator&&await S.requestValidator(S),S.body!==void 0&&S.bodySerializer&&(S.serializedBody=S.bodySerializer(S.body)),(S.body===void 0||S.serializedBody==="")&&S.headers.delete("Content-Type");const A=yx(S);return{opts:S,url:A}},g=async w=>{const{opts:S,url:A}=await h(w),T={redirect:"follow",...S,body:wP(S)};let C=new Request(A,T);for(const ie of u.request.fns)ie&&(C=await ie(C,S));const F=S.fetch;let R=await F(C);for(const ie of u.response.fns)ie&&(R=await ie(R,C,S));const M={request:C,response:R};if(R.ok){const ie=(S.parseAs==="auto"?SP(R.headers.get("Content-Type")):S.parseAs)??"json";if(R.status===204||R.headers.get("Content-Length")==="0"){let H;switch(ie){case"arrayBuffer":case"blob":case"text":H=await R[ie]();break;case"formData":H=new FormData;break;case"stream":H=R.body;break;default:H={};break}return S.responseStyle==="data"?H:{data:H,...M}}let re;switch(ie){case"arrayBuffer":case"blob":case"formData":case"json":case"text":re=await R[ie]();break;case"stream":return S.responseStyle==="data"?R.body:{data:R.body,...M}}return ie==="json"&&(S.responseValidator&&await S.responseValidator(re),S.responseTransformer&&(re=await S.responseTransformer(re))),S.responseStyle==="data"?re:{data:re,...M}}const X=await R.text();let J;try{J=JSON.parse(X)}catch{}const L=J??X;let le=L;for(const ie of u.error.fns)ie&&(le=await ie(L,R,C,S));if(le=le||{},S.throwOnError)throw le;return S.responseStyle==="data"?void 0:{error:le,...M}},b=w=>S=>g({...S,method:w}),v=w=>async S=>{const{opts:A,url:T}=await h(S);return hP({...A,body:A.body,headers:A.headers,method:w,onRequest:async(C,F)=>{let R=new Request(C,F);for(const M of u.request.fns)M&&(R=await M(R,A));return R},url:T})};return{buildUrl:yx,connect:b("CONNECT"),delete:b("DELETE"),get:b("GET"),getConfig:i,head:b("HEAD"),interceptors:u,options:b("OPTIONS"),patch:b("PATCH"),post:b("POST"),put:b("PUT"),request:g,setConfig:r,sse:{connect:v("CONNECT"),delete:v("DELETE"),get:v("GET"),head:v("HEAD"),options:v("OPTIONS"),patch:v("PATCH"),post:v("POST"),put:v("PUT"),trace:v("TRACE")},trace:b("TRACE")}},O=w3(x3()),EP=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps/submit",...e,headers:{"Content-Type":"application/json",...e.headers}}),RP=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e}),zP=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e,headers:{"Content-Type":"application/json",...e.headers}}),DP=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),k3=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),OP=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),qP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan",...e}),IP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-report",...e}),PP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-setup",...e}),CY=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft",...e}),NY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/create",...e,headers:{"Content-Type":"application/json",...e.headers}}),_Y=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/import-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),TY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-sitemap-selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),EY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-target",...e,headers:{"Content-Type":"application/json",...e.headers}}),RY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/exclude-target",...e,headers:{"Content-Type":"application/json",...e.headers}}),zY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),DY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/preview-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),OY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/replace-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),qY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-paired-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),IY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-assignment",...e,headers:{"Content-Type":"application/json",...e.headers}}),PY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-group",...e,headers:{"Content-Type":"application/json",...e.headers}}),MY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-group",...e,headers:{"Content-Type":"application/json",...e.headers}}),BY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/preview-group-membership",...e,headers:{"Content-Type":"application/json",...e.headers}}),LY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-group-membership",...e,headers:{"Content-Type":"application/json",...e.headers}}),VY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),MP=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/pin-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),$Y=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),UY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/compile-preview",...e}),GY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/diff-preview",...e}),KY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/publish",...e,headers:{"Content-Type":"application/json",...e.headers}}),HY=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/discard",...e}),S3=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-overview",...e}),BP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/visibility-report",...e}),LP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-evidence",...e}),VP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-question-result",...e}),$P=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-competitors",...e}),UP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-query-templates",...e}),GP=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-query-templates/{templateId}",...e,headers:{"Content-Type":"application/json",...e.headers}}),KP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs",...e}),HP=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/batches",...e,headers:{"Content-Type":"application/json",...e.headers}}),QP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking",...e}),FP=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking/preview",...e,headers:{"Content-Type":"application/json",...e.headers}}),ZP=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking/commit",...e,headers:{"Content-Type":"application/json",...e.headers}}),YP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs/{runId}",...e}),XP=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations",...e,headers:{"Content-Type":"application/json",...e.headers}}),JP=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/{label}",...e}),WP=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/default",...e,headers:{"Content-Type":"application/json",...e.headers}}),eM=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),j3=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e}),tM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),nM=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),aM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries/generate",...e,headers:{"Content-Type":"application/json",...e.headers}}),iM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),sM=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),oM=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors/{id}",...e}),rM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/competitors",...e}),A3=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e}),lM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),cM=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e}),uM=e=>(e?.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),C3=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs/{id}",...e}),dM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/apply",...e,headers:{"Content-Type":"application/json",...e.headers}}),mM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/history",...e}),pM=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/history",...e}),hM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/timeline",...e}),fM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/metrics",...e}),gM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/snapshots/diff",...e}),N3=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings",...e}),yM=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/providers/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),bM=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/google",...e,headers:{"Content-Type":"application/json",...e.headers}}),vM=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/keys/self",...e}),xM=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/bing",...e,headers:{"Content-Type":"application/json",...e.headers}}),wM=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/cdp",...e,headers:{"Content-Type":"application/json",...e.headers}}),kM=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),SM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),jM=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e,headers:{"Content-Type":"application/json",...e.headers}}),AM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedules",...e}),CM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e}),NM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e,headers:{"Content-Type":"application/json",...e.headers}}),_M=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}",...e}),TM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}/test",...e}),EM=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e}),RM=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e,headers:{"Content-Type":"application/json",...e.headers}}),zM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry/onboarding",...e,headers:{"Content-Type":"application/json",...e.headers}}),_3=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/cdp/status",...e}),DM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/status",...e}),OM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/oauth/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),qM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/customers",...e}),IM=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),PM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/sync",...e}),MM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/performance",...e}),BM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/snapshots",...e}),LM=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/connection",...e}),VM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/status",...e}),$M=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/oauth/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),UM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts",...e}),GM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers",...e}),KM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers/{containerId}/workspaces",...e}),HM=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),QM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/sync",...e}),FM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/snapshots",...e}),ZM=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/connection",...e}),YM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/options",...e}),XM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e}),JM=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e,headers:{"Content-Type":"application/json",...e.headers}}),WM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts/{contractId}/integrity",...e}),eB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections",...e}),tB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),nB=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}",...e}),aB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/properties",...e}),iB=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}/property",...e,headers:{"Content-Type":"application/json",...e.headers}}),sB=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}/sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),oB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),rB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance",...e}),lB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance/daily",...e}),cB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspect",...e,headers:{"Content-Type":"application/json",...e.headers}}),uB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspections",...e}),dB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/deindexed",...e}),mB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage",...e}),pB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage/history",...e}),hB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps",...e}),fB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspect-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),gB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/indexing/request",...e,headers:{"Content-Type":"application/json",...e.headers}}),yB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations",...e}),bB=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations/{locationName}/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),vB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),xB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/keywords",...e}),wB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/place-actions",...e}),kB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/lodging",...e}),SB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/places",...e}),jB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/summary",...e}),AB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),CB=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/disconnect",...e}),NB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/status",...e}),_B=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/sites",...e}),TB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/set-site",...e,headers:{"Content-Type":"application/json",...e.headers}}),EB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/coverage",...e}),RB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspections",...e}),zB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspect-url",...e,headers:{"Content-Type":"application/json",...e.headers}}),DB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspect-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),OB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/request-indexing",...e,headers:{"Content-Type":"application/json",...e.headers}}),qB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/performance",...e}),IB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),PB=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/disconnect",...e}),MB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/status",...e}),BB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),LB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/traffic",...e}),VB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/ai-referral-daily",...e}),$B=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/social-referral-history",...e}),UB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/session-history",...e}),GB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/insights",...e}),KB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/report",...e}),HB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/health/history",...e}),QB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/citations/visibility",...e}),FB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/content/dismissals",...e,headers:{"Content-Type":"application/json",...e.headers}}),ZB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/overview",...e}),YB=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/status",...e}),XB=e=>(e?.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/install",...e}),JB=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e}),WB=e=>(e?.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),eL=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs/latest",...e}),tL=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/releases",...e}),nL=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/latest-release",...e}),aL=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/cache/{release}",...e}),iL=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/extract",...e,headers:{"Content-Type":"application/json",...e.headers}}),sL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/summary",...e}),oL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/domains",...e}),rL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/history",...e}),lL=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/cloud-run",...e,headers:{"Content-Type":"application/json",...e.headers}}),cL=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/wordpress",...e,headers:{"Content-Type":"application/json",...e.headers}}),uL=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/vercel",...e,headers:{"Content-Type":"application/json",...e.headers}}),dL=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),mL=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}/backfill",...e,headers:{"Content-Type":"application/json",...e.headers}}),pL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources",...e}),hL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/status",...e}),fL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}",...e}),gL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/events",...e}),yL=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/run",...e,headers:{"Content-Type":"application/json",...e.headers}}),bL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions",...e}),vL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions/{id}",...e}),xL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo",...e}),wL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/pages",...e}),kL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/trend",...e}),SL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl",...e}),jL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/graph",...e}),AL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages/audit",...e}),T3=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages",...e}),CL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/structure",...e}),NL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/internal-links/neighbors",...e}),_L=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/dead-links",...e}),TL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e}),EL=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),RL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/progress",...e}),zL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/page-health-preview",...e}),DL=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/providers",...e});function OL(e){const n={baseUrl:e.baseUrl,fetch:e.fetch,headers:{...e.headers??{}}};return w3(n)}class dn extends Error{code;statusCode;details;constructor(n,i,r,u){super(n),this.name="ApiError",this.code=r??"UNKNOWN",this.statusCode=i,this.details=u}}function QY(e){if(e instanceof dn)return e.details;if(typeof e!="object"||e===null)return;const n=e.error,i=typeof n=="object"&&n!==null?n.details:e.details;return typeof i=="object"&&i!==null&&!Array.isArray(i)?i:void 0}function Bl(){if(typeof window>"u")return!1;const e=window.__CANONRY_CONFIG__?.demo;return e?.enabled===!0&&e.readOnly===!0&&e.sampleData===!0}function qL(){if(typeof window>"u")return"legacy";const e=window.__CANONRY_CONFIG__?.dashboard?.onboardingMode??window.__CANONRY_CONFIG__?.onboardingMode;return e==="platform"||e==="auto"||e==="legacy"?e:"auto"}function IL(){if(typeof window>"u")return;const e=window.__CANONRY_CONFIG__?.embed?.renderToken;return typeof e=="string"&&e.length>0?e:void 0}function M0(e){const n=IL();if(!n)return e;let i;const r=typeof window<"u"&&window.location?window.location.href:"http://localhost/";try{i=new URL(e,r)}catch{return e}const u=new URL(r).origin;if(i.origin!==u)return e;const g=`${Gd().replace(/\/$/,"")}/api/v1`;return i.pathname!==g&&!i.pathname.startsWith(`${g}/`)?e:(i.searchParams.set("token",n),/^[a-z][a-z\d+.-]*:/i.test(e)?i.toString():`${i.pathname}${i.search}${i.hash}`)}function PL(e,n){const i={method:e.method,headers:e.headers,cache:e.cache,credentials:e.credentials,integrity:e.integrity,keepalive:e.keepalive,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy,signal:e.signal};return e.body&&(i.body=e.body,i.duplex="half"),new Request(n,i)}function E3(){if(typeof window>"u")return null;const e=window.__CANONRY_CONFIG__?.embed;return e?.enabled?e:null}function ML(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showResourceLinks!==!1}function BL(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showAgentBar!==!1}function LL(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showUpdateNotification!==!1}function Hs(){return VL(Ne["answer-visibility"])}function VL(e){if(typeof window>"u")return!1;const n=window.__CANONRY_CONFIG__?.dashboard;return n?.managedRunKinds!==void 0?n.managedRunKinds.includes(e):e===Ne["answer-visibility"]&&n?.managedSweeps===!0}function $L(){if(typeof window>"u")return null;const e=window.__CANONRY_CONFIG__?.research;if(e?.allowViewers!==!0)return null;const n=e.viewerDailyRunLimit;return{allowViewers:!0,viewerDailyRunLimit:Number.isInteger(n)&&(n??0)>0?n:Gq}}function vx(){return $L()?"Analyst":"View only"}function UL(){return E3()!==null}function GL(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const B0=GL();function KL(){const e=typeof window<"u"&&window.location?window.location.origin:"";return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?e+window.__CANONRY_CONFIG__.basePath.replace(/\/$/,""):e}function Gd(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,""):""}function HL(e){const n=e.trim().toLowerCase().replace(/^\[|\]$/g,"");return n==="localhost"||n==="::1"?!0:/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(n)}function QL(e,n){if(e.protocol!=="http:"&&e.protocol!=="https:"||!HL(e.hostname))return;const i=e.port?`:${e.port}`:"",r=n?n.replace(/\/$/,""):"";return`${e.protocol}//localhost${i}${r}`}function FY(e){return`${e.replace(/\/$/,"")}/api/v1/google/callback`}function ZY(e){return`${e.replace(/\/$/,"")}/api/v1/google-marketing/callback`}function FL(){if(!(typeof window>"u"))return QL(window.location,Gd())}function ZL(e){return`${Gd()}${e}`}function YL(e,n){if(n===404)return"Health endpoint returned 404. Check basePath or reverse-proxy configuration and make sure the dashboard reaches /health instead of an API-prefixed route."}function XL(){return""}function JL(){return!!XL()}let R3=null;function xx(e){R3=e}function L0(){R3?.()}const ae=OL({baseUrl:KL()});ae.interceptors.response.use((e,n)=>(e.status===401&&!n.url.includes("/api/v1/session")&&L0(),e));ae.interceptors.request.use(e=>{const n=M0(e.url);return n===e.url?e:PL(e,n)});async function ge(e){const n=await e();if(n.error!==void 0&&n.error!==null){const i=n.response.status;let r=`API ${i}: ${n.response.statusText}`,u,h;if(typeof n.error=="object"&&n.error!==null){const g=n.error.error;if(typeof g=="string")r=g;else if(g&&typeof g=="object"){const b=g;b.message&&(r=b.message),b.code&&(u=b.code),b.details&&(h=b.details)}else{const b=n.error;b.message&&(r=b.message),b.code&&(u=b.code),b.details&&(h=b.details)}}else typeof n.error=="string"&&(r=n.error);throw new dn(r,i,u,h)}if(n.response.status!==204)return n.data}async function gs(e,n){const i=n?.body!=null,r=await fetch(M0(`${B0}${e}`),{...n,credentials:n?.credentials??"same-origin",headers:{...i?{"Content-Type":"application/json"}:{},...n?.headers}});if(!r.ok){const u=await r.text();let h=`API ${r.status}: ${r.statusText}`,g,b;if(u)try{const v=JSON.parse(u);typeof v.error=="string"?h=v.error:v.error?.message?(h=v.error.message,g=v.error.code,b=v.error.details):v.message&&(h=v.message)}catch{h=u}throw r.status===401&&!e.startsWith("/session")&&!e.startsWith("/auth/")&&L0(),new dn(h,r.status,g,b)}if(r.status!==204)return r.json()}function WL(e){return ge(()=>k3({client:ae,path:{name:e}}))}function YY(e){return ge(()=>A3({client:ae,path:{name:e}}))}function sf(e){return ge(()=>C3({client:ae,path:{id:e}}))}function z3(e){return ge(()=>j3({client:ae,path:{name:e}}))}function eV(e,n,i){return ge(()=>hM({client:ae,path:{name:e},query:{location:n,limit:i}}))}function D3(e,n){return ge(()=>ZB({client:ae,path:{name:e},query:{location:n?.location,since:n?.since}}))}function O3(e,n){return ge(()=>OP({client:ae,path:{name:e},body:n}))}function tV(e){return ge(()=>zP({client:ae,body:e}))}function nV(e,n){return ge(()=>nM({client:ae,path:{name:e},body:{queries:n}}))}function aV(e,n){return ge(()=>tM({client:ae,path:{name:e},body:{queries:n}}))}function XY(e,n){return ge(()=>eM({client:ae,path:{name:e},body:{queries:n}}))}function iV(e,n){return ge(()=>FB({client:ae,path:{name:e},body:n}))}function sV(e,n){return ge(()=>sM({client:ae,path:{name:e},body:{competitors:n}}))}function JY(e,n){return ge(()=>iM({client:ae,path:{name:e},body:{competitors:n}}))}function WY(e,n){return ge(()=>oM({client:ae,path:{name:e,id:n}}))}async function eX(e,n){const i=await WL(e);return O3(e,{displayName:n.displayName??i.displayName??i.name,canonicalDomain:n.canonicalDomain??i.canonicalDomain,ownedDomains:n.ownedDomains??i.ownedDomains,aliases:n.aliases??i.aliases,country:n.country??i.country,language:n.language??i.language,tags:i.tags,labels:i.labels,providers:n.providers??i.providers,providerModels:n.providerModels??i.providerModels??{},locations:n.locations??i.locations,defaultLocation:n.defaultLocation!==void 0?n.defaultLocation:i.defaultLocation,autoExtractBacklinks:i.autoExtractBacklinks})}function oV(e,n){const i={};return n?.location&&(i.location=n.location),n?.allLocations&&(i.allLocations=!0),n?.noLocation&&(i.noLocation=!0),ge(()=>lM({client:ae,path:{name:e},body:i}))}function tX(e,n){return ge(()=>XP({client:ae,path:{name:e},body:n}))}async function nX(e,n){await ge(()=>JP({client:ae,path:{name:e,label:n}}))}function aX(e,n){return ge(()=>WP({client:ae,path:{name:e},body:{label:n}}))}async function iX(e){await ge(()=>DP({client:ae,path:{name:e}}))}function sX(){return ge(()=>N3({client:ae}))}function wx(){return gs("/session")}function rV(e){return gs("/session/setup",{method:"POST",body:JSON.stringify({password:e})})}function lV(e){return gs("/session",{method:"POST",body:JSON.stringify({password:e})})}function cV(e){return gs("/session",{method:"POST",body:JSON.stringify({apiKey:e})})}function uV(){return gs("/session",{method:"DELETE"})}function Nh(){return ge(()=>vM({client:ae}))}function kx(){return gs("/auth/session")}function dV(e,n){return gs("/auth/login",{method:"POST",body:JSON.stringify({name:e,password:n})})}function Sx(){return gs("/auth/logout",{method:"POST"})}function q3(e,n){return ge(()=>yM({client:ae,path:{name:e},body:n}))}async function V0(e){for(let n=0;n<2;n+=1)try{await ge(()=>zM({client:ae,body:e}));return}catch(i){if(!(!(i instanceof dn)||i.statusCode>=500)||n===1)return}}function oX(e){return ge(()=>bM({client:ae,body:e}))}function rX(e,n){return ge(()=>jM({client:ae,path:{name:e},body:n}))}async function lX(e,n){await ge(()=>kM({client:ae,path:{name:e},query:n===void 0?void 0:{expectedUpdatedAt:n}}))}function cX(e){return ge(()=>CM({client:ae,path:{name:e}}))}function uX(e,n){return ge(()=>NM({client:ae,path:{name:e},body:n}))}async function dX(e,n){await ge(()=>_M({client:ae,path:{name:e,id:n}}))}function mX(e,n){return ge(()=>TM({client:ae,path:{name:e,id:n}}))}function mV(e,n,i){return ge(()=>aM({client:ae,path:{name:e},body:{provider:n,count:i}}))}function pV(e){return ge(()=>dM({client:ae,body:e}))}function hV(e){return ge(()=>uM({client:ae,body:e??{}}))}function pX(e,n){const i=FL();return ge(()=>tB({client:ae,path:{name:e},body:{type:n,...i?{publicUrl:i}:{}}}))}function hX(e,n){return ge(()=>nB({client:ae,path:{name:e,type:n}}))}function fX(e,n,i){return ge(()=>iB({client:ae,path:{name:e,type:n},body:{propertyId:i}}))}function gX(e,n,i){return ge(()=>sB({client:ae,path:{name:e,type:n},body:{sitemapUrl:i}}))}function fV(e,n){return ge(()=>oB({client:ae,path:{name:e},body:n??{}}))}function yX(e,n){const i={};return n&&n!=="all"&&(i.window=n),ge(()=>fM({client:ae,path:{name:e},query:i}))}function bX(e,n){return ge(()=>cB({client:ae,path:{name:e},body:{url:n}}))}function gV(e,n){return ge(()=>fB({client:ae,path:{name:e},body:n??{}}))}function vX(e,n){return ge(()=>hB({client:ae,path:{name:e},query:n?{sitemapIndex:n}:void 0}))}function xX(e,n){return ge(()=>EP({client:ae,path:{name:e},body:{sitemapUrls:n}}))}function yV(e,n){return ge(()=>EL({client:ae,path:{name:e},body:n??{}}))}function wX(e,n){return ge(()=>yL({client:ae,path:{name:e},body:n??{}}))}function kX(){return ge(()=>_3({client:ae}))}function SX(e,n){return ge(()=>wM({client:ae,body:{host:e,port:n}}))}function jX(e,n){return ge(()=>gB({client:ae,path:{name:e},body:n}))}function AX(e,n){return ge(()=>AB({client:ae,path:{name:e},body:{apiKey:n}}))}function CX(e){return ge(()=>CB({client:ae,path:{name:e}}))}function NX(e,n){return ge(()=>TB({client:ae,path:{name:e},body:{siteUrl:n}}))}function _X(e,n){return ge(()=>zB({client:ae,path:{name:e},body:{url:n}}))}function TX(e,n){return ge(()=>DB({client:ae,path:{name:e},body:{}}))}function EX(e,n){return ge(()=>OB({client:ae,path:{name:e},body:n}))}function RX(e){return ge(()=>xM({client:ae,body:{apiKey:e}}))}function I3(e){return e?/filename\s*=\s*"?([^";]+)"?/i.exec(e)?.[1]??null:null}async function zX(e,n="agency",i){const r=new URLSearchParams({audience:n});i!==void 0&&r.set("period",String(i));const u=await fetch(M0(`${B0}/projects/${encodeURIComponent(e)}/report.html?${r.toString()}`),{credentials:"same-origin",headers:{}});if(!u.ok)throw new dn(`Failed to download report: ${u.status}`,u.status);const h=await u.blob(),g=URL.createObjectURL(h),b=I3(u.headers.get("Content-Disposition"))??`canonry-report-${e}.html`,v=document.createElement("a");v.href=g,v.download=b,document.body.appendChild(v),v.click(),document.body.removeChild(v),URL.revokeObjectURL(g)}async function DX(e,n){const i=await fetch(`${B0}/projects/${encodeURIComponent(e)}/results/export?format=${n}`,{credentials:"same-origin",headers:{}});if(!i.ok)throw new dn(`Failed to download results: ${i.status}`,i.status);const r=await i.blob(),u=URL.createObjectURL(r),h=I3(i.headers.get("Content-Disposition"))??`canonry-results-${e}.${n}`,g=document.createElement("a");g.href=u,g.download=h,document.body.appendChild(g),g.click(),document.body.removeChild(g),URL.revokeObjectURL(u)}function OX(e,n){return ge(()=>BB({client:ae,path:{name:e},body:{}}))}function qX(e,n){return ge(()=>IB({client:ae,path:{name:e},body:n}))}function IX(e){return ge(()=>PB({client:ae,path:{name:e}}))}function PX(e,n){return ge(()=>lL({client:ae,path:{name:e},body:n}))}function MX(e,n){return ge(()=>cL({client:ae,path:{name:e},body:n}))}function BX(e,n){return ge(()=>uL({client:ae,path:{name:e},body:n}))}function LX(e,n,i){return ge(()=>dL({client:ae,path:{name:e,id:n},body:i??{}}))}function VX(e,n,i){return ge(()=>mL({client:ae,path:{name:e,id:n},body:{}}))}function $X(e,n){return ge(()=>GB({client:ae,path:{name:e},query:{runId:n}}))}function bV(e){if(!e||typeof e!="object")return;const n=e;if(!(typeof n.current!="string"||typeof n.latest!="string"||typeof n.url!="string"||typeof n.upgradeCommand!="string"))return{current:n.current,latest:n.latest,url:n.url,upgradeCommand:n.upgradeCommand}}async function vV(e,n){const i=ZL(e);try{const r=await fetch(i,{credentials:"same-origin"});if(!r.ok)return{label:n,state:"error",detail:`${n} ${r.status}: ${r.statusText}`,statusCode:r.status,hint:YL(e,r.status)};const u=await r.json(),h=typeof u.version=="string"?u.version:"unknown",g=typeof u.databaseUrlConfigured=="boolean"?u.databaseUrlConfigured:void 0,b=typeof u.lastHeartbeatAt=="string"?u.lastHeartbeatAt:void 0,v=bV(u.updateAvailable),w=QI.safeParse(u.mcp),S=[h,g===!1?"database not configured":"database configured",b?`heartbeat ${b}`:void 0].filter(Boolean).join(" · ");return{label:n,state:"ok",detail:S,version:h,databaseConfigured:g,lastHeartbeatAt:b,...v?{updateAvailable:v}:{},...w.success?{mcp:w.data}:{}}}catch(r){return{label:n,state:"error",detail:r instanceof Error?r.message:"unreachable",hint:e==="/health"?`Request failed while checking ${i}. If this instance is served behind a sub-path, verify the dashboard basePath and reverse-proxy rewrites.`:void 0}}}function UX(){return ge(()=>YB({client:ae}))}function GX(){return ge(()=>XB({client:ae}))}function KX(){return ge(()=>eL({client:ae}))}function HX(){return ge(()=>JB({client:ae}))}function QX(e){return ge(()=>WB({client:ae,body:e?{release:e}:{}}))}function FX(){return ge(()=>tL({client:ae}))}function ZX(){return ge(()=>nL({client:ae}))}function YX(e){return ge(()=>aL({client:ae,path:{release:e}}))}function XX(e,n={}){return ge(()=>sL({client:ae,path:{name:e},query:{release:n.release,excludeCrawlers:n.excludeCrawlers?"1":void 0,source:n.source}}))}function JX(e,n={}){return ge(()=>oL({client:ae,path:{name:e},query:{limit:n.limit!==void 0?String(n.limit):void 0,offset:n.offset!==void 0?String(n.offset):void 0,release:n.release,excludeCrawlers:n.excludeCrawlers?"1":void 0,source:n.source}}))}function WX(e,n={}){return ge(()=>rL({client:ae,path:{name:e},query:{source:n.source}}))}function eJ(e,n){return ge(()=>iL({client:ae,path:{name:e},body:{release:void 0}}))}const P3={account:null,canWrite:!0,isAdmin:!0},xV={account:null,canWrite:!1,isAdmin:!1};function wV(e){const n=e.scopes.includes(px);return{account:null,canWrite:!e.readOnly&&n,isAdmin:e.projectId===null&&e.scopes.includes(px)}}const M3=_.createContext(P3);function kV({account:e,apiKey:n,apiKeyPending:i=!1,children:r}){const u=i?xV:n?wV(n):e?{account:e,canWrite:e.role==="admin",isAdmin:e.role==="admin"}:P3;return c.jsx(M3.Provider,{value:u,children:r})}function pa(){return _.useContext(M3)}const B3="View only — your account cannot change this.";function Zt(e){return(...n)=>{e(...n)}}const SV=6e3,jV=5,AV=180;let yn=[],CV=0;const of=new Set,rf=new Map,lf=new Map;function rd(){const e=[...yn];for(const n of of)n(e)}function $0(e){const n=rf.get(e);n&&(clearTimeout(n),rf.delete(e));const i=lf.get(e);i&&(clearTimeout(i),lf.delete(e))}function L3(e){$0(e);const n=yn.length;yn=yn.filter(i=>i.id!==e),yn.length!==n&&rd()}function jx(e){$0(e.id),rf.set(e.id,setTimeout(()=>{cf(e.id)},e.durationMs))}function NV(e,n,i){return typeof e=="string"?{title:e,tone:n,durationMs:i}:e}function tn(e,n="negative",i=SV){const r=NV(e,n,i),u={id:String(++CV),title:r.title,detail:r.detail,tone:r.tone??n,durationMs:r.durationMs??i,dedupeKey:r.dedupeKey,cta:r.cta,state:"open"};if(r.dedupeKey){const h=yn.find(g=>g.dedupeKey===r.dedupeKey);if(h){if((r.dedupeMode??"drop")==="drop")return h.id;const g={...h,title:u.title,detail:u.detail,tone:u.tone,durationMs:u.durationMs,cta:u.cta,state:"open"};return yn=yn.map(b=>b.id===h.id?g:b),rd(),jx(g),h.id}}return yn.length>=jV&&L3(yn[0].id),yn=[...yn,u],rd(),jx(u),u.id}function cf(e){const n=yn.find(i=>i.id===e);!n||n.state==="closing"||($0(e),yn=yn.map(i=>i.id===e?{...i,state:"closing"}:i),rd(),lf.set(e,setTimeout(()=>{L3(e)},AV)))}function _V(e){return of.add(e),()=>{of.delete(e)}}function Ax(){return yn}const TV=5*6e4,Hu=30*6e4,tJ=3e4,nJ=6e4,ur=3e4,EV=2e3,RV=3e4;function zV(){return new P4({defaultOptions:{queries:{staleTime:TV,retry:1,refetchOnWindowFocus:!1}},mutationCache:new M4({onError:(n,i,r,u)=>{u.meta?.skipGlobalErrorToast||tn({title:n instanceof Error?n.message:"An unexpected error occurred",tone:"negative"})}})})}const DV="modulepreload",OV=function(e,n){return new URL(e,n).href},Cx={},wi=function(n,i,r){let u=Promise.resolve();if(i&&i.length>0){let w=function(S){return Promise.all(S.map(A=>Promise.resolve(A).then(T=>({status:"fulfilled",value:T}),T=>({status:"rejected",reason:T}))))};const g=document.getElementsByTagName("link"),b=document.querySelector("meta[property=csp-nonce]"),v=b?.nonce||b?.getAttribute("nonce");u=w(i.map(S=>{if(S=OV(S,r),S in Cx)return;Cx[S]=!0;const A=S.endsWith(".css"),T=A?'[rel="stylesheet"]':"";if(r)for(let F=g.length-1;F>=0;F--){const R=g[F];if(R.href===S&&(!A||R.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${S}"]${T}`))return;const C=document.createElement("link");if(C.rel=A?"stylesheet":DV,A||(C.as="script"),C.crossOrigin="",C.href=S,v&&C.setAttribute("nonce",v),document.head.appendChild(C),A)return new Promise((F,R)=>{C.addEventListener("load",F),C.addEventListener("error",()=>R(new Error(`Unable to preload CSS for ${S}`)))})}))}function h(g){const b=new Event("vite:preloadError",{cancelable:!0});if(b.payload=g,window.dispatchEvent(b),!b.defaultPrevented)throw g}return u.then(g=>{for(const b of g||[])b.status==="rejected"&&h(b.reason);return n().catch(h)})};var qV=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(qV||{});const aJ={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},iJ={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},IV=h0;function PV(e){const n=[];if(e.message&&n.push(e.message),e.providers)for(const[i,r]of Object.entries(e.providers)){const u=`[${i}] ${r.message}`;r.raw!==void 0?n.push(`${u}
53
+
54
+ ${JSON.stringify(r.raw,null,2)}`):n.push(u)}return n.length>0?n.join(`
55
+
56
+ `):"Run failed."}function MV(e){return e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function sJ(e){if(!e)return"—";try{return new Date(e).toLocaleString()}catch{return e}}function oJ(e){return e===null?"Unknown":e?"Pass":"Fail"}function Nx(e){return e===0?"12:00 AM":e<12?`${e}:00 AM`:e===12?"12:00 PM":`${e-12}:00 PM`}function rJ(e,n){return e==="twice-daily"?"twice-daily":e.startsWith("weekly@")?`${e}@${n}`:`daily@${n}`}function lJ(e,n){if(!e)return{freq:"custom",hour:6,customCron:n};if(e==="twice-daily")return{freq:"twice-daily",hour:6,customCron:""};const i=e.match(/^daily(?:@(\d+))?$/);if(i)return{freq:"daily",hour:i[1]?parseInt(i[1]):6,customCron:""};const r=e.match(/^(weekly@(?:mon|tue|wed|thu|fri|sat|sun))(?:@(\d+))?$/);return r?{freq:r[1],hour:r[2]?parseInt(r[2]):6,customCron:""}:{freq:"custom",hour:6,customCron:n}}function cJ(e,n,i){const r=i==="UTC"?"UTC":i.split("/").pop()?.replace(/_/g," ")??i;if(!e)return`Custom: ${n} · ${r}`;if(e==="twice-daily")return`Twice a day (6am & 6pm) · ${r}`;const u=e.match(/^daily(?:@(\d+))?$/);if(u){const g=u[1]?parseInt(u[1]):6;return`Every day at ${Nx(g)} · ${r}`}const h=e.match(/^weekly@(mon|tue|wed|thu|fri|sat|sun)(?:@(\d+))?$/);if(h){const g={mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday",sun:"Sunday"},b=h[2]?parseInt(h[2]):6;return`Every ${g[h[1]]} at ${Nx(b)} · ${r}`}return`${e} · ${r}`}function BV(e,n){return n&&n!==e?`${e} · ${n}`:e}function uJ(){const e=Intl.DateTimeFormat().resolvedOptions().timeZone,n=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts().find(i=>i.type==="timeZoneName")?.value;return BV(e,n)}function LV(e){const n=e.replace(/\/+$/,"")||"/";return n==="/"?"overview":n==="/projects"?"projects":n.startsWith("/projects/")?"project":n==="/runs"?"runs":n==="/traffic"||n.startsWith("/traffic/")?"traffic":n==="/backlinks"?"backlinks":n==="/settings"?"settings":n==="/setup"?"setup":"other"}function VV(e,n){return!n||n.includes(e)}const V3=["overview","search-console","local","report","activity","backlinks","technical-aeo","history","settings"],$V=new Set(V3);function UV(e){const n=e??V3,i=[...new Set(n.filter(r=>$V.has(r)))];return i.length>0?i:["overview"]}function dJ(e){return e?UV(e.projectTabs):void 0}function mJ(e,n){return VV(e,n)||!n?e:n.includes("overview")?"overview":n[0]??"overview"}const _x={bg:"--canonry-embed-bg",fg:"--canonry-embed-fg",accent:"--color-link"},GV=/^(?:#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})|rgba?\([0-9.,%\s/]+\)|hsla?\([0-9.,%\s/a-z]+\))$/i;function KV(e){const n=e?.mode?.trim();return n==="light"||n==="dark"?n:void 0}function HV(e){if(!e)return{};const n={};for(const[i,r]of Object.entries(e)){const u=Object.hasOwn(_x,i)?_x[i]:void 0;if(!u||typeof r!="string")continue;const h=r.trim();GV.test(h)&&(n[u]=h)}return n}const de=(e,n,i,r)=>{const u={_id:e,baseUrl:n?.baseUrl||(n?.client??O).getConfig().baseUrl};return i&&(u._infinite=i),n?.body&&(u.body=n.body),n?.headers&&(u.headers=n.headers),n?.path&&(u.path=n.path),n?.query&&(u.query=n.query),[u]},ls=e=>de("getApiV1Projects",e),so=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await RP({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:ls(e)}),QV=e=>de("getApiV1ProjectsByName",e),FV=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await k3({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:QV(e)}),ZV=e=>de("getApiV1ProjectsByNameMeasurementPlan",e),pJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await qP({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:ZV(e)}),YV=e=>de("getApiV1ProjectsByNameMeasurementReport",e),hJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await IP({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:YV(e)}),XV=e=>de("getApiV1ProjectsByNameMeasurementSetup",e),JV=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await PP({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:XV(e)}),lc=(e,n)=>{const i={...e[0]};return n.body&&(i.body={...e[0].body,...n.body}),n.headers&&(i.headers={...e[0].headers,...n.headers}),n.path&&(i.path={...e[0].path,...n.path}),n.query&&(i.query={...e[0].query,...n.query}),i},fJ=e=>({mutationFn:async i=>{const{data:r}=await MP({...e,...i,throwOnError:!0});return r}}),WV=e=>de("getApiV1ProjectsByNameMeasurementOverview",e),gJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await S3({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:WV(e)}),e$=e=>de("getApiV1ProjectsByNameMeasurementOverview",e,!0),yJ=e=>Yl({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=lc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await S3({...e,...h,signal:r,throwOnError:!0});return g},queryKey:e$(e)}),t$=e=>de("getApiV1ProjectsByNameVisibilityReport",e),bJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await BP({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:t$(e)}),n$=e=>de("getApiV1ProjectsByNameMeasurementPropertyEvidence",e,!0),vJ=e=>Yl({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=lc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await LP({...e,...h,signal:r,throwOnError:!0});return g},queryKey:n$(e)}),a$=e=>de("getApiV1ProjectsByNameMeasurementQuestionResult",e),xJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await VP({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:a$(e)}),i$=e=>de("getApiV1ProjectsByNameMeasurementPropertyCompetitors",e),wJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await $P({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:i$(e)}),s$=e=>de("getApiV1ProjectsByNameMeasurementQueryTemplates",e),kJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await UP({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:s$(e)}),SJ=e=>({mutationFn:async i=>{const{data:r}=await GP({...e,...i,throwOnError:!0});return r}}),o$=e=>de("getApiV1ProjectsByNameResearchRuns",e,!0),jJ=e=>Yl({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=lc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await KP({...e,...h,signal:r,throwOnError:!0});return g},queryKey:o$(e)}),AJ=e=>({mutationFn:async i=>{const{data:r}=await HP({...e,...i,throwOnError:!0});return r}}),r$=e=>de("getApiV1ProjectsByNameQueryTracking",e),CJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await QP({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:r$(e)}),NJ=e=>({mutationFn:async i=>{const{data:r}=await FP({...e,...i,throwOnError:!0});return r}}),_J=e=>({mutationFn:async i=>{const{data:r}=await ZP({...e,...i,throwOnError:!0});return r}}),l$=e=>de("getApiV1ProjectsByNameResearchRunsByRunId",e),TJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await YP({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:l$(e)}),$3=e=>de("getApiV1ProjectsByNameQueries",e),EJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await j3({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:$3(e)}),c$=e=>de("getApiV1ProjectsByNameAnalyticsCompetitors",e),RJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await rM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:c$(e)}),u$=e=>de("getApiV1ProjectsByNameRuns",e),U3=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await A3({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:u$(e)}),U0=e=>de("getApiV1Runs",e),Kd=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await cM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:U0(e)}),d$=e=>de("getApiV1RunsById",e),G0=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await C3({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:d$(e)}),m$=e=>de("getApiV1ProjectsByNameHistory",e),zJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await mM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:m$(e)}),p$=e=>de("getApiV1History",e),DJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await pM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:p$(e)}),h$=e=>de("getApiV1ProjectsByNameSnapshotsDiff",e),OJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await gM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:h$(e)}),f$=e=>de("getApiV1Settings",e),g$=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await N3({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:f$(e)}),y$=e=>de("getApiV1ProjectsByNameSchedule",e),b$=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await SM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:y$(e)}),v$=e=>de("getApiV1ProjectsByNameSchedules",e),qJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await AM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:v$(e)}),G3=e=>de("getApiV1Telemetry",e),x$=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await EM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:G3(e)}),w$=e=>({mutationFn:async i=>{const{data:r}=await RM({...e,...i,throwOnError:!0});return r}}),k$=e=>de("getApiV1CdpStatus",e),S$=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await _3({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:k$(e)}),j$=e=>de("getApiV1ProjectsByNameGoogleAdsStatus",e),IJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await DM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:j$(e)}),PJ=e=>({mutationFn:async i=>{const{data:r}=await OM({...e,...i,throwOnError:!0});return r}}),A$=e=>de("getApiV1ProjectsByNameGoogleAdsCustomers",e),MJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await qM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:A$(e)}),BJ=e=>({mutationFn:async i=>{const{data:r}=await IM({...e,...i,throwOnError:!0});return r}}),LJ=e=>({mutationFn:async i=>{const{data:r}=await PM({...e,...i,throwOnError:!0});return r}}),C$=e=>de("getApiV1ProjectsByNameGoogleAdsPerformance",e),VJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await MM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:C$(e)}),N$=e=>de("getApiV1ProjectsByNameGoogleAdsSnapshots",e),$J=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await BM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:N$(e)}),UJ=e=>({mutationFn:async i=>{const{data:r}=await LM({...e,...i,throwOnError:!0});return r}}),_$=e=>de("getApiV1ProjectsByNameGtmStatus",e),GJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await VM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_$(e)}),KJ=e=>({mutationFn:async i=>{const{data:r}=await $M({...e,...i,throwOnError:!0});return r}}),T$=e=>de("getApiV1ProjectsByNameGtmAccounts",e),HJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await UM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:T$(e)}),E$=e=>de("getApiV1ProjectsByNameGtmAccountsByAccountIdContainers",e),QJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await GM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:E$(e)}),R$=e=>de("getApiV1ProjectsByNameGtmAccountsByAccountIdContainersByContainerIdWorkspaces",e),FJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await KM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:R$(e)}),ZJ=e=>({mutationFn:async i=>{const{data:r}=await HM({...e,...i,throwOnError:!0});return r}}),YJ=e=>({mutationFn:async i=>{const{data:r}=await QM({...e,...i,throwOnError:!0});return r}}),z$=e=>de("getApiV1ProjectsByNameGtmSnapshots",e),XJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await FM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:z$(e)}),JJ=e=>({mutationFn:async i=>{const{data:r}=await ZM({...e,...i,throwOnError:!0});return r}}),D$=e=>de("getApiV1ProjectsByNameConversionTrackingOptions",e),WJ=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await YM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:D$(e)}),O$=e=>de("getApiV1ProjectsByNameConversionTrackingContracts",e),eW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await XM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:O$(e)}),tW=e=>({mutationFn:async i=>{const{data:r}=await JM({...e,...i,throwOnError:!0});return r}}),q$=e=>de("getApiV1ProjectsByNameConversionTrackingContractsByContractIdIntegrity",e),nW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await WM({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:q$(e)}),I$=e=>de("getApiV1ProjectsByNameGoogleConnections",e),aW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await eB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:I$(e)}),P$=e=>de("getApiV1ProjectsByNameGoogleProperties",e),iW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await aB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:P$(e)}),M$=e=>de("getApiV1ProjectsByNameGoogleGscPerformance",e),sW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await rB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:M$(e)}),B$=e=>de("getApiV1ProjectsByNameGoogleGscPerformanceDaily",e),oW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await lB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:B$(e)}),L$=e=>de("getApiV1ProjectsByNameGoogleGscInspections",e),rW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await uB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:L$(e)}),V$=e=>de("getApiV1ProjectsByNameGoogleGscDeindexed",e),lW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await dB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:V$(e)}),$$=e=>de("getApiV1ProjectsByNameGoogleGscCoverage",e),cW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await mB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:$$(e)}),U$=e=>de("getApiV1ProjectsByNameGoogleGscCoverageHistory",e),uW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await pB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:U$(e)}),dW=e=>de("getApiV1ProjectsByNameGoogleGscSitemaps",e),G$=e=>de("getApiV1ProjectsByNameGbpLocations",e),mW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await yB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:G$(e)}),pW=e=>({mutationFn:async i=>{const{data:r}=await bB({...e,...i,throwOnError:!0});return r}}),hW=e=>({mutationFn:async i=>{const{data:r}=await vB({...e,...i,throwOnError:!0});return r}}),K$=e=>de("getApiV1ProjectsByNameGbpKeywords",e),fW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await xB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:K$(e)}),H$=e=>de("getApiV1ProjectsByNameGbpPlaceActions",e),gW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await wB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:H$(e)}),Q$=e=>de("getApiV1ProjectsByNameGbpLodging",e),yW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await kB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:Q$(e)}),F$=e=>de("getApiV1ProjectsByNameGbpPlaces",e),bW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await SB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:F$(e)}),Z$=e=>de("getApiV1ProjectsByNameGbpSummary",e),vW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await jB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:Z$(e)}),Y$=e=>de("getApiV1ProjectsByNameBingStatus",e),xW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await NB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:Y$(e)}),X$=e=>de("getApiV1ProjectsByNameBingSites",e),wW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await _B({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:X$(e)}),J$=e=>de("getApiV1ProjectsByNameBingCoverage",e),kW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await EB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:J$(e)}),W$=e=>de("getApiV1ProjectsByNameBingInspections",e),SW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await RB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:W$(e)}),eU=e=>de("getApiV1ProjectsByNameBingPerformance",e),jW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await qB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:eU(e)}),tU=e=>de("getApiV1ProjectsByNameGaStatus",e),AW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await MB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:tU(e)}),nU=e=>de("getApiV1ProjectsByNameGaTraffic",e),CW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await LB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:nU(e)}),aU=e=>de("getApiV1ProjectsByNameGaAiReferralDaily",e),NW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await VB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:aU(e)}),iU=e=>de("getApiV1ProjectsByNameGaSocialReferralHistory",e),_W=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await $B({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:iU(e)}),sU=e=>de("getApiV1ProjectsByNameGaSessionHistory",e),TW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await UB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:sU(e)}),oU=e=>de("getApiV1ProjectsByNameReport",e),EW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await KB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:oU(e)}),rU=e=>de("getApiV1ProjectsByNameHealthHistory",e),RW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await HB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:rU(e)}),lU=e=>de("getApiV1ProjectsByNameCitationsVisibility",e),zW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await QB({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:lU(e)}),cU=e=>de("getApiV1ProjectsByNameTrafficSources",e),DW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await pL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:cU(e)}),uU=e=>de("getApiV1ProjectsByNameTrafficStatus",e),OW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await hL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:uU(e)}),dU=e=>de("getApiV1ProjectsByNameTrafficSourcesById",e),qW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await fL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:dU(e)}),mU=e=>de("getApiV1ProjectsByNameTrafficEvents",e),IW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await gL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:mU(e)}),pU=e=>de("getApiV1ProjectsByNameDiscoverSessions",e),PW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await bL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:pU(e)}),hU=e=>de("getApiV1ProjectsByNameDiscoverSessionsById",e),MW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await vL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:hU(e)}),fU=e=>de("getApiV1ProjectsByNameTechnicalAeo",e),gU=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await xL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:fU(e)}),yU=e=>de("getApiV1ProjectsByNameTechnicalAeoPages",e),BW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await wL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:yU(e)}),bU=e=>de("getApiV1ProjectsByNameTechnicalAeoTrend",e),LW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await kL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:bU(e)}),vU=e=>de("getApiV1ProjectsByNameTechnicalAeoCrawl",e),VW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await SL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:vU(e)}),xU=e=>de("getApiV1ProjectsByNameTechnicalAeoGraph",e),$W=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await jL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:xU(e)}),wU=e=>de("getApiV1ProjectsByNameTechnicalAeoCrawlPagesAudit",e),UW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await AL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:wU(e)}),kU=e=>de("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e),GW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await T3({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:kU(e)}),SU=e=>de("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e,!0),KW=e=>Yl({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=lc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await T3({...e,...h,signal:r,throwOnError:!0});return g},queryKey:SU(e)}),jU=e=>de("getApiV1ProjectsByNameTechnicalAeoStructure",e,!0),HW=e=>Yl({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=lc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await CL({...e,...h,signal:r,throwOnError:!0});return g},queryKey:jU(e)}),AU=e=>de("getApiV1ProjectsByNameTechnicalAeoInternalLinksNeighbors",e),QW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await NL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:AU(e)}),CU=e=>de("getApiV1ProjectsByNameTechnicalAeoDeadLinks",e),FW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await _L({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:CU(e)}),NU=e=>de("getApiV1ProjectsByNameTechnicalAeoRuns",e),ZW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await TL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:NU(e)}),_U=e=>de("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdProgress",e),YW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await RL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_U(e)}),TU=e=>de("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdPageHealthPreview",e),XW=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await zL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:TU(e)}),EU=e=>de("getApiV1ProjectsByNameAgentProviders",e),RU=e=>he({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await DL({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:EU(e)});function Tx(e){return e.state==="ok"?"positive":e.state==="checking"||e.state==="disabled"?"neutral":"negative"}function K3(e){switch(e){case"completed":return"positive";case"partial":return"caution";case"failed":return"negative";case"cancelled":return"caution";case"queued":case"running":return"neutral";default:return"neutral"}}function JW(e){switch(e){case"cited":return"positive";case"emerging":return"caution";case"not-cited":return"caution";case"lost":return"negative";case"pending":return"neutral";default:return"neutral"}}const WW={positive:"text-positive-400",caution:"text-caution-400",negative:"text-negative-400",neutral:"text-secondary"};function zU(e){return e.displayName??e.name.charAt(0).toUpperCase()+e.name.slice(1)}function dr(e){const n=[e.detail,e.hint].filter(Boolean);return n.length>0?n.join(`
57
+ `):void 0}function DU(e,n,i){const r=e.filter(g=>g.id!=="mcp").map(g=>{if(g.id==="api")return{...g,tone:Tx(n.apiStatus),detail:n.apiStatus.state==="ok"?"Healthy":"Needs attention",meta:n.apiStatus.detail};if(g.id==="worker")return{...g,tone:Tx(n.workerStatus),detail:n.workerStatus.state==="ok"?"Healthy":n.workerStatus.state==="disabled"?"Disabled":"Needs attention",meta:n.workerStatus.detail};const b=i.providerStatuses.filter(A=>A.state==="ready").length,v=i.providerStatuses.length,w=b>0,S=i.providerStatuses.filter(A=>A.state==="ready").map(A=>zU(A)).join(" · ");return{...g,label:"Providers",tone:w?"positive":"caution",detail:`${b} of ${v} configured`,meta:S||"None configured"}}),u=n.apiStatus.mcp,h={id:"mcp",label:"MCP",tone:"neutral",detail:"Unknown",meta:"MCP status is not available from this server."};return n.apiStatus.state==="checking"?(h.detail="Checking",h.meta="Checking MCP availability."):n.apiStatus.state==="ok"&&u&&(u.status==="available"?(h.tone="positive",h.detail="Available",h.meta="MCP is available for agent connections. This checks the server transport, not an individual client connection."):u.status==="unavailable"?(h.tone="negative",h.detail="Unavailable",h.meta="The MCP transport is not fully available. Contact your Canonry team."):(h.detail="Not enabled",h.meta="This server does not provide an MCP endpoint.")),r.splice(Math.max(0,r.findIndex(g=>g.id==="api")+1),0,h),r}function OU(e,n){if(e.apiStatus.state!=="ok")return"Launch is blocked until the API responds cleanly.";if(e.apiStatus.databaseConfigured===!1)return"Launch is blocked until the API has a database connection configured.";if(e.workerStatus.state!=="ok")return"Launch is blocked until the worker is healthy and heartbeats are current.";if(!n.providerStatuses.some(i=>i.state==="ready"))return"Launch is blocked until at least one provider is configured."}function qU(e,n,i){const r=OU(n,i),u=structuredClone(e);return u.healthChecks=u.healthChecks.map(h=>{if(h.id==="api")return{...h,detail:n.apiStatus.detail,state:n.apiStatus.state==="ok"?"ready":"attention"};if(h.id==="worker")return{...h,detail:n.workerStatus.detail,state:n.workerStatus.state==="ok"?"ready":"attention"};const g=i.providerStatuses.some(b=>b.state==="ready");return{...h,detail:g?"At least one provider configured.":"No providers configured.",state:g?"ready":"attention"}}),u.launchState.enabled=r===void 0,u.launchState.blockedReason=r,u.launchState.summary=r??"Queue a visibility sweep first, then follow with a site audit to explain movement.",u}const H3="canonry.run-tracker",uf=new Set;let Ex=!1,IU=0,Hd={runs:{},batches:{}};function PU(){const e=xi();for(const n of uf)n(e)}function MU(e){if(!e)return{runs:{},batches:{}};try{const n=JSON.parse(e);return{runs:n.runs??{},batches:n.batches??{}}}catch{return{runs:{},batches:{}}}}function BU(){typeof window>"u"||window.sessionStorage.setItem(H3,JSON.stringify(Hd))}function Q3(){Ex||(Ex=!0,!(typeof window>"u")&&(Hd=MU(window.sessionStorage.getItem(H3))))}function Qd(e){Hd=e,BU(),PU()}function xi(){return Q3(),Hd}function F3(e){return Q3(),uf.add(e),()=>{uf.delete(e)}}function K0(e){const n=xi();Qd({...n,runs:{...n.runs,[e.id]:{runId:e.id,projectId:e.projectId,projectLabel:e.projectLabel,kind:e.kind,sourceAction:e.sourceAction,lastAnnouncedStatus:e.lastAnnouncedStatus??"queued",trackedAt:e.trackedAt??Date.now()}}})}function _h(e){const n=xi();if(!n.runs[e])return;const{[e]:i,...r}=n.runs;Qd({...n,runs:r})}function LU(e){const n=xi(),i=`batch_${Date.now()}_${++IU}`;return Qd({...n,batches:{...n.batches,[i]:{batchId:i,runIds:e.runIds,queuedCount:e.queuedCount,skippedCount:e.skippedCount}}}),i}function VU(e){const n=xi();if(!n.batches[e])return;const{[e]:i,...r}=n.batches;Qd({...n,batches:r})}function $U(e){return e==="completed"||e==="partial"||e==="failed"||e==="cancelled"}const UU=10*6e4;function GU(e,n,i,r){return e.filter(u=>!n.has(u.runId)&&i-(u.trackedAt??0)>=r)}function KU(e,n){let i=0,r=0,u=0,h=0,g=0;for(const b of e){const v=n[b]?.status;v==="completed"?i+=1:v==="partial"?r+=1:v==="failed"?u+=1:v==="cancelled"?h+=1:g+=1}return{completed:i,partial:r,failed:u,cancelled:h,pending:g,finished:g===0}}const Rx=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,zx=xw,Z3=(e,n)=>i=>{var r;if(n?.variants==null)return zx(e,i?.class,i?.className);const{variants:u,defaultVariants:h}=n,g=Object.keys(u).map(w=>{const S=i?.[w],A=h?.[w];if(S===null)return null;const T=Rx(S)||Rx(A);return u[w][T]}),b=i&&Object.entries(i).reduce((w,S)=>{let[A,T]=S;return T===void 0||(w[A]=T),w},{}),v=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((w,S)=>{let{class:A,className:T,...C}=S;return Object.entries(C).every(F=>{let[R,M]=F;return Array.isArray(M)?M.includes({...h,...b}[R]):{...h,...b}[R]===M})?[...w,A,T]:w},[]);return zx(e,g,v,i?.class,i?.className)},HU=(e,n)=>{const i=new Array(e.length+n.length);for(let r=0;r<e.length;r++)i[r]=e[r];for(let r=0;r<n.length;r++)i[e.length+r]=n[r];return i},QU=(e,n)=>({classGroupId:e,validator:n}),Y3=(e=new Map,n=null,i)=>({nextPart:e,validators:n,classGroupId:i}),ld="-",Dx=[],FU="arbitrary..",ZU=e=>{const n=XU(e),{conflictingClassGroups:i,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:g=>{if(g.startsWith("[")&&g.endsWith("]"))return YU(g);const b=g.split(ld),v=b[0]===""&&b.length>1?1:0;return X3(b,v,n)},getConflictingClassGroupIds:(g,b)=>{if(b){const v=r[g],w=i[g];return v?w?HU(w,v):v:w||Dx}return i[g]||Dx}}},X3=(e,n,i)=>{if(e.length-n===0)return i.classGroupId;const u=e[n],h=i.nextPart.get(u);if(h){const w=X3(e,n+1,h);if(w)return w}const g=i.validators;if(g===null)return;const b=n===0?e.join(ld):e.slice(n).join(ld),v=g.length;for(let w=0;w<v;w++){const S=g[w];if(S.validator(b))return S.classGroupId}},YU=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),i=n.indexOf(":"),r=n.slice(0,i);return r?FU+r:void 0})(),XU=e=>{const{theme:n,classGroups:i}=e;return JU(i,n)},JU=(e,n)=>{const i=Y3();for(const r in e){const u=e[r];H0(u,i,r,n)}return i},H0=(e,n,i,r)=>{const u=e.length;for(let h=0;h<u;h++){const g=e[h];WU(g,n,i,r)}},WU=(e,n,i,r)=>{if(typeof e=="string"){eG(e,n,i);return}if(typeof e=="function"){tG(e,n,i,r);return}nG(e,n,i,r)},eG=(e,n,i)=>{const r=e===""?n:J3(n,e);r.classGroupId=i},tG=(e,n,i,r)=>{if(aG(e)){H0(e(r),n,i,r);return}n.validators===null&&(n.validators=[]),n.validators.push(QU(i,e))},nG=(e,n,i,r)=>{const u=Object.entries(e),h=u.length;for(let g=0;g<h;g++){const[b,v]=u[g];H0(v,J3(n,b),i,r)}},J3=(e,n)=>{let i=e;const r=n.split(ld),u=r.length;for(let h=0;h<u;h++){const g=r[h];let b=i.nextPart.get(g);b||(b=Y3(),i.nextPart.set(g,b)),i=b}return i},aG=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,iG=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,i=Object.create(null),r=Object.create(null);const u=(h,g)=>{i[h]=g,n++,n>e&&(n=0,r=i,i=Object.create(null))};return{get(h){let g=i[h];if(g!==void 0)return g;if((g=r[h])!==void 0)return u(h,g),g},set(h,g){h in i?i[h]=g:u(h,g)}}},df="!",Ox=":",sG=[],qx=(e,n,i,r,u)=>({modifiers:e,hasImportantModifier:n,baseClassName:i,maybePostfixModifierPosition:r,isExternal:u}),oG=e=>{const{prefix:n,experimentalParseClassName:i}=e;let r=u=>{const h=[];let g=0,b=0,v=0,w;const S=u.length;for(let R=0;R<S;R++){const M=u[R];if(g===0&&b===0){if(M===Ox){h.push(u.slice(v,R)),v=R+1;continue}if(M==="/"){w=R;continue}}M==="["?g++:M==="]"?g--:M==="("?b++:M===")"&&b--}const A=h.length===0?u:u.slice(v);let T=A,C=!1;A.endsWith(df)?(T=A.slice(0,-1),C=!0):A.startsWith(df)&&(T=A.slice(1),C=!0);const F=w&&w>v?w-v:void 0;return qx(h,C,T,F)};if(n){const u=n+Ox,h=r;r=g=>g.startsWith(u)?h(g.slice(u.length)):qx(sG,!1,g,void 0,!0)}if(i){const u=r;r=h=>i({className:h,parseClassName:u})}return r},rG=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((i,r)=>{n.set(i,1e6+r)}),i=>{const r=[];let u=[];for(let h=0;h<i.length;h++){const g=i[h],b=g[0]==="[",v=n.has(g);b||v?(u.length>0&&(u.sort(),r.push(...u),u=[]),r.push(g)):u.push(g)}return u.length>0&&(u.sort(),r.push(...u)),r}},lG=e=>({cache:iG(e.cacheSize),parseClassName:oG(e),sortModifiers:rG(e),...ZU(e)}),cG=/\s+/,uG=(e,n)=>{const{parseClassName:i,getClassGroupId:r,getConflictingClassGroupIds:u,sortModifiers:h}=n,g=[],b=e.trim().split(cG);let v="";for(let w=b.length-1;w>=0;w-=1){const S=b[w],{isExternal:A,modifiers:T,hasImportantModifier:C,baseClassName:F,maybePostfixModifierPosition:R}=i(S);if(A){v=S+(v.length>0?" "+v:v);continue}let M=!!R,X=r(M?F.substring(0,R):F);if(!X){if(!M){v=S+(v.length>0?" "+v:v);continue}if(X=r(F),!X){v=S+(v.length>0?" "+v:v);continue}M=!1}const J=T.length===0?"":T.length===1?T[0]:h(T).join(":"),L=C?J+df:J,le=L+X;if(g.indexOf(le)>-1)continue;g.push(le);const ie=u(X,M);for(let re=0;re<ie.length;++re){const H=ie[re];g.push(L+H)}v=S+(v.length>0?" "+v:v)}return v},dG=(...e)=>{let n=0,i,r,u="";for(;n<e.length;)(i=e[n++])&&(r=W3(i))&&(u&&(u+=" "),u+=r);return u},W3=e=>{if(typeof e=="string")return e;let n,i="";for(let r=0;r<e.length;r++)e[r]&&(n=W3(e[r]))&&(i&&(i+=" "),i+=n);return i},mG=(e,...n)=>{let i,r,u,h;const g=v=>{const w=n.reduce((S,A)=>A(S),e());return i=lG(w),r=i.cache.get,u=i.cache.set,h=b,b(v)},b=v=>{const w=r(v);if(w)return w;const S=uG(v,i);return u(v,S),S};return h=g,(...v)=>h(dG(...v))},pG=[],Ft=e=>{const n=i=>i[e]||pG;return n.isThemeGetter=!0,n},ej=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,tj=/^\((?:(\w[\w-]*):)?(.+)\)$/i,hG=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,fG=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,gG=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,yG=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,bG=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,vG=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,es=e=>hG.test(e),Ze=e=>!!e&&!Number.isNaN(Number(e)),ts=e=>!!e&&Number.isInteger(Number(e)),Th=e=>e.endsWith("%")&&Ze(e.slice(0,-1)),fi=e=>fG.test(e),nj=()=>!0,xG=e=>gG.test(e)&&!yG.test(e),Q0=()=>!1,wG=e=>bG.test(e),kG=e=>vG.test(e),SG=e=>!we(e)&&!je(e),jG=e=>ys(e,sj,Q0),we=e=>ej.test(e),Ks=e=>ys(e,oj,xG),Ix=e=>ys(e,zG,Ze),AG=e=>ys(e,lj,nj),CG=e=>ys(e,rj,Q0),Px=e=>ys(e,aj,Q0),NG=e=>ys(e,ij,kG),Iu=e=>ys(e,cj,wG),je=e=>tj.test(e),Dl=e=>oo(e,oj),_G=e=>oo(e,rj),Mx=e=>oo(e,aj),TG=e=>oo(e,sj),EG=e=>oo(e,ij),Pu=e=>oo(e,cj,!0),RG=e=>oo(e,lj,!0),ys=(e,n,i)=>{const r=ej.exec(e);return r?r[1]?n(r[1]):i(r[2]):!1},oo=(e,n,i=!1)=>{const r=tj.exec(e);return r?r[1]?n(r[1]):i:!1},aj=e=>e==="position"||e==="percentage",ij=e=>e==="image"||e==="url",sj=e=>e==="length"||e==="size"||e==="bg-size",oj=e=>e==="length",zG=e=>e==="number",rj=e=>e==="family-name",lj=e=>e==="number"||e==="weight",cj=e=>e==="shadow",DG=()=>{const e=Ft("color"),n=Ft("font"),i=Ft("text"),r=Ft("font-weight"),u=Ft("tracking"),h=Ft("leading"),g=Ft("breakpoint"),b=Ft("container"),v=Ft("spacing"),w=Ft("radius"),S=Ft("shadow"),A=Ft("inset-shadow"),T=Ft("text-shadow"),C=Ft("drop-shadow"),F=Ft("blur"),R=Ft("perspective"),M=Ft("aspect"),X=Ft("ease"),J=Ft("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],le=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],ie=()=>[...le(),je,we],re=()=>["auto","hidden","clip","visible","scroll"],H=()=>["auto","contain","none"],K=()=>[je,we,v],Re=()=>[es,"full","auto",...K()],Qe=()=>[ts,"none","subgrid",je,we],Fe=()=>["auto",{span:["full",ts,je,we]},ts,je,we],ze=()=>[ts,"auto",je,we],ke=()=>["auto","min","max","fr",je,we],Me=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ve=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...K()],ee=()=>[es,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...K()],pe=()=>[es,"screen","full","dvw","lvw","svw","min","max","fit",...K()],Ce=()=>[es,"screen","full","lh","dvh","lvh","svh","min","max","fit",...K()],W=()=>[e,je,we],De=()=>[...le(),Mx,Px,{position:[je,we]}],Te=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Se=()=>["auto","cover","contain",TG,jG,{size:[je,we]}],se=()=>[Th,Dl,Ks],V=()=>["","none","full",w,je,we],q=()=>["",Ze,Dl,Ks],ce=()=>["solid","dashed","dotted","double"],qe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ye=()=>[Ze,Th,Mx,Px],nt=()=>["","none",F,je,we],Ve=()=>["none",Ze,je,we],kt=()=>["none",Ze,je,we],oe=()=>[Ze,je,we],Pe=()=>[es,"full",...K()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[fi],breakpoint:[fi],color:[nj],container:[fi],"drop-shadow":[fi],ease:["in","out","in-out"],font:[SG],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[fi],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[fi],shadow:[fi],spacing:["px",Ze],text:[fi],"text-shadow":[fi],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",es,we,je,M]}],container:["container"],columns:[{columns:[Ze,we,je,b]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:ie()}],overflow:[{overflow:re()}],"overflow-x":[{"overflow-x":re()}],"overflow-y":[{"overflow-y":re()}],overscroll:[{overscroll:H()}],"overscroll-x":[{"overscroll-x":H()}],"overscroll-y":[{"overscroll-y":H()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Re()}],"inset-x":[{"inset-x":Re()}],"inset-y":[{"inset-y":Re()}],start:[{"inset-s":Re(),start:Re()}],end:[{"inset-e":Re(),end:Re()}],"inset-bs":[{"inset-bs":Re()}],"inset-be":[{"inset-be":Re()}],top:[{top:Re()}],right:[{right:Re()}],bottom:[{bottom:Re()}],left:[{left:Re()}],visibility:["visible","invisible","collapse"],z:[{z:[ts,"auto",je,we]}],basis:[{basis:[es,"full","auto",b,...K()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ze,es,"auto","initial","none",we]}],grow:[{grow:["",Ze,je,we]}],shrink:[{shrink:["",Ze,je,we]}],order:[{order:[ts,"first","last","none",je,we]}],"grid-cols":[{"grid-cols":Qe()}],"col-start-end":[{col:Fe()}],"col-start":[{"col-start":ze()}],"col-end":[{"col-end":ze()}],"grid-rows":[{"grid-rows":Qe()}],"row-start-end":[{row:Fe()}],"row-start":[{"row-start":ze()}],"row-end":[{"row-end":ze()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ke()}],"auto-rows":[{"auto-rows":ke()}],gap:[{gap:K()}],"gap-x":[{"gap-x":K()}],"gap-y":[{"gap-y":K()}],"justify-content":[{justify:[...Me(),"normal"]}],"justify-items":[{"justify-items":[...ve(),"normal"]}],"justify-self":[{"justify-self":["auto",...ve()]}],"align-content":[{content:["normal",...Me()]}],"align-items":[{items:[...ve(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ve(),{baseline:["","last"]}]}],"place-content":[{"place-content":Me()}],"place-items":[{"place-items":[...ve(),"baseline"]}],"place-self":[{"place-self":["auto",...ve()]}],p:[{p:K()}],px:[{px:K()}],py:[{py:K()}],ps:[{ps:K()}],pe:[{pe:K()}],pbs:[{pbs:K()}],pbe:[{pbe:K()}],pt:[{pt:K()}],pr:[{pr:K()}],pb:[{pb:K()}],pl:[{pl:K()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":K()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":K()}],"space-y-reverse":["space-y-reverse"],size:[{size:ee()}],"inline-size":[{inline:["auto",...pe()]}],"min-inline-size":[{"min-inline":["auto",...pe()]}],"max-inline-size":[{"max-inline":["none",...pe()]}],"block-size":[{block:["auto",...Ce()]}],"min-block-size":[{"min-block":["auto",...Ce()]}],"max-block-size":[{"max-block":["none",...Ce()]}],w:[{w:[b,"screen",...ee()]}],"min-w":[{"min-w":[b,"screen","none",...ee()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[g]},...ee()]}],h:[{h:["screen","lh",...ee()]}],"min-h":[{"min-h":["screen","lh","none",...ee()]}],"max-h":[{"max-h":["screen","lh",...ee()]}],"font-size":[{text:["base",i,Dl,Ks]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,RG,AG]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Th,we]}],"font-family":[{font:[_G,CG,n]}],"font-features":[{"font-features":[we]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[u,je,we]}],"line-clamp":[{"line-clamp":[Ze,"none",je,Ix]}],leading:[{leading:[h,...K()]}],"list-image":[{"list-image":["none",je,we]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",je,we]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:W()}],"text-color":[{text:W()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ce(),"wavy"]}],"text-decoration-thickness":[{decoration:[Ze,"from-font","auto",je,Ks]}],"text-decoration-color":[{decoration:W()}],"underline-offset":[{"underline-offset":[Ze,"auto",je,we]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:K()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",je,we]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",je,we]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:De()}],"bg-repeat":[{bg:Te()}],"bg-size":[{bg:Se()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ts,je,we],radial:["",je,we],conic:[ts,je,we]},EG,NG]}],"bg-color":[{bg:W()}],"gradient-from-pos":[{from:se()}],"gradient-via-pos":[{via:se()}],"gradient-to-pos":[{to:se()}],"gradient-from":[{from:W()}],"gradient-via":[{via:W()}],"gradient-to":[{to:W()}],rounded:[{rounded:V()}],"rounded-s":[{"rounded-s":V()}],"rounded-e":[{"rounded-e":V()}],"rounded-t":[{"rounded-t":V()}],"rounded-r":[{"rounded-r":V()}],"rounded-b":[{"rounded-b":V()}],"rounded-l":[{"rounded-l":V()}],"rounded-ss":[{"rounded-ss":V()}],"rounded-se":[{"rounded-se":V()}],"rounded-ee":[{"rounded-ee":V()}],"rounded-es":[{"rounded-es":V()}],"rounded-tl":[{"rounded-tl":V()}],"rounded-tr":[{"rounded-tr":V()}],"rounded-br":[{"rounded-br":V()}],"rounded-bl":[{"rounded-bl":V()}],"border-w":[{border:q()}],"border-w-x":[{"border-x":q()}],"border-w-y":[{"border-y":q()}],"border-w-s":[{"border-s":q()}],"border-w-e":[{"border-e":q()}],"border-w-bs":[{"border-bs":q()}],"border-w-be":[{"border-be":q()}],"border-w-t":[{"border-t":q()}],"border-w-r":[{"border-r":q()}],"border-w-b":[{"border-b":q()}],"border-w-l":[{"border-l":q()}],"divide-x":[{"divide-x":q()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":q()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ce(),"hidden","none"]}],"divide-style":[{divide:[...ce(),"hidden","none"]}],"border-color":[{border:W()}],"border-color-x":[{"border-x":W()}],"border-color-y":[{"border-y":W()}],"border-color-s":[{"border-s":W()}],"border-color-e":[{"border-e":W()}],"border-color-bs":[{"border-bs":W()}],"border-color-be":[{"border-be":W()}],"border-color-t":[{"border-t":W()}],"border-color-r":[{"border-r":W()}],"border-color-b":[{"border-b":W()}],"border-color-l":[{"border-l":W()}],"divide-color":[{divide:W()}],"outline-style":[{outline:[...ce(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Ze,je,we]}],"outline-w":[{outline:["",Ze,Dl,Ks]}],"outline-color":[{outline:W()}],shadow:[{shadow:["","none",S,Pu,Iu]}],"shadow-color":[{shadow:W()}],"inset-shadow":[{"inset-shadow":["none",A,Pu,Iu]}],"inset-shadow-color":[{"inset-shadow":W()}],"ring-w":[{ring:q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:W()}],"ring-offset-w":[{"ring-offset":[Ze,Ks]}],"ring-offset-color":[{"ring-offset":W()}],"inset-ring-w":[{"inset-ring":q()}],"inset-ring-color":[{"inset-ring":W()}],"text-shadow":[{"text-shadow":["none",T,Pu,Iu]}],"text-shadow-color":[{"text-shadow":W()}],opacity:[{opacity:[Ze,je,we]}],"mix-blend":[{"mix-blend":[...qe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":qe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Ze]}],"mask-image-linear-from-pos":[{"mask-linear-from":ye()}],"mask-image-linear-to-pos":[{"mask-linear-to":ye()}],"mask-image-linear-from-color":[{"mask-linear-from":W()}],"mask-image-linear-to-color":[{"mask-linear-to":W()}],"mask-image-t-from-pos":[{"mask-t-from":ye()}],"mask-image-t-to-pos":[{"mask-t-to":ye()}],"mask-image-t-from-color":[{"mask-t-from":W()}],"mask-image-t-to-color":[{"mask-t-to":W()}],"mask-image-r-from-pos":[{"mask-r-from":ye()}],"mask-image-r-to-pos":[{"mask-r-to":ye()}],"mask-image-r-from-color":[{"mask-r-from":W()}],"mask-image-r-to-color":[{"mask-r-to":W()}],"mask-image-b-from-pos":[{"mask-b-from":ye()}],"mask-image-b-to-pos":[{"mask-b-to":ye()}],"mask-image-b-from-color":[{"mask-b-from":W()}],"mask-image-b-to-color":[{"mask-b-to":W()}],"mask-image-l-from-pos":[{"mask-l-from":ye()}],"mask-image-l-to-pos":[{"mask-l-to":ye()}],"mask-image-l-from-color":[{"mask-l-from":W()}],"mask-image-l-to-color":[{"mask-l-to":W()}],"mask-image-x-from-pos":[{"mask-x-from":ye()}],"mask-image-x-to-pos":[{"mask-x-to":ye()}],"mask-image-x-from-color":[{"mask-x-from":W()}],"mask-image-x-to-color":[{"mask-x-to":W()}],"mask-image-y-from-pos":[{"mask-y-from":ye()}],"mask-image-y-to-pos":[{"mask-y-to":ye()}],"mask-image-y-from-color":[{"mask-y-from":W()}],"mask-image-y-to-color":[{"mask-y-to":W()}],"mask-image-radial":[{"mask-radial":[je,we]}],"mask-image-radial-from-pos":[{"mask-radial-from":ye()}],"mask-image-radial-to-pos":[{"mask-radial-to":ye()}],"mask-image-radial-from-color":[{"mask-radial-from":W()}],"mask-image-radial-to-color":[{"mask-radial-to":W()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":le()}],"mask-image-conic-pos":[{"mask-conic":[Ze]}],"mask-image-conic-from-pos":[{"mask-conic-from":ye()}],"mask-image-conic-to-pos":[{"mask-conic-to":ye()}],"mask-image-conic-from-color":[{"mask-conic-from":W()}],"mask-image-conic-to-color":[{"mask-conic-to":W()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:De()}],"mask-repeat":[{mask:Te()}],"mask-size":[{mask:Se()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",je,we]}],filter:[{filter:["","none",je,we]}],blur:[{blur:nt()}],brightness:[{brightness:[Ze,je,we]}],contrast:[{contrast:[Ze,je,we]}],"drop-shadow":[{"drop-shadow":["","none",C,Pu,Iu]}],"drop-shadow-color":[{"drop-shadow":W()}],grayscale:[{grayscale:["",Ze,je,we]}],"hue-rotate":[{"hue-rotate":[Ze,je,we]}],invert:[{invert:["",Ze,je,we]}],saturate:[{saturate:[Ze,je,we]}],sepia:[{sepia:["",Ze,je,we]}],"backdrop-filter":[{"backdrop-filter":["","none",je,we]}],"backdrop-blur":[{"backdrop-blur":nt()}],"backdrop-brightness":[{"backdrop-brightness":[Ze,je,we]}],"backdrop-contrast":[{"backdrop-contrast":[Ze,je,we]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ze,je,we]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ze,je,we]}],"backdrop-invert":[{"backdrop-invert":["",Ze,je,we]}],"backdrop-opacity":[{"backdrop-opacity":[Ze,je,we]}],"backdrop-saturate":[{"backdrop-saturate":[Ze,je,we]}],"backdrop-sepia":[{"backdrop-sepia":["",Ze,je,we]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":K()}],"border-spacing-x":[{"border-spacing-x":K()}],"border-spacing-y":[{"border-spacing-y":K()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",je,we]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ze,"initial",je,we]}],ease:[{ease:["linear","initial",X,je,we]}],delay:[{delay:[Ze,je,we]}],animate:[{animate:["none",J,je,we]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[R,je,we]}],"perspective-origin":[{"perspective-origin":ie()}],rotate:[{rotate:Ve()}],"rotate-x":[{"rotate-x":Ve()}],"rotate-y":[{"rotate-y":Ve()}],"rotate-z":[{"rotate-z":Ve()}],scale:[{scale:kt()}],"scale-x":[{"scale-x":kt()}],"scale-y":[{"scale-y":kt()}],"scale-z":[{"scale-z":kt()}],"scale-3d":["scale-3d"],skew:[{skew:oe()}],"skew-x":[{"skew-x":oe()}],"skew-y":[{"skew-y":oe()}],transform:[{transform:[je,we,"","none","gpu","cpu"]}],"transform-origin":[{origin:ie()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Pe()}],"translate-x":[{"translate-x":Pe()}],"translate-y":[{"translate-y":Pe()}],"translate-z":[{"translate-z":Pe()}],"translate-none":["translate-none"],accent:[{accent:W()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:W()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",je,we]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":K()}],"scroll-mx":[{"scroll-mx":K()}],"scroll-my":[{"scroll-my":K()}],"scroll-ms":[{"scroll-ms":K()}],"scroll-me":[{"scroll-me":K()}],"scroll-mbs":[{"scroll-mbs":K()}],"scroll-mbe":[{"scroll-mbe":K()}],"scroll-mt":[{"scroll-mt":K()}],"scroll-mr":[{"scroll-mr":K()}],"scroll-mb":[{"scroll-mb":K()}],"scroll-ml":[{"scroll-ml":K()}],"scroll-p":[{"scroll-p":K()}],"scroll-px":[{"scroll-px":K()}],"scroll-py":[{"scroll-py":K()}],"scroll-ps":[{"scroll-ps":K()}],"scroll-pe":[{"scroll-pe":K()}],"scroll-pbs":[{"scroll-pbs":K()}],"scroll-pbe":[{"scroll-pbe":K()}],"scroll-pt":[{"scroll-pt":K()}],"scroll-pr":[{"scroll-pr":K()}],"scroll-pb":[{"scroll-pb":K()}],"scroll-pl":[{"scroll-pl":K()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",je,we]}],fill:[{fill:["none",...W()]}],"stroke-w":[{stroke:[Ze,Dl,Ks,Ix]}],stroke:[{stroke:["none",...W()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},OG=mG(DG);function ha(...e){return OG(xw(e))}const qG=Z3("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400 focus-visible:ring-offset-2 focus-visible:ring-offset-overlay-scrim disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-accent text-on-inverse hover:bg-mono-200",secondary:"border border-base bg-bg text-heading hover:bg-bg-elevated",ghost:"text-secondary hover:bg-bg-elevated hover:text-primary",outline:"border border-base bg-transparent text-heading hover:bg-bg-elevated",destructive:"bg-negative-600 text-on-emphasis hover:bg-negative-700"},size:{default:"h-10 px-4 md:h-9",sm:"h-9 px-3 text-xs md:h-8",icon:"size-10 md:size-9"}},defaultVariants:{variant:"default",size:"default"}}),fe=_.forwardRef(({className:e,variant:n,size:i,asChild:r=!1,...u},h)=>{const g=r?H4:"button";return c.jsx(g,{ref:h,className:ha(qG({variant:n,size:i,className:e})),...u})});fe.displayName="Button";const IG=Z3("inline-flex items-center rounded-md border px-2 py-0.5 text-[11px] font-medium tracking-wide",{variants:{variant:{neutral:"border-base bg-bg text-neutral",success:"border-positive bg-positive-soft text-positive",warning:"border-caution-500/25 bg-caution-soft text-caution",destructive:"border-negative bg-negative-soft text-negative"}},defaultVariants:{variant:"neutral"}});function uj({className:e,variant:n,...i}){return c.jsx("div",{className:ha(IG({variant:n}),e),...i})}const PG=220;function Bx({compact:e=!1,version:n,updateAvailable:i,onDismissUpdate:r}){const u=!e&&n&&n!=="unknown",[h,g]=_.useState(!1),b=!e&&i&&r,v=()=>{g(!0),window.setTimeout(()=>{r?.(),g(!1)},PG)};return e?c.jsxs(Ge,{to:"/",className:"brand-lockup brand-lockup-compact","aria-label":"Canonry home",children:[c.jsx("img",{className:"brand-icon",src:"./favicon.svg",alt:"","aria-hidden":"true"}),c.jsx("span",{className:"brand-copy",children:c.jsx("span",{className:"brand-mark",children:"Canonry"})})]}):c.jsxs("div",{className:"brand-lockup brand-lockup-wrapper",children:[c.jsx(Ge,{to:"/",className:"brand-icon-link","aria-label":"Canonry home",tabIndex:-1,children:c.jsx("img",{className:"brand-icon",src:"./favicon.svg",alt:"","aria-hidden":"true"})}),c.jsxs("div",{className:"brand-copy",children:[c.jsx(Ge,{to:"/",className:"brand-mark",children:"Canonry"}),!b&&u?c.jsxs("span",{className:"brand-version",children:["v",n]}):null]}),b?c.jsxs("span",{className:`brand-update-bubble ${h?"brand-update-bubble-closing":""}`,role:"status","aria-live":"polite",children:[c.jsxs("a",{className:"brand-update-bubble-link",href:i.url,target:"_blank",rel:"noopener noreferrer",title:`Open release: ${i.upgradeCommand}`,"aria-label":`New version v${i.latest} available — open release page`,children:[c.jsxs("span",{className:"brand-update-bubble-from",children:["v",i.current]}),c.jsx($l,{className:"brand-update-bubble-arrow size-3","aria-hidden":"true"}),c.jsxs("span",{className:"brand-update-bubble-to",children:["v",i.latest]})]}),c.jsx("button",{type:"button",className:"brand-update-bubble-dismiss",onClick:v,"aria-label":`Dismiss update notification for v${i.latest}`,children:c.jsx(mr,{className:"size-3","aria-hidden":"true"})})]}):null]})}function MG({provider:e}){const n={gemini:"border-blue-800/50 bg-blue-950/40 text-blue-300",openai:"border-green-800/50 bg-green-950/40 text-green-300",claude:"border-amber-800/50 bg-amber-950/40 text-amber-300",perplexity:"border-teal-800/50 bg-teal-950/40 text-teal-300",local:"border-purple-800/50 bg-purple-950/40 text-purple-300"},r=Object.hasOwn(n,e)?`provider-badge--${e} ${n[e]}`:"border-zinc-700 bg-zinc-800 text-zinc-300";return c.jsx("span",{className:`inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-medium uppercase tracking-wide ${r}`,children:e})}function gn({tone:e,children:n,...i}){const r=e==="positive"?"success":e==="caution"?"warning":e==="negative"?"destructive":"neutral";return c.jsx(uj,{variant:r,...i,children:n})}function F0({status:e}){return c.jsx(gn,{tone:K3(e),children:MV(e)})}const BG=vw,LG=gw,dj=_.forwardRef(({className:e,...n},i)=>c.jsx(bf,{ref:i,className:ha("fixed inset-0 z-50 bg-overlay-scrim/70 backdrop-blur-sm",e),...n}));dj.displayName=bf.displayName;const VG=400,$G=1200,UG=720,mj=_.forwardRef(({className:e,children:n,...i},r)=>{const[u,h]=_.useState(UG),g=_.useRef(!1),b=_.useRef(0),v=_.useRef(0),w=_.useCallback(T=>{g.current=!0,b.current=T.clientX,v.current=u,T.target.setPointerCapture(T.pointerId),T.preventDefault()},[u]),S=_.useCallback(T=>{if(!g.current)return;const C=b.current-T.clientX,F=Math.min($G,Math.max(VG,v.current+C));h(F)},[]),A=_.useCallback(()=>{g.current=!1},[]);return c.jsxs(LG,{children:[c.jsx(dj,{}),c.jsxs(vf,{ref:r,className:ha("fixed z-50 flex flex-col bg-bg px-5 py-4 shadow-2xl overflow-hidden","max-md:inset-x-0 max-md:bottom-0 max-md:top-auto max-md:max-h-[88vh] max-md:rounded-t-2xl max-md:border-t","md:inset-y-0 md:right-0 md:h-full md:border-l","border-base",e),style:{width:`min(${u}px, 100vw)`},...i,children:[c.jsx("div",{className:"absolute inset-y-0 left-0 w-1.5 cursor-col-resize hover:bg-mono-700/50 active:bg-mono-600/50 transition-colors max-md:hidden",onPointerDown:w,onPointerMove:S,onPointerUp:A}),n,c.jsxs(yw,{className:"absolute right-4 top-4 inline-flex size-8 items-center justify-center rounded-md text-muted transition hover:bg-bg-elevated hover:text-heading focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400",children:[c.jsx(mr,{className:"size-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]})]})]})});mj.displayName=vf.displayName;const GG=({className:e,...n})=>c.jsx("div",{className:ha("flex flex-col gap-1.5 pr-10",e),...n}),pj=_.forwardRef(({className:e,...n},i)=>c.jsx(xf,{ref:i,className:ha("text-lg font-medium text-primary",e),...n}));pj.displayName=xf.displayName;const hj=_.forwardRef(({className:e,...n},i)=>c.jsx(bw,{ref:i,className:ha("text-sm text-muted",e),...n}));hj.displayName=bw.displayName;function Mu({title:e,subtitle:n,children:i,open:r,onClose:u}){return c.jsx(BG,{open:r,onOpenChange:h=>h?void 0:u(),children:c.jsxs(mj,{children:[c.jsxs(GG,{className:"drawer-head",children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:n}),c.jsx(pj,{id:"drawer-title",children:e}),c.jsx(hj,{className:"sr-only",children:n})]}),c.jsx("div",{className:"drawer-body",children:i})]})})}function Qs({text:e}){const[n,i]=_.useState(null),r=_.useRef(null),u=_.useCallback(()=>{if(!r.current)return;const b=r.current.getBoundingClientRect();i({top:b.top,left:b.left+b.width/2})},[]),h=_.useCallback(()=>i(null),[]),g=_.useCallback(()=>{n===null?u():h()},[n,u,h]);return c.jsxs("span",{className:"info-tooltip-wrapper",onMouseEnter:u,onMouseLeave:h,children:[c.jsx("button",{ref:r,type:"button",className:"info-tooltip-trigger","aria-label":e,"aria-expanded":n!==null,onFocus:u,onBlur:h,onClick:g,onKeyDown:b=>{b.key==="Escape"&&h()},children:c.jsxs("svg",{className:"info-tooltip-icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[c.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M8 7v4M8 5.5v0",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}),n!==null&&B4.createPortal(c.jsx("span",{"aria-hidden":"true",style:{position:"fixed",top:n.top,left:n.left,transform:"translateX(-50%) translateY(calc(-100% - 8px))",zIndex:9999,pointerEvents:"none",width:"14rem",padding:"0.5rem 0.75rem",fontSize:"11px",fontWeight:400,textTransform:"none",letterSpacing:"normal",lineHeight:"1rem",color:"var(--color-neutral-text)",backgroundColor:"var(--color-bg-elevated)",border:"1px solid color-mix(in oklab, var(--color-border-strong) 60%, transparent)",borderRadius:"0.5rem",boxShadow:"0 10px 15px -3px var(--color-shadow-tooltip), 0 4px 6px -4px var(--color-shadow-tooltip)"},children:e}),document.body)]})}const KG=/[\s\-_]+/;function HG(e){const n=e.split(KG).filter(Boolean);return n.length===0?null:n.map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[\\s\\-_]*")}function Lx(e,n){const i=QG(n),r=e.split(/(\*\*[^*]+\*\*)/).filter(Boolean).map(w=>w.startsWith("**")&&w.endsWith("**")?{type:"bold",value:w.slice(2,-2)}:{type:"text",value:w}),u=i.flatMap(w=>w.terms).filter(w=>w.trim().length>1);if(u.length===0)return r.map((w,S)=>w.type==="bold"?Fo.createElement("strong",{key:`b-${S}`,className:"text-strong font-semibold"},w.value):w.value).filter(Boolean);const g=[...u].sort((w,S)=>S.length-w.length).map(HG).filter(w=>!!w);if(g.length===0)return r.map((w,S)=>w.type==="bold"?Fo.createElement("strong",{key:`b-${S}`,className:"text-strong font-semibold"},w.value):w.value).filter(Boolean);const b=new RegExp(`(${g.join("|")})`,"gi"),v=new Map;for(const w of i)for(const S of w.terms){const A=ja(S);A&&!v.has(A)&&v.set(A,w.className)}return r.flatMap((w,S)=>w.value.split(b).map((T,C)=>{if(!T)return null;if(C%2===1){const R=v.get(ja(T))??"answer-highlight";return w.type==="bold"?Fo.createElement("mark",{key:`hl-${S}-${C}`,className:R},Fo.createElement("strong",{className:"text-strong font-semibold"},T)):Fo.createElement("mark",{key:`hl-${S}-${C}`,className:R},T)}return w.type==="bold"?Fo.createElement("strong",{key:`b-${S}-${C}`,className:"text-strong font-semibold"},T):T})).filter(Boolean)}function QG(e){return e.length===0?[]:typeof e[0]=="string"?[{terms:e,className:"answer-highlight"}]:e}function mf(e){const n=(e??"").trim();return n&&(n.startsWith("/")||/^https?:\/\//i.test(n)||/^mailto:/i.test(n))?n:null}function Eh(e,n){return{citedCompetitorDomains:[...e.citedCompetitorDomains??n?.citedCompetitorDomains??[]],mentionedCompetitorDomains:[...e.mentionedCompetitorDomains??n?.mentionedCompetitorDomains??[]]}}function Rh(e,n){switch(e){case"new":return"First observation";case"emerging":return"First mention";case"lost":return"Lost since last run";default:return n==="mentioned"||n==="visible"?"Mentioned in latest run":n==="pending"?"Awaiting first run":"Not mentioned in latest run"}}function FG({evidence:e,project:n,onClose:i}){const[r,u]=_.useState(!1),[h,g]=_.useState("mentions"),[b,v]=_.useState(-1),[w,S]=_.useState(null),[A,T]=_.useState(!1),[C,F]=_.useState({}),R=wk(n.project),M=new Set(R.map(Wu)),X=e.runHistory,J=X.length>1,[L,le]=_.useState(null),ie=_.useRef(!1);_.useEffect(()=>{if(ie.current||e.answerSnippet&&(e.visibilityState!=null||e.answerMentioned!=null))return;const se=X.at(-1);se&&(ie.current=!0,sf(se.runId).then(V=>{const q=V.snapshots?.find(ce=>ce.query===e.query&&ce.provider===e.provider);q&&le({citationState:q.citationState,answerMentioned:q.answerMentioned,visibilityState:q.visibilityState,visibilityTransition:se.visibilityTransition,provider:q.provider,model:q.model??e.model,answerSnippet:q.answerText??e.answerSnippet,citedDomains:q.citedDomains??e.citedDomains,...Eh(q,e),recommendedCompetitors:q.recommendedCompetitors??e.recommendedCompetitors??[],matchedTerms:q.matchedTerms??e.matchedTerms??[],groundingSources:q.groundingSources??e.groundingSources,searchQueries:q.searchQueries,evidenceUrls:[],changeLabel:e.visibilityChangeLabel??e.changeLabel,summary:e.summary})}).catch(()=>{}))},[e,X]);const re=b>=0&&w!==null,H=re?w:L||{citationState:e.citationState,answerMentioned:e.answerMentioned,visibilityState:e.visibilityState,visibilityTransition:X.at(-1)?.visibilityTransition,provider:e.provider,model:e.model,answerSnippet:e.answerSnippet,citedDomains:e.citedDomains,...Eh(e),recommendedCompetitors:e.recommendedCompetitors??[],matchedTerms:e.matchedTerms??[],groundingSources:e.groundingSources,searchQueries:e.searchQueries??[],evidenceUrls:e.evidenceUrls,changeLabel:e.visibilityChangeLabel??e.changeLabel,summary:e.summary},K=H.visibilityState==="pending"||H.citationState==="pending",Re=K?!1:H.visibilityState!=null?H.visibilityState==="visible":H.answerMentioned!=null?H.answerMentioned:H.citationState===id.cited||H.citationState==="emerging",Qe=H.answerMentioned!=null||H.visibilityState!=null||H.mentionedCompetitorDomains.length>0||H.recommendedCompetitors.length>0,Fe=H.citedDomains.length>0||H.citedCompetitorDomains.length>0||H.groundingSources.length>0||H.evidenceUrls.length>0,ze=n.project.displayName||n.project.name,ke=[...R.map(Wu),ze,ze.split(" ").slice(0,2).join(" "),...H.matchedTerms].filter(se=>se.trim().length>2),Me=[...H.mentionedCompetitorDomains.flatMap(se=>{const V=yk(se);return V.length>=4?[V]:[]}),...H.recommendedCompetitors].filter(se=>se.trim().length>2),ve=[{terms:ke,className:"answer-highlight-brand"},...Me.length>0?[{terms:Me,className:"answer-highlight-competitor"}]:[]],P=K?"pending":H.visibilityTransition==="lost"?"lost":Re?"mentioned":"not-mentioned",ee=_.useRef(0),pe=_.useCallback(async se=>{const V=++ee.current;if(se===-1||se===X.length-1){v(-1),S(null),u(!1);return}v(se),u(!1);const q=X[se],ce=`${q.runId}::${e.query}::${e.provider}`;if(C[ce]){S(C[ce]);return}T(!0);try{const qe=await sf(q.runId);if(V!==ee.current)return;const ye=qe.snapshots?.find(Ve=>Ve.query===e.query&&Ve.provider===e.provider)??qe.snapshots?.find(Ve=>Ve.query===e.query),nt=ye?{citationState:ye.citationState,answerMentioned:ye.answerMentioned,visibilityState:ye.visibilityState,visibilityTransition:q.visibilityTransition,provider:ye.provider,model:ye.model??null,answerSnippet:ye.answerText??"",citedDomains:ye.citedDomains,...Eh(ye),recommendedCompetitors:ye.recommendedCompetitors??[],matchedTerms:ye.matchedTerms??[],groundingSources:ye.groundingSources,searchQueries:ye.searchQueries,evidenceUrls:[],changeLabel:Rh(q.mentionTransition??q.visibilityTransition,q.mentionState??q.visibilityState),summary:""}:{citationState:q.citationState,answerMentioned:q.answerMentioned,visibilityState:q.visibilityState,visibilityTransition:q.visibilityTransition,provider:e.provider,model:q.model??null,answerSnippet:"",citedDomains:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],recommendedCompetitors:[],matchedTerms:[],groundingSources:[],searchQueries:[],evidenceUrls:[],changeLabel:Rh(q.mentionTransition??q.visibilityTransition,q.mentionState??q.visibilityState),summary:"Snapshot data not available for this run."};F(Ve=>({...Ve,[ce]:nt})),S(nt)}catch{if(V!==ee.current)return;S({citationState:q.citationState,answerMentioned:q.answerMentioned,visibilityState:q.visibilityState,visibilityTransition:q.visibilityTransition,provider:e.provider,model:q.model??null,answerSnippet:"",citedDomains:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],recommendedCompetitors:[],matchedTerms:[],groundingSources:[],searchQueries:[],evidenceUrls:[],changeLabel:Rh(q.mentionTransition??q.visibilityTransition,q.mentionState??q.visibilityState),summary:"Failed to load historical run data."})}finally{V===ee.current&&T(!1)}},[X,e.query,e.provider,C]),W=(re||e.historyScope!=="provider")&&H.model?`${H.provider} (${H.model}) · ${H.changeLabel.toLowerCase()}`:`${H.provider} · ${H.changeLabel.toLowerCase()}`,De=!re&&e.historyScope==="provider"?[e.model?`Current model: ${e.model}`:null,e.modelsSeen&&e.modelsSeen.length>1?`History spans ${e.modelsSeen.length} models`:null].filter(Boolean).join(" · "):"",Te=Re?{label:"Mentioned in answer",title:"Your brand or domain is mentioned in this answer",meta:W}:H.visibilityTransition==="lost"?{label:"Mention lost",title:"Your brand no longer appears in this answer",meta:W}:K?{label:"Pending",title:"Awaiting first run",meta:"No provider data yet"}:{label:"Not mentioned in answer",title:"Your brand or domain was not mentioned in this answer",meta:W},Se=()=>{if(!H.answerSnippet)return null;const se=H.answerSnippet.split(`
58
+ `),V=[];let q=[],ce=0;const qe=()=>{if(q.length===0)return;const ye=q.join(" ").trim();ye&&V.push(c.jsx("p",{className:V.length>0?"mt-2.5":"",children:Lx(ye,ve)},ce++)),q=[]};for(const ye of se){const nt=ye.trim();if(/^[-\u2013\u2014]{3,}$/.test(nt)){qe(),V.push(c.jsx("hr",{className:"border-default my-3"},ce++));continue}const Ve=nt.match(/^(#{1,3})\s+(\S.*)$/);if(Ve){qe();const kt=Ve[1].length,oe=Ve[2].replace(/^[\p{Emoji}\p{Emoji_Component}\s]+/u,"").trim()||Ve[2],Pe=kt===1?"text-[13px] font-semibold text-heading mt-4 mb-1":kt===2?"text-xs font-semibold text-strong mt-3 mb-0.5":"text-xs font-medium text-neutral mt-2";V.push(c.jsx("p",{className:Pe,children:Lx(oe,ve)},ce++));continue}if(nt===""){qe();continue}q.push(nt)}return qe(),V};return c.jsx(vw,{open:!0,onOpenChange:se=>{se||i()},children:c.jsxs(gw,{children:[c.jsx(bf,{className:"fixed inset-0 z-50 bg-overlay-scrim/80 backdrop-blur-sm"}),c.jsxs(vf,{className:"evidence-modal","aria-describedby":void 0,children:[c.jsxs("div",{className:"evidence-modal-header",children:[c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsxs("p",{className:"eyebrow eyebrow-soft",children:[n.project.name," ","·"," ",H.provider||"All providers"]}),c.jsx(xf,{className:"text-lg font-semibold text-primary truncate",children:e.query})]}),c.jsxs(yw,{className:"inline-flex size-8 items-center justify-center rounded-md text-muted transition hover:bg-mono-800 hover:text-heading focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400 shrink-0",children:[c.jsx(mr,{className:"size-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]})]}),J&&c.jsxs("div",{className:"evidence-modal-timeline",children:[c.jsx("p",{className:"drawer-section-label mb-1.5",children:"Run history"}),c.jsx("div",{className:"flex items-center gap-1 overflow-x-auto pb-1",children:X.map((se,V)=>{const q=b===-1&&V===X.length-1||b===V,ce=se.visibilityState??(se.answerMentioned?"visible":"not-visible"),qe=se.visibilityTransition??ce,ye=ce==="visible"?"bg-positive-400":qe==="emerging"?"bg-caution-400":qe==="lost"?"bg-negative-400":"bg-mono-600",Ve=new Date(se.createdAt).toLocaleDateString(void 0,{month:"short",day:"numeric"}),kt=!!(se.model&&V>0&&X[V-1]?.model&&X[V-1].model!==se.model);return c.jsxs("button",{type:"button",className:`evidence-run-dot ${q?"evidence-run-dot--selected":""}`,onClick:()=>{pe(V===X.length-1?-1:V)},"aria-label":[`Run ${Ve}: ${ce}`,se.model?`model ${se.model}`:null,kt?"model changed":null].filter(Boolean).join(" — "),"aria-pressed":q,children:[c.jsx("span",{className:`size-2 rounded-full ${ye} ${kt?"ring-1 ring-caution-300/80 ring-offset-2 ring-offset-bg":""}`,"aria-hidden":"true"}),c.jsx("span",{className:"text-[10px] text-muted",children:Ve})]},V)})}),b>=0&&b<X.length&&c.jsxs("p",{className:"text-[11px] text-muted mt-1",children:["Viewing run from ",new Date(X[b].createdAt).toLocaleString()," ","—"," ",c.jsx("span",{className:"capitalize",children:X[b].visibilityState??(X[b].answerMentioned?"visible":"not-visible")}),c.jsxs("button",{type:"button",className:"text-secondary hover:text-strong ml-2",onClick:()=>{pe(-1)},children:["←"," Back to latest"]})]}),!re&&(e.modelTransitions?.length??0)>0&&c.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:e.modelTransitions.map(se=>c.jsx("span",{className:"inline-flex items-center rounded-full border border-caution-400/30 bg-caution-400/10 px-2 py-1 text-[10px] text-caution-100",children:`${se.fromModel??"unknown"} -> ${se.toModel??"unknown"} on ${new Date(se.createdAt).toLocaleDateString()}`},`${se.runId}:${se.toModel??"unknown"}`))})]}),c.jsxs("div",{className:"evidence-modal-body",children:[A&&c.jsxs("div",{className:"md:col-span-2 flex items-center justify-center py-12 text-muted text-sm",children:["Loading historical run data","…"]}),!A&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"evidence-modal-main",children:[c.jsxs("div",{className:`evidence-position-hero evidence-position-hero--${P}`,children:[c.jsx("p",{className:`evidence-position-label evidence-position-label--${P}`,children:Te.label}),c.jsx("p",{className:`evidence-position-title evidence-position-title--${P}`,children:Te.title}),c.jsx("p",{className:"evidence-position-meta",children:Te.meta}),De&&c.jsx("p",{className:"mt-1 text-[11px] text-muted",children:De})]}),H.answerSnippet&&c.jsxs("div",{children:[c.jsx("p",{className:"drawer-section-label",children:"What the AI said"}),c.jsx("div",{className:`answer-snippet-block ${r?"evidence-answer-expanded":"evidence-answer-collapsed"}`,children:Se()}),H.answerSnippet.length>280&&c.jsx("button",{type:"button",className:"mt-1.5 text-xs text-muted hover:text-neutral transition-colors",onClick:()=>u(!r),children:r?"↑ Collapse":"↓ Show full answer"})]}),!H.answerSnippet&&!A&&c.jsx("div",{className:"rounded-lg border border-subtle bg-surface-subtle px-4 py-8 text-center text-faint text-sm",children:"No answer text recorded for this run"}),H.searchQueries.length>0&&c.jsxs("div",{children:[c.jsxs("div",{className:"drawer-section-label flex items-center",children:[c.jsx("span",{children:"Web searches the model ran"}),c.jsx(Qs,{text:"The search queries this AI model issued while researching your prompt. They reveal how the model reformulated your query — the phrasings worth optimizing your content for. Distinct from grounding sources (what it found) and citations (what it linked)."})]}),c.jsx("ul",{className:"grid gap-1",children:H.searchQueries.map((se,V)=>c.jsxs("li",{className:"flex items-start gap-2 text-sm text-neutral",children:[c.jsx(wf,{className:"size-3.5 mt-0.5 shrink-0 text-faint","aria-hidden":"true"}),c.jsx("span",{className:"break-words",children:se})]},`${V}-${se}`))})]}),!re&&e.relatedTechnicalSignals.length>0&&c.jsxs("div",{children:[c.jsx("p",{className:"drawer-section-label",children:Re?"Why you're visible":"What to fix"}),c.jsx("div",{className:"action-items-list",children:e.relatedTechnicalSignals.map((se,V)=>c.jsxs("div",{className:"action-item",children:[c.jsx("svg",{className:`action-item-icon ${Re?"text-positive-400":"text-caution-400"}`,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:Re?c.jsx("path",{d:"M3 8l3.5 3.5L13 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}):c.jsxs(c.Fragment,{children:[c.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M8 5v3.5M8 10.5v0",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}),c.jsx("span",{className:"action-item-text",children:se})]},V))})]}),H.summary&&c.jsx("p",{className:"text-xs text-faint border-t border-subtle pt-3 mt-1",children:H.summary})]}),c.jsxs("div",{className:"evidence-modal-sidebar",children:[(Qe||Fe)&&c.jsxs("div",{className:"sidebar-tabs",children:[c.jsx("button",{className:`sidebar-tab ${h==="mentions"?"sidebar-tab--active":""}`,onClick:()=>g("mentions"),type:"button",title:"Canonry's answer-level visibility assessment and any company names extracted from the answer text.",children:"Mentions"}),c.jsx("button",{className:`sidebar-tab ${h==="sources"?"sidebar-tab--active":""}`,onClick:()=>g("sources"),type:"button",title:"Grounding links the model used to build the answer. These are supporting sources, not the primary visibility signal.",children:"Sources"})]}),h==="mentions"&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{children:[c.jsxs("div",{className:"drawer-section-label flex items-center",children:[c.jsx("span",{children:"Mention in answer"}),c.jsx(Qs,{text:"Canonry scans the AI answer for your owned domains and project name. This is independent from grounding or citation sources."})]}),c.jsxs("div",{className:`mention-status mention-status--${Re?"mentioned":"not-mentioned"}`,children:[c.jsx("span",{className:"mention-status-icon",children:K?"…":Re?"✓":"—"}),c.jsx("span",{className:"mention-status-label",children:K?"Pending":Re?"Mentioned":"Not mentioned"})]}),H.matchedTerms.length>0&&c.jsxs("div",{className:"mt-2",children:[c.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted mb-1.5",children:"Matched in answer"}),c.jsx("div",{className:"flex flex-wrap gap-1.5",children:H.matchedTerms.map(se=>c.jsx("span",{className:"mention-chip mention-chip--brand",children:se},se))})]}),!K&&!Re&&H.matchedTerms.length===0&&c.jsxs("div",{className:"mt-2",children:[c.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted mb-1.5",children:"Searched for"}),c.jsx("div",{className:"flex flex-wrap gap-1.5",children:ke.map(se=>c.jsx("span",{className:"mention-chip mention-chip--muted",children:se},se))}),c.jsx("p",{className:"text-[11px] text-faint mt-1.5",children:"None of these appear in the answer text."})]})]}),(H.recommendedCompetitors.length>0||H.mentionedCompetitorDomains.length>0)&&c.jsxs("div",{children:[c.jsxs("div",{className:"drawer-section-label flex items-center",children:[c.jsx("span",{children:"Competitors in answer"}),c.jsx(Qs,{text:"Competitors detected in the answer text. Includes tracked competitor brands and names extracted by Canonry; source-link competitors stay in the Sources tab."})]}),c.jsx("div",{className:"flex flex-wrap gap-1.5",children:(()=>{const se=H.mentionedCompetitorDomains.map(ce=>ce.replace(/^www\./,"")),V=new Set(se.map(ce=>ja(ce.replace(/\.[^.]+$/,""))));return[...H.recommendedCompetitors.filter(ce=>!V.has(ja(ce))),...se].map(ce=>c.jsx("span",{className:"mention-chip mention-chip--competitor",children:ce},ce))})()})]})]}),h==="sources"&&c.jsxs(c.Fragment,{children:[H.citedDomains.length>0&&c.jsxs("div",{children:[c.jsxs("div",{className:"drawer-section-label flex items-center",children:[c.jsx("span",{children:"Domains from source links"}),c.jsx(Qs,{text:"These domains were extracted from grounding or citation URLs. They are supporting-source metadata, not proof that the answer text mentioned them."})]}),c.jsx("div",{className:"citation-leaderboard",children:H.citedDomains.map((se,V)=>{const q=se.toLowerCase().replace(/^www\./,""),ce=M.has(q),qe=!ce&&H.citedCompetitorDomains.some(nt=>nt.toLowerCase().replace(/^www\./,"")===q),ye=ce?"you":qe?"competitor":"other";return c.jsxs("div",{className:`citation-leaderboard-item citation-leaderboard-item--${ye}`,children:[c.jsxs("span",{className:"citation-leaderboard-rank",children:["#",V+1]}),c.jsx("span",{className:"citation-leaderboard-domain",children:se}),ce&&c.jsx("span",{className:"citation-leaderboard-tag",children:"You"}),qe&&c.jsx("span",{className:"citation-leaderboard-tag",children:"Competitor"})]},se)})})]}),H.groundingSources.length>0&&c.jsxs("div",{children:[c.jsxs("div",{className:"drawer-section-label flex items-center",children:[c.jsxs("span",{children:["Grounding source links (",H.groundingSources.length,")"]}),c.jsx(Qs,{text:"Links the model used as grounding or supporting context while producing the answer. These are not the same thing as answer visibility."})]}),c.jsx("ul",{className:"grid gap-0.5",children:H.groundingSources.map((se,V)=>{const q=mf(se.uri),ce=se.title||se.uri;return c.jsx("li",{className:"truncate text-sm",children:q?c.jsx("a",{href:q,target:"_blank",rel:"noopener noreferrer",className:"text-secondary hover:text-strong transition-colors",children:ce}):c.jsx("span",{className:"text-secondary",children:ce})},V)})})]}),H.evidenceUrls.length>0&&c.jsxs("div",{children:[c.jsx("p",{className:"drawer-section-label",children:"Evidence URLs"}),c.jsx("ul",{className:"grid gap-1",children:H.evidenceUrls.map(se=>{const V=mf(se);return c.jsx("li",{className:"truncate text-sm",children:V?c.jsx("a",{href:V,target:"_blank",rel:"noopener noreferrer",className:"text-secondary hover:text-strong transition-colors",children:se}):c.jsx("span",{className:"text-secondary",children:se})},se)})})]}),H.citedDomains.length===0&&H.groundingSources.length===0&&H.evidenceUrls.length===0&&c.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No source data ",re?"for this run":"yet"]})]}),!Qe&&!Fe&&c.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No answer visibility data ",re?"for this run":"yet"]})]})]})]})]})]})})}function ZG(e){const n=e.match(/^\/projects\/([^/]+)/);if(!n)return null;try{return decodeURIComponent(n[1])}catch{return n[1]}}function YG(e,n){return e?n?.projects.find(r=>r.project.name===e||r.project.id===e)?.project.name??e:null}function XG(e,n){return YG(ZG(e),n)}function Sa(e){const n=new Date("2026-02-20");return e.map((i,r)=>({runId:`run_mock_${r+1}`,citationState:i,createdAt:new Date(n.getTime()+r*2*24*60*60*1e3).toISOString()}))}const zh=[{id:"project_citypoint",name:"Citypoint Dental NYC",canonicalDomain:"citypointdental.com",ownedDomains:[],aliases:[],country:"US",language:"en",tags:["local intent","priority"],labels:{},providers:[],providerModels:{},measurement:lh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1},{id:"project_harbor",name:"Harbor Legal Group",canonicalDomain:"harborlegal.com",ownedDomains:[],aliases:[],country:"US",language:"en",tags:["lead gen"],labels:{},providers:[],providerModels:{},measurement:lh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1},{id:"project_northstar",name:"Northstar Orthopedics",canonicalDomain:"northstarortho.com",ownedDomains:[],aliases:[],country:"US",language:"en",tags:["multi-location"],labels:{},providers:[],providerModels:{},measurement:lh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1}];function Fd(e){return{id:e.id,projectId:e.projectId,projectName:e.projectName,kind:e.kind,kindLabel:e.kindLabel,status:e.status,trigger:e.trigger??"manual",createdAt:e.createdAt,startedAt:e.startedAt,duration:e.duration,statusDetail:e.statusDetail,summary:e.summary,triggerLabel:e.triggerLabel}}const JG=Fd({id:"run_citypoint_visibility_20260308",projectId:"project_citypoint",projectName:"Citypoint Dental NYC",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"completed",createdAt:"2026-03-08T12:15:00.000Z",startedAt:"Mar 8, 12:15 PM",duration:"6m 12s",statusDetail:"18 tracked queries checked; 3 citation losses detected on emergency-intent prompts.",summary:"Citation losses on emergency-intent prompts",triggerLabel:"Scheduled"}),WG=Fd({id:"run_citypoint_queued_20260309",projectId:"project_citypoint",projectName:"Citypoint Dental NYC",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"queued",createdAt:"2026-03-09T08:05:00.000Z",startedAt:"Mar 9, 8:05 AM",duration:"Waiting for slot",statusDetail:"Ready to enqueue after the next provider rate window clears.",summary:"Queued follow-up after local ranking movement",triggerLabel:"Manual"}),eK=Fd({id:"run_harbor_visibility_20260308",projectId:"project_harbor",projectName:"Harbor Legal Group",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"completed",createdAt:"2026-03-08T11:05:00.000Z",startedAt:"Mar 8, 11:05 AM",duration:"5m 07s",statusDetail:"12 tracked queries checked; local-intent visibility held steady across branded prompts.",summary:"Branded prompts remain stable",triggerLabel:"Scheduled"}),tK=Fd({id:"run_northstar_visibility_20260308",projectId:"project_northstar",projectName:"Northstar Orthopedics",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"running",createdAt:"2026-03-08T13:40:00.000Z",startedAt:"Mar 8, 1:40 PM",duration:"3m 10s",statusDetail:"Provider responses still in flight for 9 multi-location prompts.",summary:"Mid-run on treatment-location prompts",triggerLabel:"Manual"}),nK=[{id:"evidence_citypoint_emergency_gemini",query:"emergency dentist brooklyn",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"lost",changeLabel:"Lost since Mar 5",answerSnippet:"For urgent dental care in Brooklyn, Downtown Smiles and Harbor Dental are now cited first for emergency availability and same-day booking.",citedDomains:["downtownsmiles.com","harbordental.com"],evidenceUrls:["https://downtownsmiles.com/emergency-dentist-brooklyn","https://harbordental.com/same-day-emergency-care"],competitorDomains:["downtownsmiles.com","harbordental.com"],groundingSources:[],relatedTechnicalSignals:["FAQ schema missing on the emergency service page","llms.txt not found during latest site audit","Location pages link weakly into the emergency care hub"],summary:"AI answers now cite two competitors while your emergency page is no longer grounded.",runHistory:Sa(["cited","cited","cited","cited","cited","cited","cited","not-cited","not-cited"])},{id:"evidence_citypoint_emergency_openai",query:"emergency dentist brooklyn",provider:"openai",model:"gpt-5.4",location:null,citationState:"cited",changeLabel:"Cited for 6 runs",answerSnippet:"Citypoint Dental is listed as a top emergency dentist in Brooklyn for same-day appointments and walk-in availability.",citedDomains:["citypointdental.com","downtownsmiles.com"],evidenceUrls:["https://citypointdental.com/emergency-dentist-brooklyn"],competitorDomains:["downtownsmiles.com"],groundingSources:[],relatedTechnicalSignals:["Emergency page indexed with structured data"],summary:"OpenAI cites your emergency page consistently alongside one competitor.",runHistory:Sa(["not-cited","cited","cited","cited","cited","cited","cited"])},{id:"evidence_citypoint_emergency_claude",query:"emergency dentist brooklyn",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"Based on the search results, top-rated emergency dental practices in Brooklyn include Downtown Smiles and Harbor Dental.",citedDomains:["downtownsmiles.com","harbordental.com"],evidenceUrls:[],competitorDomains:["downtownsmiles.com","harbordental.com"],groundingSources:[],relatedTechnicalSignals:["FAQ schema missing","llms.txt not found"],summary:"Claude does not cite your domain for this emergency query.",runHistory:Sa(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_invisalign_openai",query:"best invisalign dentist downtown brooklyn",provider:"openai",model:"gpt-5.4",location:null,citationState:"emerging",changeLabel:"First citation in 7 days",answerSnippet:"Citypoint Dental appears as an emerging recommendation for Invisalign in Downtown Brooklyn, supported by recent before-and-after case pages.",citedDomains:["citypointdental.com","clearlineortho.com"],evidenceUrls:["https://citypointdental.com/invisalign-downtown-brooklyn","https://citypointdental.com/case-studies/invisalign-open-bite"],competitorDomains:["clearlineortho.com"],groundingSources:[],relatedTechnicalSignals:["Structured data now present on two case-study pages","Internal links from service pages to case studies improved crawl depth"],summary:"Fresh case-study content is starting to earn citations on Invisalign prompts.",runHistory:Sa(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","cited"])},{id:"evidence_citypoint_invisalign_gemini",query:"best invisalign dentist downtown brooklyn",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"cited",changeLabel:"Cited for 8 runs",answerSnippet:"Citypoint Dental in Downtown Brooklyn is highlighted for its Invisalign expertise and patient outcomes.",citedDomains:["citypointdental.com"],evidenceUrls:["https://citypointdental.com/invisalign-downtown-brooklyn"],competitorDomains:[],groundingSources:[],relatedTechnicalSignals:["Case study pages well-indexed"],summary:"Gemini consistently cites your Invisalign page with no competitor overlap.",runHistory:Sa(["cited","cited","cited","cited","cited","cited","cited","cited"])},{id:"evidence_citypoint_invisalign_claude",query:"best invisalign dentist downtown brooklyn",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"For Invisalign in Downtown Brooklyn, Clear Line Ortho and Brooklyn Smiles are frequently recommended for their experienced orthodontists.",citedDomains:["clearlineortho.com","brooklynsmiles.com"],evidenceUrls:[],competitorDomains:["clearlineortho.com"],groundingSources:[],relatedTechnicalSignals:["No before/after schema on case study pages"],summary:"Claude does not surface your Invisalign content despite strong page quality.",runHistory:Sa(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_claude",query:"pediatric dentist brooklyn heights",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 4 runs",answerSnippet:"Answers cite neighborhood-specific pediatric practices with stronger family-focused FAQ content and clearer insurance details.",citedDomains:["brightkidsdental.com","parkpediatricdental.com"],evidenceUrls:["https://brightkidsdental.com/pediatric-dentist-brooklyn-heights","https://parkpediatricdental.com/insurance"],competitorDomains:["brightkidsdental.com","parkpediatricdental.com"],groundingSources:[],relatedTechnicalSignals:["No dedicated pediatric service page exists for Brooklyn Heights","Insurance content is buried three clicks deep"],summary:"Coverage gap is content-driven, not purely technical.",runHistory:Sa(["not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_gemini",query:"pediatric dentist brooklyn heights",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"For pediatric dentistry in Brooklyn Heights, Bright Kids Dental and Park Pediatric Dental are cited for family-friendly care.",citedDomains:["brightkidsdental.com","parkpediatricdental.com"],evidenceUrls:[],competitorDomains:["brightkidsdental.com","parkpediatricdental.com"],groundingSources:[],relatedTechnicalSignals:["No dedicated pediatric page for Brooklyn Heights"],summary:"Gemini does not surface your domain for pediatric queries in this area.",runHistory:Sa(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_openai",query:"pediatric dentist brooklyn heights",provider:"openai",model:"gpt-5.4",location:null,citationState:"cited",changeLabel:"First citation this month",answerSnippet:"Citypoint Dental is mentioned as offering pediatric services in Brooklyn, though specialized pediatric-only practices are also highlighted.",citedDomains:["citypointdental.com","brightkidsdental.com"],evidenceUrls:["https://citypointdental.com/family-dentistry"],competitorDomains:["brightkidsdental.com"],groundingSources:[],relatedTechnicalSignals:["Family dentistry page recently updated"],summary:"OpenAI recently started citing your family dentistry page for this query.",runHistory:Sa(["not-cited","not-cited","not-cited","not-cited","not-cited","cited"])}];zh[0],Math.round(1/9*100),Math.round(2/9*100),zh[1],Sa(["cited","cited","cited","cited","cited"]),zh[2],Math.round(2/7*100),Math.round(3/7*100),Sa(["not-cited","not-cited","not-cited","cited"]);function aK(e,n){return e.runs.find(i=>i.id===n)}function iK(e,n){for(const i of e.projects){const r=i.visibilityEvidence.find(u=>u.id===n);if(r)return{project:i,evidence:r}}}function sK(e,n,i){if(e){const r=e.visibilityEvidence.find(u=>u.id===i);if(r)return{project:e,evidence:r}}if(n)return iK(n,i)}const oK={regression:"negative",gain:"positive",opportunity:"caution","first-citation":"positive","provider-pickup":"positive","persistent-gap":"caution","competitor-gained":"negative","competitor-lost":"neutral","gbp-lodging-gap":"negative","gbp-listing-discrepancy":"negative","gbp-cta-gap":"caution","gbp-description-missing":"caution","gbp-metric-drop":"negative","gbp-keyword-drop":"negative"},rK={opportunity:"write","persistent-gap":"write","competitor-gained":"write","competitor-lost":"write",regression:"investigate",gain:"monitor","first-citation":"monitor","provider-pickup":"monitor","gbp-lodging-gap":"write","gbp-listing-discrepancy":"write","gbp-cta-gap":"write","gbp-description-missing":"write","gbp-metric-drop":"investigate","gbp-keyword-drop":"investigate"},lK={regression:"lost",gain:"emerging",opportunity:"not-cited","first-citation":"emerging","provider-pickup":"emerging","persistent-gap":"not-cited","competitor-gained":"cited","competitor-lost":"not-cited","gbp-lodging-gap":"not-cited","gbp-listing-discrepancy":"not-cited","gbp-cta-gap":"not-cited","gbp-description-missing":"not-cited","gbp-metric-drop":"lost","gbp-keyword-drop":"lost"},cK={regression:"Regression",gain:"Gain",opportunity:"Opportunity","first-citation":"First citation","provider-pickup":"Pickup","persistent-gap":"Gap","competitor-gained":"Competitor","competitor-lost":"Competitor","gbp-lodging-gap":"Lodging gap","gbp-listing-discrepancy":"Listing gap","gbp-cta-gap":"Booking CTA","gbp-description-missing":"Description gap","gbp-metric-drop":"Metric drop","gbp-keyword-drop":"Keyword drop"};function uK(e){return{id:e.id,tone:oK[e.type],title:e.title,detail:e.cause?.details??e.cause?.cause??"",actionLabel:e.recommendation?.action??cK[e.type],actionGroup:rK[e.type],affectedPhrases:[{query:e.query,evidenceId:"",provider:e.provider,citationState:lK[e.type]}]}}function dK(e){return e.filter(n=>!n.dismissed).map(uK)}function fj(e){return{id:e.id,name:e.name,displayName:e.displayName,canonicalDomain:e.canonicalDomain,ownedDomains:e.ownedDomains??[],aliases:e.aliases??[],country:e.country,language:e.language,tags:e.tags,labels:e.labels,providers:e.providers??[],providerModels:e.providerModels??{},measurement:e.measurement,locations:e.locations??[],defaultLocation:e.defaultLocation??null,autoExtractBacklinks:e.autoExtractBacklinks??!1,configSource:e.configSource,configRevision:e.configRevision,createdAt:e.createdAt,updatedAt:e.updatedAt}}function Vx(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}catch{return e}}function mK(e,n){if(!e)return"Waiting";if(!n)return"Running";const i=new Date(n).getTime()-new Date(e).getTime();if(i<1e3)return"<1s";const r=Math.floor(i/1e3);if(r<60)return`${r}s`;const u=Math.floor(r/60),h=r%60;return`${u}m ${h}s`}function gj(e){switch(e){case Ne["answer-visibility"]:return"Answer visibility sweep";case Ne["gsc-sync"]:return"GSC sync";case Ne["inspect-sitemap"]:return"Sitemap inspection";case Ne["ga-sync"]:return"GA sync";case Ne["traffic-sync"]:return"Traffic sync";case Ne["bing-inspect"]:return"Bing URL inspection";case Ne["bing-inspect-sitemap"]:return"Bing sitemap inspection";case Ne["site-audit"]:return"Site audit";case Ne["backlink-extract"]:return"Backlink extract";case Ne["aeo-discover-seed"]:return"Discovery (seed phase)";case Ne["aeo-discover-probe"]:return"Discovery (probe phase)";case Ne["gbp-sync"]:return"Business Profile sync";case Ne["ads-sync"]:return"ChatGPT ads sync";case Ne["google-ads-sync"]:return"Google Ads sync";case Ne["gtm-sync"]:return"Tag Manager sync"}}function pK(e){return e===ss.manual?"Manual":e===ss.scheduled?"Scheduled":e===ss["config-apply"]?"Config apply":e}function Zd(e,n){return{id:e.id,projectId:e.projectId,projectName:n,kind:e.kind,kindLabel:gj(e.kind),status:e.status,trigger:e.trigger??"manual",location:e.location??null,createdAt:e.createdAt,startedAt:e.startedAt?Vx(e.startedAt):Vx(e.createdAt),duration:mK(e.startedAt??null,e.finishedAt??null),statusDetail:e.error?yj(e.error):hK(e),summary:fK(e),triggerLabel:pK(e.trigger)}}function yj(e){const n=h0(e);return n.length>200?n.slice(0,200)+"…":n}function hK(e){switch(e.status){case Bt.queued:return"Waiting for execution slot.";case Bt.running:return"Provider queries in progress.";case Bt.completed:return"All queries checked.";case Bt.partial:return"Run completed with some queries skipped.";case Bt.failed:return e.error?yj(e.error):"Run failed.";case Bt.cancelled:return"Run was cancelled.";default:return""}}function fK(e){const n=gj(e.kind);switch(e.status){case Bt.queued:return`${n} queued`;case Bt.running:return`${n} in progress`;case Bt.completed:return`${n} completed`;case Bt.partial:return`${n} partially completed`;case Bt.failed:return`${n} failed`;case Bt.cancelled:return`${n} cancelled`;default:return e.status}}function gK(e,n,i,r,u){const h=[];let g=0;const b=new Set;if(i.length>0){const v=i.flatMap(R=>R.snapshots??[]),w=new Map;for(const R of v)if(R.query){const M=`${R.query}::${R.provider}::${R.location??""}`;w.set(M,R)}const S=new Set(v.map(R=>R.location??null));S.size===0&&S.add(null);const A=new Set(v.map(R=>R.provider)),T=new Set(n.flatMap(R=>Object.keys(R.providerRuns??{}))),C=[...new Set([...A,...T])].sort(),F=C.length>0?C:["gemini"];for(const R of n){if(R.runs.length===0)continue;b.add(R.query);const M=R.runs.at(-1),X=M?.transition??"not-cited";for(const J of F){const L=[...S].filter(re=>w.has(`${R.query}::${J}::${re??""}`)),le=(R.providerRuns?.[J]?.length??0)>0,ie=L.length>0?L:le?[null]:[];for(const re of ie){const H=re??"",K=w.get(`${R.query}::${J}::${H}`),Re=K?.model??null,Qe=Re?`${J}:${Re}`:null,Fe=R.providerRuns?.[J],ze=Qe?R.modelRuns?.[Qe]:void 0,ke=Pe=>Pe?.filter(Jt=>(Jt.location??null)===re),Me=L.length>0?ke(Fe):Fe,ve=L.length>0?ke(ze):ze,P=(Me?.length?Me:null)??(ve?.length?ve:null),ee=Me?.length?"provider":ve?.length?"model":"query",pe=P?P.at(-1).transition:X,Ce=P?P.at(-1).visibilityTransition??(P.at(-1).visibilityState==="visible"?"visible":"not-visible"):M?.visibilityTransition??(M?.visibilityState==="visible"?"visible":"not-visible"),W=P?.at(-1)?.citationState,De=P?.at(-1)?.visibilityState,Te=K?pe==="lost"?"lost":pe==="emerging"?"emerging":K.citationState===id.cited?"cited":"not-cited":W===id.cited?"cited":"not-cited",Se=K?.visibilityState??(De==="visible"?"visible":De==="pending"?"pending":"not-visible"),se=$x(P||R.runs),V=Ux(P||R.runs),q=yK(R,J),ce=(P??R.runs).map(Pe=>({runId:Pe.runId,citationState:Pe.citationState,createdAt:Pe.createdAt,model:q.get(Pe.runId)??null,answerMentioned:Pe.answerMentioned,visibilityState:Pe.visibilityState,visibilityTransition:Pe.visibilityTransition,mentionState:Pe.mentionState,mentionTransition:Pe.mentionTransition})),qe=bK(ce),ye=ee==="provider"&&qe.length<=1?"model":ee,nt=vK(ce),Ve=K?.citedCompetitorDomains??[],kt=K?.mentionedCompetitorDomains??[],oe=[...new Set([...Ve,...kt,...K?.competitorOverlap??[]])];h.push({id:`evidence_${e}_${g++}`,query:R.query,queryClass:u?.classify(R.query)??null,provider:K?.provider??J,model:K?.model??null,location:K?.location??re,citationState:Te,answerMentioned:K?.answerMentioned,visibilityState:Se,visibilityChangeLabel:Gx(Ce,V,{positive:"visible",negative:"not visible",first:"first visibility"}),changeLabel:Gx(pe,se),answerSnippet:K?.answerText??"",citedDomains:K?.citedDomains??[],evidenceUrls:[],citedCompetitorDomains:Ve,mentionedCompetitorDomains:kt,competitorDomains:oe,recommendedCompetitors:K?.recommendedCompetitors??[],matchedTerms:K?.matchedTerms??[],relatedTechnicalSignals:[],groundingSources:K?.groundingSources??[],searchQueries:K?.searchQueries??[],summary:xK(Se,Ce,R.query),runHistory:ce,historyScope:ye,modelsSeen:qe,modelTransitions:nt})}}}}for(const v of r)b.has(v.query)||h.push({id:`evidence_${e}_${g++}`,query:v.query,queryClass:u?.classify(v.query)??null,provider:"",model:null,location:null,citationState:"pending",visibilityState:"pending",visibilityChangeLabel:"Awaiting first run",changeLabel:"Awaiting first run",answerSnippet:"",citedDomains:[],evidenceUrls:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],competitorDomains:[],recommendedCompetitors:[],matchedTerms:[],relatedTechnicalSignals:[],groundingSources:[],searchQueries:[],summary:`"${v.query}" has been added but no visibility run has been triggered yet.`,runHistory:[],historyScope:"query",modelsSeen:[],modelTransitions:[]});return h}function yK(e,n){const i=new Map,r=`${n}:`;for(const[u,h]of Object.entries(e.modelRuns??{})){if(!u.startsWith(r))continue;const g=u.slice(r.length),b=g==="unknown"?null:g;for(const v of h)i.set(v.runId,b)}return i}function bK(e){const n=new Set;for(const i of e)i.model&&n.add(i.model);return[...n]}function vK(e){const n=[];let i=null;for(const r of e){const u=r.model??null;u!==i&&i!==null&&n.push({runId:r.runId,createdAt:r.createdAt,fromModel:i,toModel:u}),i=u}return n}function $x(e){if(e.length===0)return 0;const n=e[e.length-1].citationState;let i=0;for(let r=e.length-1;r>=0&&e[r].citationState===n;r--)i++;return i}function Ux(e){if(e.length===0)return 0;const n=e[e.length-1].visibilityState??"not-visible";let i=0;for(let r=e.length-1;r>=0&&(e[r].visibilityState??"not-visible")===n;r--)i++;return i}function Gx(e,n,i){const r={positive:i?.positive??"cited",negative:i?.negative??"not cited",first:i?.first??"first citation"};switch(e){case"new":return"First observation";case"cited":case"visible":return n<=1?`${Ol(r.positive)} in latest run`:`${Ol(r.positive)} for ${n} runs`;case"lost":return"Lost since last run";case"emerging":return Ol(r.first);case"not-cited":case"not-visible":return n<=1?`${Ol(r.negative)} in latest run`:`${Ol(r.negative)} across ${n} runs`;default:return e}}function Ol(e){return e.charAt(0).toUpperCase()+e.slice(1)}function xK(e,n,i){switch(n){case"lost":return`Mention was lost for "${i}". Your brand no longer appeared in the latest answer.`;case"emerging":return`Your brand started appearing in AI answers for "${i}".`}switch(e){case"visible":return`Your brand or domain is mentioned in AI answers for "${i}".`;case"pending":return`"${i}" has been added but no run has been triggered yet.`;default:return`Your brand or domain was not mentioned in AI answers for "${i}".`}}function bj(e){const n=fj(e.project),i=k7(h7(e.project)),r=gK(n.name,e.timeline,e.latestRunDetails,e.queries,i),h=[...e.runs].sort((g,b)=>b.createdAt.localeCompare(g.createdAt)).map(g=>Zd(g,e.project.displayName||e.project.name));return e.overview?wK(n,e.overview,r,h):kK(n,r,h)}function wK(e,n,i,r){const u=dK(n.topInsights);for(const h of n.attentionItems)h.id.startsWith("insight_")||u.push({id:h.id,tone:h.tone,title:h.title,detail:h.detail,actionLabel:h.actionLabel,actionGroup:"investigate",affectedPhrases:[]});return{project:e,dateRangeLabel:n.dateRangeLabel,contextLabel:n.contextLabel,mentionSummary:n.scores.mention,visibilitySummary:n.scores.visibility,mentionShareSummary:n.scores.mentionShare,queryCounts:{cited:n.queryCounts.citedQueries,total:n.queryCounts.totalQueries},gapQueries:n.scores.gapQueries,mentionGaps:n.scores.mentionGaps,indexCoverage:n.scores.indexCoverage,providerScores:n.providerScores,competitorPressure:n.scores.competitorPressure,runStatus:n.scores.runStatus,citationMovement:n.citationMovement,mentionMovement:n.mentionMovement,movementComparison:n.movementComparison,insights:u,visibilityEvidence:i,competitors:n.competitors.map(h=>({id:h.id,domain:h.domain,citationCount:h.citationCount,totalQueries:h.totalQueries,pressureLabel:h.pressureLabel,citedQueries:h.citedQueries,movement:"",notes:""})),recentRuns:r.slice(0,5),suggestedQueries:n.suggestedQueries}}function Kx(){return{projectMentionSnapshots:0,competitorMentionSnapshots:0,perCompetitor:[],snapshotsWithAnswerText:0,snapshotsTotal:0,score:null}}function kK(e,n,i){const r={label:"",value:"No data",delta:"Loading…",tone:"neutral",description:"",tooltip:"",trend:[]};return{project:e,dateRangeLabel:"All time",contextLabel:`${e.country} / ${e.language.toUpperCase()}`,mentionSummary:{...r,label:"Mention Coverage"},visibilitySummary:{...r,label:"Citation Coverage"},mentionShareSummary:{...r,label:"Mention Share",scope:"non-brand",unavailable:!0,breakdown:Kx(),branded:Kx()},queryCounts:{cited:0,total:0},gapQueries:{...r,label:"Citation Gaps"},mentionGaps:{...r,label:"Mention Gaps"},indexCoverage:{...r,label:"Index Coverage"},providerScores:[],competitorPressure:{...r,label:"Competitor Pressure"},runStatus:{...r,label:"Run Status"},citationMovement:{gained:0,lost:0,tone:"neutral",hasPreviousRun:!1},mentionMovement:{gained:0,lost:0,tone:"neutral",hasPreviousRun:!1},movementComparison:{hasPreviousRun:!1,comparable:!1,querySetChanged:!1,previousRunAt:null,currentQueryCount:0,previousQueryCount:0,comparableQueryCount:0,addedQueryCount:0,removedQueryCount:0,addedQueries:[],removedQueries:[]},insights:[],visibilityEvidence:n,competitors:[],recentRuns:i.slice(0,5),suggestedQueries:{rows:[],totalCandidates:0,skippedAlreadyTracked:0}}}function SK(e){const n=fj(e.project),i=[...e.runs].sort((T,C)=>C.createdAt.localeCompare(T.createdAt)),r=i.find(T=>T.kind===Ne["answer-visibility"])??i[0]??e.overview?.latestRun?.run??void 0,u=e.project.displayName||e.project.name,h=r?Zd(r,u):jK(e.project.id,u),g=e.overview;if(!g)return{project:n,hasMeasurement:!1,mentionScore:0,mentionDelta:"No data",mentionTone:"neutral",lastRun:h,insight:"No runs completed yet.",trend:[],competitorPressureLabel:"None"};const b=g.scores.mention,v=b.progress??0,w=g.queryCounts.mentionedQueries,S=g.queryCounts.totalQueries,A=g.providers.length;return{project:n,hasMeasurement:S>0&&b.progress!=null,mentionScore:v,mentionDelta:S>0?`${w} of ${S} queries`:"No data",mentionTone:b.tone,providerCoverage:b.providerCoverage,lastRun:h,insight:S>0?`${w} of ${S} queries mentioned across ${A} provider${A===1?"":"s"}.`:"No runs completed yet.",trend:b.trend??[],competitorPressureLabel:g.scores.competitorPressure.value}}function jK(e,n){return{id:"none",projectId:e,projectName:n,kind:Ne["answer-visibility"],kindLabel:"No runs yet",status:Bt.queued,trigger:ss.manual,createdAt:"",startedAt:"",duration:"",statusDetail:"",summary:"No runs yet",triggerLabel:""}}function AK(e,n){const i=[],r=[],u=[];for(const g of e){r.push(bj(g)),u.push(SK(g));const b=[...g.runs].sort((v,w)=>w.createdAt.localeCompare(v.createdAt));for(const v of b)i.push(Zd(v,g.project.displayName||g.project.name))}i.sort((g,b)=>b.createdAt.localeCompare(g.createdAt));const h=e.length>0;return{portfolioOverview:{projects:u,attentionItems:h?CK(r):[{id:"attention_setup",tone:"neutral",title:"No projects yet",detail:"Create your first project using the setup wizard, CLI, or API.",actionLabel:"Open setup",href:"/setup"}],recentRuns:i.slice(0,5),systemHealth:[{id:"api",label:"API",tone:"positive",detail:"Connected",meta:"Real-time data"},{id:"provider",label:"Gemini",tone:"positive",detail:"Configured",meta:"Provider active"}],...h?{}:{emptyState:{title:"No projects yet",detail:"Canonry becomes useful after one project, a small query set, and one competitor list are in place.",ctaLabel:"Launch setup",ctaHref:"/setup"}}},projects:r,runs:i,setup:{healthChecks:[{id:"api",label:"API reachable",detail:"API is responding.",state:"ready",guidance:"Required for project creation and run history."},{id:"provider",label:"Provider configured",detail:"Gemini key is configured.",state:"ready",guidance:"Required for answer-visibility sweeps."}],projectDraft:{name:"",canonicalDomain:"",country:"US",language:"en"},queryImportState:{mode:"paste",queryCount:0,preview:[]},competitorDraft:{domains:[],notes:"Use the CLI to add competitors."},launchState:{enabled:h,ctaLabel:h?"Trigger run":"Create a project first",summary:h?"Ready to run.":"Create a project first to launch a run."}},settings:{providerStatuses:(n?.providers??[]).map(g=>({name:g.name,displayName:g.displayName,keyUrl:g.keyUrl,modelHint:g.modelHint,model:g.model,defaultModel:g.defaultModel,state:g.configured?"ready":"needs-config",detail:g.configured?"Provider is configured.":g.name.toLowerCase()==="local"?"Base URL is missing.":"API key is missing.",quota:g.quota})),google:{state:n?.google?.configured?"ready":"needs-config",detail:n?.google?.configured?"Google OAuth app credentials are configured. Project-level GSC connections can be created from the dashboard.":"Google OAuth client ID and client secret are not configured yet."},bing:{state:n?.bing?.configured?"ready":"needs-config",detail:n?.bing?.configured?"Bing Webmaster Tools API key is configured. Project-level Bing connections can be created from the dashboard.":"Bing Webmaster Tools API key is not configured yet."},selfHostNotes:["Configuration is stored in ~/.canonry/config.yaml.","The local config file is the source of truth for authentication credentials.","Google OAuth app credentials and per-domain Google tokens are stored in local config, not the database.","Database is SQLite at ~/.canonry/data.db.","API key was auto-generated during canonry init."],bootstrapNote:"Use the UI, CLI, or ~/.canonry/config.yaml to manage settings. Authentication credentials persist to local config."}}}function CK(e){const n=[];for(const i of e){const r=i.visibilityEvidence.filter(h=>h.citationState==="lost");r.length>0&&n.push({id:`attention_${i.project.id}_lost`,tone:"negative",title:`${i.project.displayName||i.project.name} lost citations`,detail:`${r.length} quer${r.length>1?"ies":"y"} lost citation.`,actionLabel:"Open project",href:`/projects/${encodeURIComponent(i.project.name)}`});const u=i.recentRuns.filter(h=>h.status===Bt.running||h.status===Bt.queued);u.length>0&&n.push({id:`attention_${i.project.id}_active`,tone:"neutral",title:`${i.project.displayName||i.project.name} has active runs`,detail:`${u.length} run${u.length>1?"s":""} in progress.`,actionLabel:"View runs",href:"/runs"})}return n.length===0&&n.push({id:"attention_stable",tone:"positive",title:"All projects stable",detail:"No citation losses or active runs to flag."}),n}const vj=_.createContext(null);vj.Provider;function cc(){return _.useContext(vj)}function Yd(e,n={}){const r=cc()?.dashboard??null,u=n.includeSettings??!0,h=n.includeOverviews??!0,g=n.pauseProjectPolling??!1,{isAdmin:b}=pa(),v=wt({...Kd({client:ae,query:{kind:"answer-visibility"}}),enabled:!r,staleTime:ur,refetchInterval:L=>L.state.data?.some(re=>re.status==="running"||re.status==="queued")?3e3:ur}),w=wt({...so({client:ae}),enabled:!r,refetchInterval:g?!1:L=>{const le=L.state.data,ie=v.data?.some(H=>H.status==="running"||H.status==="queued");return(le?.length??0)===0||!!ie?EV:RV}}),S=wt({...g$({client:ae}),enabled:!r&&u&&b}),A=w.data??[],T=v.data??[],C=L4({queries:A.map(L=>{const le=T.filter(H=>H.projectId===L.id),ie=le.filter(H=>(H.status==="completed"||H.status==="partial")&&H.kind==="answer-visibility"&&H.trigger!=="probe").sort((H,K)=>K.createdAt.localeCompare(H.createdAt)),re=ie.length>0?ie[0].id:"no-run";return{queryKey:["project-overview-slim",L.id,re],queryFn:async()=>{const H=await D3(L.name).catch(()=>null);return{project:L,runs:le,queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:H}},enabled:!r&&h&&w.isSuccess&&v.isSuccess,staleTime:Hu}})}),F=!h||C.every(L=>L.isSuccess),R=_.useMemo(()=>{if(r)return r;if(!w.data||!v.data||A.length>0&&!F)return null;const L=h?C.map(le=>le.data?{...le.data,runs:T.filter(ie=>ie.projectId===le.data.project.id)}:null).filter(le=>le!=null):A.map((le,ie)=>{const re=C[ie]?.data;return{project:le,runs:T.filter(H=>H.projectId===le.id),queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:re?.overview??null}});return AK(L,S.data??null)},[r,w.data,v.data,S.data,h,F,C,A,T]),M=!r&&(w.isError||v.isError),X=!r&&!R&&!M,J=_.useCallback(async()=>{const L=[w.refetch(),v.refetch(),...h?C.map(le=>le.refetch()):[]];u&&L.push(S.refetch()),await Promise.all(L)},[u,h,C,w.refetch,v.refetch,S.refetch]);return{dashboard:R,isLoading:X,isError:M,refetch:J}}function NK(e){return JSON.stringify(e.filter(n=>n.kind==="answer-visibility"&&n.trigger!=="probe"&&(n.status==="completed"||n.status==="partial")).map(n=>[n.id,n.status]).sort(([n],[i])=>n.localeCompare(i)))}async function pf(e,n,i="active"){const r=u=>{const h=u.queryKey[0];return h?._id==="getApiV1ProjectsByNameAnalyticsCompetitors"&&h.path?.name===n};return i==="active"&&await e.cancelQueries({predicate:r}),e.invalidateQueries({predicate:r,refetchType:i})}function eee(e,n,i){const r=ua(),u=_.useRef({projectName:e,revision:n,enabled:i});_.useEffect(()=>{const h=u.current;u.current={projectName:e,revision:n,enabled:i},!(!i||!h.enabled||h.projectName!==e||h.revision===n)&&pf(r,e)},[i,e,r,n])}const _K=20;function TK(e,n={}){const i=ua(),r=cc(),u=_.useMemo(()=>!r||!e?null:r.dashboard.projects.find(ie=>ie.project.name===e)??null,[r,e]),h=wt({...FV({client:ae,path:{name:e??""}}),enabled:!!e&&!u,staleTime:Hu,refetchOnWindowFocus:"always"}),g=wt({...U3({client:ae,path:{name:e??""},query:{kind:"answer-visibility"}}),enabled:!!e,staleTime:ur,refetchOnWindowFocus:"always",refetchInterval:ie=>ie.state.data?.some(K=>K.projectId===h.data?.id&&(K.status==="running"||K.status==="queued"))?3e3:ur}),b=h.data??null,v=_.useMemo(()=>b?(g.data??[]).filter(ie=>ie.projectId===b.id):[],[b,g.data]),{latestRunIds:w,latestRunIdsKey:S,latestVisibilityRevision:A}=_.useMemo(()=>{const ie=v.filter(K=>(K.status==="completed"||K.status==="partial")&&K.kind==="answer-visibility"&&K.trigger!=="probe").sort((K,Re)=>Re.createdAt.localeCompare(K.createdAt)),re=ie[0]?.createdAt??null,H=re?ie.filter(K=>K.createdAt===re).map(K=>K.id):[];return{latestRunIds:H,latestRunIdsKey:[...H].sort().join(","),latestVisibilityRevision:re?`${re}:${[...H].sort().join(",")}`:"none"}},[v]),T=!!b&&!!e&&g.isSuccess,C=wt({queryKey:["project-dashboard-full",b?.id??null,S||"none","overview"],queryFn:async()=>({project:b,overview:await D3(e)}),enabled:T&&n.overview===!0,staleTime:Hu,refetchOnWindowFocus:"always"}),F=wt({queryKey:["project-dashboard-full",b?.id??null,S||"none","evidence"],queryFn:async()=>{const[ie,re,H]=await Promise.all([z3(e),eV(e,void 0,_K),Promise.all(w.map(K=>sf(K)))]);return{project:b,queries:ie,timeline:re,latestRunDetails:H}},enabled:T&&n.evidence===!0,staleTime:Hu,refetchOnWindowFocus:"always"}),R=_.useMemo(()=>{if(!b||!g.data)return u;const ie=n.evidence?F.data:void 0,re={project:b,runs:v,queries:ie?.queries??[],timeline:ie?.timeline??[],latestRunDetails:ie?.latestRunDetails??[],overview:n.overview?C.data?.overview??null:null},H=bj(re);return u&&!(n.overview&&C.data)?{...u,project:H.project,recentRuns:g.data?H.recentRuns:u.recentRuns,visibilityEvidence:ie?H.visibilityEvidence:u.visibilityEvidence}:H},[b,v,F.data,C.data,u,n.evidence,n.overview,g.data]),M=_.useCallback(async()=>{await Promise.all([h.refetch(),g.refetch(),i.invalidateQueries({queryKey:["project-dashboard-full",b?.id??null]})])},[h.refetch,g.refetch,i,b?.id]),X=h.isError||g.isError,J=!u&&(h.isLoading||g.isLoading),L=!!e&&n.overview===!0&&!u&&!X&&C.isPending,le=!!e&&n.evidence===!0&&!u&&!X&&F.isPending;return{commandCenter:R,project:b,isLoading:J,isError:X,overviewLoading:L,overviewError:n.overview===!0&&C.isError&&!C.data,evidenceLoading:le,evidenceError:n.evidence===!0&&F.isError&&!F.data,latestVisibilityRevision:A,competitorHistoryRevision:NK(v),refetch:M}}const EK=["health"];async function RK(){const e=await vV("/health","API"),n=Bl()&&e.state==="ok"?{label:"Worker",state:"disabled",detail:"Background execution is disabled in this public demo."}:e.state==="ok"?{label:"Worker",state:"ok",detail:"In-process job runner"}:{label:"Worker",state:e.state,detail:`Depends on API health check · ${e.detail}`,statusCode:e.statusCode,hint:e.hint?`Worker status is inferred from API health in this deployment mode. ${e.hint}`:"Worker status is inferred from API health in this deployment mode."};return{apiStatus:e,workerStatus:n}}function Z0(e,n){return wt({queryKey:EK,queryFn:RK,enabled:e,refetchInterval:15e3,initialData:n})}function zK(e){return wt({...G0({client:ae,path:{id:e??""}}),enabled:!!e,refetchInterval:n=>{const i=n.state.data?.status;return i==="running"||i==="queued"?3e3:!1}})}function Y0(){const e=cs(),n=pw({strict:!1}),i=V4({select:v=>v.location.pathname}),r=n.runId??null,u=n.evidenceId??null;return{runId:r,evidenceId:u,openRun:v=>{e({to:i,from:jn.to,search:w=>({...w,runId:v,evidenceId:void 0})})},openEvidence:v=>{e({to:i,from:jn.to,search:w=>({...w,evidenceId:v,runId:void 0})})},closeDrawer:()=>{e({to:i,from:jn.to,search:v=>({...v,runId:void 0,evidenceId:void 0})})}}}const DK={negative:"toast-card-negative",caution:"toast-card-caution",positive:"toast-card-positive",neutral:"toast-card-neutral"};function OK(e){if(e.cta)return`${e.cta.label}: ${e.title}`}function qK(){const e=_.useSyncExternalStore(_V,Ax,Ax),n=cs(),{openRun:i}=Y0(),r=_.useCallback(h=>{cf(h)},[]),u=_.useCallback(h=>{h.cta&&(h.cta.intent==="open-run-drawer"?i(h.cta.runId):n({to:"/runs"}),cf(h.id))},[n,i]);return e.length===0?null:c.jsx("div",{className:"toast-viewport","aria-label":"Notifications",children:e.map(h=>c.jsxs("section",{role:h.tone==="negative"?"alert":"status","aria-live":h.tone==="negative"?"assertive":"polite","data-state":h.state,className:`toast-card ${DK[h.tone]}`,children:[c.jsxs("div",{className:"toast-copy",children:[c.jsx("p",{className:"toast-title",children:h.title}),h.detail?c.jsx("p",{className:"toast-detail",children:h.detail}):null,h.cta?c.jsx("button",{type:"button",className:"toast-action",onClick:()=>u(h),"aria-label":OK(h),children:h.cta.label}):null]}),c.jsx("button",{type:"button",onClick:()=>r(h.id),className:"toast-dismiss","aria-label":"Dismiss",children:c.jsx(mr,{className:"size-3.5"})})]},h.id))})}const IK="https://github.com/Canonry/canonry",PK="https://canonry.ai",Hx="Run it from your agent with the MCP server, API, CLI, and plugins for Claude Code and Codex.",MK=[{title:"Visibility",links:[["AI visibility","/projects/summit-roofing"],["Search engines","/projects/summit-roofing/search-console"],["Traffic & conversions","/projects/summit-roofing/conversions"],["Reports","/projects/harbor-resorts/report"]]},{title:"Portfolio",links:[["Properties & markets","/projects/harbor-resorts"],["Queries & research","/projects/harbor-resorts/queries"],["Activity","/projects/harbor-resorts/activity"]]},{title:"Website",links:[["Site health","/projects/summit-roofing/technical-aeo"],["Local presence","/projects/summit-roofing/local"],["Backlinks","/projects/summit-roofing/backlinks"]]}];function BK(){const e=_.useId();if(!Bl())return null;const n=Gd(),i=`${e}-new-tab`,r={target:"_blank",rel:"noopener noreferrer","aria-describedby":i};return c.jsxs("aside",{className:"demo-banner","aria-label":"Public demo",children:[c.jsx("p",{className:"demo-banner-name",children:"Canonry demo"}),c.jsx("p",{className:"demo-banner-facts",children:"No sign-in. View only. Fictional data."}),c.jsx("p",{className:"demo-banner-agent",children:Hx}),c.jsxs("div",{className:"demo-banner-actions",children:[c.jsxs("a",{className:"demo-banner-primary",href:PK,...r,children:["canonry.ai",c.jsx(Q4,{"aria-hidden":"true",size:14})]}),c.jsxs("a",{className:"demo-banner-secondary",href:IK,...r,children:[c.jsx(ww,{"aria-hidden":"true",size:15}),"GitHub"]}),c.jsxs("details",{onKeyDown:u=>{u.key==="Escape"&&(u.currentTarget.open=!1,u.currentTarget.querySelector("summary")?.focus())},children:[c.jsxs("summary",{children:["Explore ",c.jsx(pd,{"aria-hidden":"true",size:14})]}),c.jsxs("div",{className:"demo-banner-panel",children:[c.jsx("p",{className:"demo-banner-panel-agent",children:Hx}),c.jsxs("nav",{className:"demo-banner-examples","aria-label":"Demo examples",children:[c.jsx("a",{href:`${n}/projects/summit-roofing`,children:"Standard business"}),c.jsx("a",{href:`${n}/projects/harbor-resorts`,children:"Property portfolio"})]}),c.jsx("nav",{className:"demo-banner-features","aria-label":"Demo feature directory",children:MK.map(({title:u,links:h})=>c.jsxs("section",{"aria-label":u,children:[c.jsx("h2",{children:u}),c.jsx("ul",{children:h.map(([g,b])=>c.jsx("li",{children:c.jsx("a",{href:`${n}${b}`,children:g})},b))})]},u))})]})]})]}),c.jsx("span",{id:i,hidden:!0,children:"Opens in a new tab"})]})}function Ll(e){switch(e){case Ne["answer-visibility"]:return"Visibility sweep";case Ne["gsc-sync"]:return"GSC sync";case Ne["inspect-sitemap"]:return"Sitemap inspection";case Ne["ga-sync"]:return"GA sync";case Ne["traffic-sync"]:return"Traffic sync";case Ne["bing-inspect"]:return"Bing URL inspection";case Ne["bing-inspect-sitemap"]:return"Bing sitemap inspection";case Ne["site-audit"]:return"Technical audit";case Ne["backlink-extract"]:return"Backlink extract";case Ne["aeo-discover-seed"]:return"Discovery (seed phase)";case Ne["aeo-discover-probe"]:return"Discovery (probe phase)";case Ne["gbp-sync"]:return"Business Profile sync";case Ne["ads-sync"]:return"ChatGPT ads sync";case Ne["google-ads-sync"]:return"Google Ads sync";case Ne["gtm-sync"]:return"Tag Manager sync"}}function Qx(e){return e==="running"?"Running":e==="queued"?"Queued":e==="partial"?"Partial":e==="completed"?"Completed":e==="failed"?"Failed":e==="cancelled"?"Cancelled":"Starting"}function LK(){const e=_.useSyncExternalStore(F3,xi,xi),n=_.useMemo(()=>Object.values(e.runs),[e.runs]),i=n.length>0,r=wt({...Kd({client:ae}),enabled:i,staleTime:ur}),u=_.useMemo(()=>new Map((r.data??[]).map(b=>[b.id,b.status])),[r.data]);if(!i)return null;const h=n.map(b=>({...b,status:u.get(b.runId)??b.lastAnnouncedStatus})),g=h.length===1?Ll(h[0].kind):`${h.length} active tasks`;return c.jsxs("div",{className:"task-center",children:[c.jsxs("p",{className:"sr-only",role:"status","aria-live":"polite",children:[h.length," active ",h.length===1?"task":"tasks","."," ",h.map(b=>`${Ll(b.kind)} ${Qx(b.status)}`).join(". "),"."]}),c.jsxs("details",{className:"task-center-details",children:[c.jsxs("summary",{className:"task-center-trigger",children:[c.jsx(ar,{className:"size-3.5 shrink-0 motion-safe:animate-spin","aria-hidden":"true"}),c.jsx("span",{className:"task-center-summary",children:g}),c.jsx("span",{className:"task-center-count","aria-hidden":"true",children:h.length}),c.jsx(pd,{className:"task-center-chevron size-3.5 shrink-0","aria-hidden":"true"})]}),c.jsxs("div",{className:"task-center-panel",children:[c.jsxs("div",{className:"task-center-heading",children:[c.jsx("span",{children:"Active tasks"}),c.jsx("span",{className:"tabular-nums text-faint",children:h.length})]}),c.jsx("ul",{className:"task-center-list",children:h.map(b=>c.jsxs("li",{className:"task-center-item",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"truncate text-[13px] font-medium text-strong",children:Ll(b.kind)}),c.jsx("p",{className:"mt-0.5 truncate text-xs text-muted",children:b.projectLabel??b.projectId})]}),c.jsx(gn,{tone:b.status==="failed"?"negative":b.status==="partial"?"caution":"neutral",children:Qx(b.status)})]},b.runId))}),c.jsx(Ge,{to:"/runs",className:"task-center-footer-link",children:"View all runs"})]})]})]})}function VK(e,n={}){const{threshold:i=80}=n,r=_.useRef(null),u=_.useRef({scrollHeight:0,wasAtEnd:!0});function h(v){return v.scrollHeight-v.scrollTop-v.clientHeight}function g(){const v=r.current;return v?h(v)<=i:!0}function b(){const v=r.current;v&&(v.scrollTop=v.scrollHeight,u.current.wasAtEnd=!0,u.current.scrollHeight=v.scrollHeight)}return _.useEffect(()=>{const v=r.current;if(!v)return;const w=()=>{u.current.wasAtEnd=h(v)<=i};return v.addEventListener("scroll",w,{passive:!0}),()=>v.removeEventListener("scroll",w)},[i]),_.useLayoutEffect(()=>{const v=r.current;if(!v)return;const w=v.scrollHeight;w>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=w),u.current.scrollHeight=w},e),_.useEffect(()=>{const v=r.current;if(!v||typeof ResizeObserver>"u")return;const w=new ResizeObserver(()=>{const S=v.scrollHeight;S>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=S),u.current.scrollHeight=S});return w.observe(v),v.firstElementChild&&w.observe(v.firstElementChild),()=>w.disconnect()},[]),{ref:r,scrollToEnd:b,isAtEnd:g}}const hf="Sweeps are run by your Canonry team",$K="Scans are run by your Canonry team",Fx="Next sweep unavailable",UK="Sweep running…",GK="Next sweep:";function KK(e,n){try{return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",timeZone:n??"UTC"}).format(new Date(e))}catch{return null}}function HK({projectName:e,kind:n=Ne["answer-visibility"],running:i=!1,loadSchedule:r=!0}){const u=n===Ne["site-audit"],h=wt({...b$({client:ae,path:{name:e},query:{kind:n}}),enabled:r&&!!e,retry:!1,refetchInterval:6e4}),g=h.isError?void 0:h.data,b=g?.enabled&&g.nextRunAt?new Date(g.nextRunAt):null,v=b&&Number.isFinite(b.getTime())?u?b.toLocaleString("en-GB",{weekday:"long",day:"numeric",month:"short",hour:"2-digit",minute:"2-digit",timeZone:"UTC",hourCycle:"h23"}):KK(b.toISOString(),g?.timezone):null,S=(h.error instanceof dn?h.error.code:h.error?.error?.code)==="NOT_FOUND",A=!v||S||!g?.enabled;return c.jsx("p",{className:"text-sm text-secondary",role:"status",children:u?c.jsxs(c.Fragment,{children:[i&&c.jsx("span",{className:"text-neutral",children:"Scan running… · "}),v&&b?c.jsxs(c.Fragment,{children:["Next scan ",c.jsxs("time",{dateTime:b.toISOString(),children:[v," UTC"]})," · managed by your Canonry team"]}):$K]}):i?UK:A?Fx:v&&b?c.jsxs(c.Fragment,{children:[GK," ",c.jsx("time",{dateTime:b.toISOString(),children:v})]}):Fx})}async function X0(e){try{return await e.json()}catch{return{}}}function QK(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const J0=QK();function W0(e){e===401&&L0()}async function Zx(e){const n=await fetch(`${J0}/projects/${encodeURIComponent(e)}/agent/transcript`,{credentials:"include"});if(!n.ok){W0(n.status);const i=await X0(n);throw new dn(i.error?.message??`transcript fetch failed: ${n.status}`,n.status,i.error?.code)}return await n.json()}async function FK(e){const n=await fetch(`${J0}/projects/${encodeURIComponent(e)}/agent/transcript`,{method:"DELETE",credentials:"include"});if(!n.ok){W0(n.status);const i=await X0(n);throw new dn(i.error?.message??`reset failed: ${n.status}`,n.status,i.error?.code)}}async function ZK({project:e,prompt:n,provider:i,modelId:r,scope:u,profile:h,signal:g,onEvent:b}){const v={prompt:n};i&&(v.provider=i),r&&(v.modelId=r),u&&(v.scope=u),h&&(v.profile=h);const w=await fetch(`${J0}/projects/${encodeURIComponent(e)}/agent/prompt`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(v),signal:g});if(!w.ok||!w.body){W0(w.status);const F=await X0(w);throw new dn(F.error?.message??`prompt failed: ${w.status}`,w.status,F.error?.code)}const S=w.body.getReader(),A=new TextDecoder;let T="";const C=()=>{S.cancel().catch(()=>{})};g?.addEventListener("abort",C,{once:!0});try{for(;;){const{value:F,done:R}=await S.read();if(R)break;T+=A.decode(F,{stream:!0});let M=T.indexOf(`
59
+
60
+ `);for(;M!==-1;){const X=T.slice(0,M);T=T.slice(M+2);for(const J of X.split(`
61
+ `)){if(!J.startsWith("data:"))continue;const L=J.slice(5).trim();if(L)try{b(JSON.parse(L))}catch{}}M=T.indexOf(`
62
+
63
+ `)}}}finally{g?.removeEventListener("abort",C);try{S.releaseLock()}catch{}}}function xj(e){return!e||e.role!=="assistant"?"":e.content.filter(n=>n.type==="text").map(n=>n.text).join("")}const YK=[{label:"Status",prompt:"Quick status overview for this project — latest runs, current health, anything unusual."},{label:"Top insights",prompt:"Walk me through the 3 most severe active insights and what to do about each."},{label:"Last failed run",prompt:"If the latest run failed, dig into it and tell me what went wrong plus how to fix it."},{label:"Schedule",prompt:"What is the current sweep schedule, and is it appropriate given recent volatility?"}],XK=[{command:"/status",label:"Status",prompt:"Quick status overview for this project — latest runs, current health, anything unusual."},{command:"/insights",label:"Top insights",prompt:"Walk me through the 3 most severe active insights and what to do about each."},{command:"/last-run",label:"Last run",prompt:"Summarize the latest run for this project — provider mix, visibility changes, and anything that moved."},{command:"/last-failed",label:"Last failed run",prompt:"If the latest run failed, dig into it and tell me what went wrong plus how to fix it."},{command:"/run-sweep",label:"Run sweep now",prompt:"Run a new answer-visibility sweep for this project now and tell me when it lands."},{command:"/schedule",label:"Schedule",prompt:"What is the current sweep schedule, and is it appropriate given recent volatility?"},{command:"/queries",label:"Queries",prompt:"List the tracked queries for this project and flag any that are obvious duplicates or underperformers."},{command:"/competitors",label:"Competitors",prompt:"List this project's tracked competitors and call out which ones are showing up in answer citations."},{command:"/clear",label:"Clear conversation",action:"clear"}],Bu=e=>`canonry:aero:provider:${e}`,Yx=e=>`canonry:aero:scope:${e}`;function Xx(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}}function Jx(e,n){if(!(typeof window>"u"))try{window.localStorage.setItem(e,n)}catch{}}function Wx(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}}function JK({projectName:e}){const n=Hs(),{canWrite:i}=pa(),[r,u]=_.useState(!1),[h,g]=_.useState(!1),[b,v]=_.useState([]),[w,S]=_.useState(""),[A,T]=_.useState(!1),[C,F]=_.useState([]),[R,M]=_.useState(""),[X,J]=_.useState(null),[L,le]=_.useState(()=>Xx(Bu(e))??null),[ie,re]=_.useState(()=>Xx(Yx(e))==="all"?"all":"read-only"),H=n?"read-only":ie,K=_.useRef(null),{ref:Re}=VK([b,R,C]),Qe=_.useRef(null),[Fe,ze]=_.useState(0),ke=_.useMemo(()=>{const V=w.trimStart();if(!V.startsWith("/"))return[];if(/\s/.test(V))return[];const q=V.toLowerCase();return XK.filter(ce=>(!n||ce.command!=="/run-sweep")&&(ce.command.startsWith(q)||ce.label.toLowerCase().includes(q.slice(1))))},[w,n]);_.useEffect(()=>{ze(V=>ke.length===0?0:Math.min(V,ke.length-1))},[ke.length]);const Me=wt({...RU({client:ae,path:{name:e}}),staleTime:6e4}),ve=_.useMemo(()=>{const V=Me.data?.providers??[];if(L){const ce=V.find(qe=>qe.id===L&&qe.configured);if(ce)return ce}const q=Me.data?.defaultProvider;return q?V.find(ce=>ce.id===q)??null:null},[L,Me.data]);_.useEffect(()=>{if(!Me.data||!L)return;Me.data.providers.find(q=>q.id===L&&q.configured)||(le(null),Wx(Bu(e)))},[Me.data,L,e]);const P=_.useCallback(V=>{le(V),V?Jx(Bu(e),V):Wx(Bu(e))},[e]),ee=_.useCallback(()=>{n||re(V=>{const q=V==="all"?"read-only":"all";return Jx(Yx(e),q),q})},[e,n]);_.useEffect(()=>{if(!r)return;const V=q=>{q.key==="Escape"&&(h?g(!1):u(!1))};return window.addEventListener("keydown",V),()=>window.removeEventListener("keydown",V)},[r,h]),_.useEffect(()=>{if(!r||!ve)return;let V=!1;J(null);const q=()=>{V||A||Zx(e).then(ye=>{V||v(ye.messages)}).catch(ye=>{V||J(ye instanceof Error?ye.message:"Failed to load transcript")})};q();const qe=window.setInterval(q,15e3);return()=>{V=!0,window.clearInterval(qe)}},[r,e,A,ve]),_.useEffect(()=>()=>{K.current?.abort()},[e]);async function pe(V){const q=V.trim();if(!q||A||!ve)return;if(n&&/^\/run-sweep(?:\s|$)/i.test(q)){J(hf);return}J(null),S(""),T(!0),M(""),F([]);const ce={role:"user",content:q,timestamp:Date.now()};v(ye=>[...ye,ce]);const qe=new AbortController;K.current=qe;try{await ZK({project:e,prompt:q,provider:L??void 0,scope:H,signal:qe.signal,onEvent:Ce});const ye=await Zx(e);v(ye.messages)}catch(ye){ye.name!=="AbortError"&&J(ye instanceof Error?ye.message:"Prompt failed")}finally{T(!1),M(""),K.current=null}}function Ce(V){switch(V.type){case"message_update":M(xj(V.message));break;case"message_end":V.message.role==="assistant"&&M("");break;case"tool_execution_start":F(q=>[...q,{id:V.toolCallId,name:V.toolName,args:V.args,startedAt:Date.now()}]);break;case"tool_execution_end":F(q=>q.map(ce=>ce.id===V.toolCallId?{...ce,endedAt:Date.now(),isError:V.isError,result:V.result}:ce));break;case"error":J(V.message);break}}async function W(){K.current?.abort();try{await FK(e),v([]),J(null)}catch(V){J(V instanceof Error?V.message:"Reset failed")}}const De=b.length===0;if(Me.isPending)return null;if(Me.isError)return c.jsx("div",{className:"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",children:c.jsxs("div",{role:"status",className:"flex w-full max-w-3xl flex-wrap items-center gap-x-2 gap-y-1 rounded-lg border border-base bg-bg/95 px-4 py-2 text-sm shadow-lg",children:[c.jsx(Su,{className:"h-4 w-4 text-muted","aria-hidden":"true"}),c.jsx("span",{className:"font-medium text-strong",children:"Aero could not check provider availability."}),c.jsx(fe,{variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",onClick:()=>{Me.refetch()},children:"Try again"})]})});if(!ve)return c.jsx("div",{className:"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",children:c.jsxs("div",{role:"status",className:"flex w-full max-w-3xl flex-wrap items-center gap-x-2 gap-y-1 rounded-lg border border-base bg-bg/95 px-4 py-2 text-sm shadow-lg",children:[c.jsx(Su,{className:"h-4 w-4 text-muted","aria-hidden":"true"}),c.jsxs("span",{className:"flex items-center gap-1.5 font-medium text-strong",children:["Aero needs an answer-engine provider.",c.jsx(Qs,{text:"Aero is the built-in AEO analyst. It reads your Canonry data with you once a provider is connected."})]}),i?c.jsx(fe,{asChild:!0,variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",children:c.jsx(Ge,{to:"/settings",children:"Open Settings"})}):c.jsx("span",{className:"ml-auto text-secondary",children:"Ask an administrator to configure one."})]})});const Te=r&&h?"pointer-events-auto fixed inset-0 z-40 flex items-stretch justify-center bg-bg/70 p-4 sm:p-8 backdrop-blur-sm":"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",Se=h?"pointer-events-auto flex h-full w-full max-w-5xl flex-col overflow-hidden rounded-2xl border border-mono-800/80 bg-bg/95 shadow-2xl":"pointer-events-auto w-full max-w-3xl",se=h?"flex-1 overflow-y-auto px-6 py-5 text-sm text-strong":"max-h-[40vh] min-h-[120px] overflow-y-auto px-4 py-3 text-sm text-strong";return c.jsx("div",{className:Te,onClick:V=>{h&&V.target===V.currentTarget&&g(!1)},children:c.jsx("div",{className:Se,children:r?c.jsxs("div",{className:h?"flex h-full flex-col":"flex flex-col overflow-hidden rounded-2xl border border-mono-800/80 bg-bg/95 shadow-xl backdrop-blur",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2 border-b border-mono-800/70 px-4 py-2.5",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Su,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),c.jsx("span",{className:"text-sm font-medium text-heading",children:"Aero"}),c.jsx("span",{className:"text-[10px] uppercase tracking-wider text-muted",children:A?"working…":e})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(WK,{providers:Me.data?.providers??[],active:ve,override:L,onPick:P,disabled:A}),c.jsx("button",{type:"button",onClick:Zt(W),className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":"Reset conversation",title:"Reset conversation",children:c.jsx(kw,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),c.jsx("button",{type:"button",onClick:()=>g(V=>!V),className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":h?"Collapse":"Expand",title:h?"Collapse":"Expand",children:h?c.jsx(F4,{className:"h-3.5 w-3.5","aria-hidden":"true"}):c.jsx(Z4,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),c.jsx("button",{type:"button",onClick:()=>{g(!1),u(!1)},className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":"Close Aero",children:c.jsx(mr,{className:"h-4 w-4","aria-hidden":"true"})})]})]}),c.jsxs("div",{ref:Re,className:se,children:[X&&c.jsx("div",{className:"mb-2 rounded-md border border-negative-700/40 bg-negative-950/40 px-3 py-2 text-xs text-negative-200",children:X}),De&&!A&&c.jsxs("div",{className:"flex flex-col gap-3 py-2",children:[c.jsxs("p",{className:"text-sm text-secondary",children:["Ask about ",c.jsx("span",{className:"text-strong",children:e})," or choose a starting point."]}),c.jsx("div",{className:"flex flex-wrap gap-1.5",children:YK.map(V=>c.jsx("button",{type:"button",onClick:()=>{pe(V.prompt)},className:"rounded-md border border-base bg-bg-elevated/70 px-3 py-1.5 text-sm text-neutral transition hover:border-strong hover:bg-mono-800/70 hover:text-heading",children:V.label},V.label))})]}),iH(b,e,L,H),C.length>0&&c.jsx("div",{className:"mt-3 space-y-1.5",children:C.map(V=>c.jsx(wj,{trail:V},V.id))}),A&&R&&c.jsxs("div",{className:"mt-3",children:[c.jsx("div",{className:"mb-0.5 text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),c.jsx(kj,{content:R})]}),A&&!R&&C.every(V=>V.endedAt!==void 0)&&c.jsx(lH,{})]}),c.jsx(eH,{projectName:e,activeProvider:ve,scope:H,onToggleScope:ee,scopeLocked:n,disabled:A}),c.jsxs("div",{className:"relative",children:[ke.length>0&&c.jsx(tH,{matches:ke,selectedIndex:Fe,onHover:ze,onPick:V=>{S(""),Qe.current?.focus(),V.action==="clear"?W():pe(V.prompt)}}),c.jsxs("form",{className:"flex items-end gap-2 border-t border-mono-800/70 bg-bg/80 px-3 py-2.5",onSubmit:V=>{if(V.preventDefault(),ke.length>0){const q=ke[Fe];S(""),q.action==="clear"?W():pe(q.prompt);return}pe(w)},children:[c.jsx("textarea",{ref:Qe,value:w,onChange:V=>S(V.target.value),onKeyDown:V=>{if(ke.length>0){if(V.key==="ArrowDown"){V.preventDefault(),ze(q=>(q+1)%ke.length);return}if(V.key==="ArrowUp"){V.preventDefault(),ze(q=>(q-1+ke.length)%ke.length);return}if(V.key==="Tab"){V.preventDefault();const q=ke[Fe];S(`${q.command} `);return}if(V.key==="Escape"){V.preventDefault(),S("");return}}if(V.key==="Enter"&&!V.shiftKey)if(V.preventDefault(),ke.length>0){const q=ke[Fe];S(""),q.action==="clear"?W():pe(q.prompt)}else pe(w)},placeholder:"Ask Aero, or / for commands…",disabled:A,rows:h?3:1,className:"flex-1 resize-none bg-transparent text-sm text-heading placeholder:text-mono-600 focus:outline-none disabled:opacity-60"}),c.jsx("button",{type:"submit",disabled:A||!w.trim(),className:"inline-flex h-7 w-7 items-center justify-center rounded-md bg-positive-500 text-accent-fg transition hover:bg-positive-400 disabled:opacity-40","aria-label":"Send",children:c.jsx(Y4,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]})]})]}):c.jsx("button",{type:"button",onClick:()=>u(!0),className:"flex w-full items-center justify-between rounded-lg border border-mono-800/80 bg-bg/95 px-4 py-2 text-left text-sm text-secondary shadow-lg transition hover:border-strong hover:bg-bg-elevated/90 hover:text-strong",children:c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx(Su,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),"Ask Aero about ",e,"…"]})})})})}function WK({providers:e,active:n,override:i,onPick:r,disabled:u}){const[h,g]=_.useState(!1),b=_.useRef(null);if(_.useEffect(()=>{if(!h)return;const w=A=>{b.current?.contains(A.target)||g(!1)},S=A=>{A.key==="Escape"&&g(!1)};return window.addEventListener("mousedown",w),window.addEventListener("keydown",S),()=>{window.removeEventListener("mousedown",w),window.removeEventListener("keydown",S)}},[h]),e.length===0)return null;const v=n?.label.replace(/\s+\(.+\)$/,"")??"No provider";return c.jsxs("div",{ref:b,className:"relative",children:[c.jsxs("button",{type:"button",onClick:()=>g(w=>!w),disabled:u,className:"flex items-center gap-1 rounded-md px-2 py-1 text-sm text-secondary transition hover:bg-surface-inset hover:text-strong disabled:opacity-50","aria-label":"Switch agent model","aria-haspopup":"listbox","aria-expanded":h,title:n?`${n.label} · ${n.defaultModel}`:"Pick a provider",children:[c.jsx("span",{className:"font-medium text-strong",children:v}),c.jsx(pd,{className:"h-3 w-3","aria-hidden":"true"})]}),h&&c.jsxs("div",{role:"listbox",className:"absolute right-0 top-full z-50 mt-1 w-64 overflow-hidden rounded-lg border border-base bg-bg shadow-xl",children:[c.jsx("div",{className:"border-b border-default px-3 py-2 text-sm font-medium text-secondary",children:"Answer engine"}),c.jsx("ul",{className:"max-h-72 overflow-y-auto py-1",children:e.map(w=>{const S=n?.id===w.id,A=i===w.id;return c.jsx("li",{children:c.jsxs("button",{type:"button",role:"option","aria-selected":S,disabled:!w.configured,onClick:()=>{w.configured&&(r(A?null:w.id),g(!1))},className:"flex w-full items-center gap-2 px-3 py-2.5 text-left text-sm transition enabled:hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",title:w.configured?w.defaultModel:`Add ${nH(w.id)} in Settings or your environment`,children:[c.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:S?c.jsx(hd,{className:"h-3 w-3 text-positive-400","aria-hidden":"true"}):null}),c.jsx("span",{className:"min-w-0 flex-1 truncate font-medium text-heading",children:w.label.replace(/\s+\(.+\)$/,"")}),A&&c.jsx("span",{className:"rounded-md border border-positive-800/60 bg-positive-950/60 px-2 py-0.5 text-[11px] text-positive",children:"Pinned"}),!w.configured&&c.jsx("span",{className:"rounded-md border border-base px-2 py-0.5 text-[11px] text-secondary",children:"Needs setup"})]})},w.id)})}),i&&c.jsx("button",{type:"button",onClick:()=>{r(null),g(!1)},className:"w-full border-t border-default px-3 py-2 text-left text-[11px] text-secondary transition hover:bg-bg-elevated hover:text-heading",children:"Reset to auto-detected default"})]})]})}function eH({projectName:e,activeProvider:n,scope:i,onToggleScope:r,scopeLocked:u,disabled:h}){const g=n?.label.replace(/\s+\(.+\)$/,"")??null,b=i==="all";return c.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-t border-mono-800/70 bg-bg/80 px-3 pt-2 text-sm text-secondary",children:[c.jsx("span",{className:"font-medium text-strong",children:e}),g&&c.jsxs(c.Fragment,{children:[c.jsx("span",{"aria-hidden":"true",children:"·"}),c.jsx("span",{children:g})]}),u?c.jsx("span",{className:"ml-auto",children:"Read only"}):c.jsx("button",{type:"button",onClick:r,disabled:h,className:`ml-auto inline-flex items-center rounded-md border px-2 py-1 text-sm font-medium transition disabled:opacity-50 ${b?"border-caution-800/60 bg-caution-950/40 text-caution hover:border-caution-700 hover:text-caution-200":"border-base bg-bg-elevated/70 text-secondary hover:border-strong hover:text-strong"}`,title:b?"Aero can invoke write tools (run sweep, dismiss insight, etc). Click to restrict.":"Aero is restricted to read-only tools. Click to allow writes.",children:b?"Can make changes":"Read only"})]})}function tH({matches:e,selectedIndex:n,onHover:i,onPick:r}){return c.jsxs("div",{className:"absolute inset-x-3 bottom-full mb-2 overflow-hidden rounded-lg border border-base bg-bg/98 shadow-2xl",children:[c.jsx("div",{className:"border-b border-default px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted",children:"Commands"}),c.jsx("ul",{role:"listbox",className:"max-h-72 overflow-y-auto py-1",children:e.map((u,h)=>{const g=h===n;return c.jsx("li",{children:c.jsxs("button",{type:"button",role:"option","aria-selected":g,onMouseEnter:()=>i(h),onClick:()=>r(u),className:`flex w-full items-center gap-3 px-3 py-2 text-left text-sm transition ${g?"bg-bg-elevated text-heading":"text-neutral hover:bg-bg-elevated/60"}`,children:[c.jsx("span",{className:"font-medium",children:u.label}),c.jsx("span",{className:"ml-auto font-mono text-[11px] text-secondary",children:u.command})]})},u.command)})})]})}function nH(e){switch(e){case"claude":return"ANTHROPIC_API_KEY";case"openai":return"OPENAI_API_KEY";case"gemini":return"GOOGLE_API_KEY";case"zai":return"ZAI_API_KEY";case"deepinfra":return"DEEPINFRA_TOKEN"}}function aH(e,n){const i=e.timestamp??0;return`${e.role}:${i}:${n}`}function iH(e,n,i,r){const u=[];for(let h=0;h<e.length;h++){const g=e[h],b=aH(g,h);if(g.role==="user"){const v=typeof g.content=="string"?g.content:JSON.stringify(g.content);if(v.startsWith("[system]"))continue;u.push(c.jsx(sH,{text:v,projectName:n,providerOverride:i,scope:r},b));continue}if(g.role==="assistant"){const v=new Map;let w=h+1;for(;w<e.length&&e[w].role==="toolResult";){const T=e[w];v.set(T.toolCallId,T),w++}const S=rH(g,v,g.timestamp??0),A=xj(g);u.push(c.jsxs(_.Fragment,{children:[S.length>0&&c.jsx("div",{className:"mt-3 space-y-1.5",children:S.map(T=>c.jsx(wj,{trail:T},T.id))}),A.trim()&&c.jsxs("div",{className:"mt-3",children:[c.jsx("div",{className:"mb-0.5 text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),c.jsx(kj,{content:A})]})]},b)),h=w-1;continue}}return u}function sH({text:e,projectName:n,providerOverride:i,scope:r}){const[u,h]=_.useState(!1),g=_.useMemo(()=>oH(n,e,i,r),[n,e,i,r]);async function b(){try{await navigator.clipboard.writeText(g),h(!0),window.setTimeout(()=>h(!1),1500)}catch{}}return c.jsxs("div",{className:"group relative mt-3 rounded-md bg-bg-elevated/60 px-3 py-2 text-strong",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted",children:"You"}),c.jsx("button",{type:"button",onClick:Zt(b),className:"inline-flex items-center gap-1 rounded border border-mono-800/70 bg-bg/60 px-1.5 py-0.5 text-[10px] text-secondary opacity-0 transition hover:border-strong hover:text-heading group-hover:opacity-100 focus:opacity-100","aria-label":"Copy as CLI command",title:g,children:u?c.jsxs(c.Fragment,{children:[c.jsx(hd,{className:"h-2.5 w-2.5 text-positive-400","aria-hidden":"true"}),"Copied"]}):c.jsxs(c.Fragment,{children:[c.jsx(Sf,{className:"h-2.5 w-2.5","aria-hidden":"true"}),"Copy as CLI"]})})]}),c.jsx("div",{className:"whitespace-pre-wrap",children:e})]})}function oH(e,n,i,r){const u=["canonry","agent","ask",gx(e),gx(n)];return i&&u.push("--provider",i),r==="read-only"&&u.push("--scope","read-only"),u.join(" ")}function rH(e,n,i){const r=[];for(const u of e.content){if(u.type!=="toolCall")continue;const h=u,g=n.get(h.id);r.push({id:h.id,name:h.name,args:h.arguments,startedAt:i,endedAt:g?.timestamp,isError:g?.isError,result:g?.content})}return r}function wj({trail:e}){const[n,i]=_.useState(!1),r=e.endedAt===void 0,u=!r&&e.isError===!0,h=e.endedAt!=null?e.endedAt-e.startedAt:null,g=h==null||h<0?null:h<1e3?`${h}ms`:`${(h/1e3).toFixed(1)}s`,b=u?"border-negative-800/50":r?"border-positive-800/50":"border-mono-800/70",v=u?"bg-negative-950/20":r?"bg-positive-950/20":"bg-surface-hover";return c.jsxs("div",{className:`rounded-md border ${b} ${v} font-mono`,children:[c.jsxs("button",{type:"button",onClick:()=>i(w=>!w),className:"flex w-full items-center gap-2 px-2.5 py-1.5 text-left","aria-expanded":n,children:[c.jsx("span",{className:"flex h-3.5 w-3.5 shrink-0 items-center justify-center",children:r?c.jsx(ar,{className:"h-3 w-3 animate-spin text-positive-400","aria-hidden":"true"}):u?c.jsx(Sw,{className:"h-3 w-3 text-negative-400","aria-hidden":"true"}):c.jsx(X4,{className:"h-3 w-3 text-muted","aria-hidden":"true"})}),c.jsx("span",{className:"text-[11px] font-semibold text-heading",children:e.name}),c.jsxs("span",{className:"ml-auto flex items-center gap-2 text-[10px] text-muted",children:[r?c.jsx("span",{className:"text-positive-400",children:"running…"}):c.jsxs(c.Fragment,{children:[c.jsx("span",{children:u?"failed":"ok"}),g&&c.jsx("span",{children:g})]}),c.jsx(kf,{className:`h-3 w-3 transition-transform ${n?"rotate-90":""}`,"aria-hidden":"true"})]})]}),n&&c.jsxs("div",{className:"border-t border-default px-2.5 py-2 text-[11px] text-secondary",children:[c.jsx("div",{className:"mb-1 text-[9px] uppercase tracking-wider text-faint",children:"Args"}),c.jsx("pre",{className:"mb-2 overflow-x-auto whitespace-pre-wrap break-all text-[10px] text-neutral",children:ew(e.args)}),!r&&e.result!==void 0&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"mb-1 text-[9px] uppercase tracking-wider text-faint",children:u?"Error":"Result"}),c.jsx("pre",{className:"overflow-x-auto whitespace-pre-wrap break-all text-[10px] text-neutral",children:ew(e.result)})]})]})]})}function ew(e){try{const n=typeof e=="string"?e:JSON.stringify(e,null,2);return n.length>2e3?`${n.slice(0,2e3)}
64
+ … (${n.length-2e3} more chars)`:n}catch{return String(e)}}function kj({content:e}){return c.jsx("div",{className:"text-heading",children:c.jsx(pC,{components:{h1:n=>c.jsx("h1",{...n,className:"mt-3 mb-2 text-base font-semibold text-primary"}),h2:n=>c.jsx("h2",{...n,className:"mt-3 mb-2 text-sm font-semibold text-primary"}),h3:n=>c.jsx("h3",{...n,className:"mt-3 mb-1.5 text-sm font-semibold text-heading"}),h4:n=>c.jsx("h4",{...n,className:"mt-2 mb-1 text-xs font-semibold uppercase tracking-wide text-neutral"}),p:n=>c.jsx("p",{...n,className:"mb-2 leading-relaxed"}),ul:n=>c.jsx("ul",{...n,className:"mb-2 ml-4 list-disc space-y-1"}),ol:n=>c.jsx("ol",{...n,className:"mb-2 ml-4 list-decimal space-y-1"}),li:n=>c.jsx("li",{...n,className:"marker:text-mono-600"}),strong:n=>c.jsx("strong",{...n,className:"font-semibold text-primary"}),em:n=>c.jsx("em",{...n,className:"text-strong"}),code:({children:n,...i})=>c.jsx("code",{...i,className:"rounded bg-mono-800/70 px-1 py-0.5 font-mono text-[12px] text-positive-200",children:n}),pre:n=>c.jsx("pre",{...n,className:"mb-2 overflow-x-auto rounded-md border border-base bg-bg-elevated/70 p-3 font-mono text-xs text-strong"}),a:n=>c.jsx("a",{...n,className:"text-positive-400 underline decoration-positive-700 hover:decoration-positive-400",target:"_blank",rel:"noopener noreferrer"}),table:n=>c.jsx("div",{className:"mb-2 overflow-x-auto",children:c.jsx("table",{...n,className:"w-full border-collapse text-xs"})}),thead:n=>c.jsx("thead",{...n,className:"border-b border-base"}),th:n=>c.jsx("th",{...n,className:"px-2 py-1 text-left font-semibold text-neutral"}),tr:n=>c.jsx("tr",{...n,className:"border-b border-mono-900"}),td:n=>c.jsx("td",{...n,className:"px-2 py-1 text-strong"}),blockquote:n=>c.jsx("blockquote",{...n,className:"mb-2 border-l-2 border-strong pl-3 italic text-secondary"}),hr:()=>c.jsx("hr",{className:"my-3 border-base"})},children:e})})}function lH(){return c.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[c.jsx("div",{className:"text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),c.jsxs("div",{className:"flex items-center gap-1","aria-label":"Aero is thinking",children:[c.jsx("span",{className:"aero-dot h-1.5 w-1.5 rounded-full bg-positive-400/80"}),c.jsx("span",{className:"aero-dot aero-dot-2 h-1.5 w-1.5 rounded-full bg-positive-400/60"}),c.jsx("span",{className:"aero-dot aero-dot-3 h-1.5 w-1.5 rounded-full bg-positive-400/40"})]})]})}function cH(){const e=hw(),n=/^\/projects\/([^/]+)/.exec(e.pathname),i=n?decodeURIComponent(n[1]):null,r=wt({...so({client:ae}),enabled:i!==null,staleTime:6e4});if(!i)return null;const u=r.data??[],h=u.find(g=>g.id===i)??u.find(g=>g.name===i);return h?c.jsx(JK,{projectName:h.name},h.name):null}const ff={project:"getApiV1ProjectsByName",google:"getApiV1ProjectsByNameGoogle",gsc:"getApiV1ProjectsByNameGoogleGsc",bing:"getApiV1ProjectsByNameBing",ga:"getApiV1ProjectsByNameGa",gbp:"getApiV1ProjectsByNameGbp",ads:"getApiV1ProjectsByNameAds",googleAds:"getApiV1ProjectsByNameGoogleAds",gtm:"getApiV1ProjectsByNameGtm",conversionTracking:"getApiV1ProjectsByNameConversionTracking",traffic:"getApiV1ProjectsByNameTraffic",discovery:"getApiV1ProjectsByNameDiscover",researchRuns:"getApiV1ProjectsByNameResearchRuns",visibilityReport:"getApiV1ProjectsByNameVisibilityReport",queryTracking:"getApiV1ProjectsByNameQueryTracking",technicalAeo:"getApiV1ProjectsByNameTechnicalAeo",runs:"getApiV1ProjectsByNameRuns"};function fn(e,n){const i=ff[n];return e.invalidateQueries({predicate:r=>{const u=r.queryKey[0];return typeof u?._id=="string"&&u._id.startsWith(i)}})}function tee(e,n){return e.invalidateQueries({predicate:i=>{const r=i.queryKey[0];return r?.path?.name!==n||typeof r._id!="string"?!1:r._id.startsWith("getApiV1ProjectsByNameMeasurement")||r._id===ff.queryTracking||r._id===ff.visibilityReport||r._id==="getApiV1ProjectsByNameQueries"||r._id==="getApiV1ProjectsByName"}})}function Zl(e,n,i){switch(e.invalidateQueries({queryKey:U0({client:ae})}),e.invalidateQueries({queryKey:ls({client:ae})}),fn(e,"runs"),n){case Ne["answer-visibility"]:pf(e,i,"none"),fn(e,"visibilityReport"),fn(e,"queryTracking");return;case Ne["backlink-extract"]:return;case Ne["site-audit"]:fn(e,"technicalAeo");return;case Ne["gsc-sync"]:case Ne["inspect-sitemap"]:fn(e,"gsc");return;case Ne["ga-sync"]:fn(e,"ga");return;case Ne["traffic-sync"]:fn(e,"ga"),fn(e,"traffic");return;case Ne["bing-inspect"]:case Ne["bing-inspect-sitemap"]:fn(e,"bing");return;case Ne["aeo-discover-seed"]:case Ne["aeo-discover-probe"]:pf(e,i);return;case Ne["gbp-sync"]:fn(e,"gbp");return;case Ne["ads-sync"]:fn(e,"ads");return;case Ne["google-ads-sync"]:fn(e,"googleAds"),fn(e,"conversionTracking");return;case Ne["gtm-sync"]:fn(e,"gtm"),fn(e,"conversionTracking");return;default:return n}}const tw=[{label:"GitHub",href:"https://github.com/Canonry/canonry",Icon:ww},{label:"Docs",href:"https://github.com/Canonry/canonry/tree/main/docs",Icon:oC},{label:"Changelog",href:"https://github.com/Canonry/canonry/releases",Icon:rC}],nw=e=>({label:e,state:"checking",detail:"Checking service health"}),uH={apiStatus:nw("API"),workerStatus:nw("Worker")};function dH(e){return e==="completed"?"positive":e==="partial"?"caution":"negative"}function mH(e){const n=Ll(e.kind);return e.status==="completed"?`${n} completed`:e.status==="partial"?`${n} completed with partial results`:e.status==="cancelled"?`${n} cancelled`:`${n} failed`}function pH(e,n){return e.error?`${n}: ${h0(e.error)}`:e.location?`${n} · ${e.location}`:n}function aw(e,n,i){if(n)return n;const r=i.find(u=>u.id===e);return r?.displayName||r?.name||e}function hH(e,n){return[e.completed>0?`${e.completed} completed`:null,e.partial>0?`${e.partial} partial`:null,e.failed>0?`${e.failed} failed`:null,e.cancelled>0?`${e.cancelled} cancelled`:null,n>0?`${n} skipped at queue time`:null].filter(Boolean).join(", ")}function fH(e){return e.failed>0||e.cancelled>0?"negative":e.partial>0?"caution":"positive"}function gH(){const e=ua(),n=_.useSyncExternalStore(F3,xi,xi),i=Object.keys(n.runs).length>0||Object.keys(n.batches).length>0,r=wt({...Kd({client:ae}),enabled:i,staleTime:ur,refetchInterval:3e3}),u=wt({...so({client:ae}),enabled:i}),h=_.useRef({}),g=_.useCallback(()=>{r.refetch()},[r.refetch]);return _.useEffect(()=>{i&&g()},[i,g]),_.useEffect(()=>{if(!i||typeof window>"u")return;const b=()=>{document.visibilityState==="visible"&&g()};return window.addEventListener("focus",g),document.addEventListener("visibilitychange",b),()=>{window.removeEventListener("focus",g),document.removeEventListener("visibilitychange",b)}},[i,g]),_.useEffect(()=>{const b=r.data??[],v=u.data??[],w=Object.fromEntries(b.map(A=>[A.id,A])),S=Object.fromEntries(b.map(A=>[A.id,A.status]));for(const A of Object.values(n.runs)){const T=w[A.runId];if(!T||!$U(T.status)||(h.current[T.id]??A.lastAnnouncedStatus)===T.status)continue;const F=v.find(M=>M.id===T.projectId);if(F&&Zl(e,T.kind,F.name),A.sourceAction==="run-all"){_h(T.id);continue}const R=aw(T.projectId,A.projectLabel,v);tn({title:mH(T),detail:pH(T,R),tone:dH(T.status),dedupeKey:`run:${T.id}`,dedupeMode:"replace",cta:{label:"View run",intent:"open-run-drawer",runId:T.id}}),_h(T.id)}if(r.data!==void 0){const A=new Set(b.map(C=>C.id)),T=GU(Object.values(n.runs),A,Date.now(),UU);for(const C of T){const F=v.find(R=>R.id===C.projectId);F&&Zl(e,C.kind,F.name),C.sourceAction!=="run-all"&&tn({title:`${Ll(C.kind)} status unavailable`,detail:aw(C.projectId,C.projectLabel,v),tone:"neutral",dedupeKey:`run-stale:${C.runId}`,dedupeMode:"replace"}),_h(C.runId)}}for(const A of Object.values(n.batches)){const T=KU(A.runIds,w);T.finished&&(tn({title:"Run-all batch finished",detail:hH(T,A.skippedCount),tone:fH(T),dedupeKey:`batch:${A.batchId}`,dedupeMode:"replace",cta:{label:"View runs",intent:"go-to-runs"}}),VU(A.batchId))}h.current=S},[u.data,r.data,n,e]),null}function yH(){const{account:e,isAdmin:n}=pa(),i=cc(),r=_.useMemo(()=>E3(),[]),u=_.useMemo(ML,[]),h=_.useMemo(BL,[]),g=_.useMemo(LL,[]),b=hw(),{dashboard:v,isLoading:w,refetch:S}=Yd(void 0,{includeSettings:!r,includeOverviews:!1,pauseProjectPolling:b.pathname==="/setup"}),C=Z0(!i,i?.health).data??i?.health??uH,{runId:F,evidenceId:R,closeDrawer:M}=Y0(),[X,J]=_.useState(!1),[L,le]=_.useState(()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem("canonry:sidebarHidden")==="true"}catch{return!1}}),[ie,re]=_.useState(()=>{if(typeof window>"u")return null;try{return window.localStorage.getItem("canonry:dismissedUpdateVersion")}catch{return null}}),[H]=_.useState(()=>typeof window>"u"?null:new URLSearchParams(window.location.search).get("force-update")),K=H?{current:C.apiStatus.version??"0.0.0",latest:H,url:"https://www.npmjs.com/package/@canonry/canonry",upgradeCommand:"npm install -g @canonry/canonry"}:C.apiStatus.updateAvailable,Re=g&&K&&K.latest!==ie,Qe=()=>{if(K){try{window.localStorage.setItem("canonry:dismissedUpdateVersion",K.latest)}catch{}re(K.latest)}},Fe=()=>{const oe=!L;try{oe?window.localStorage.setItem("canonry:sidebarHidden","true"):window.localStorage.removeItem("canonry:sidebarHidden")}catch{}le(oe)},ze=zK(F),ke=ze.data??null,Me=ze.isLoading;_.useEffect(()=>{ke&&ke.status!=="running"&&ke.status!=="queued"&&S()},[ke?.status,S]),_.useEffect(()=>{J(!1)},[b.pathname]),_.useEffect(()=>{if(typeof window>"u"||!F&&!R)return;const oe=Pe=>{Pe.key==="Escape"&&M()};return window.addEventListener("keydown",oe),()=>{window.removeEventListener("keydown",oe)}},[F,R,M]);const ve=v??i?.dashboard??null,P=b.pathname==="/setup",ee=P&&ve!==null&&ve.portfolioOverview.projects.length===0,pe=P&&(b.search.onboarding==="site-health"||b.search.onboarding==="first-run"||b.search.onboarding==="complete"),[Ce,W]=_.useState(ee);_.useEffect(()=>{P?ee&&W(!0):W(!1)},[ee,P]);const Te=P&&(pe||ee||Ce||P&&ve===null),Se=Te?"app-shell-focus":L?"app-shell-sidebar-hidden":"",se=F?(ve?aK(ve,F):void 0)??(ke?Zd(ke,ve?.projects.find(oe=>oe.project.id===ke.projectId)?.project.displayName??ve?.projects.find(oe=>oe.project.id===ke.projectId)?.project.name??"Unknown project"):void 0):void 0,V=_.useMemo(()=>XG(b.pathname,ve),[b.pathname,ve]),{commandCenter:q,evidenceLoading:ce,evidenceError:qe,isError:ye,refetch:nt}=TK(R?V:null,{evidence:!0}),Ve=_.useMemo(()=>{if(R)return sK(q,ve,R)},[R,q,ve]),kt=(()=>{const oe=b.pathname;if(oe==="/")return"Portfolio";if(oe==="/projects")return"Projects";if(oe==="/runs")return"Runs";if(oe==="/history")return"History";if(oe==="/settings")return"Settings";if(oe==="/setup")return"Setup";if(oe==="/backlinks")return"Backlink data";if(oe==="/traffic"||oe.startsWith("/traffic/"))return"Traffic sources";if(oe.startsWith("/projects/")){const Pe=ve?.projects.find(Jt=>Jt.project.name===V);return Pe?.project.displayName||Pe?.project.name||V||"Projects"}return"Not found"})();if(r){const oe=!r.views||r.views.includes(LV(b.pathname));return c.jsxs("div",{className:"app-shell app-shell-embed","data-theme":KV(r.theme),style:HV(r.theme),children:[c.jsx("a",{className:"skip-link",href:"#content",children:"Skip to content"}),c.jsx("main",{id:"content",className:"page-shell",children:oe?c.jsx(Oh,{}):c.jsx("div",{className:"embed-view-unavailable",role:"status",children:"This view is not available in embed mode."})})]})}return c.jsxs(c.Fragment,{children:[c.jsx("a",{className:"skip-link",href:"#content",children:"Skip to content"}),c.jsx(BK,{}),c.jsxs("div",{className:`app-shell ${Se}${Bl()?" app-shell-demo":""}`,children:[!Te&&!L&&c.jsxs("aside",{id:"desktop-sidebar",className:"sidebar","aria-label":"Primary navigation",children:[c.jsx("div",{className:"sidebar-brand",children:c.jsx(Bx,{version:C.apiStatus.version,updateAvailable:Re?K:null,onDismissUpdate:Qe})}),c.jsxs("nav",{className:"sidebar-nav",children:[c.jsxs(Ge,{to:"/",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(J4,{className:"sidebar-icon"}),c.jsx("span",{children:"Portfolio"})]}),c.jsxs(Ge,{to:"/projects",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[c.jsx(W4,{className:"sidebar-icon"}),c.jsx("span",{children:"Projects"})]}),c.jsxs(Ge,{to:"/runs",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(eC,{className:"sidebar-icon"}),c.jsx("span",{children:"Runs"})]}),c.jsxs(Ge,{to:"/history",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(tC,{className:"sidebar-icon"}),c.jsx("span",{children:"History"})]}),c.jsxs(Ge,{to:"/traffic",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[c.jsx(nC,{className:"sidebar-icon"}),c.jsx("span",{children:"Traffic sources"})]}),!Bl()&&c.jsxs(Ge,{to:"/backlinks",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(aC,{className:"sidebar-icon"}),c.jsx("span",{children:"Backlink data"})]}),n&&c.jsxs(Ge,{to:"/settings",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(iC,{className:"sidebar-icon"}),c.jsx("span",{children:"Settings"})]}),w?c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),[1,2,3].map(oe=>c.jsxs("div",{className:"sidebar-skeleton-item",children:[c.jsx("span",{className:"skeleton-circle size-2"}),c.jsx("span",{className:"skeleton-text flex-1",style:{width:`${50+oe*15}%`}})]},oe))]}):ve&&ve.projects.length>0?c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),ve.projects.map(oe=>{const Pe=oe.visibilitySummary.tone;return c.jsxs(Ge,{to:"/projects/$projectName",params:{projectName:oe.project.name},className:"sidebar-project",activeProps:{className:"sidebar-project sidebar-project-active"},children:[c.jsx("span",{className:`sidebar-dot sidebar-dot-${Pe}`}),c.jsx("span",{children:oe.project.displayName||oe.project.name})]},oe.project.id)})]}):w?null:c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"sidebar-section-title",children:"Resources"}),n&&c.jsxs(Ge,{to:"/setup",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(sC,{className:"sidebar-icon"}),c.jsx("span",{children:"Setup"})]})]})]}),e&&c.jsxs("div",{className:"sidebar-account",children:[c.jsxs("div",{className:"sidebar-account-identity",children:[c.jsx("span",{className:"sidebar-account-name",children:e.name}),e.role==="viewer"?c.jsx("span",{className:"sidebar-account-role",children:vx()}):null]}),c.jsx(fe,{type:"button",variant:"ghost",size:"sm",onClick:Zt(async()=>{await Sx(),window.location.reload()}),children:"Sign out"})]}),u?c.jsx("div",{className:"sidebar-footer",children:tw.map(({label:oe,href:Pe,Icon:Jt})=>c.jsx("a",{className:"sidebar-footer-icon",href:Pe,target:"_blank",rel:"noopener noreferrer",title:oe,"aria-label":oe,children:c.jsx(Jt,{className:"size-4"})},Pe))}):null]}),c.jsxs("div",{className:"main-area",children:[c.jsxs("header",{className:"topbar",children:[c.jsxs("div",{className:"topbar-left",children:[!Te&&c.jsx(fe,{className:"sidebar-privacy-toggle",variant:"ghost",size:"icon",type:"button","aria-label":L?"Show sidebar":"Hide sidebar","aria-controls":L?void 0:"desktop-sidebar","aria-expanded":!L,title:L?"Show sidebar":"Hide sidebar",onClick:Fe,children:L?c.jsx(lC,{className:"size-4"}):c.jsx(cC,{className:"size-4"})}),c.jsx("div",{className:"topbar-brand-mobile",children:c.jsx(Bx,{compact:!0})}),c.jsxs("nav",{className:"breadcrumb","aria-label":"Breadcrumb",children:[c.jsx(Ge,{to:"/",children:"Home"}),c.jsx(kf,{className:"breadcrumb-sep size-3"}),c.jsx("span",{className:"breadcrumb-current",children:kt})]})]}),c.jsxs("div",{className:"topbar-actions",children:[c.jsx(LK,{}),c.jsxs("div",{className:"health-pill-row",children:[c.jsxs("span",{className:`health-pill health-pill-${C.apiStatus.state}`,title:dr(C.apiStatus),children:["API ",C.apiStatus.state==="ok"?"ok":C.apiStatus.state]}),c.jsx("span",{className:`health-pill health-pill-${C.workerStatus.state}`,title:dr(C.workerStatus),children:`Worker ${C.workerStatus.state==="ok"?"ok":C.workerStatus.state}`})]}),Te?null:c.jsxs(fe,{className:"nav-toggle",variant:"secondary",size:"icon",type:"button","aria-expanded":X,"aria-controls":"mobile-nav",onClick:()=>J(oe=>!oe),children:[c.jsx(uC,{className:"size-4"}),c.jsx("span",{className:"sr-only",children:"Open navigation"})]})]})]}),Te?null:c.jsxs("div",{id:"mobile-nav",className:`mobile-nav ${X?"mobile-nav-open":""}`,children:[c.jsxs(fe,{className:"mobile-nav-close",variant:"ghost",size:"icon",type:"button",onClick:()=>J(!1),children:[c.jsx(mr,{className:"size-5"}),c.jsx("span",{className:"sr-only",children:"Close navigation"})]}),c.jsx(Ge,{to:"/",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Portfolio"}),c.jsx(Ge,{to:"/projects",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Projects"}),c.jsx(Ge,{to:"/runs",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Runs"}),c.jsx(Ge,{to:"/history",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"History"}),c.jsx(Ge,{to:"/traffic",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Traffic sources"}),!Bl()&&c.jsx(Ge,{to:"/backlinks",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Backlink data"}),n&&c.jsx(Ge,{to:"/settings",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Settings"}),ve&&ve.projects.length>0?c.jsxs("div",{className:"mobile-nav-section",children:[c.jsx("p",{className:"mobile-nav-section-title",children:"Tracked projects"}),ve.projects.map(oe=>c.jsx(Ge,{to:"/projects/$projectName",params:{projectName:oe.project.name},className:"mobile-nav-link",children:oe.project.name},oe.project.id))]}):null,e&&c.jsxs("div",{className:"mobile-nav-section",children:[c.jsx("p",{className:"mobile-nav-section-title",children:"Signed in"}),c.jsxs("div",{className:"sidebar-account",children:[c.jsxs("div",{className:"sidebar-account-identity",children:[c.jsx("span",{className:"sidebar-account-name",children:e.name}),e.role==="viewer"?c.jsx("span",{className:"sidebar-account-role",children:vx()}):null]}),c.jsx(fe,{type:"button",variant:"ghost",size:"sm","data-testid":"mobile-sign-out",onClick:Zt(async()=>{await Sx(),window.location.reload()}),children:"Sign out"})]})]})]}),c.jsx("main",{id:"content",className:`page-shell ${h&&V?"pb-20":""}`.trim(),children:w&&!i?c.jsxs("div",{className:"page-skeleton",children:[c.jsxs("div",{className:"page-skeleton-header",children:[c.jsx("div",{className:"skeleton-text h-6 w-40"}),c.jsx("div",{className:"skeleton-text-sm w-72"})]}),c.jsx("div",{className:"page-skeleton-grid",children:[1,2,3].map(oe=>c.jsxs("div",{className:"page-skeleton-card",children:[c.jsx("div",{className:"skeleton-text w-24"}),c.jsx("div",{className:"skeleton-text w-full"}),c.jsx("div",{className:"skeleton-text-sm w-3/4"})]},oe))}),c.jsx("div",{className:"page-skeleton-grid",style:{gridTemplateColumns:"1fr 1fr"},children:[1,2].map(oe=>c.jsxs("div",{className:"page-skeleton-card",children:[c.jsx("div",{className:"skeleton-text w-20"}),c.jsx("div",{className:"space-y-2",children:[1,2,3].map(Pe=>c.jsx("div",{className:"skeleton-text-sm w-full"},Pe))})]},oe))})]}):c.jsx(Oh,{})}),c.jsxs("footer",{className:"footer",children:[c.jsxs("span",{className:"footer-brand",children:[c.jsx("span",{children:c.jsx("a",{href:"https://canonry.ai",children:"Canonry"})}),C.apiStatus.version&&C.apiStatus.version!=="unknown"?c.jsxs("span",{className:"footer-version",children:["v",C.apiStatus.version]}):null]}),u?c.jsx("div",{className:"footer-links",children:tw.map(({label:oe,href:Pe,Icon:Jt})=>c.jsx("a",{href:Pe,target:"_blank",rel:"noopener noreferrer",title:oe,"aria-label":oe,className:"footer-icon",children:c.jsx(Jt,{className:"size-3.5"})},Pe))}):null]})]}),F&&!se&&Me?c.jsx(Mu,{open:!0,title:"Loading run details",subtitle:"Fetching the durable run record",onClose:M,children:c.jsx("p",{className:"text-sm text-muted",role:"status",children:"Loading run details…"})}):null,F&&!se&&ze.isError?c.jsx(Mu,{open:!0,title:"Run unavailable",subtitle:"The run could not be loaded",onClose:M,children:c.jsx("p",{className:"text-sm text-negative",children:ze.error instanceof Error?ze.error.message:"Run details are unavailable."})}):null,se?c.jsxs(Mu,{open:!0,title:se.summary,subtitle:`${se.projectName} · ${se.kindLabel}`,onClose:M,children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-1 text-sm",children:[c.jsx(F0,{status:se.status}),c.jsx("span",{className:"text-secondary",children:se.startedAt}),c.jsx("span",{className:"text-muted",children:se.duration}),c.jsx("span",{className:"text-faint",children:se.triggerLabel})]}),se.status==="failed"&&se.statusDetail&&c.jsx("p",{className:"mt-2 text-sm text-negative",children:se.statusDetail}),c.jsxs("div",{className:"mt-4",children:[c.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted mb-2",children:"Activity Log"}),Me?c.jsx("p",{className:"text-sm text-muted",children:"Loading run details..."}):ke?.snapshots&&ke.snapshots.length>0?c.jsxs("div",{className:"space-y-2",children:[ke.snapshots.map(oe=>c.jsxs("div",{className:"rounded-lg border border-default bg-surface p-3",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1",children:[c.jsx("p",{className:"text-sm font-medium text-strong truncate",children:oe.query??"Unknown query"}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(MG,{provider:oe.provider}),c.jsx(uj,{variant:oe.citationState===id.cited?"success":"neutral",children:oe.citationState})]})]}),oe.model&&c.jsx("p",{className:"text-[11px] text-muted font-mono",children:oe.model}),oe.citedDomains.length>0&&c.jsxs("p",{className:"text-xs text-muted mt-1",children:[c.jsx("span",{className:"text-secondary",children:"Sources:"})," ",oe.citedDomains.join(", ")]}),oe.citedCompetitorDomains.length>0&&c.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor cited: ",oe.citedCompetitorDomains.join(", ")]}),oe.mentionedCompetitorDomains.length>0&&c.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor mentioned: ",oe.mentionedCompetitorDomains.join(", ")]}),oe.groundingSources&&oe.groundingSources.length>0&&c.jsxs("details",{className:"mt-2",children:[c.jsxs("summary",{className:"text-xs text-muted cursor-pointer hover:text-secondary",children:[oe.groundingSources.length," grounding source",oe.groundingSources.length!==1?"s":""]}),c.jsx("ul",{className:"mt-1 space-y-0.5",children:oe.groundingSources.map((Pe,Jt)=>{const fa=mf(Pe.uri),Ka=Pe.title||Pe.uri;return c.jsx("li",{className:"text-xs text-muted truncate",children:fa?c.jsx("a",{href:fa,target:"_blank",rel:"noopener noreferrer",className:"hover:text-neutral",children:Ka}):c.jsx("span",{children:Ka})},Jt)})})]}),oe.answerText&&c.jsxs("details",{className:"mt-1",children:[c.jsx("summary",{className:"text-xs text-muted cursor-pointer hover:text-secondary",children:"Answer preview"}),c.jsx("p",{className:"mt-1 text-xs text-secondary leading-relaxed whitespace-pre-wrap",children:oe.answerText})]})]},oe.id)),ke.status==="running"&&c.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[c.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-caution-500 animate-pulse"}),"Running remaining queries..."]})]}):ke&&ke.status==="running"?c.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[c.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-caution-500 animate-pulse"}),"Waiting for first query result..."]}):ke&&ke.status==="queued"?c.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[c.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-mono-500 animate-pulse"}),"Run queued, waiting for execution slot..."]}):ke&&ke.error?c.jsxs("div",{className:"rounded-lg border border-negative-800/40 bg-negative-950/20 p-3",children:[c.jsx("p",{className:"text-sm font-medium text-negative mb-2",children:"Run failed"}),c.jsx("pre",{className:"max-h-48 overflow-y-auto whitespace-pre-wrap break-words font-mono text-xs leading-5 text-negative",children:PV(ke.error)})]}):c.jsx("p",{className:"text-sm text-muted",children:"No snapshot data available."})]})]}):null,R&&!Ve?c.jsx(Mu,{open:!0,title:ce?"Loading answer":"Answer unavailable",subtitle:"Query evidence",onClose:M,children:ce?c.jsx("p",{role:"status",className:"text-sm text-secondary",children:"Loading answer…"}):c.jsxs(c.Fragment,{children:[c.jsx("p",{role:"alert",className:"text-sm text-secondary",children:qe||ye?"Could not load this answer.":"This answer is not in the available query evidence."}),c.jsx(fe,{type:"button",variant:"outline",onClick:()=>{nt()},children:"Retry"})]})}):null,Ve?c.jsx(FG,{evidence:Ve.evidence,project:Ve.project,onClose:M}):null,c.jsx(gH,{}),c.jsx(qK,{}),h?c.jsx(cH,{}):null]})]})}class bH extends _.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,i){console.error("[ErrorBoundary]",n,i.componentStack)}handleReset=()=>{this.setState({error:null})};render(){return this.state.error?c.jsx("div",{className:"page-container",children:c.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 py-20 text-center",children:[c.jsx("div",{className:"rounded-full bg-negative-950/40 p-3",children:c.jsx(Sw,{className:"size-6 text-negative-400"})}),c.jsx("h2",{className:"text-lg font-semibold text-heading",children:"Something went wrong"}),c.jsx("p",{className:"text-sm text-secondary max-w-md",children:this.state.error.message||"An unexpected error occurred while rendering this page."}),c.jsxs("div",{className:"flex gap-3 mt-2",children:[c.jsxs(fe,{variant:"secondary",size:"sm",onClick:this.handleReset,children:[c.jsx(kw,{className:"size-3.5 mr-1.5"}),"Try again"]}),c.jsx(fe,{variant:"secondary",size:"sm",onClick:()=>{const n=window.__CANONRY_CONFIG__?.basePath?.replace(/\/$/,"")??"";window.location.href=n||"/"},children:"Go home"})]})]})}):this.props.children}}const oa=_.forwardRef(({className:e,...n},i)=>c.jsx("div",{ref:i,className:ha("rounded-xl border border-base bg-bg/75 shadow-[0_0_0_1px_var(--color-shadow-hairline)]",e),...n}));oa.displayName="Card";const er=_.forwardRef(({className:e,...n},i)=>c.jsx("div",{ref:i,className:ha("flex flex-col gap-1.5 p-5",e),...n}));er.displayName="CardHeader";const Sj=_.forwardRef(({className:e,...n},i)=>c.jsx("h3",{ref:i,className:ha("font-medium tracking-tight text-primary",e),...n}));Sj.displayName="CardTitle";const cd=_.forwardRef(({className:e,...n},i)=>c.jsx("p",{ref:i,className:ha("text-sm text-muted",e),...n}));cd.displayName="CardDescription";const Fs=_.forwardRef(({className:e,...n},i)=>c.jsx("div",{ref:i,className:ha("p-5 pt-0",e),...n}));Fs.displayName="CardContent";const vH=20,xH=6;function wH({points:e,tone:n}){const i=_.useId();if(e.length===0)return null;const r=42,u=132,h=5,g=u-h*2,b=r-h*2,v=b-xH,w=M=>h+M/Math.max(e.length-1,1)*g,S=JI(e),A=Math.min(...e),T=Math.max(...e),C=Math.max(T-A,vH),F=(T+A)/2-C/2,R=e.map((M,X)=>({x:w(X),y:h+(1-(M-F)/C)*v}));return c.jsxs("svg",{className:`sparkline sparkline-${n}${S?" sparkline-provisional":""}`,viewBox:`0 0 ${u} ${r}`,"aria-hidden":"true",children:[c.jsx("defs",{children:c.jsx("clipPath",{id:i,children:c.jsx("rect",{x:h,y:h,width:g,height:b,rx:"8"})})}),c.jsx("line",{className:"sparkline-guide",x1:h,x2:u-h,y1:r-h,y2:r-h}),R.length===1?c.jsx("circle",{className:"sparkline-point",cx:R[0].x,cy:R[0].y,r:"3"}):c.jsx("polyline",{clipPath:`url(#${i})`,points:R.map(M=>`${M.x},${M.y}`).join(" "),vectorEffect:"non-scaling-stroke"})]})}function kH({project:e}){return c.jsxs(Ge,{to:"/projects/$projectName",params:{projectName:e.project.name},className:"project-row cursor-pointer",children:[c.jsx("div",{className:"project-row-chart",children:c.jsx(wH,{points:e.trend,tone:K3(e.lastRun.status)})}),c.jsxs("div",{className:"project-row-primary",children:[c.jsxs("div",{children:[c.jsx("p",{className:"project-name",children:e.project.name}),c.jsx("p",{className:"project-domain",children:e.project.canonicalDomain})]}),c.jsx("p",{className:"project-insight",children:e.insight})]}),c.jsx("div",{className:"project-row-stat",children:c.jsxs("div",{className:"metric-inline-block",children:[c.jsx("p",{className:"metric-inline-label",children:"Mentioned"}),c.jsx("p",{className:`metric-inline-value ${e.mentionTone==="caution"?"text-caution-400":""}`,children:e.hasMeasurement===!1?"Not measured":e.mentionScore}),c.jsx("p",{className:`metric-inline-caption${e.providerCoverage?" text-caution":""}`,title:e.providerCoverage,children:e.providerCoverage?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"sr-only",children:"Partial sweep: "}),e.providerCoverage]}):e.mentionDelta})]})}),c.jsx("div",{className:"project-row-stat",children:c.jsxs("div",{className:"metric-inline-block",children:[c.jsxs("p",{className:"metric-inline-label",children:[c.jsx("span",{"aria-hidden":"true",children:"Pressure"}),c.jsx("span",{className:"sr-only",children:"Competitor pressure"})]}),c.jsx("p",{className:"metric-inline-value",children:e.hasMeasurement===!1?"Not measured":e.competitorPressureLabel}),c.jsx("p",{className:"metric-inline-caption","aria-hidden":"true"})]})}),c.jsx("span",{className:"project-row-link",children:c.jsx(kf,{className:"h-4 w-4 text-muted"})})]})}function SH(){const{isAdmin:e}=pa(),n=cc(),{dashboard:i,isLoading:r,isError:u,refetch:h}=Yd(),g=i??n?.dashboard,v=Z0(!n,n?.health),{openRun:w}=Y0();if(u&&!g)return c.jsxs("div",{className:"page-container",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Portfolio unavailable"}),c.jsx("p",{className:"page-subtitle",children:"Canonry could not load the project list."})]})}),c.jsxs("div",{className:"max-w-xl rounded-lg border border-negative bg-negative-soft p-4",role:"alert",children:[c.jsx("p",{className:"text-sm font-medium text-heading",children:"Your projects have not been changed."}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),c.jsx(fe,{type:"button",variant:"secondary",className:"mt-4",onClick:()=>{h()},children:"Retry loading portfolio"})]})]});if(!g||r)return c.jsxs("div",{className:"page-skeleton",children:[c.jsxs("div",{className:"page-skeleton-header",children:[c.jsx("div",{className:"skeleton-text h-6 w-32"}),c.jsx("div",{className:"skeleton-text-sm w-64"})]}),c.jsx("div",{className:"space-y-3",children:[1,2,3].map(R=>c.jsxs("div",{className:"rounded-xl border border-default bg-surface p-4 flex items-center gap-4",children:[c.jsxs("div",{className:"flex-1 space-y-2",children:[c.jsx("div",{className:"skeleton-text w-36"}),c.jsx("div",{className:"skeleton-text-sm w-48"})]}),c.jsx("div",{className:"skeleton-text w-16"}),c.jsx("div",{className:"skeleton-text w-16"}),c.jsx("div",{className:"skeleton h-8 w-20 rounded"})]},R))})]});const S=g.portfolioOverview,A=S.projects.length>0&&S.projects.every(R=>R.hasMeasurement===!1),T=S.attentionItems.map(R=>A&&R.id==="attention_stable"?{...R,tone:"neutral",title:"Awaiting first measurement",detail:"Visibility results will appear after the first sweep."}:R),C=v.data??n?.health??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},F=DU(S.systemHealth.filter(R=>e||R.id==="api"||R.id==="worker"),C,g.settings);return c.jsxs("div",{className:"page-container",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Portfolio"}),c.jsx("p",{className:"page-subtitle",children:"Visibility across all projects."})]})}),S.projects.length>0?c.jsx("div",{className:"project-list project-list-scrollable",children:S.projects.map(R=>c.jsx(kH,{project:R},R.project.id))}):c.jsxs(oa,{className:"surface-card empty-card",children:[c.jsx("h3",{children:S.emptyState?.title??"No projects yet"}),c.jsx("p",{className:"supporting-copy",children:S.emptyState?.detail}),c.jsx(fe,{size:"sm",asChild:!0,children:c.jsx(Ge,{to:S.emptyState?.ctaHref==="/setup"||!S.emptyState?.ctaHref?"/setup":"/",children:S.emptyState?.ctaLabel??"Launch setup"})})]}),c.jsxs("div",{className:"overview-secondary-grid",children:[T.length>0&&c.jsxs("section",{className:"overview-secondary-section",children:[c.jsx("div",{className:"section-head section-head-inline",children:c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Needs attention"}),c.jsx("h2",{className:"section-title-sm",children:"What changed"})]})}),c.jsx("div",{className:"attention-list attention-list-scrollable",children:T.map(R=>R.href?c.jsxs(Ge,{to:R.href,className:`attention-item attention-item-${R.tone}`,children:[c.jsxs("div",{children:[c.jsx("p",{className:"attention-title",children:R.title}),c.jsx("p",{className:"attention-detail",children:R.detail})]}),R.actionLabel&&c.jsx("span",{className:"attention-action",children:R.actionLabel})]},R.id):c.jsxs("div",{className:`attention-item attention-item-static attention-item-${R.tone}`,children:[c.jsxs("div",{children:[c.jsx("p",{className:"attention-title",children:R.title}),c.jsx("p",{className:"attention-detail",children:R.detail})]}),R.actionLabel&&c.jsx("span",{className:"attention-action",children:R.actionLabel})]},R.id))})]}),c.jsxs("section",{className:"overview-secondary-section",children:[c.jsx("div",{className:"section-head section-head-inline",children:c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Recent runs"}),c.jsx("h2",{className:"section-title-sm",children:"Activity"})]})}),c.jsx("div",{className:"compact-stack compact-stack-scrollable",children:S.recentRuns.length>0?S.recentRuns.map(R=>c.jsxs("button",{className:"compact-run",type:"button",onClick:()=>w(R.id),children:[c.jsxs("div",{children:[c.jsx("p",{className:"compact-run-title",children:R.projectName}),c.jsx("p",{className:"compact-run-detail",children:R.summary})]}),c.jsx(F0,{status:R.status})]},R.id)):c.jsx("p",{className:"supporting-copy",children:"Run history appears here after the first launch."})})]})]}),c.jsxs("section",{className:"page-section",children:[c.jsx("div",{className:"section-head section-head-inline",children:c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"System health"}),c.jsx("h2",{className:"section-title-sm",children:"Infrastructure"})]})}),c.jsx("div",{className:"divide-y divide-default border-y border-default",children:F.map(R=>{const M=R.id==="api"?C.apiStatus:R.id==="worker"?C.workerStatus:void 0,X=M?M.state==="ok"?void 0:dr(M):R.tone==="positive"?void 0:R.meta;return c.jsxs("div",{className:"flex items-start justify-between gap-4 py-3",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-sm font-medium text-heading",children:R.label}),X&&c.jsx("p",{className:"mt-1 text-sm text-secondary",children:X})]}),c.jsx(gn,{tone:R.tone,title:M?dr(M):R.meta,children:R.detail})]},R.id)})})]})]})}const jH='a, button, input, select, textarea, label, [role="button"], [role="link"], [role="checkbox"], [role="menuitem"]';function AH(e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return!1;const n=e.target;if(n&&typeof n.closest=="function"&&n.closest(jH))return!1;const i=typeof window<"u"?window.getSelection():null;return!(i&&!i.isCollapsed&&i.toString().trim()!=="")}function CH({onApplied:e}){const{canWrite:n}=pa(),[i,r]=_.useState(""),[u,h]=_.useState(!1),[g,b]=_.useState([]),[v,w]=_.useState([]);if(UL()||!n)return null;const S=async()=>{if(!i.trim())return;h(!0),b([]),w([]);const A=hC(i),T=[],C=[];for(let F=0;F<A.length;F++){const R=A[F];if(R.errors.length>0){T.push(`Document ${F+1}: ${R.errors[0]?.message}`);continue}const M=R.toJSON();if(!(!M||typeof M!="object"))try{const X=await pV(M);C.push(`Applied "${X.displayName||X.name}" (revision ${X.configRevision})`)}catch(X){T.push(`Document ${F+1}: ${r8(X)}`)}}b(C),w(T),h(!1),C.length>0&&(tn({title:"YAML applied",detail:`Applied ${C.length} document${C.length===1?"":"s"} successfully.`,tone:T.length>0?"caution":"positive",dedupeKey:"yaml:apply",dedupeMode:"replace"}),e())};return c.jsxs("section",{className:"mt-8",children:[c.jsx("div",{className:"page-section-divider"}),c.jsx("div",{className:"section-head mt-6",children:c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Config as code"}),c.jsx("h2",{className:"text-sm font-medium text-strong",children:"Apply YAML"})]})}),c.jsxs("p",{className:"text-muted text-sm mb-3",children:["Paste a ",c.jsx("code",{className:"text-secondary",children:"canonry.yaml"})," config (multi-document YAML with ",c.jsx("code",{className:"text-secondary",children:"---"})," separators supported)."]}),c.jsx("textarea",{className:"setup-input w-full font-mono text-xs",rows:10,placeholder:`apiVersion: canonry/v1
65
+ kind: Project
66
+ metadata:
67
+ name: my-project
68
+ spec:
69
+ canonicalDomain: example.com
70
+ country: US
71
+ language: en
72
+ queries: []`,value:i,onChange:A=>r(A.target.value)}),g.length>0&&c.jsx("ul",{className:"mt-2 space-y-1",children:g.map((A,T)=>c.jsx("li",{className:"text-positive-400 text-sm",children:A},T))}),v.length>0&&c.jsx("ul",{className:"mt-2 space-y-1",children:v.map((A,T)=>c.jsx("li",{className:"text-negative-400 text-sm",children:A},T))}),c.jsx("div",{className:"mt-3",children:c.jsx(fe,{type:"button",disabled:!i.trim()||u,onClick:Zt(S),children:u?"Applying...":"Apply"})})]})}function NH(){const{dashboard:e,isLoading:n,refetch:i}=Yd(),{canWrite:r,isAdmin:u}=pa(),h=cs();if(!e||n)return c.jsxs("div",{className:"page-skeleton",children:[c.jsxs("div",{className:"page-skeleton-header",children:[c.jsx("div",{className:"skeleton-text h-6 w-28"}),c.jsx("div",{className:"skeleton-text-sm w-40"})]}),c.jsxs("div",{className:"rounded-xl border border-default bg-surface overflow-hidden",children:[c.jsx("div",{className:"p-3 border-b border-default flex gap-8",children:["Name","Domain","Mentions","Last run","Country"].map(b=>c.jsx("div",{className:"skeleton-text-sm w-16"},b))}),[1,2,3].map(b=>c.jsxs("div",{className:"p-3 border-b border-subtle flex gap-8 items-center",children:[c.jsxs("div",{className:"flex-1 space-y-1",children:[c.jsx("div",{className:"skeleton-text w-28"}),c.jsx("div",{className:"skeleton-text-sm w-16"})]}),c.jsx("div",{className:"skeleton-text w-24"}),c.jsx("div",{className:"skeleton h-5 w-14 rounded-full"}),c.jsx("div",{className:"skeleton h-5 w-16 rounded-full"}),c.jsx("div",{className:"skeleton-text-sm w-8"})]},b))]})]});const g=e.projects;return c.jsxs("div",{className:"page-container",children:[c.jsxs("div",{className:"page-header",children:[c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Projects"}),c.jsxs("p",{className:"page-subtitle",children:[g.length," project",g.length!==1?"s":""," tracked"]})]}),u?c.jsx("div",{className:"page-header-right",children:c.jsxs(fe,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[c.jsx(Ob,{className:"size-4 mr-1.5"}),g.length===0?"Map a site":"Add project"]})}):null]}),g.length>0?c.jsx("div",{className:"data-table-wrapper",children:c.jsxs("table",{className:"data-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{children:"Name"}),c.jsx("th",{children:"Domain"}),c.jsx("th",{children:"Mentions"}),c.jsx("th",{children:"Last run"}),c.jsx("th",{className:"text-right",children:"Country"})]})}),c.jsx("tbody",{children:g.map(b=>{const v=b.recentRuns[0];return c.jsxs("tr",{className:"cursor-pointer",onClick:w=>{AH(w)&&h({to:"/projects/$projectName",params:{projectName:b.project.name}})},children:[c.jsxs("td",{children:[c.jsx(Ge,{to:"/projects/$projectName",params:{projectName:b.project.name},className:"text-heading font-medium hover:underline",children:b.project.displayName||b.project.name}),c.jsx("p",{className:"text-[11px] text-muted",children:b.project.name})]}),c.jsx("td",{className:"text-secondary",children:b.project.canonicalDomain}),c.jsx("td",{children:c.jsx(gn,{tone:b.mentionSummary.tone,children:b.mentionSummary.value})}),c.jsx("td",{className:"text-muted text-sm",children:v?c.jsx(F0,{status:v.status}):c.jsx("span",{className:"text-faint",children:"No runs"})}),c.jsx("td",{className:"text-right text-muted",children:b.project.country})]},b.project.id)})})]})}):c.jsxs(oa,{className:"surface-card empty-card",children:[c.jsx("h3",{children:"No projects yet"}),c.jsx("p",{className:"supporting-copy",children:"Map a public site to capture its Page Health baseline and exact fixes."}),u?c.jsxs(fe,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[c.jsx(Ob,{className:"size-4 mr-1.5"}),"Map a site"]}):null]}),r?c.jsx(CH,{onApplied:()=>{i()}}):null]})}const iw="canonry.onboarding-session.v1",ud="canonry.onboarding-launched-run.v1",eg="canonry.onboarding-handoff.v1",_H=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,TH=["system","project","queries","competitors","run"];function EH(e){return TH[e]??"system"}function RH(e){if(!e.apiReady)return"api_unavailable";if(e.databaseConfigured===!1)return"database_unavailable";if(!e.workerReady)return"worker_unavailable";if(!e.providerReady)return"no_provider"}function zH(e){return e.apiStatus.state!=="checking"&&e.workerStatus.state!=="checking"}const DH={NO_PROVIDER:"no_provider",NO_QUERIES:"no_queries",RATE_LIMITED:"rate_limited",QUOTA_EXCEEDED:"rate_limited",PROVIDER_AUTH:"provider_auth",AUTH_INVALID:"provider_auth",FORBIDDEN:"provider_auth",NETWORK:"network",CONNECTION_ERROR:"network",RUN_IN_PROGRESS:"run_rejected",RUN_CANCELLED:"run_cancelled"};function Vl(e,n){const i=e&&typeof e=="object"&&"code"in e?String(e.code):"";return DH[i]??n}function tg(){try{const e=typeof window<"u"?window.sessionStorage.getItem(iw):null;if(e&&_H.test(e))return e;const n=gf();return typeof window<"u"&&window.sessionStorage.setItem(iw,n),n}catch{return gf()}}function ng(){return gf()}function jj(e){if(!e||typeof e!="object")return!1;const n=e;return typeof n.projectName=="string"&&n.projectName.length>0&&typeof n.runId=="string"&&n.runId.length>0&&typeof n.handled=="boolean"}function Aj(e,n){try{typeof window<"u"&&window.sessionStorage.setItem(ud,JSON.stringify({projectName:e,runId:n,handled:!1}))}catch{}}function Cj(e){if(!e)return null;try{if(typeof window>"u")return null;const n=window.sessionStorage.getItem(ud);if(!n)return null;const i=JSON.parse(n);return!jj(i)||i.projectName!==e||i.handled?null:i}catch{return null}}function dd(e){try{if(typeof window>"u")return;const n=window.sessionStorage.getItem(ud);if(!n)return;const i=JSON.parse(n);if(!jj(i)||i.runId!==e)return;window.sessionStorage.setItem(ud,JSON.stringify({...i,handled:!0}))}catch{}}function OH(e){try{typeof window<"u"&&window.sessionStorage.setItem(eg,e)}catch{}}function qH(e){if(!e)return!1;try{return typeof window<"u"&&window.sessionStorage.getItem(eg)===e}catch{return!1}}function IH(){try{typeof window<"u"&&window.sessionStorage.removeItem(eg)}catch{}}function gf(){const e=globalThis.crypto;if(e.randomUUID)return e.randomUUID();const n=new Uint8Array(16);if(e.getRandomValues)e.getRandomValues(n);else for(let r=0;r<n.length;r+=1)n[r]=Math.floor(Math.random()*256);n[6]=n[6]&15|64,n[8]=n[8]&63|128;const i=[...n].map(r=>r.toString(16).padStart(2,"0")).join("");return`${i.slice(0,8)}-${i.slice(8,12)}-${i.slice(12,16)}-${i.slice(16,20)}-${i.slice(20)}`}class PH extends Error{constructor(){super(B3),this.name="ViewOnlyError"}}function MH(e){if(!e.canWrite)throw new PH}function Nj(e){e.invalidateQueries({queryKey:U0({client:ae})}),e.invalidateQueries({queryKey:ls({client:ae})})}function ro(){const e=pa();return()=>{MH(e)}}function BH(e){return e==="gsc-sync"?"GSC sync queued":e==="inspect-sitemap"?"Sitemap inspection queued":"Visibility sweep queued"}function LH(e,n){const i=e??"Project";return n==="gsc-sync"?`${i} will refresh after the sync completes.`:n==="inspect-sitemap"?`${i} will notify you when sitemap inspection finishes.`:`${i} will notify you when the run finishes.`}function ag(e,n){K0({id:e.id,projectId:e.projectId,kind:e.kind,projectLabel:n.projectLabel,sourceAction:n.sourceAction,lastAnnouncedStatus:"queued"}),tn({title:BH(e.kind),detail:LH(n.projectLabel,e.kind),tone:"neutral",dedupeKey:`run:${e.id}`,dedupeMode:"replace"})}function VH(e){const n=e.filter(g=>g.status!=="conflict"&&g.status!=="error"),i=e.filter(g=>g.status==="conflict"),r=e.filter(g=>g.status==="error"),u=i.length+r.length;if(n.length===0){const g=[r.length>0?`${r.length} need provider or query setup`:null,i.length>0?`${i.length} already have an active run`:null].filter(b=>b!==null);tn({title:"No runs queued",detail:g.length>0?`${g.join("; ")}.`:"No projects were available to queue.",tone:"caution",durationMs:8e3,dedupeKey:"run-all:conflict",dedupeMode:"replace"});return}for(const g of n)K0({id:g.id,projectId:g.projectId,kind:g.kind,projectLabel:g.projectName,sourceAction:"run-all",lastAnnouncedStatus:"queued"});const h=LU({runIds:n.map(g=>g.id),queuedCount:n.length,skippedCount:u});tn({title:"Run-all batch queued",detail:u>0?`${n.length} project${n.length===1?"":"s"} queued; ${u} need attention or already have an active run.`:`${n.length} project${n.length===1?"":"s"} queued.`,tone:u>0?"caution":"neutral",dedupeKey:`batch:${h}`,dedupeMode:"replace"})}function Xd(e,n){if(e instanceof dn&&e.code==="RUN_IN_PROGRESS"){tn({title:"Run already in progress",detail:n?.projectLabel?`${n.projectLabel} already has an active run. Wait for it to finish, then retry.`:"This project already has an active run. Wait for it to finish, then retry.",tone:"caution",durationMs:8e3,dedupeKey:`run-in-progress:${n?.projectKey??"project"}:${n?.sourceAction??"run"}`,dedupeMode:"replace"});return}tn({title:e instanceof Error?e.message:"Failed to queue run",tone:"negative"})}function $H(){const e=ro(),n=ua();return us({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>oV(i,r),onSuccess:(i,r)=>{Nj(n),ag(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})},onError:(i,r)=>{r.sourceAction!=="setup-launch"&&Xd(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})}})}function nee(){const e=ro(),n=ua();return us({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:i=>hV(i),onSuccess:i=>{Nj(n),VH(i)},onError:i=>{tn({title:i instanceof Error?i.message:"Failed to queue runs",tone:"negative"})}})}function UH(){const e=ro(),n=ua();return us({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,body:r})=>yV(i,r),onSuccess:(i,r)=>{Zl(n,Ne["site-audit"],r.projectName),K0({id:i.runId,projectId:r.projectId,kind:Ne["site-audit"],projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit",lastAnnouncedStatus:i.status}),tn({title:i.status==="running"?"Site Health scan already running":"Site Health scan queued",detail:`${r.projectLabel??r.projectName} will refresh automatically when the scan finishes.`,tone:"neutral",dedupeKey:`run:${i.runId}`,dedupeMode:"replace"})},onError:(i,r)=>{r.suppressErrorToast||Xd(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit"})}})}function aee(){const e=ro(),n=ua();return us({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>fV(i,r),onSuccess:(i,r)=>{Zl(n,Ne["gsc-sync"],r.projectName),ag(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})},onError:(i,r)=>{Xd(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})}})}function iee(){const e=ro(),n=ua();return us({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>gV(i,r),onSuccess:(i,r)=>{Zl(n,Ne["inspect-sitemap"],r.projectName),ag(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})},onError:(i,r)=>{Xd(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})}})}function ig(e){if(!Array.isArray(e.queryKey)||e.queryKey.length<=1)return!1;const n=e.queryKey[0];return n==="projects"||n==="project-dashboard-full"}function see(){const e=ro(),n=ua();return us({onMutate:e,mutationFn:({projectName:i,queries:r})=>aV(i,r),onSuccess:()=>{n.invalidateQueries({queryKey:ls({client:ae})}),n.invalidateQueries({predicate:ig})}})}function oee(){const e=ro(),n=ua();return us({onMutate:e,mutationFn:({projectName:i,body:r})=>iV(i,r),onSuccess:()=>{fn(n,"project"),n.invalidateQueries({predicate:ig})}})}function ree({disabled:e,title:n,...i}){const{canWrite:r}=pa();return r?c.jsx(fe,{disabled:e,title:n,...i}):c.jsx(fe,{...i,disabled:!0,title:B3})}function sg({title:e,children:n}){const{isAdmin:i}=pa();return i?c.jsx(c.Fragment,{children:n}):c.jsxs(oa,{className:"surface-card mx-auto mt-8 max-w-lg",children:[c.jsxs(er,{children:[c.jsxs(Sj,{children:[e," is for administrators"]}),c.jsx(cd,{children:"Your account has view-only access. You can read everything this install has measured; changing how it is set up needs an administrator account."})]}),c.jsx(Fs,{children:c.jsx("p",{className:"supporting-copy",children:"If you need to make a change here, ask an administrator on this install."})})]})}const sw=[{id:"site",label:"Scan site",optional:!1},{id:"fixes",label:"Page health",optional:!1},{id:"visibility",label:"AI Visibility",optional:!0},{id:"done",label:"Next steps",optional:!1}],GH={skipped:"Skipped",pending:"In progress",incomplete:"Didn’t finish",unknown:null};function no({current:e,outcomes:n={}}){const i=sw.findIndex(r=>r.id===e);return c.jsx("ol",{"aria-label":"Onboarding progress",className:"grid border-y border-default sm:grid-cols-4 sm:divide-x sm:divide-default",children:sw.map((r,u)=>{const h=u<i?n[r.id]:void 0,g=u<i&&h===void 0,b=u===i,v=h?GH[h]:null;return c.jsxs("li",{"aria-current":b?"step":void 0,className:"flex min-h-12 items-center gap-3 py-2 sm:px-3 sm:first:pl-0 sm:last:pr-0",children:[c.jsx("span",{"aria-hidden":"true",className:`flex size-6 shrink-0 items-center justify-center rounded-full border text-xs font-semibold tabular-nums ${b?"border-accent bg-accent text-on-inverse":g?"border-positive bg-positive-soft text-positive":"border-default bg-surface-subtle text-muted"}`,children:g?"✓":h==="skipped"||h==="incomplete"?"–":u+1}),c.jsxs("span",{className:"flex min-w-0 flex-wrap items-baseline gap-x-2",children:[c.jsx("span",{className:`text-sm font-medium ${b||g?"text-heading":"text-secondary"}`,children:r.label}),v?c.jsx("span",{className:"text-[13px] text-secondary",children:v}):r.optional&&!h?c.jsx("span",{className:"text-[13px] text-secondary",children:"Optional"}):null,g?c.jsx("span",{className:"sr-only",children:"Complete"}):null]})]},r.id)})})}function KH(){return[{id:"search-console",icon:wf,label:"Search Console",detail:"Compare answer engines with the queries you already rank for.",action:"Connect",to:"/projects/$projectName/search-console"},{id:"analytics",icon:jw,label:"Google Analytics",detail:"See the traffic answer engines actually send you.",action:"Connect",to:"/projects/$projectName/activity"},{id:"schedule",icon:Aw,label:"Scheduled sweeps",detail:"Re-measure on a schedule instead of by hand.",action:"Set up",to:"/projects/$projectName/settings"},{id:"notifications",icon:qh,label:"Notifications",detail:"Send a webhook when a sweep finishes or a score moves.",action:"Set up",to:"/projects/$projectName/settings"},{id:"local",icon:Cw,label:"Local presence",detail:"Track the Google Business Profile behind local answers.",action:"Open",to:"/projects/$projectName/local"},{id:"agent",icon:dC,label:"Your agent",detail:"Read this project from Claude Code, Codex, or any MCP client.",action:"Docs",href:"https://github.com/Canonry/canonry/blob/main/docs/mcp.md"}]}function HH({projectName:e}){const n=KH();return c.jsxs("section",{"aria-labelledby":"next-steps-heading",className:"mt-6 border-t border-default pt-5",children:[c.jsx("h2",{id:"next-steps-heading",className:"text-sm font-medium text-heading",children:"What else this project can do"}),c.jsx("ul",{className:"mt-3 divide-y divide-default",children:n.map(({id:i,icon:r,label:u,detail:h,action:g,to:b,href:v})=>c.jsxs("li",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 py-3",children:[c.jsx(r,{className:"size-4 shrink-0 text-muted","aria-hidden":"true"}),c.jsx("span",{className:"min-w-36 text-sm font-medium text-heading",children:u}),c.jsx("span",{className:"min-w-0 flex-1 text-sm text-secondary",children:h}),b?c.jsxs(Ge,{to:b,params:{projectName:e},className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:[g,c.jsxs("span",{className:"sr-only",children:[" ",u]})]}):c.jsxs("a",{href:v,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:[g,c.jsxs("span",{className:"sr-only",children:[" ",u]})]})]},i))})]})}function QH({providerName:e,keyUrl:n,modelHint:i,compact:r=!1,leadingField:u,secondaryActions:h,onSaved:g}){const b=e.toLowerCase()==="local",v=r&&e.toLowerCase()==="gemini"&&!!n,[w,S]=_.useState(""),[A,T]=_.useState(""),[C,F]=_.useState(""),[R,M]=_.useState(""),[X,J]=_.useState(""),[L,le]=_.useState(""),[ie,re]=_.useState(!1),[H,K]=_.useState(null),[Re,Qe]=_.useState(!1),Fe=b?A.trim().length>0:w.trim().length>0;async function ze(){if(Fe){re(!0),K(null),Qe(!1);try{const W=V=>{const q=parseInt(V.trim(),10);return Number.isFinite(q)&&q>0?q:void 0},De={},Te=W(R);Te!==void 0&&(De.maxConcurrency=Te);const Se=W(X);Se!==void 0&&(De.maxRequestsPerMinute=Se);const se=W(L);se!==void 0&&(De.maxRequestsPerDay=se),await q3(e.toLowerCase(),{...w.trim()?{apiKey:w.trim()}:{},...A.trim()?{baseUrl:A.trim()}:{},...C.trim()?{model:C.trim()}:{},...Object.keys(De).length>0?{quota:De}:{}}),S(""),T(""),F(""),M(""),J(""),le(""),Qe(!0),tn({title:"Provider updated",detail:`${e} configuration saved.`,tone:"positive",dedupeKey:`settings:provider:${e}`,dedupeMode:"replace"}),g()}catch(W){K(W instanceof Error?W.message:"Failed to update provider")}finally{re(!1)}}}const ke=i??"Use default model",Me=r?"block text-sm font-medium text-secondary":"text-sm text-secondary",ve=r?"setup-input min-h-11 w-full":"mt-0.5 w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",P=c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:r?"space-y-1.5":void 0,children:[c.jsx("label",{className:Me,htmlFor:`model-${e}`,children:"Model (optional)"}),c.jsx("input",{id:`model-${e}`,type:"text",className:ve,placeholder:ke,value:C,onChange:W=>F(W.target.value)})]}),c.jsxs("div",{children:[c.jsx("label",{className:Me,children:"Quota (optional)"}),c.jsxs("div",{className:"mt-0.5 grid grid-cols-3 gap-1.5",children:[c.jsxs("div",{children:[c.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"Concurrent",value:R,onChange:W=>M(W.target.value)}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Max concurrent"})]}),c.jsxs("div",{children:[c.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"/min",value:X,onChange:W=>J(W.target.value)}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Per minute"})]}),c.jsxs("div",{children:[c.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"/day",value:L,onChange:W=>le(W.target.value)}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Per day"})]})]})]})]}),ee=b?c.jsxs("div",{className:r?"space-y-1.5":void 0,children:[c.jsx("label",{className:Me,htmlFor:`base-url-${e}`,children:"Base URL"}),c.jsx("input",{id:`base-url-${e}`,type:"text",className:ve,placeholder:"http://localhost:11434/v1",value:A,onChange:W=>T(W.target.value)}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Use any OpenAI-compatible endpoint, such as Ollama or vLLM."})]}):null,pe=c.jsxs("div",{className:r?"min-w-0 space-y-1.5":void 0,children:[c.jsxs("div",{className:r?"flex items-center justify-between gap-3":"flex items-center justify-between",children:[c.jsxs("label",{className:Me,htmlFor:`api-key-${e}`,children:["API key",b?" (optional)":""]}),n&&!v&&c.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-secondary hover:text-neutral underline underline-offset-2",children:["Get API key ","↗"]})]}),c.jsx("input",{id:`api-key-${e}`,type:"password",autoComplete:"new-password",autoCapitalize:"none",spellCheck:!1,className:ve,placeholder:b?"Optional. Most local servers do not need one.":`Enter ${e} API key`,value:w,onChange:W=>S(W.target.value)})]}),Ce=c.jsx(fe,{type:"button",size:r?"default":"sm",className:r?"min-h-11":void 0,disabled:!Fe||ie,onClick:Zt(ze),children:ie?"Saving...":r?"Save connection":"Save"});return c.jsxs("div",{className:r?"space-y-3":"mt-3 rounded-lg border border-base bg-bg-elevated/40 p-3 space-y-2",children:[v&&c.jsxs("div",{className:"flex flex-wrap items-start gap-x-6 gap-y-3 pb-2",children:[c.jsxs("div",{className:"min-w-0 flex-1 basis-72 space-y-1",children:[c.jsx("h3",{className:"text-base font-semibold text-heading",children:"Start with Gemini’s free tier"}),c.jsxs("p",{className:"max-w-prose text-sm text-secondary",children:["Get a key in Google AI Studio, then paste it below. Free usage has model and rate limits; paid usage is billed by Google."," ",c.jsx("a",{href:"https://ai.google.dev/gemini-api/docs/pricing",target:"_blank",rel:"noopener noreferrer",className:"text-link underline underline-offset-2 focus-visible:outline-2 focus-visible:outline-offset-2",children:"Pricing and limits"})]})]}),c.jsx(fe,{variant:"outline",className:"min-h-11",asChild:!0,children:c.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:["Get a free Gemini API key ","↗"]})})]}),r?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:u?"grid items-start gap-3 sm:grid-cols-[minmax(0,0.7fr)_minmax(0,1.3fr)]":void 0,children:[u,pe]}),ee]}):c.jsxs(c.Fragment,{children:[ee,pe]}),r?c.jsxs("details",{children:[c.jsx("summary",{className:"min-h-11 cursor-pointer text-sm text-secondary py-3",children:"Advanced provider settings"}),c.jsx("div",{className:"space-y-3 pt-2",children:P})]}):P,H&&c.jsx("p",{role:"alert",className:"text-sm text-negative-400",children:H}),Re&&c.jsx("p",{className:"text-sm text-positive-400",children:"Provider updated."}),r?c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[Ce,h]}):Ce]})}const md="cdp:chatgpt";function Zs(e){return e.trim().toLowerCase()}function FH({projectProviders:e,configuredApiProviders:n,cdpConfigured:i}){const r=e.map(Zs),u=new Set(r),h=r.length===0||r.some(w=>w!==md),g=r.length===0||u.has(md);if(h&&n!==void 0&&n.map(Zs).some(S=>r.length===0||u.has(S))||g&&i===!0)return!0;if(!(h&&n===void 0||g&&i===void 0))return!1}const ZH=[{label:"System check",description:"Verify your instance is ready"},{label:"Create project",description:"Name, domain, and locale"},{label:"Queries",description:"Add queries to track"},{label:"Competitors",description:"Add competitor domains"},{label:"Launch",description:"Start your first visibility sweep"}],YH=[{label:"Queries"},{label:"First sweep"}];function ow(e,n){return(e==="completed"||e==="partial")&&n>0}function rw(e){return e.launchReady?e.hasProject?e.queryCount===0?2:e.competitorCount===0&&!e.hasRunAttempt?3:4:1:0}function _j(e){return e.queryCounts.total>0}function XH(e,n){return n?e.find(i=>i.project.name===n)??null:e.find(i=>!_j(i))??e.at(0)??null}function JH({current:e,labels:n}){return c.jsx("div",{className:"setup-steps",role:"list","aria-label":"Setup progress",children:n.map((i,r)=>{const u=r<e,h=r===e;return c.jsxs("div",{className:`setup-step ${u?"setup-step-done":""} ${h?"setup-step-active":""}`,role:"listitem","aria-current":h?"step":void 0,children:[c.jsx("span",{className:"setup-step-number",children:u?"✓":r+1}),c.jsx("span",{children:i.label})]},i.label)})})}function WH({visibilityProjectName:e,siteHealthOnboarding:n=!1,onboardingFinish:i=n}={}){const{canWrite:r}=pa();return e&&r?c.jsx(lw,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}):c.jsx(sg,{title:e?"Set up AI Visibility":"Setup",children:c.jsx(lw,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i})})}function lw({visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}){const r=cc(),{isAdmin:u}=pa(),{dashboard:h,isLoading:g,refetch:b}=Yd(void 0,{pauseProjectPolling:!0,includeSettings:u}),v=h??r?.dashboard,w=cs(),S=_.useCallback(T=>{T&&e&&T.focus()},[e]),A=()=>{if(!e){w({to:"/",replace:!0});return}if(i){w({to:"/setup",search:{onboarding:"complete",setupProject:e,skipped:"visibility"},replace:!0});return}w({to:"/projects/$projectName",params:{projectName:e},replace:!0})};return!v||g?c.jsxs("div",{className:"page-skeleton",children:[c.jsxs("div",{className:"page-skeleton-header",children:[c.jsx("div",{className:"skeleton-text h-6 w-24"}),c.jsx("div",{className:"skeleton-text-sm w-80"})]}),c.jsxs("div",{className:"page-skeleton-card",children:[c.jsx("div",{className:"skeleton-text w-32"}),c.jsx("div",{className:"space-y-3 mt-3",children:[1,2,3].map(T=>c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"space-y-1 flex-1",children:[c.jsx("div",{className:"skeleton-text w-24"}),c.jsx("div",{className:"skeleton-text-sm w-48"})]}),c.jsx("div",{className:"skeleton h-6 w-16 rounded-full"})]},T))})]})]}):e&&!v.projects.some(T=>T.project.name===e)?c.jsxs("div",{className:"page-container",children:[n?c.jsx(no,{current:"visibility"}):null,c.jsxs("div",{className:"page-header",children:[c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{ref:S,tabIndex:-1,className:"page-title",children:"Set up AI Visibility"}),c.jsx("p",{className:"page-subtitle",children:"Choose what to track, then run your first visibility sweep."})]}),n?c.jsx("div",{className:"page-header-right",children:c.jsx(fe,{type:"button",variant:"outline",onClick:A,children:"Skip AI Visibility"})}):null]}),c.jsxs(oa,{role:"alert",className:"compact-stack",children:[c.jsx("h2",{children:"Project not found"}),c.jsx("p",{className:"text-secondary",children:"Canonry could not find the project handed off from Site Health. Refresh the project list or choose a project to continue."}),c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:()=>{b()},children:"Retry"}),c.jsx(fe,{type:"button",asChild:!0,children:c.jsx(Ge,{to:"/projects",children:"View projects"})})]})]})]}):c.jsx(eQ,{dashboard:v,initialHealth:r?.health,enableLiveStatus:!r,refetch:b,visibilityProjectName:e,visibilityHeadingRef:S,siteHealthOnboarding:n,onboardingFinish:i})}function eQ({dashboard:e,initialHealth:n,enableLiveStatus:i,refetch:r,visibilityProjectName:u,visibilityHeadingRef:h,siteHealthOnboarding:g,onboardingFinish:b}){const v=e.settings,{isAdmin:w}=pa(),A=Z0(i,n).data??n??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},T=qU(e.setup,A,v),C=!!u,F=cs(),R=ua(),M=_.useRef(tg()).current,X=_.useRef(new Set),J=_.useCallback((U,Le)=>{if(Le){if(X.current.has(Le))return;X.current.add(Le)}V0({surface:"wizard",...U,eventId:ng()})},[]),L=XH(e.projects,u),le=L?e.runs.filter(U=>U.projectId===L.project.id).sort((U,Le)=>Le.createdAt.localeCompare(U.createdAt)):[],ie=L?.queryCounts.total??0,re=L?.project.name,H=wt({queryKey:["setup","resume-queries",re],queryFn:()=>re?z3(re):Promise.resolve([]),enabled:!!re}),K=H.data??[],Re=H.data?.length??ie,Qe=L?.competitors.map(U=>U.domain)??[],Fe=le.at(0)??null,ze=!!L&&_j(L),ke=!!L&&H.isPending,Me=C?2:rw({launchReady:T.launchState.enabled,hasProject:!!L,queryCount:Re,competitorCount:Qe.length,hasRunAttempt:le.length>0||ze}),ve=rw({launchReady:!0,hasProject:!!L,queryCount:Re,competitorCount:Qe.length,hasRunAttempt:le.length>0||ze}),[P,ee]=_.useState(Me),[pe,Ce]=_.useState(!ke),W=C&&(ke||!pe),[De,Te]=_.useState(L?.project.name??""),[Se,se]=_.useState(L?.project.displayName??""),[V,q]=_.useState(L?.project.canonicalDomain??""),[ce,qe]=_.useState(L?.project.country??"US"),[ye,nt]=_.useState(L?.project.language??"en"),[Ve,kt]=_.useState(L?.project.autoExtractBacklinks??!1),[oe,Pe]=_.useState(L?.project.name??null),[Jt,fa]=_.useState(null),[Ka,bs]=_.useState(!1),Be=()=>{if(!oe){F({to:"/",replace:!!u});return}F({to:g?"/projects/$projectName/technical-aeo":"/projects/$projectName",params:{projectName:oe},replace:!!u})},lt=(U=!1)=>{if(!b||!oe){Be();return}F({to:"/setup",search:{onboarding:"complete",setupProject:oe,...U?{skipped:"visibility"}:{}},replace:!0})},Wt=()=>lt(!0),[ki,Sr]=_.useState(K.map(U=>U.query).join(`
73
+ `)),[nn,jr]=_.useState(Re>0),[Ar,Cr]=_.useState(null),[vs,uc]=_.useState(!1),[dc,em]=_.useState(!1),mc=v.providerStatuses.filter(U=>U.state==="ready"),bn=L?.project.providers.map(Zs)??[],St=mc.filter(U=>bn.length===0||bn.includes(Zs(U.name))),Ta=mc.map(U=>Zs(U.name)),vn=St.length>0,Nr=bn.length===0||bn.includes(md),Ha=C&&!w,Ea=wt({...JV({client:ae,path:{name:re??""}}),enabled:Ha&&!!re,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:"always",retry:!1}),xs=Ea.data?.answerVisibilityProviderReady,Si=Ha&&(Ea.isError||Ea.isSuccess&&typeof xs!="boolean"),Qa=wt({...S$({client:ae}),enabled:!Ha&&Nr&&!vn,staleTime:6e4,retry:!1}),Qn=Nr?Qa.isSuccess?typeof Qa.data.browserVersion=="string":Qa.isError?!1:void 0:!1,Ht=Ha?Ea.isSuccess&&Ea.isFetchedAfterMount&&!Ea.isFetching?xs:void 0:FH({projectProviders:bn,configuredApiProviders:Ta,cdpConfigured:Qn}),Fa=St.length+(Qn===!0?1:0),[ji,ws]=_.useState(St[0]?.name??""),[lo,ks]=_.useState(5),[pc,_r]=_.useState(!1),[Tr,Er]=_.useState(null),[Rr,zr]=_.useState(""),co=_.useRef(!1),hc=_.useCallback(U=>{!U||!co.current||(co.current=!1,U.focus({preventScroll:!0}))},[]),[Fn,Lt]=_.useState(!1),[mn,Ai]=_.useState(!1),[uo,fc]=_.useState(!1),mo=v.providerStatuses.filter(U=>Zs(U.name)!==md&&(bn.length===0||bn.includes(Zs(U.name)))),qn=mo.find(U=>U.name===Rr)??mo.find(U=>U.state!=="ready")??mo.at(0),Ci=`Help me choose AI Visibility queries for Canonry project ${JSON.stringify(oe??De)} (${V}).
74
+ 1. Read the project, its existing tracked queries, and Site Health findings. Ask about my customers, services, and locations if needed, then propose relevant customer queries.
75
+ 2. Check the configured connection's capabilities, then use Canonry's Research flow to test a small approved batch. Retrieve saved answers and any available sources. Compare brand mentions separately from site citations; unavailable citation evidence is not a "not cited" result. Text-only routes can inform query research but cannot establish an AI Visibility baseline. Research does not add queries to tracking. If more candidates are needed, propose ICP Discovery separately.
76
+ 3. Recommend a short list with reasons. Ask before provider usage. Once I approve, preserve existing queries and return the combined list, one query per line, for me to paste into setup. Do not change tracked queries or launch a visibility sweep.`,Dr=async()=>{fc(!1);try{await navigator.clipboard.writeText(Ci),Ai(!0)}catch{fc(!0)}},[Za,Ni]=_.useState(Qe.join(`
77
+ `)),[_i,Ti]=_.useState(Qe.length>0),[It,Or]=_.useState(null),[qr,Ra]=_.useState(!1),Ir=_.useRef(Cj(re)).current?.runId??null,Pr=_.useRef(Ir),[za,tm]=_.useState(!!Ir||!!Fe&&!ze),[Ya,js]=_.useState(!1),[an,pn]=_.useState(null),[Ei,nm]=_.useState(Ir??(ze?null:Fe?.id??null)),Mr=$H(),Da=wt({...G0({client:ae,path:{id:Ei??""}}),enabled:!!Ei,refetchInterval:({state:U})=>{const Le=U.data?.status;return Le==="completed"||Le==="partial"||Le==="failed"||Le==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}),[Ri,gc]=_.useState(""),[hn,po]=_.useState(!1),[Br,ho]=_.useState(null),Cn=De.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),In=ki.split(`
78
+ `).map(U=>U.trim()).filter(Boolean),Xa=Za.split(`
79
+ `).map(U=>U.trim()).filter(Boolean),Zn=Math.max(Re,nn?In.length:0),Yn=RH({apiReady:A.apiStatus.state==="ok",databaseConfigured:A.apiStatus.databaseConfigured,workerReady:A.workerStatus.state==="ok",providerReady:Ht!==!1}),Oa=(Yn&&Yn!=="no_provider"?T.launchState.blockedReason:Si?"Provider readiness could not be checked. Try again.":Ht===void 0?"Checking provider readiness before launch.":Yn==="no_provider"?"Launch is blocked until a provider allowed by this project is configured.":void 0)??(oe?Zn===0?"Add at least one query before launching the first sweep.":void 0:"Create a project before launching the first sweep.");_.useEffect(()=>{pe||ke||(C||ee(Me),K.length>0&&(Sr(K.map(U=>U.query).join(`
80
+ `)),jr(!0)),Ce(!0))},[K,Me,C,pe,ke]),_.useEffect(()=>{if(St.length===0){ws("");return}St.some(U=>U.name===ji)||ws(St[0].name)},[St,ji]),_.useEffect(()=>{pe&&(J({flowVersion:it,onboardingSessionId:M,event:"onboarding.started",step:EH(Me),resumed:!!L},"onboarding.started"),!L&&Me>0&&J({flowVersion:it,onboardingSessionId:M,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"))},[J,Me,M,pe,L]),_.useEffect(()=>{C||!zH(A)||!Yn||J({flowVersion:it,onboardingSessionId:M,event:"onboarding.blocked",step:"system",action:Yn==="no_provider"?"configure_provider":"continue",reasonCode:Yn},`onboarding.blocked:system:${Yn}`)},[J,A,C,M,Yn]);const ga=Da.data?.status,fo=Da.data?.snapshots?.length??0;_.useEffect(()=>{if(!za||!ga)return;const U=Pr.current;if(!U||U!==Ei)return;if(ow(ga,fo)){J({flowVersion:it,onboardingSessionId:M,event:"onboarding.step_completed",step:"run",method:"automatic",countBucket:Va(fo)},"onboarding.step_completed:run"),dd(U);return}const Le=ga==="cancelled"?"run_cancelled":ga==="failed"||(ga==="completed"||ga==="partial")&&fo===0?"run_failed":void 0;Le&&(J({flowVersion:it,onboardingSessionId:M,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Le},`onboarding.blocked:run:${Le}`),dd(U))},[J,Ei,M,ga,fo,za]);const im=async()=>{if(!(!Cn||!V)){bs(!0),fa(null);try{const U=await O3(Cn,{displayName:Se||De,canonicalDomain:V,country:ce,language:ye,autoExtractBacklinks:Ve});Pe(Cn),tn({title:"Project created",detail:`${U.displayName||U.name} is ready for setup.`,tone:"positive",dedupeKey:`project:create:${U.name}`,dedupeMode:"drop"}),await r(),J({flowVersion:it,onboardingSessionId:M,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),ee(2)}catch(U){fa(U instanceof Error?U.message:"Failed to create project"),J({flowVersion:it,onboardingSessionId:M,event:"onboarding.blocked",step:"project",action:"save",reasonCode:"project_create_failed"},"onboarding.blocked:project:project_create_failed")}finally{bs(!1)}}},go=async()=>{if(!oe)return;const U=In;if(U.length!==0){uc(!0),Cr(null);try{await nV(oe,U),jr(!0),C?await Promise.all([R.invalidateQueries({queryKey:$3({client:ae,path:{name:oe}})}),R.invalidateQueries({predicate:ig}),R.invalidateQueries({queryKey:["setup","resume-queries",oe]})]):await r(),J({flowVersion:it,onboardingSessionId:M,event:"onboarding.step_completed",step:"queries",method:dc?"generated":"manual",countBucket:Va(U.length)},"onboarding.step_completed:queries"),ee(C?4:3)}catch(Le){Cr(Le instanceof Error?Le.message:"Failed to save queries"),J({flowVersion:it,onboardingSessionId:M,event:"onboarding.blocked",step:"queries",action:"save",reasonCode:"query_save_failed"},"onboarding.blocked:queries:query_save_failed")}finally{uc(!1)}}},ya=async()=>{if(!(!oe||!ji)){_r(!0),Er(null);try{const U=await mV(oe,ji,lo);if(U.queries.length>0){const Le=ki?ki.trimEnd()+`
81
+ `+U.queries.join(`
82
+ `):U.queries.join(`
83
+ `);Sr(Le),em(!0)}}catch(U){Er(U instanceof Error?U.message:"Failed to generate queries"),J({flowVersion:it,onboardingSessionId:M,event:"onboarding.blocked",step:"queries",action:"generate_queries",reasonCode:Vl(U,"unknown")},"onboarding.blocked:queries:generate")}finally{_r(!1)}}},Lr=async()=>{if(!oe)return;const U=Xa;if(U.length!==0){Ra(!0),Or(null);try{await sV(oe,U),Ti(!0),await r(),J({flowVersion:it,onboardingSessionId:M,event:"onboarding.step_completed",step:"competitors",method:"manual",countBucket:Va(U.length)},"onboarding.step_completed:competitors"),ee(4)}catch(Le){Or(Le instanceof Error?Le.message:"Failed to save competitors"),J({flowVersion:it,onboardingSessionId:M,event:"onboarding.blocked",step:"competitors",action:"save",reasonCode:"unknown"},"onboarding.blocked:competitors:save")}finally{Ra(!1)}}},Vr=async()=>{const U=Ri.trim();if(U){po(!0),ho(null);try{await q3("gemini",{apiKey:U}),tn({title:"Gemini configured",detail:"Provider is ready — continuing setup.",tone:"positive",dedupeKey:"setup:gemini:configured",dedupeMode:"drop"}),gc(""),await r(),ws(v.providerStatuses.find(Le=>Le.name.toLowerCase()==="gemini")?.name??"gemini"),J({flowVersion:it,onboardingSessionId:M,event:"onboarding.step_completed",step:"system",method:"inline"},"onboarding.step_completed:system")}catch(Le){ho(Le instanceof Error?Le.message:"Failed to save Gemini key"),J({flowVersion:it,onboardingSessionId:M,event:"onboarding.blocked",step:"system",action:"configure_provider",reasonCode:"provider_save_failed"},"onboarding.blocked:system:provider_save_failed")}finally{po(!1)}}},Ja=async()=>{if(!Hs()){if(!oe||Oa){pn(Oa??"Complete setup before launching the first sweep.");const U=Yn??(oe?Zn===0?"no_queries":"run_rejected":"unknown");Ha||J({flowVersion:it,onboardingSessionId:M,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:Va(Fa),queryCountBucket:Va(Zn),reasonCode:U});return}js(!0),pn(null);try{const U=await Mr.mutateAsync({projectName:oe,projectLabel:Se||De||oe,sourceAction:"setup-launch"});nm(U.id),tm(!0),Aj(oe,U.id),Pr.current=U.id,Ha||J({flowVersion:it,onboardingSessionId:M,event:"run.requested",origin:"dashboard_setup",result:"queued",providerCountBucket:Va(Fa),queryCountBucket:Va(Zn)}),await r()}catch(U){pn(U instanceof Error?U.message:"Failed to queue the visibility sweep. Retry when the instance is ready."),Ha||J({flowVersion:it,onboardingSessionId:M,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:Va(Fa),queryCountBucket:Va(Zn),reasonCode:Vl(U,"run_rejected")})}finally{js(!1)}}},xn=()=>ee(U=>C?2:Math.max(0,U-1)),yo=(U,Le,Wa)=>{J({flowVersion:it,onboardingSessionId:M,event:"onboarding.step_completed",step:U,method:"existing",...Wa===void 0?{}:{countBucket:Va(Wa)}},`onboarding.step_completed:${U}`),ee(Le)},$r=()=>{if(J({flowVersion:it,onboardingSessionId:M,event:"onboarding.step_completed",step:"queries",method:"skipped",countBucket:"0"},"onboarding.step_completed:queries"),C){Wt();return}ee(3)},yc=()=>{J({flowVersion:it,onboardingSessionId:M,event:"onboarding.step_completed",step:"competitors",method:"skipped",countBucket:"0"},"onboarding.step_completed:competitors"),ee(4)},As=C?"section":oa,Xn=Ht!==!0||Qn===!0?c.jsx(fe,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",onClick:()=>{r(),Nr&&Qa.refetch()},children:"Check again"}):null,Ur=(Ht===!1||Fn)&&!!qn,Cs=C&&(P===2||P===4)?w?c.jsxs("section",{"aria-labelledby":"setup-provider-heading",className:"space-y-3 border-b border-default pb-6 mb-6",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx("h2",{id:"setup-provider-heading",className:"text-lg font-semibold text-heading",children:Ht===!1?"Connect a provider":"Answer engine provider"}),c.jsx(gn,{tone:Ht===!0?"positive":"neutral",children:Ht===!0?"Configured":Ht===!1?"Not connected":"Checking"})]}),c.jsx("p",{className:"max-w-prose text-sm text-secondary",children:Ht===!0?St.length>0?`${St.map(U=>U.displayName??U.name).join(", ")} available for this project. Research and sweeps use your provider account.`:"ChatGPT in Chrome is configured for sweeps. Query Research needs an API provider.":Ht===!1?"An answer engine is required for visibility sweeps. You can save queries now and connect later.":"Checking available providers. You can choose queries while this finishes."}),Ht===!1||Fn?qn?c.jsx("div",{children:c.jsx(QH,{compact:!0,leadingField:c.jsxs("div",{className:"min-w-0 space-y-1.5",children:[c.jsx("label",{className:"block text-sm font-medium text-secondary",htmlFor:"setup-provider",children:"Provider to connect"}),c.jsx("select",{ref:hc,id:"setup-provider",className:"setup-input",value:qn.name,onChange:U=>{U.target.value!==qn.name&&(co.current=document.activeElement===U.currentTarget,zr(U.target.value))},children:mo.map(U=>c.jsx("option",{value:U.name,children:U.displayName??U.name},U.name))})]}),secondaryActions:Xn,providerName:qn.name,keyUrl:qn.keyUrl,modelHint:qn.modelHint,onSaved:()=>{Lt(!1),r()}},qn.name)}):c.jsx("p",{className:"max-w-prose text-sm text-secondary",children:bn.length>0?`This project's provider selection is ${bn.join(", ")}. Configure an allowed provider in Settings, or change the selection in project Settings.`:"Provider configuration is unavailable here. Open Settings to connect an answer engine, then check again."}):null,c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[Ht===!0&&!Fn&&qn?c.jsx(fe,{type:"button",variant:"outline",size:"sm",onClick:()=>Lt(!0),children:"Configure a provider"}):null,!qn||Qn===!0?c.jsx(fe,{type:"button",variant:"outline",size:"sm",asChild:!0,children:c.jsx(Ge,{to:"/settings",target:"_blank",rel:"noopener noreferrer",children:"Open provider settings"})}):null,Ur?null:Xn]})]}):c.jsxs("section",{"aria-labelledby":"setup-provider-heading",className:"space-y-2 border-b border-default pb-6 mb-6",children:[c.jsx("h2",{id:"setup-provider-heading",className:"text-lg font-semibold text-heading",children:"Answer engine provider"}),c.jsx("p",{className:"max-w-prose text-sm text-secondary",children:"Provider settings are managed by an administrator."}),Si?c.jsx("p",{role:"alert",className:"text-sm text-negative",children:"Provider readiness could not be checked. Try again."}):c.jsx("p",{className:"max-w-prose text-sm text-secondary",role:"status",children:Ht===!0?"An answer engine is available for this project.":Ht===!1?"Ask an administrator to connect an answer engine for this project. You can save queries now.":"Checking provider readiness. You can save queries now."}),c.jsx(fe,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",disabled:Ea.isFetching,onClick:()=>{Ea.refetch()},children:Si?"Retry provider check":"Check again"})]}):null,qa=(()=>{switch(P){case 0:return c.jsxs(oa,{className:"surface-card step-card",children:[c.jsx("div",{className:"section-head",children:c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 1 of 5"}),c.jsx("h2",{children:"System check"})]})}),c.jsx("p",{className:"supporting-copy",children:"Checking that your Canonry instance is configured and reachable."}),c.jsx("div",{className:"compact-stack",children:T.healthChecks.map(U=>c.jsxs("div",{className:"health-check-row",children:[c.jsxs("div",{children:[c.jsx("p",{className:"run-row-title",children:U.label}),c.jsx("p",{className:"supporting-copy",children:U.detail}),U.id==="provider"&&U.state!=="ready"&&c.jsxs("div",{className:"mt-3 rounded-md border border-default bg-bg-elevated/40 p-3 space-y-2",children:[c.jsxs("p",{className:"text-xs text-secondary",children:["Paste a Gemini key to enable visibility checks (free at"," ",c.jsx("a",{href:"https://aistudio.google.com/apikey",target:"_blank",rel:"noreferrer",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"aistudio.google.com"}),")."]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("input",{type:"password",value:Ri,onChange:Le=>gc(Le.target.value),placeholder:"AI... (paste here)",className:"flex-1 rounded-md border border-base bg-bg px-2.5 py-1.5 text-sm text-heading placeholder:text-faint focus:border-mono-600 focus:outline-none font-mono",disabled:hn}),c.jsx(fe,{type:"button",size:"sm",disabled:hn||!Ri.trim(),onClick:Zt(Vr),children:hn?"Saving...":"Save"})]}),Br&&c.jsxs("div",{role:"alert",className:"space-y-1 text-xs text-negative",children:[c.jsx("p",{children:Br}),c.jsx("p",{children:"Check that the key is complete, then retry Save."})]}),c.jsxs("p",{className:"text-sm text-secondary",children:["Connect more answer engines later in"," ",c.jsx(Ge,{to:"/settings",className:"text-link hover:underline",children:"Settings"}),"."]})]})]}),c.jsx(gn,{tone:U.state==="ready"?"positive":"caution",title:U.id==="api"?dr(A.apiStatus):U.id==="worker"?dr(A.workerStatus):U.detail,children:U.state==="ready"?"Ready":"Attention"})]},U.id))}),c.jsxs("div",{className:"setup-nav",children:[T.launchState.blockedReason?c.jsx("p",{role:"status",className:"supporting-copy text-negative",children:T.launchState.blockedReason}):c.jsx("span",{}),c.jsx(fe,{type:"button",disabled:!T.launchState.enabled,title:T.launchState.blockedReason,onClick:()=>{J({flowVersion:it,onboardingSessionId:M,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"),ee(ve)},children:"Continue"})]})]});case 1:return c.jsxs(oa,{className:"surface-card step-card",children:[c.jsxs("div",{className:"section-head",children:[c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 2 of 5"}),c.jsx("h2",{children:"Create project"})]}),oe?c.jsx(gn,{tone:"positive",children:"Created"}):null]}),oe?c.jsxs("div",{className:"compact-stack",children:[c.jsxs("p",{className:"text-neutral",children:["Project ",c.jsx("span",{className:"text-heading font-medium",children:oe})," created successfully."]}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:xn,children:"Back"}),c.jsx(fe,{type:"button",onClick:()=>yo("project",2),children:"Continue"})]})]}):c.jsxs("div",{className:"compact-stack",children:[c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"project-name",children:"Project name"}),c.jsx("input",{id:"project-name",className:"setup-input",type:"text",placeholder:"my-website",value:De,onChange:U=>Te(U.target.value)}),Cn&&Cn!==De?c.jsxs("p",{className:"supporting-copy",children:["Slug: ",Cn]}):null]}),c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"display-name",children:"Display name (optional)"}),c.jsx("input",{id:"display-name",className:"setup-input",type:"text",placeholder:"My Website",value:Se,onChange:U=>se(U.target.value)})]}),c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"domain",children:"Canonical domain"}),c.jsx("input",{id:"domain",className:"setup-input",type:"text",placeholder:"example.com",value:V,onChange:U=>q(U.target.value)})]}),c.jsxs("div",{className:"setup-field-row",children:[c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"country",children:"Country"}),c.jsx("input",{id:"country",className:"setup-input",type:"text",placeholder:"US",maxLength:2,value:ce,onChange:U=>qe(U.target.value.toUpperCase())})]}),c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"language",children:"Language"}),c.jsx("input",{id:"language",className:"setup-input",type:"text",placeholder:"en",maxLength:5,value:ye,onChange:U=>nt(U.target.value.toLowerCase())})]})]}),c.jsxs("label",{className:"flex items-start gap-3 rounded-md border border-default bg-surface p-3 cursor-pointer hover:border-strong",children:[c.jsx("input",{type:"checkbox",className:"mt-0.5 h-4 w-4 rounded border-strong bg-bg",checked:Ve,onChange:U=>kt(U.target.checked)}),c.jsxs("span",{className:"flex-1",children:[c.jsx("span",{className:"block text-sm text-heading",children:"Auto-extract backlinks"}),c.jsxs("span",{className:"block text-xs text-muted mt-0.5",children:["When a new Common Crawl release syncs, automatically extract backlinks for this project."," ",c.jsx(Ge,{to:"/backlinks",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"Manage backlinks"})]})]})]}),Jt?c.jsx("p",{className:"text-negative-400 text-sm",children:Jt}):null,c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:xn,children:"Back"}),c.jsx(fe,{type:"button",disabled:!Cn||!V||Ka,onClick:Zt(im),children:Ka?"Creating...":"Create project"})]})]})]});case 2:return c.jsxs(As,{className:C?"visibility-setup-section step-card":"surface-card step-card","aria-labelledby":"setup-queries-heading",children:[c.jsxs("div",{className:"section-head",children:[c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:C?"Step 1 of 2":"Step 3 of 5"}),c.jsx("h2",{id:"setup-queries-heading",children:"Add queries"})]}),W?c.jsx(gn,{tone:"neutral",children:"Loading"}):H.isError?c.jsx(gn,{tone:"negative",children:"Load failed"}):nn?c.jsxs(gn,{tone:"positive",children:[In.length," saved"]}):c.jsxs(gn,{tone:"neutral",children:[In.length," quer",In.length!==1?"ies":"y"]})]}),c.jsx("p",{className:"supporting-copy",children:"Add the queries your customers use, one per line. You can refine your list later."}),c.jsxs("div",{className:"space-y-2 border-b border-default pb-4",children:[c.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[c.jsxs("div",{className:"min-w-0 space-y-1",children:[c.jsx("h3",{className:"text-sm font-semibold text-heading",children:"Research queries with your agent"}),c.jsx("p",{className:"max-w-prose text-sm text-secondary",children:"Ask your agent to compare answers and available sources with Canonry Research, then recommend queries. Research does not change your tracked queries."})]}),c.jsx(fe,{type:"button",variant:"outline",size:"sm",className:"min-h-11 shrink-0 self-start",onClick:Zt(Dr),children:mn?"Research prompt copied":"Copy research prompt"})]}),c.jsxs("details",{open:uo||void 0,className:"text-sm text-secondary",children:[c.jsx("summary",{className:"min-h-11 cursor-pointer py-3 text-link",children:"View agent prompt"}),c.jsx("textarea",{"aria-label":"Agent query research prompt",readOnly:!0,className:"setup-textarea mt-2 w-full",rows:8,value:Ci})]}),uo?c.jsx("p",{role:"alert",className:"text-sm text-negative",children:"Could not copy. Select and copy the prompt above."}):null]}),W?c.jsx("div",{className:"rounded-md border border-default bg-bg-elevated/40 p-4 text-sm text-secondary",role:"status",children:"Loading saved queries…"}):H.isError?c.jsxs("div",{className:"compact-stack",children:[c.jsx("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:"Saved queries could not be loaded. Retry before changing the query basket."}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:C?Be:xn,children:"Back"}),c.jsx(fe,{type:"button",onClick:()=>{H.refetch()},children:"Retry loading queries"})]})]}):nn?c.jsxs("div",{className:"compact-stack",children:[c.jsx("ul",{className:"detail-list",children:In.map(U=>c.jsx("li",{children:U},U))}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:C?Be:xn,children:"Back"}),c.jsx(fe,{type:"button",variant:"outline",onClick:()=>jr(!1),children:"Edit queries"}),c.jsx(fe,{type:"button",onClick:()=>yo("queries",C?4:3,In.length),children:"Continue"})]})]}):c.jsxs("div",{className:"compact-stack",children:[St.length>0?c.jsxs("div",{className:"compact-stack",children:[c.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[c.jsx("span",{className:"flex-1 border-t border-base"}),"auto-generate",c.jsx("span",{className:"flex-1 border-t border-base"})]}),c.jsxs("div",{className:"flex items-end gap-2",children:[c.jsxs("div",{className:"setup-field flex-1",children:[c.jsx("label",{className:"setup-label",htmlFor:"gen-provider",children:"Provider"}),c.jsx("select",{id:"gen-provider",className:"setup-input",value:ji,onChange:U=>ws(U.target.value),children:St.map(U=>c.jsxs("option",{value:U.name,children:[U.displayName??U.name,U.model?` (${U.model})`:""]},U.name))})]}),c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"gen-count",children:"Count"}),c.jsx("select",{id:"gen-count",className:"setup-input",value:lo,onChange:U=>ks(Number(U.target.value)),children:[3,5,10,15,20].map(U=>c.jsx("option",{value:U,children:U},U))})]}),c.jsx(fe,{type:"button",variant:"outline",disabled:pc||!ji,onClick:Zt(ya),children:pc?"Analyzing site...":"Generate"})]}),Tr?c.jsx("p",{className:"text-negative-400 text-sm",children:Tr}):null]}):null,C?null:c.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[c.jsx("span",{className:"flex-1 border-t border-base"}),"or type manually",c.jsx("span",{className:"flex-1 border-t border-base"})]}),c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"queries",children:"Queries (one per line)"}),c.jsx("textarea",{id:"queries",className:"setup-textarea",rows:6,placeholder:`emergency dentist brooklyn
84
+ best invisalign downtown brooklyn
85
+ pediatric dentist brooklyn heights`,value:ki,onChange:U=>Sr(U.target.value)})]}),Ar?c.jsx("p",{className:"text-negative-400 text-sm",children:Ar}):null,c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:C?Be:xn,children:"Back"}),c.jsx(fe,{type:"button",variant:"ghost",onClick:$r,children:C?"Finish without AI Visibility":"Skip for now"}),c.jsx(fe,{type:"button",disabled:In.length===0||vs,onClick:Zt(go),children:vs?"Saving...":`Save ${In.length} quer${In.length!==1?"ies":"y"}`})]})]})]});case 3:return c.jsxs(oa,{className:"surface-card step-card",children:[c.jsxs("div",{className:"section-head",children:[c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 4 of 5"}),c.jsx("h2",{children:"Add competitors"})]}),_i?c.jsx(gn,{tone:"positive",children:"Saved"}):null]}),c.jsx("p",{className:"supporting-copy",children:"Domains that compete for the same queries. One per line."}),_i?c.jsxs("div",{className:"compact-stack",children:[c.jsx("ul",{className:"detail-list",children:Xa.map(U=>c.jsx("li",{children:U},U))}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:xn,children:"Back"}),c.jsx(fe,{type:"button",onClick:()=>yo("competitors",4,Xa.length),children:"Continue"})]})]}):c.jsxs("div",{className:"compact-stack",children:[c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"competitors",children:"Competitor domains (one per line)"}),c.jsx("textarea",{id:"competitors",className:"setup-textarea",rows:4,placeholder:`competitor1.com
86
+ competitor2.com`,value:Za,onChange:U=>Ni(U.target.value)})]}),It?c.jsx("p",{className:"text-negative-400 text-sm",children:It}):null,c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:xn,children:"Back"}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:yc,children:"Skip"}),c.jsx(fe,{type:"button",disabled:Xa.length===0||qr,onClick:Zt(Lr),children:qr?"Saving...":`Save ${Xa.length} competitor${Xa.length!==1?"s":""}`})]})]})]})]});case 4:{const U=Da.data,Le=U?.status??(Ei===Fe?.id?Fe.status:void 0),Wa=Le==="completed"||Le==="partial"||Le==="failed"||Le==="cancelled",ba=U?.snapshots??[],bo=ba.filter(va=>va.citationState==="cited").length,bc=ba.filter(va=>va.answerMentioned===!0).length,sn=new Set(ba.map(va=>va.query).filter(va=>!!va)).size,Ia=Le?ow(Le,ba.length):!1,Ns=ze&&!za,_s=an??(U?.error?IV(U.error):Le==="cancelled"?"The sweep was cancelled before it produced a baseline.":(Le==="completed"||Le==="partial")&&ba.length===0?"The sweep finished without producing any snapshots.":Fe?.statusDetail||"The sweep did not produce a baseline.");let Ts=null;return Ns||Ia?Ts=c.jsx(gn,{tone:"positive",children:"Complete"}):an&&!za?Ts=c.jsx(gn,{tone:"negative",children:"Failed"}):Wa?Ts=c.jsx(gn,{tone:"negative",children:Le==="cancelled"?"Cancelled":"Failed"}):za&&(Ts=c.jsx(gn,{tone:"caution",children:"Running"})),c.jsxs(oa,{className:"surface-card step-card",children:[c.jsxs("div",{className:"section-head",children:[c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:C?"Step 2 of 2":"Step 5 of 5"}),c.jsx("h2",{children:Hs()?"AI Visibility":"Launch first run"})]}),Ts]}),Ns?c.jsxs("div",{className:"compact-stack",children:[c.jsxs("p",{className:"text-secondary",children:["Setup is complete. ",c.jsx("span",{className:"text-strong font-medium",children:oe})," already has a successful answer-visibility baseline."]}),c.jsxs("div",{className:"setup-nav",children:[c.jsx("span",{}),c.jsx(fe,{type:"button",onClick:()=>lt(),children:g?"Finish setup":"Open project dashboard →"})]})]}):!za&&Hs()?c.jsxs("div",{className:"compact-stack",children:[oe?c.jsx(HK,{projectName:oe}):c.jsx("p",{className:"text-sm text-secondary",children:hf}),an&&c.jsx("p",{role:"alert",className:"text-sm text-negative",children:an}),c.jsxs("div",{className:"setup-nav",children:[c.jsx("span",{}),c.jsx(fe,{type:"button",onClick:Be,children:"Open project dashboard →"})]})]}):za?Wa?Ia?c.jsxs("div",{className:"compact-stack",children:[c.jsxs("p",{className:"text-neutral",children:["Sweep complete. Your first answer-visibility snapshot for"," ",c.jsx("span",{className:"text-heading font-medium",children:oe}),":"]}),c.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-1",children:[c.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[c.jsx("p",{className:"text-xs font-medium text-secondary",children:"Mentioned"}),c.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[bc,c.jsxs("span",{className:"text-faint text-lg",children:[" / ",sn]})]}),c.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"queries naming your brand"})]}),c.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[c.jsx("p",{className:"text-xs font-medium text-secondary",children:"Cited"}),c.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[bo,c.jsxs("span",{className:"text-faint text-lg",children:[" / ",sn]})]}),c.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"queries citing your site"})]}),c.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[c.jsx("p",{className:"text-xs font-medium text-secondary",children:"Results"}),c.jsx("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:ba.length}),c.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"completed engine checks"})]})]}),!b&&oe?c.jsx(HH,{projectName:oe}):null,c.jsxs("div",{className:"setup-nav",children:[c.jsx("span",{}),c.jsx(fe,{type:"button",onClick:()=>lt(),children:g?"Finish setup":"Open project dashboard →"})]})]}):c.jsxs("div",{className:"compact-stack",children:[c.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[c.jsx("p",{children:_s}),c.jsx("p",{className:"mt-1 text-xs text-secondary",children:Hs()?hf:w?"Fix provider or query configuration if needed, then retry without leaving setup.":"Ask an administrator to review the provider and query configuration."})]}),c.jsxs("div",{className:"setup-nav",children:[w&&!Hs()?c.jsx(fe,{type:"button",variant:"outline",asChild:!0,children:c.jsx(Ge,{to:"/settings",children:"Configure providers"})}):c.jsx("span",{}),Hs()||!w?c.jsx(fe,{type:"button",onClick:Be,children:"Open project dashboard →"}):c.jsx(fe,{type:"button",disabled:Ya||!!Oa,onClick:Zt(Ja),children:Ya?"Retrying...":"Retry visibility sweep"})]})]}):c.jsxs("div",{className:"compact-stack",children:[c.jsx("p",{className:"text-neutral",children:"Sweep running. This usually takes 30 to 60 seconds."}),c.jsx("div",{className:"rounded-md border border-default bg-surface p-3 text-xs text-muted",children:c.jsxs("p",{children:["Status: ",c.jsx("span",{className:"text-neutral",children:Le??"queued"})]})}),Da.isError&&c.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[c.jsx("p",{children:Da.error instanceof Error?Da.error.message:"Could not refresh the sweep status."}),c.jsx(fe,{type:"button",variant:"outline",size:"sm",className:"mt-2",onClick:()=>{Da.refetch()},children:"Retry status check"})]}),c.jsxs("div",{className:"setup-nav",children:[c.jsx("span",{}),c.jsx(fe,{type:"button",variant:"outline",onClick:g?()=>lt():Be,children:g?"Finish setup":"Watch on project page"})]})]}):c.jsxs("div",{className:"compact-stack",children:[c.jsxs("p",{className:"supporting-copy",children:["Your queries are saved. Run a first sweep to get a baseline for"," ",c.jsx("span",{className:"text-heading font-medium",children:oe}),", or finish and run it later from the project. A sweep calls the answer engines, so it costs provider usage."]}),(Oa||an)&&c.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[c.jsx("p",{children:an??Oa}),c.jsx("p",{className:"mt-1 text-xs text-secondary",children:"Resolve the blocker above, then retry the sweep here."})]}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:xn,children:"Back"}),c.jsx(fe,{type:"button",variant:"ghost",onClick:Wt,children:"Finish without running"}),Yn==="no_provider"&&!C?c.jsx(fe,{type:"button",asChild:!0,children:c.jsx(Ge,{to:"/settings",children:"Configure a provider"})}):c.jsx(fe,{type:"button",disabled:Ya||!!Oa,title:Oa,onClick:Zt(Ja),children:Ya?"Launching...":an?"Retry visibility sweep":"Launch visibility sweep"})]})]})]})}default:return null}})();return c.jsxs("div",{className:C?"page-container visibility-setup":"page-container",children:[g?c.jsx(no,{current:"visibility"}):null,c.jsxs("div",{className:"page-header",children:[c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{ref:u?h:void 0,tabIndex:u?-1:void 0,className:"page-title",children:u?"Set up AI Visibility":"Setup"}),c.jsx("p",{className:"page-subtitle",children:u?"Connect an answer engine, then choose queries for your first sweep.":"Create a project and run its first visibility check."})]}),g?c.jsx("div",{className:"page-header-right",children:c.jsx(fe,{type:"button",variant:"outline",className:"min-h-11",onClick:Wt,children:"Skip AI Visibility"})}):null]}),g?null:c.jsx(JH,{current:C?P===4?1:0:P,labels:C?YH:ZH}),c.jsxs("section",{className:"setup-wizard",children:[Cs,qa]})]})}const Dh="canonry mcp install --client claude-code",tQ="https://github.com/Canonry/canonry/blob/main/docs/mcp.md";function nQ(){const e=_.useRef(tg()).current,n=_.useRef(new Set),i=_.useCallback((r,u)=>{n.current.has(r)||(n.current.add(r),V0({...u,flowVersion:it,onboardingSessionId:e,surface:"platform",eventId:ng()}))},[e]);return _.useEffect(()=>{i("started",{event:"onboarding.started",step:"finish",resumed:!1})},[i]),_.useCallback(r=>{i(`action:${r}`,{event:"onboarding.step_completed",step:"finish",method:"manual",nextAction:r})},[i])}const Jd=_.createContext(()=>{});function aQ({projectName:e,skippedVisibility:n=!1}){const i=wt({...gU({client:ae,path:{name:e}}),retry:!1}),r=i.data?.hasData?i.data:null,u=nQ(),h=cw(e,Ne["site-audit"]),g=cw(e,Ne["answer-visibility"]),b={...h?{site:h,fixes:h}:{},...iQ(g,n)};return c.jsx(Jd.Provider,{value:u,children:c.jsxs("div",{className:"page-container max-w-6xl py-8 md:py-10",children:[c.jsx(no,{current:"done",outcomes:b}),c.jsxs("header",{className:"relative mx-auto mt-12 max-w-2xl text-center md:mt-16",children:[c.jsx(sQ,{}),c.jsx("p",{className:"onb-reveal mt-6 text-sm font-medium text-positive",style:ra(250),children:"Setup complete"}),c.jsx("h1",{className:"onb-reveal mt-2 text-5xl font-semibold tracking-tight text-heading md:text-6xl",style:ra(350),children:"You’re set."}),c.jsxs("p",{className:"onb-reveal mx-auto mt-4 max-w-xl text-lg text-secondary",style:ra(450),children:["Canonry is tracking ",c.jsx("span",{className:"font-medium text-heading",children:e}),". Here’s how to get the most out of it from here."]})]}),c.jsxs("div",{className:"mt-14 grid gap-4 md:grid-cols-6",children:[c.jsx(Lu,{className:"md:col-span-4 md:row-span-2",delayMs:600,labelledBy:"onb-agent-heading",children:c.jsx(lQ,{projectName:e})}),c.jsx(Lu,{className:"md:col-span-2 md:row-span-2",delayMs:700,labelledBy:"onb-data-heading",children:c.jsx(dQ,{projectName:e})}),c.jsx(Lu,{className:"md:col-span-3",delayMs:800,labelledBy:"onb-schedule-heading",children:c.jsx(hQ,{projectName:e})}),c.jsx(Lu,{className:"md:col-span-3",delayMs:900,labelledBy:"onb-alerts-heading",children:c.jsx(fQ,{projectName:e,score:r?.aggregateScore??null})})]}),c.jsxs("div",{className:"onb-reveal mt-12 flex flex-col items-center gap-3 sm:flex-row sm:justify-center",style:ra(1e3),children:[c.jsx(fe,{asChild:!0,className:"h-11 rounded-full px-6 text-base md:h-11",children:c.jsxs(Ge,{to:"/projects/$projectName",params:{projectName:e},replace:!0,onClick:()=>u("open_project"),children:["Open ",e,c.jsx($l,{className:"size-4","aria-hidden":"true"})]})}),c.jsx(fe,{asChild:!0,variant:"ghost",className:"h-11 rounded-full px-5 md:h-11",children:c.jsx(Ge,{to:"/projects/$projectName/technical-aeo",params:{projectName:e},replace:!0,onClick:()=>u("review_page_health"),children:"Review page health"})})]})]})})}function cw(e,n){const i=wt({...U3({client:ae,path:{name:e},query:{kind:n,limit:20}}),retry:!1,refetchInterval:r=>uw(r.state.status==="success"?{isSuccess:!0,data:r.state.data}:{isSuccess:!1})==="pending"?5e3:!1});return uw(i)}function iQ(e,n){return e===void 0?{}:n?{visibility:"skipped"}:{visibility:e}}function uw(e){if(!e.isSuccess||!e.data)return"unknown";const n=e.data.filter(i=>i.trigger!==ss.probe);if(!n.some(i=>i.status===Bt.completed||i.status===Bt.partial))return n.some(i=>i.status===Bt.queued||i.status===Bt.running)?"pending":n.length>0?"incomplete":"skipped"}function ra(e){return{"--onb-delay":`${e}ms`}}function sQ(){return c.jsx("div",{className:"onb-check relative mx-auto size-20","aria-hidden":"true",children:c.jsxs("svg",{viewBox:"0 0 80 80",className:"relative size-20",children:[c.jsx("circle",{className:"onb-check-ring",cx:"40",cy:"40",r:"36",fill:"none",strokeWidth:"3",pathLength:"1"}),c.jsx("path",{className:"onb-check-mark",d:"M25 41 L35 51 L56 30",fill:"none",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round",pathLength:"1"})]})})}function Lu({className:e="",delayMs:n,labelledBy:i,children:r}){return c.jsx("section",{"aria-labelledby":i,className:`onb-reveal onb-tile flex flex-col overflow-hidden rounded-2xl border border-default bg-surface p-6 md:p-7 ${e}`,style:ra(n),children:r})}function Wd({id:e,eyebrow:n,title:i,children:r}){return c.jsxs("div",{children:[c.jsx("p",{className:"text-xs font-medium uppercase tracking-wide text-muted",children:n}),c.jsx("h2",{id:e,className:"mt-1.5 text-2xl font-semibold tracking-tight text-heading",children:i}),c.jsx("p",{className:"mt-2 text-sm text-secondary",children:r})]})}const Vu=[{id:"diagnose",label:"Diagnose",prompt:"Why did we lose citations this week?",calls:["canonry_insights_list","canonry_competitor_landscape"],reply:"Two engines started citing a competitor’s comparison page instead of yours. Want me to draft one that answers the same query?"},{id:"fix",label:"Fix",prompt:"Fix the weakest pages on the site.",calls:["canonry_technical_aeo_pages","canonry_site_health_page_audit"],reply:"The lowest-scoring pages are missing structured data and answer-first intros. I’ve written the changes for you to review."},{id:"automate",label:"Automate",prompt:"Re-check everything every Monday and tell me in Slack.",calls:["canonry_schedule_set","canonry_agent_webhook_attach"],reply:"Done. A sweep runs every Monday, and I’ll post what changed to Slack."}],oQ=9e3;function rQ(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function lQ({projectName:e}){const n=_.useContext(Jd),[i,r]=_.useState(0),[u,h]=_.useState(!1),[g,b]=_.useState(!1);_.useEffect(()=>{if(u||rQ())return;const S=window.setTimeout(()=>r(A=>(A+1)%Vu.length),oQ);return()=>window.clearTimeout(S)},[i,u]);const v=async()=>{try{await navigator.clipboard.writeText(Dh),n("copy_agent_command"),b(!0),window.setTimeout(()=>b(!1),1800)}catch{tn({tone:"negative",title:"Could not copy the command",detail:`Run ${Dh} in your terminal.`})}},w=Vu[i]??Vu[0];return c.jsxs(c.Fragment,{children:[c.jsxs(Wd,{id:"onb-agent-heading",eyebrow:"Your agent",title:"Let your agent run it.",children:["Your agent can do everything in Canonry: diagnose a drop, fix pages, run sweeps and scans, and write the client report. Use Claude Code, Codex, Cursor, or Aero, the analyst built into"," ",c.jsx("span",{className:"text-heading",children:e})," that reviews every sweep on its own."]}),c.jsxs("div",{className:"mt-6 flex flex-1 flex-col rounded-xl border border-default bg-bg",onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),onFocus:()=>h(!0),children:[c.jsxs("div",{className:"flex items-center gap-1 border-b border-default px-3 py-2",role:"tablist","aria-label":"Example agent sessions",children:[Vu.map((S,A)=>c.jsx("button",{type:"button",role:"tab","aria-selected":A===i,onClick:()=>{r(A),h(!0)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${A===i?"bg-surface-inset text-heading":"text-muted hover:text-secondary"}`,children:S.label},S.id)),c.jsx("span",{className:"ml-auto text-xs text-faint",children:"Example"})]}),c.jsxs("div",{role:"tabpanel","aria-label":`${w.label} example`,className:"flex-1 p-4 font-mono text-[13px] leading-relaxed",children:[c.jsxs("p",{className:"onb-type text-heading",style:ra(150),children:[c.jsx("span",{className:"text-muted",children:"> "}),w.prompt]}),w.calls.map((S,A)=>c.jsxs("p",{className:"onb-line mt-1 text-muted first:mt-3",style:ra(1300+A*450),children:[c.jsx("span",{className:"text-positive",children:"●"})," ",S]},S)),c.jsx("p",{className:"onb-line mt-3 text-secondary",style:ra(1500+w.calls.length*450),children:w.reply}),c.jsx("span",{className:"onb-caret mt-2 inline-block h-4 w-2 bg-current align-middle text-secondary",style:ra(1900+w.calls.length*450),"aria-hidden":"true"})]},w.id)]}),c.jsxs("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[c.jsx("code",{className:"min-w-0 flex-1 truncate rounded-lg border border-default bg-surface-inset px-3 py-2 font-mono text-[13px] text-heading",children:Dh}),c.jsxs(fe,{type:"button",variant:"secondary",size:"sm",className:"h-9 md:h-9",onClick:()=>{v()},children:[g?c.jsx(hd,{className:"size-4","aria-hidden":"true"}):c.jsx(Sf,{className:"size-4","aria-hidden":"true"}),g?"Copied":"Copy"]}),c.jsx("a",{href:tQ,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:"Other clients"})]})]})}const cQ=[{icon:wf,label:"Search Console",action:"connect_search_console",to:"/projects/$projectName/search-console"},{icon:jw,label:"Google Analytics",action:"connect_analytics",to:"/projects/$projectName/activity"},{icon:Cw,label:"Business Profile",action:"connect_business_profile",to:"/projects/$projectName/local"}],uQ=["GPTBot","ClaudeBot","PerplexityBot"];function dQ({projectName:e}){const n=_.useContext(Jd);return c.jsxs(c.Fragment,{children:[c.jsx(Wd,{id:"onb-data-heading",eyebrow:"Server-side traffic",title:"See the AI bots.",children:"AI crawlers and answer-engine fetches never run JavaScript, so Google Analytics never sees them. Canonry reads them straight from your server."}),c.jsx(mQ,{}),c.jsxs(Ge,{to:"/traffic",onClick:()=>n("connect_server_traffic"),"aria-label":"Connect server-side traffic",className:"group flex items-center gap-3 rounded-xl border border-strong bg-surface-inset px-4 py-3 text-sm font-medium text-heading transition-colors hover:bg-surface-inset-hover",children:[c.jsx(Nw,{className:"size-4 text-positive","aria-hidden":"true"}),c.jsxs("span",{className:"flex-1",children:["Connect your server",c.jsx("span",{className:"block text-xs font-normal text-secondary",children:"Cloudflare, Vercel, WordPress, or Cloud Run"})]}),c.jsx($l,{className:"size-4 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]}),c.jsx("p",{className:"mt-5 text-xs font-medium uppercase tracking-wide text-muted",children:"Also connect"}),c.jsx("ul",{className:"mt-1 divide-y divide-default",children:cQ.map(({icon:i,label:r,action:u,to:h})=>c.jsx("li",{children:c.jsxs(Ge,{to:h,params:{projectName:e},"aria-label":`Connect ${r}`,onClick:()=>n(u),className:"group flex items-center gap-3 py-2.5 text-sm text-heading",children:[c.jsx(i,{className:"size-4 text-muted","aria-hidden":"true"}),c.jsx("span",{className:"flex-1",children:r}),c.jsx($l,{className:"size-3.5 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})},r))})]})}function mQ(){const e=[22,70,118];return c.jsxs("div",{className:"relative my-6 h-36","aria-hidden":"true",children:[c.jsx("svg",{viewBox:"0 0 200 140",preserveAspectRatio:"none",className:"absolute inset-0 size-full",children:e.map((n,i)=>c.jsx("path",{className:"onb-flow",style:ra(i*400),d:`M20 ${n} C 100 ${n}, 118 70, 170 70`,fill:"none",strokeWidth:"1.5"},n))}),uQ.map((n,i)=>c.jsx("span",{className:"onb-bot absolute left-0 -translate-y-1/2 rounded-md border border-default bg-bg-elevated px-2 py-1 font-mono text-[11px] text-secondary",style:{top:`${(e[i]??70)/140*100}%`,...ra(i*600)},children:n},n)),c.jsx("span",{className:"onb-hub absolute right-0 top-1/2 flex size-11 -translate-y-1/2 items-center justify-center rounded-2xl bg-accent text-on-inverse",children:c.jsx(Nw,{className:"size-5"})})]})}const pQ=["M","T","W","T","F","S","S"];function hQ({projectName:e}){return c.jsxs(c.Fragment,{children:[c.jsx(Wd,{id:"onb-schedule-heading",eyebrow:"Scheduled sweeps",title:"Runs on its own.",children:"Re-measure every week without lifting a finger, so a drop shows up before a customer notices."}),c.jsx("ol",{className:"mt-6 grid grid-cols-7 gap-2","aria-hidden":"true",children:pQ.map((n,i)=>c.jsxs("li",{className:"flex flex-col items-center gap-2",children:[c.jsx("span",{className:"onb-day size-3 rounded-full bg-surface-inset",style:ra(i*500)}),c.jsx("span",{className:"text-xs text-muted",children:n})]},i))}),c.jsx(Tj,{projectName:e,to:"/projects/$projectName/settings",icon:Aw,label:"Set a schedule",action:"set_schedule"})]})}function fQ({projectName:e,score:n}){return c.jsxs(c.Fragment,{children:[c.jsx(Wd,{id:"onb-alerts-heading",eyebrow:"Notifications",title:"Hear about changes.",children:"Get a webhook in Slack or anywhere else when a sweep finishes or a score moves."}),c.jsxs("div",{className:"relative mt-6 flex h-14 items-center","aria-hidden":"true",children:[c.jsx("span",{className:"onb-bell flex size-10 items-center justify-center rounded-full border border-default bg-bg-elevated",children:c.jsx(qh,{className:"size-4 text-secondary"})}),c.jsxs("span",{className:"onb-toast ml-3 flex items-center gap-2 rounded-xl border border-default bg-bg-elevated px-3 py-2 text-sm shadow-[0_8px_24px_var(--color-shadow-panel)]",children:[c.jsx("span",{className:"size-2 rounded-full bg-positive-400"}),c.jsx("span",{className:"text-heading",children:e}),c.jsx("span",{className:"text-secondary",children:n===null?"sweep finished":`page health ${n}`})]})]}),c.jsx(Tj,{projectName:e,to:"/projects/$projectName/settings",icon:qh,label:"Add a notification",action:"add_notification"})]})}function Tj({projectName:e,to:n,icon:i,label:r,action:u}){const h=_.useContext(Jd);return c.jsxs(Ge,{to:n,params:{projectName:e},onClick:()=>h(u),className:"group mt-6 inline-flex items-center gap-2 self-start text-sm font-medium text-link",children:[c.jsx(i,{className:"size-4","aria-hidden":"true"}),r,c.jsx($l,{className:"size-3.5 transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})}const gQ=_.lazy(async()=>({default:(await wi(()=>import("./SiteHealthSection-BnJA-zvQ.js").then(n=>n.d),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).SiteHealthSection})),yQ=`Public pages only, crawled from this computer and stored locally. The first scan reads up to ${W2} pages, then stops.`,bQ=1800,vQ="https://github.com/Canonry/canonry#or-use-any-shell-capable-coding-agent",xQ="Help me set up Canonry for my public site.\n\nUse the official Canonry docs:\n- Agent quickstart: https://github.com/Canonry/canonry#or-use-any-shell-capable-coding-agent\n- CLI reference: https://github.com/Canonry/canonry/blob/main/skills/canonry/references/canonry-cli.md\n- Plugin setup: https://github.com/Canonry/canonry/blob/main/docs/plugins.md\n- MCP setup: https://github.com/Canonry/canonry/blob/main/docs/mcp.md\n\nPick one path and stay on it. Use connected Canonry tools (plugin or MCP) only if you have them and I have not pointed you at a specific install. A connected tool runs in its own process and never sees `CANONRY_CONFIG_DIR`, `CANONRY_PORT`, or anything else you export in a shell, so it always acts on my default install. If I named a config directory, a port, or a sandbox, that is the shell path: use `cnry` and tell me which path you chose. Never mix the two in one run, and never create a duplicate project. The `cnry` and `canonry` commands are interchangeable.\n\n1. Ask for my public domain, country, and language. Do not create or scan anything yet. Country and language are only applied when a project is created, so if you reuse an existing project, report its country and language instead of changing them.\n2. Shell path only: confirm `cnry` is on PATH, then run `cnry --version`. If Canonry is missing, propose `npm install -g @canonry/canonry` and wait for approval. Then run `cnry doctor --format json`, which is the command that says whether config, database, and server are in place. `cnry --version` does not read config and succeeds on a completely unconfigured install, so it cannot answer this. If config is missing, run `cnry bootstrap` yourself: it is not interactive, takes about a second, and is safe to rerun. Do not hand it to me and wait. The interactive command is `cnry init`, which is optional provider and OAuth setup that Page Health does not need. Bootstrap prints an API key, so do not repeat its output back to me, and never ask me to paste passwords, API keys, OAuth credentials, or command output.\n3. Confirm the API is reachable. `cnry doctor --format json` reports it, and any project read exits non-zero with `CONNECTION_ERROR` when it is not. If it is unreachable, propose `cnry start` and wait for approval. Use `cnry start`, which is the background daemon, and not `cnry serve`, which runs in the foreground and will block you until I stop it, even though some error messages suggest it. Stop anything you started with `cnry stop`.\n4. List projects with the connected project tool or `cnry project list --format json`, and reuse one whose domain matches. Confirm the proposed name is not already assigned to a different domain. To find out whether a project has already been scanned, run `cnry technical-aeo score <project> --format json` with no `--run-id`, which reports the latest run. Read the `hasData` field, not the score: this command exits 0 and reports `aggregateScore: 0` for a project that has never been scanned, so reading the score alone would have you tell me my site scored zero. If `hasData` is true and `runStatus` is `completed` or `partial`, read that scan instead of starting a new one. If no project matches, show the exact create operation and wait for approval.\n5. Propose a bounded Site Health scan: `--max-pages 100` for a first look, plus whether dead-link checking is on (it is off unless you pass `--check-dead-links`). Show the connected operation or the exact `cnry technical-aeo run <project> --max-pages 100 --wait --format json` command with the project name filled in, and wait for separate approval before scanning. `--wait` polls for up to 15 minutes and returns only the run id and status. If the status it returns is still `queued` or `running`, the scan has not finished: do not rerun it or report results, poll `cnry technical-aeo progress <project> --run-id <run-id> --format json` until it is terminal. If `--wait` outruns your own tool timeout first, recover the run id with `cnry technical-aeo score <project> --format json` and poll the same way.\n6. When the run is `completed` or `partial`, read `cnry technical-aeo crawl <project> --run-id <run-id> --format json` first. It is the only one of these commands that carries `termination` and `complete`; the score and pages commands do not. Then read `cnry technical-aeo score <project> --run-id <run-id> --format json` and `cnry technical-aeo pages <project> --run-id <run-id> --sort score-asc --limit 10 --format jsonl`. Tell me the termination reason in plain words and whether the scan covered the whole site or stopped at a page, link, depth, or time limit. A `partial` run scored the pages it reached and not my site, so never present it as a full-site result. If it stopped early, the fix depends on the reason, so say which: a page or depth limit needs a larger budget, a time limit needs a smaller scan (a lower `--max-pages` or `--max-depth`). If the run failed or was cancelled, inspect the run error and stop.\n7. Summarize only completed evidence, then propose AI Visibility setup. Ask before you add queries, connect providers, start a provider-backed or quota-consuming run, edit files, or publish.";function wQ(e,n){return e==="legacy"?"legacy":e==="platform"?"platform":n.state==="success"?n.projectCount===0?"platform":"legacy":n.state==="error"?"retry":"loading"}const kQ="2000-01-01T00:00:00.000Z",SQ=5e3;function jQ(e,n){const i=new Set,r=new Map;for(const g of n)g.trigger!==ss.probe&&(r.has(g.projectId)||r.set(g.projectId,g.id),(g.status===Bt.completed||g.status===Bt.partial)&&i.add(g.projectId));const h=(e.every(g=>g.createdAt)?[...e].sort((g,b)=>(g.createdAt??"").localeCompare(b.createdAt??"")||g.name.localeCompare(b.name)):e).find(g=>!i.has(g.id));return h?{projectName:h.name,runId:r.get(h.id)}:null}const Ej=[{value:"US",label:"United States"},{value:"CA",label:"Canada"},{value:"GB",label:"United Kingdom"},{value:"AU",label:"Australia"},{value:"NZ",label:"New Zealand"},{value:"IE",label:"Ireland"},{value:"DE",label:"Germany"},{value:"FR",label:"France"},{value:"ES",label:"Spain"},{value:"IT",label:"Italy"},{value:"NL",label:"Netherlands"},{value:"BR",label:"Brazil"},{value:"MX",label:"Mexico"},{value:"IN",label:"India"},{value:"SG",label:"Singapore"},{value:"JP",label:"Japan"}],Rj=[{value:"en",label:"English"},{value:"es",label:"Spanish"},{value:"fr",label:"French"},{value:"de",label:"German"},{value:"it",label:"Italian"},{value:"pt",label:"Portuguese"},{value:"nl",label:"Dutch"},{value:"ja",label:"Japanese"}];function AQ(e,n){try{const i=new Intl.DisplayNames(["en"],{type:"region"}),r=new Intl.DisplayNames(["en"],{type:"language"}),u=e.length===2?i.of(e.toUpperCase()):void 0,h=n?r.of(n.toLowerCase()):void 0;return`${u??(e||"Country")} · ${h??(n||"Language")}`}catch{return`${e||"Country"} · ${n||"Language"}`}}function CQ(e,n){const i=e.trim().toUpperCase(),r=n.trim().toLowerCase();return{countryValid:Ej.some(u=>u.value===i),languageValid:Rj.some(u=>u.value===r)}}function NQ(e){const n=e.replace(/^\[|\]$/g,"");return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(n)||n.includes(":")}function _Q(e){const n=e.trim();if(!n)return null;const i=/^[a-z][a-z\d+.-]*:\/\//i.test(n)?n:`https://${n}`;let r;try{r=new URL(i)}catch{return null}if(r.protocol!=="http:"&&r.protocol!=="https:")return null;const u=r.hostname.toLowerCase().replace(/^www\./,"");if(!u||u==="localhost"||NQ(u)||!u.includes("."))return null;const h=u.replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");return h?{canonicalDomain:u,projectName:h,displayName:u}:null}async function TQ(e,n=bQ){let i;const r=new Promise(h=>{i=setTimeout(()=>h({state:"timed-out"}),n)}),u=await Promise.race([e.then(h=>({state:"queued",run:h})),r]);return i&&clearTimeout(i),u}function EQ(e,n){e.catch(()=>{tn({title:"Site Health scan did not start",detail:"The project is safe. Choose Run scan in Site Health to retry.",tone:"negative",dedupeKey:`site-health-dispatch:${n}`})})}function zj(e){const n=_.useRef(tg()).current,i=_.useRef(new Set),r=_.useCallback((u,h)=>{if(h){if(i.current.has(h))return;i.current.add(h)}V0({...u,surface:e,eventId:ng()})},[e]);return{onboardingSessionId:n,emit:r}}function dw(e,n){return e instanceof dn&&e.statusCode===409?"A project with this name already exists. Change the project name, or open the existing project.":e instanceof Error&&e.message?e.message:n}function yf(){return c.jsxs("div",{className:"page-container max-w-3xl","aria-busy":"true","aria-live":"polite",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Preparing setup"}),c.jsx("p",{className:"page-subtitle",children:"Checking the projects already on this install."})]})}),c.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-default bg-surface p-4 text-sm text-secondary",role:"status",children:[c.jsx(ar,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading projects…"]})]})}function RQ({onRetry:e}){return c.jsxs("div",{className:"page-container max-w-3xl",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Can’t load projects"}),c.jsx("p",{className:"page-subtitle",children:"Canonry could not confirm whether this install already has a project."})]})}),c.jsxs("div",{className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",tabIndex:-1,children:[c.jsx("p",{className:"text-sm font-medium text-heading",children:"Setup is paused to protect existing projects."}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),c.jsx(fe,{type:"button",className:"mt-4",variant:"secondary",onClick:e,children:"Retry project check"})]})]})}function zQ({projectName:e,initialRunId:n}){return c.jsx(sg,{title:"Site Health setup",children:c.jsx(DQ,{projectName:e,initialRunId:n})})}function DQ({projectName:e,initialRunId:n}){const i=cs(),r=wt({...so({client:ae}),enabled:!!e,retry:!1,refetchOnMount:"always"}),{onboardingSessionId:u,emit:h}=zj("site_health"),[g]=_.useState(()=>qH(n));_.useEffect(()=>{g&&IH()},[g]),_.useEffect(()=>{e&&h({flowVersion:it,onboardingSessionId:u,event:"onboarding.started",step:"run",resumed:!!n&&!g},"onboarding.started")},[h,g,n,u,e]),_.useEffect(()=>{!e||!n||Cj(e)?.runId!==n&&Aj(e,n)},[n,e]);const v=wt({...G0({client:ae,path:{id:n??""}}),enabled:!!n,refetchInterval:({state:C})=>{const F=C.data?.status;return F==="completed"||F==="partial"||F==="failed"||F==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}).data?.status;if(_.useEffect(()=>{if(!e||!n||!v)return;if(v==="completed"||v==="partial"){h({flowVersion:it,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"automatic"},"onboarding.step_completed:run"),dd(n);return}if(v!=="failed"&&v!=="cancelled")return;const C=v==="cancelled"?"run_cancelled":"run_failed";h({flowVersion:it,onboardingSessionId:u,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:C},`onboarding.blocked:run:${C}`),dd(n)},[h,n,u,e,v]),!e)return c.jsxs("div",{className:"page-container max-w-3xl",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Project not found"}),c.jsx("p",{className:"page-subtitle",children:"This setup link does not identify a project."})]})}),c.jsx(fe,{type:"button",variant:"secondary",onClick:()=>{i({to:"/projects"})},children:"View projects"})]});if(r.isPending)return c.jsxs("div",{className:"page-container max-w-3xl","aria-busy":"true","aria-live":"polite",children:[c.jsx(no,{current:"site"}),c.jsxs("div",{className:"mt-8 flex items-center gap-3 text-sm text-secondary",role:"status",children:[c.jsx(ar,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health setup…"]})]});if(r.isError)return c.jsxs("div",{className:"page-container max-w-3xl",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Can’t resume setup"}),c.jsx("p",{className:"page-subtitle",children:"Canonry could not load the project for this Site Health scan."})]})}),c.jsxs("div",{className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",children:[c.jsx("p",{className:"text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),c.jsx(fe,{type:"button",className:"mt-4",variant:"secondary",onClick:()=>{r.refetch()},children:"Retry project check"})]})]});const w=r.data.find(C=>C.name===e);if(!w)return c.jsxs("div",{className:"page-container max-w-3xl",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Project not found"}),c.jsxs("p",{className:"page-subtitle",children:["Canonry could not find ",e,". It will not open a different project."]})]})}),c.jsx(fe,{type:"button",variant:"secondary",onClick:()=>{i({to:"/projects"})},children:"View projects"})]});const S=()=>{i({to:"/setup",search:{onboarding:"site-health",setupProject:w.name},replace:!0})},A=()=>{i({to:"/setup",search:{experience:"legacy",onboarding:"site-health",setupProject:w.name},replace:!0})},T=()=>{h({flowVersion:it,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"skipped"},"onboarding.step_completed:run"),i({to:"/setup",search:{onboarding:"complete",setupProject:w.name,skipped:"visibility"},replace:!0})};return c.jsxs("div",{className:"page-container max-w-7xl py-8 md:py-10",children:[c.jsx("h1",{className:"sr-only",children:"Set up Canonry"}),c.jsx(_.Suspense,{fallback:c.jsxs("div",{className:"space-y-5",children:[c.jsx(no,{current:"site"}),c.jsxs("div",{className:"flex min-h-72 items-center justify-center gap-3 text-sm text-secondary",role:"status",children:[c.jsx(ar,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health…"]})]}),children:c.jsx(gQ,{projectName:w.name,projectId:w.id,initialRunId:n,onReleaseInitialRun:S,showOnboardingActions:!0,onContinueOnboarding:A,onSkipOnboarding:T})})]})}function OQ(){const e=pw({from:"/setup"}),n=e.onboarding==="site-health"&&!e.setupProject,i=e.onboarding==="site-health"&&e.experience!=="legacy",r=qL(),u=e.experience==="legacy"?"legacy":e.experience==="platform"?"platform":r,[h,g]=_.useState(!1),[b,v]=_.useState(void 0),w=wt({...so({client:ae}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),S=wt({...Kd({client:ae,query:{kind:Ne["site-audit"],since:kQ,limit:SQ}}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),A=u==="auto"&&w.isSuccess&&w.isFetchedAfterMount&&w.data.length===0;_.useEffect(()=>{A&&g(!0)},[A]);const T=u!=="auto"?{state:"idle"}:w.isSuccess&&w.isFetchedAfterMount?{state:"success",projectCount:w.data.length}:w.isError?{state:"error"}:{state:"loading"},C=u==="legacy"?"legacy":h||A?"platform":wQ(u,T);if(e.onboarding==="complete"&&e.setupProject)return c.jsx(aQ,{projectName:e.setupProject,skippedVisibility:e.skipped==="visibility"});if(n||i)return c.jsx(zQ,{projectName:e.setupProject,initialRunId:e.siteHealthRunId});const F=u==="auto"&&C==="legacy"&&!e.setupProject&&w.isSuccess;if(F&&b===void 0)return S.isError?v(null):S.isSuccess&&S.isFetchedAfterMount&&v(jQ(w.data,S.data)),c.jsx(yf,{});const R=F?b:null;return R?c.jsx(qQ,{projectName:R.projectName,runId:R.runId}):C==="legacy"?c.jsx(WH,{visibilityProjectName:e.setupProject,siteHealthOnboarding:e.onboarding==="site-health",onboardingFinish:e.onboarding==="site-health"||e.onboarding==="first-run"}):C==="loading"?c.jsx(yf,{}):C==="retry"?c.jsx(RQ,{onRetry:()=>{w.refetch()}}):c.jsx(IQ,{onActivationStarted:()=>g(!0),skipSiteScan:e.siteScan==="skip"})}function qQ({projectName:e,runId:n}){const i=cs();return _.useEffect(()=>{i({to:"/setup",search:{onboarding:"site-health",setupProject:e,...n?{siteHealthRunId:n}:{}},replace:!0})},[i,e,n]),c.jsx(yf,{})}function IQ({onActivationStarted:e,skipSiteScan:n}){return c.jsx(sg,{title:"Site Health setup",children:c.jsx(PQ,{onActivationStarted:e,skipSiteScan:n})})}function PQ({onActivationStarted:e,skipSiteScan:n}){const i=cs(),r=ua(),u=UH(),h=wt({...x$({client:ae}),retry:!1}),g=us(w$()),[b,v]=_.useState(""),[w,S]=_.useState(""),[A,T]=_.useState(""),[C,F]=_.useState("US"),[R,M]=_.useState("en"),[X,J]=_.useState(!1),[L,le]=_.useState("idle"),[ie,re]=_.useState(null),[H,K]=_.useState(null),[Re,Qe]=_.useState(!1),[Fe,ze]=_.useState(null),[ke,Me]=_.useState(!1),ve=h.isError?void 0:h.data,P=typeof ve?.enabled=="boolean"?ve.enabled:null,ee=g.isPending?g.variables.body.enabled:P,[pe,Ce]=_.useState(null),W=_.useRef(null),{onboardingSessionId:De,emit:Te}=zj("platform");_.useEffect(()=>{Te({flowVersion:it,onboardingSessionId:De,event:"onboarding.started",step:"project",resumed:!1},"onboarding.started")},[Te,De]);const Se=_Q(b),se=w||Se?.projectName||"",V=A||Se?.displayName||"",q=L==="creating"||L==="dispatching",ce=H??Fe,qe=AQ(C,R),{countryValid:ye,languageValid:nt}=CQ(C,R),Ve=ye&&nt;_.useEffect(()=>{ce&&W.current?.focus()},[ce]);const kt=(Be,lt)=>i({to:"/setup",search:{...lt?{siteHealthRunId:lt}:{},onboarding:"site-health",setupProject:Be.name},replace:!0}),oe=async Be=>{le("dispatching"),ze(null);try{const lt=u.mutateAsync({projectName:Be.name,projectId:Be.id,projectLabel:Be.displayName||Be.name,suppressErrorToast:!0,body:{checkDeadLinks:!0,maxPages:W2}}),Wt=await TQ(lt);if(Wt.state==="queued"){Te({flowVersion:it,onboardingSessionId:De,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"}),OH(Wt.run.runId),await kt(Be,Wt.run.runId);return}lt.then(()=>{Te({flowVersion:it,onboardingSessionId:De,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"})},ki=>{Te({flowVersion:it,onboardingSessionId:De,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:Vl(ki,"run_rejected")})}),EQ(lt,Be.id),await kt(Be)}catch(lt){le("recovery"),ze(dw(lt,"The project was created, but the Site Health scan could not be started."));const Wt=Vl(lt,"run_rejected");Te({flowVersion:it,onboardingSessionId:De,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:Wt}),Te({flowVersion:it,onboardingSessionId:De,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Wt},`onboarding.blocked:run:${Wt}`)}},Pe=async Be=>{if(Be.preventDefault(),!(!Se||!n&&!X||!Ve||q)){le("creating"),K(null),Qe(!1),ze(null);try{const lt=await tV({name:se,displayName:V,canonicalDomain:Se.canonicalDomain,country:C,language:R});if(e(),re(lt),Te({flowVersion:it,onboardingSessionId:De,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),await r.invalidateQueries({queryKey:ls({client:ae})}),n){await i({to:"/setup",search:{experience:"legacy",onboarding:"first-run",setupProject:lt.name},replace:!0});return}await oe(lt)}catch(lt){le("idle");const Wt=lt instanceof dn&&lt.statusCode===409;Qe(Wt),K(dw(lt,"Could not create the project. Try again.")),Te({flowVersion:it,onboardingSessionId:De,event:"onboarding.blocked",step:"project",action:"save",reasonCode:Vl(lt,"project_create_failed")},"onboarding.blocked:project"),Wt&&(e(),r.invalidateQueries({queryKey:ls({client:ae})}))}}},Jt=()=>{ie&&!q&&oe(ie)},fa=()=>{q||i({to:"/projects"})},Ka=async()=>{try{await navigator.clipboard.writeText(xQ),Me(!0)}catch{tn({tone:"negative",title:"Could not copy setup request",detail:"Open the agent quickstart to continue with the CLI instead."})}},bs=async Be=>{Ce(null);try{const lt=await g.mutateAsync({client:ae,body:{enabled:Be}});r.setQueryData(G3({client:ae}),lt),lt.enabled!==Be&&Ce(`The server kept telemetry ${lt.enabled?"on":"off"}. Check its telemetry settings.`)}catch{Ce("Could not update telemetry. Try again.")}};return ie&&L==="recovery"?c.jsxs("div",{className:"page-container max-w-3xl",children:[c.jsx(no,{current:"site"}),c.jsx("div",{className:"page-header mt-8",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Project created"}),c.jsxs("p",{className:"page-subtitle",children:[ie.displayName||ie.name," is ready. The Site Health scan needs another try."]})]})}),c.jsxs("div",{ref:W,className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",tabIndex:-1,children:[c.jsx("p",{className:"text-sm font-medium text-heading",children:Fe}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"You can retry the scan or continue setup and retry from Site Health."}),c.jsxs("div",{className:"mt-4 flex flex-wrap gap-3",children:[c.jsx(fe,{type:"button",onClick:Jt,children:"Retry Site Health scan"}),c.jsx(fe,{type:"button",variant:"secondary",onClick:()=>{kt(ie)},children:"Continue setup"})]})]})]}):c.jsxs("div",{className:"page-container max-w-xl py-8 md:py-12",children:[n?null:c.jsx(no,{current:"site"}),c.jsxs("header",{className:`mb-8 ${n?"":"mt-8"}`,children:[c.jsx("h1",{id:"site-map-setup-title",className:"text-2xl font-semibold tracking-[-0.025em] text-heading",children:n?"Create a project":"Scan your site"}),c.jsx("p",{className:"mt-2 max-w-lg text-sm leading-6 text-secondary",children:n?"Add a public domain, then choose the queries you want to track. No site scan will run.":"Enter your public website to see its pages, structure, internal links, and technical SEO scores."})]}),c.jsxs("form",{"aria-labelledby":"site-map-setup-title",className:"space-y-6",onSubmit:Zt(Pe),noValidate:!0,children:[c.jsxs("div",{className:"grid gap-2",children:[c.jsx("label",{className:"text-sm font-medium text-heading",htmlFor:"launchpad-domain",children:"Website URL"}),c.jsx("input",{id:"launchpad-domain",className:"h-11 w-full rounded-md border border-strong bg-bg-elevated/50 px-3 text-base text-heading outline-none transition placeholder:text-muted focus:border-mono-500 focus:ring-1 focus:ring-mono-500",type:"text",inputMode:"url",autoComplete:"url",autoCapitalize:"none",spellCheck:!1,required:!0,"aria-invalid":!!(b&&!Se),"aria-describedby":b&&!Se?"launchpad-domain-hint launchpad-domain-error":"launchpad-domain-hint",placeholder:"https://example.com",value:b,onChange:Be=>{v(Be.target.value),K(null),Qe(!1)}}),c.jsx("p",{id:"launchpad-domain-hint",className:"text-sm text-secondary",children:n?c.jsxs(c.Fragment,{children:["A public domain is still required."," ",c.jsx(Ge,{to:"/setup",search:{experience:"platform"},className:"font-medium text-link underline-offset-4 hover:underline",children:"Map with Site Health instead"})]}):c.jsxs(c.Fragment,{children:["Only public pages are scanned."," ",c.jsx(Ge,{to:"/setup",search:{experience:"platform",onboarding:"first-run",siteScan:"skip"},className:"font-medium text-link underline-offset-4 hover:underline",children:"Set up without a site scan"})]})}),b&&!Se?c.jsx("p",{id:"launchpad-domain-error",className:"text-sm text-negative",role:"alert",children:"Enter a public domain, such as example.com."}):null]}),c.jsxs("details",{className:"group border-y border-default",children:[c.jsxs("summary",{className:"flex min-h-11 cursor-pointer list-none items-center justify-between gap-4 py-3 text-sm [&::-webkit-details-marker]:hidden",children:[c.jsx("span",{className:"font-medium text-heading",children:"Project name and locale"}),c.jsxs("span",{className:"flex items-center gap-2 text-secondary",children:[qe,c.jsx(pd,{className:"size-4 transition-transform group-open:rotate-180 motion-reduce:transition-none","aria-hidden":"true"})]})]}),c.jsxs("div",{className:"space-y-5 border-t border-default py-4",children:[Se?c.jsxs("div",{children:[c.jsx("p",{className:"mb-3 text-sm font-medium text-heading",children:"Project"}),c.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[c.jsxs("div",{className:"grid gap-2",children:[c.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-project-name",children:"Project name"}),c.jsx("input",{id:"launchpad-project-name",className:"setup-input h-10",type:"text",value:se,onChange:Be=>S(Be.target.value)})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-display-name",children:"Display name"}),c.jsx("input",{id:"launchpad-display-name",className:"setup-input h-10",type:"text",value:V,onChange:Be=>T(Be.target.value)})]})]})]}):null,c.jsxs("div",{children:[c.jsx("p",{className:"mb-3 text-sm font-medium text-heading",children:"Locale"}),c.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[c.jsxs("div",{className:"grid gap-2",children:[c.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-country",children:"Country"}),c.jsx("select",{id:"launchpad-country",className:"setup-input h-10",value:C,onChange:Be=>F(Be.target.value),children:Ej.map(Be=>c.jsx("option",{value:Be.value,children:Be.label},Be.value))})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-language",children:"Language"}),c.jsx("select",{id:"launchpad-language",className:"setup-input h-10",value:R,onChange:Be=>M(Be.target.value),children:Rj.map(Be=>c.jsx("option",{value:Be.value,children:Be.label},Be.value))})]})]})]})]})]}),n?null:c.jsxs("label",{className:"flex min-h-11 cursor-pointer items-start gap-3 py-2",children:[c.jsx("input",{className:"mt-0.5 size-4 shrink-0 rounded border-strong bg-bg",type:"checkbox",checked:X,onChange:Be=>J(Be.target.checked),"aria-label":"Allow Canonry to scan this public site."}),c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"text-sm leading-5 text-heading",children:"Allow Canonry to scan this public site."}),c.jsx(Qs,{text:yQ})]})]}),ce?c.jsxs("div",{ref:W,className:"rounded-md border border-negative bg-negative-soft p-3",role:"alert",tabIndex:-1,children:[c.jsx("p",{className:"text-sm font-medium text-heading",children:ce}),Re?c.jsx(fe,{type:"button",variant:"secondary",size:"sm",className:"mt-3",onClick:fa,children:"View projects"}):null]}):null,c.jsxs("div",{className:"grid gap-2",children:[c.jsx(fe,{className:"h-11 w-full",type:"submit",disabled:!Se||!n&&!X||!Ve||q,children:L==="creating"||L==="dispatching"?c.jsxs(c.Fragment,{children:[c.jsx(ar,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"})," ",n?"Creating project…":"Mapping site…"]}):n?"Create project":"Scan site"}),L==="dispatching"?c.jsx("span",{className:"text-center text-sm text-secondary",role:"status",children:"Opening Site Health when the scan is ready."}):null]})]}),c.jsxs("section",{className:"mt-8 border-t border-default pt-6","aria-labelledby":"agent-setup-title",children:[c.jsx("p",{id:"agent-setup-title",className:"text-sm font-medium text-heading",children:"Use your agent instead"}),c.jsx("p",{className:"mt-1 text-sm leading-5 text-secondary",children:"Copy a complete CLI setup request into any agent."}),c.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-1",children:[c.jsxs(fe,{type:"button",variant:"ghost",size:"sm",className:"-ml-3",onClick:Zt(Ka),children:[ke?c.jsx(hd,{className:"size-3.5","aria-hidden":"true"}):c.jsx(Sf,{className:"size-3.5","aria-hidden":"true"}),c.jsx("span",{"aria-live":"polite",children:ke?"Copied setup request":"Copy setup request"})]}),c.jsx(fe,{asChild:!0,variant:"ghost",size:"sm",children:c.jsxs("a",{href:vQ,target:"_blank",rel:"noopener noreferrer",children:["Agent quickstart",c.jsx(mC,{className:"size-3.5","aria-hidden":"true"}),c.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})})]})]}),P!==null?c.jsxs("section",{className:"mt-6 border-t border-default pt-5","aria-labelledby":"telemetry-title",children:[c.jsxs("label",{className:`flex min-h-11 items-start gap-3 py-2 ${g.isPending?"cursor-wait":"cursor-pointer"}`,children:[c.jsx("input",{className:"mt-0.5 size-4 shrink-0 rounded border-strong bg-bg accent-accent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mono-500 disabled:cursor-wait",type:"checkbox",checked:ee??!1,disabled:g.isPending,onChange:Be=>{bs(Be.target.checked)},"aria-describedby":"telemetry-detail"}),c.jsxs("span",{className:"grid gap-0.5",children:[c.jsx("span",{id:"telemetry-title",className:"text-sm leading-5 text-heading",children:"Share anonymous product telemetry"}),c.jsx("span",{id:"telemetry-detail",className:"max-w-[70ch] text-sm leading-5 text-secondary",children:"Helps prioritize improvements. Canonry does not send raw domains, URLs, queries, answer content, or credentials."})]})]}),g.isPending?c.jsx("p",{className:"mt-1 text-sm text-secondary",role:"status",children:"Saving preference…"}):null,pe?c.jsx("p",{className:"mt-1 text-sm text-negative",role:"alert",children:pe}):null]}):null]})}function MQ(){return c.jsx("div",{className:"page-container",children:c.jsx("section",{className:"page-section",children:c.jsxs(oa,{className:"surface-card empty-card",children:[c.jsx("h1",{children:"Route not found"}),c.jsx("p",{children:"The current path does not map to a dashboard view."}),c.jsx(fe,{asChild:!0,children:c.jsx(Ge,{to:"/",children:"Return to overview"})})]})})})}const Hn=ds(()=>wi(()=>import("./ProjectPage-Dv3USEIE.js"),__vite__mapDeps([5,1,6,7,2,8,0,3,4,9,10,11,12]),import.meta.url),"ProjectPage"),BQ=ds(()=>wi(()=>import("./RunsPage-B59z7DQ_.js"),__vite__mapDeps([13,1,8,11,4,2,7,12]),import.meta.url),"RunsPage"),LQ=ds(()=>wi(()=>import("./HistoryPage-Bk1gsXe5.js"),__vite__mapDeps([14,1,10,11,4,2,7,12]),import.meta.url),"HistoryPage"),VQ=ds(()=>wi(()=>import("./SettingsPage-HJDgmQi9.js"),__vite__mapDeps([15,1,11,4,2,7,12]),import.meta.url),"SettingsPage"),$Q=ds(()=>wi(()=>import("./BacklinksPage-D01VTDAp.js"),__vite__mapDeps([16,1,2,11,4,7,12]),import.meta.url),"BacklinksPage"),UQ=ds(()=>wi(()=>import("./TrafficPage-C8na59q_.js"),__vite__mapDeps([17,1,9,2,11,4,7,12]),import.meta.url),"TrafficPage"),GQ=ds(()=>wi(()=>import("./TrafficSourceDetailPage-B2fO8bDc.js"),__vite__mapDeps([18,1,9,3,4,2,11,7,12]),import.meta.url),"TrafficSourceDetailPage"),KQ=ds(()=>wi(()=>import("./MeasurementPropertyPage-D7p5vpY_.js"),__vite__mapDeps([19,1,3,4,6,7,2,11,12]),import.meta.url),"MeasurementPropertyPage");function HQ(){return c.jsx(bH,{children:c.jsx(yH,{})})}const jn=$4()({component:HQ,validateSearch:e=>({manageQueries:e.manageQueries===!0||e.manageQueries==="true"?!0:void 0,runId:typeof e.runId=="string"?e.runId:void 0,siteHealthRunId:typeof e.siteHealthRunId=="string"?e.siteHealthRunId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0,runStatus:typeof e.runStatus=="string"?e.runStatus:void 0,runKind:typeof e.runKind=="string"?e.runKind:void 0,runProject:typeof e.runProject=="string"?e.runProject:void 0,runWindow:typeof e.runWindow=="string"?e.runWindow:void 0,runQuery:typeof e.runQuery=="string"?e.runQuery:void 0,onboarding:e.onboarding==="site-health"||e.onboarding==="first-run"||e.onboarding==="complete"?e.onboarding:void 0,experience:e.experience==="legacy"||e.experience==="platform"?e.experience:void 0,siteScan:e.siteScan==="skip"?"skip":void 0,skipped:e.skipped==="visibility"?"visibility":void 0,setupProject:typeof e.setupProject=="string"?e.setupProject:void 0,scope:typeof e.scope=="string"?e.scope:void 0,class:typeof e.class=="string"?e.class:void 0,...Object.fromEntries(["queryWorkspace","researchMode","trackingQueryId","measurementScope","measurementScopeKey","measurementMarketKey","queryClass","measurementProvider","measurementModel","measurementLocation","measurementFrom","measurementTo","measurementRevision","measurementRunId","measurementQueryKey","measurementAnswer"].map(n=>[n,typeof e[n]=="string"?e[n]:void 0]))})}),QQ=Ct({getParentRoute:()=>jn,path:"/",component:SH,beforeLoad:async({context:e})=>{let n=e.queryClient.getQueryData(ls({client:ae}));if(n===void 0)try{n=await e.queryClient.ensureQueryData(so({client:ae}))}catch{return}if(n.length===0)throw fw({to:"/setup"})}}),FQ=Ct({getParentRoute:()=>jn,path:"/projects",component:NH}),ZQ=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,An=Ct({getParentRoute:()=>jn,path:"/projects/$projectName",component:()=>c.jsx(Oh,{}),beforeLoad:async({context:e,params:n,location:i})=>{const r=n.projectName;if(!ZQ.test(r))return;let u=e.queryClient.getQueryData(ls({client:ae}));if(!u)try{u=await e.queryClient.ensureQueryData(so({client:ae}))}catch{return}const h=u.find(g=>g.id===r);if(h)throw fw({to:i.pathname.replace(`/projects/${r}`,`/projects/${encodeURIComponent(h.name)}`),replace:!0})}}),YQ=Ct({getParentRoute:()=>An,path:"/",component:()=>c.jsx(Hn,{tab:"overview"})}),XQ=Ct({getParentRoute:()=>An,path:"/portfolio",component:()=>c.jsx(Hn,{tab:"portfolio"})}),JQ=Ct({getParentRoute:()=>An,path:"/search-console",component:()=>c.jsx(Hn,{tab:"search-console"})}),WQ=Ct({getParentRoute:()=>An,path:"/conversions",component:()=>c.jsx(Hn,{tab:"conversions"})}),eF=Ct({getParentRoute:()=>An,path:"/local",component:()=>c.jsx(Hn,{tab:"local"})}),tF=Ct({getParentRoute:()=>An,path:"/discovery",component:()=>c.jsx(Hn,{tab:"discovery"})}),nF=Ct({getParentRoute:()=>An,path:"/queries",component:()=>c.jsx(Hn,{tab:"queries"})}),aF=Ct({getParentRoute:()=>An,path:"/properties/$targetKey",component:()=>c.jsx(KQ,{})}),iF=Ct({getParentRoute:()=>An,path:"/report",component:()=>c.jsx(Hn,{tab:"report"})}),sF=Ct({getParentRoute:()=>An,path:"/activity",component:()=>c.jsx(Hn,{tab:"activity"})}),oF=Ct({getParentRoute:()=>An,path:"/backlinks",component:()=>c.jsx(Hn,{tab:"backlinks"})}),rF=Ct({getParentRoute:()=>An,path:"/technical-aeo",component:()=>c.jsx(Hn,{tab:"technical-aeo"})}),lF=Ct({getParentRoute:()=>An,path:"/history",component:()=>c.jsx(Hn,{tab:"history"})}),cF=Ct({getParentRoute:()=>An,path:"/settings",component:()=>c.jsx(Hn,{tab:"settings"})}),uF=Ct({getParentRoute:()=>jn,path:"/runs",component:BQ}),dF=Ct({getParentRoute:()=>jn,path:"/history",component:LQ}),mF=Ct({getParentRoute:()=>jn,path:"/settings",component:VQ,beforeLoad:({context:e})=>{}}),pF=Ct({getParentRoute:()=>jn,path:"/setup",component:OQ}),hF=Ct({getParentRoute:()=>jn,path:"/backlinks",component:$Q}),fF=Ct({getParentRoute:()=>jn,path:"/traffic",component:UQ}),gF=Ct({getParentRoute:()=>jn,path:"/traffic/$projectName/$sourceId",component:GQ}),yF=Ct({getParentRoute:()=>jn,path:"*",component:MQ}),bF=jn.addChildren([QQ,FQ,An.addChildren([YQ,XQ,JQ,WQ,eF,tF,nF,aF,iF,sF,oF,rF,lF,cF]),uF,dF,mF,pF,hF,fF,gF,yF]);function vF(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const mw=vF(),xF=mw==="/"?"":mw.replace(/\/$/,"");function wF(e,n){return U4({routeTree:bF,basepath:xF||"/",context:{queryClient:e},...n?.initialEntries})}const kF=6e4;function SF(){const e=_.useRef(JL()).current,[n,i]=_.useState(e?"ready":"checking"),[r,u]=_.useState(null),[h,g]=_.useState(null),[b,v]=_.useState(e),[w,S]=_.useState(!1),[A,T]=_.useState(""),[C,F]=_.useState(""),[R,M]=_.useState(""),[X,J]=_.useState(!1),[L,le]=_.useState("password"),[ie,re]=_.useState(null),[H,K]=_.useState(!1),[Re,Qe]=_.useState(!1),Fe=_.useRef(null),ze=_.useRef(null),ke=_.useRef(null),Me=()=>{const q=r?`${r.name}:${r.role}`:e?"api-key:explicit":h?`api-key:${h.id}`:"no-accounts";if(!Fe.current||ke.current!==q){ze.current?.clear();const ce=zV();ze.current=ce,Fe.current=wF(ce),ke.current=q}return{queryClient:ze.current,router:Fe.current}},ve=q=>q.authRequired?(S(!0),u(q.user),g(null),v(!1),i(q.user?"ready":"account-login"),!0):!1;_.useEffect(()=>{let q=!1;const ce=async(qe,ye=!1)=>{try{const nt=await Nh();if(q)return;g(nt),v(!1),i("ready")}catch(nt){if(q)return;if(ye&&nt instanceof dn&&nt.statusCode===401)return uV().then(()=>{q||(re(null),g(null),v(!1),Qe(!0),i("login"))}).catch(Ve=>{q||(re(Ve instanceof Error?Ve.message:"Could not clear the invalid session"),i(qe))});re(nt instanceof Error?nt.message:"Could not verify API key access"),i(qe)}};return e?(ce("api-key-error"),()=>{q=!0}):(Promise.allSettled([kx(),wx()]).then(([qe,ye])=>{if(q||qe.status==="fulfilled"&&ve(qe.value))return;if(ye.status==="rejected"){const Ve=ye.reason;re(Ve instanceof Error?Ve.message:"Failed to reach the Canonry API"),i("login");return}const nt=ye.value;nt.authenticated?(v(!0),ce("api-key-error",!0)):(g(null),v(!1),i(nt.setupRequired?"setup":"login"))}),()=>{q=!0})},[]),_.useEffect(()=>{if(n!=="ready"||e)return;const q=setInterval(()=>{if(w){kx().then(ce=>{ce.authRequired&&!ce.user&&(Qe(!0),u(null),g(null),i("account-login"))}).catch(()=>{});return}wx().then(ce=>{ce.authenticated||(Qe(!0),g(null),i(ce.setupRequired?"setup":"login"))}).catch(()=>{})},kF);return xx(()=>{Qe(!0),u(null),g(null),v(!1),i(w?"account-login":"login")}),()=>{clearInterval(q),xx(null)}},[n,w,e]);const P=async q=>{if(q.preventDefault(),!C.trim()||C.trim().length<8){re("Password must be at least 8 characters");return}if(C!==R){re("Passwords do not match");return}K(!0),re(null);try{if(!(await rV(C.trim())).authenticated){re("Setup failed");return}F(""),M(""),J(!1),Qe(!1),g(null),v(!0),i("checking");try{const qe=await Nh();g(qe),v(!1),i("ready")}catch(qe){re(qe instanceof Error?qe.message:"Could not verify API key access"),i("api-key-error")}}catch(ce){re(ce instanceof dn||ce instanceof Error?ce.message:"Setup failed")}finally{K(!1)}},ee=q=>{F(q),re(null)},pe=q=>{M(q),re(null)},Ce=async q=>{if(q.preventDefault(),!!C.trim()){K(!0),re(null);try{if(!(L==="api-key"?await cV(C.trim()):await lV(C.trim())).authenticated){re(L==="api-key"?"Invalid API key":"Incorrect password");return}const qe=await Nh();g(qe),v(!1),F(""),J(!1),Qe(!1),i("ready")}catch(ce){re(ce instanceof dn||ce instanceof Error?ce.message:"Authentication failed")}finally{K(!1)}}},W=q=>{le(q),F(""),J(!1),re(null)},De=async q=>{if(q.preventDefault(),!(!A.trim()||!C)){K(!0),re(null);try{const ce=await dV(A.trim(),C);if(!ce.user){re("Incorrect name or password.");return}F(""),Qe(!1),u(ce.user),g(null),v(!1),i("ready")}catch(ce){re(ce instanceof dn?ce.message:"Incorrect name or password.")}finally{K(!1)}}};if(n==="ready"){const{queryClient:q,router:ce}=Me();return c.jsx(kV,{account:r,apiKey:h,apiKeyPending:b,children:c.jsx(G4,{client:q,children:c.jsx(K4,{router:ce})})})}const Te=C.trim(),Se=C.length>0&&Te.length<8,se=R.length>0&&C!==R,V=Te.length>=8&&C===R;return c.jsx("div",{className:"min-h-screen bg-bg px-4 py-8",children:c.jsxs("div",{className:"mx-auto flex min-h-[calc(100vh-4rem)] max-w-md flex-col items-center justify-center gap-5",children:[c.jsxs("div",{"data-testid":"auth-brand",className:"flex items-center gap-2.5",children:[c.jsx("img",{className:"size-7",src:"./favicon.svg",alt:"","aria-hidden":"true"}),c.jsx("span",{className:"text-lg font-semibold tracking-tight text-heading",children:"Canonry"})]}),c.jsx(oa,{className:"surface-card w-full",children:n==="checking"?c.jsx(Fs,{className:"py-8",children:c.jsx("p",{className:"supporting-copy text-center",children:"Connecting to Canonry…"})}):n==="api-key-error"?c.jsxs(c.Fragment,{children:[c.jsxs(er,{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),c.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Could not verify API key access"})]}),c.jsxs(Fs,{className:"space-y-4",children:[c.jsx("p",{className:"supporting-copy",children:ie??"Canonry could not verify this session’s access, so the dashboard stayed locked."}),c.jsx(fe,{type:"button",className:"w-full",onClick:()=>{window.location.reload()},children:"Try again"})]})]}):n==="account-login"?c.jsxs(c.Fragment,{children:[c.jsxs(er,{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),c.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Sign in to Canonry"})]}),c.jsxs(Fs,{children:[Re?c.jsx("p",{className:"mb-4 rounded-md border border-caution bg-caution-soft px-3 py-2 text-sm text-caution",children:"You were signed out — please sign in again."}):null,c.jsxs("form",{className:"space-y-4",onSubmit:Zt(De),children:[c.jsxs("label",{className:"block space-y-1.5",htmlFor:"account-name",children:[c.jsx("span",{className:"text-xs font-medium text-secondary",children:"Name"}),c.jsx("input",{autoFocus:!0,id:"account-name",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"text",name:"username",autoComplete:"username",value:A,onChange:q=>{T(q.target.value),re(null)},"aria-invalid":!!ie,"aria-describedby":ie?"account-login-error":void 0})]}),c.jsxs("label",{className:"block space-y-1.5",htmlFor:"account-password",children:[c.jsx("span",{className:"text-xs font-medium text-secondary",children:"Password"}),c.jsx("input",{id:"account-password",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"password",name:"password",autoComplete:"current-password",value:C,onChange:q=>ee(q.target.value),"aria-invalid":!!ie,"aria-describedby":ie?"account-login-error":void 0})]}),ie?c.jsx("p",{id:"account-login-error",role:"alert",className:"text-sm text-negative-400",children:ie}):null,c.jsx(fe,{type:"submit",disabled:H||!A.trim()||!C,children:H?"Signing in…":"Sign in"})]})]})]}):n==="setup"?c.jsxs(c.Fragment,{children:[c.jsxs(er,{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),c.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Create a dashboard password"}),c.jsx(cd,{children:"This password protects the dashboard on this computer."})]}),c.jsx(Fs,{children:c.jsxs("form",{className:"space-y-4",onSubmit:Zt(P),children:[c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("label",{className:"block text-xs font-medium text-secondary",htmlFor:"dashboard-password-new",children:"Password"}),c.jsx("input",{autoFocus:!0,id:"dashboard-password-new",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:X?"text":"password",name:"new-password",autoComplete:"new-password",minLength:8,required:!0,value:C,onChange:q=>ee(q.target.value),"aria-invalid":Se,"aria-describedby":"dashboard-password-new-help"}),c.jsx("span",{id:"dashboard-password-new-help","aria-live":"polite",className:Se?"block text-sm text-negative-400":"block text-sm text-secondary",children:Se?"Enter at least 8 characters.":"Use at least 8 characters."})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("label",{className:"block text-xs font-medium text-secondary",htmlFor:"dashboard-password-confirm",children:"Confirm password"}),c.jsx("input",{id:"dashboard-password-confirm",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:X?"text":"password",name:"confirm-password",autoComplete:"new-password",minLength:8,required:!0,value:R,onChange:q=>pe(q.target.value),"aria-invalid":se,"aria-describedby":"dashboard-password-confirm-help"}),c.jsx("span",{id:"dashboard-password-confirm-help","aria-live":"polite",className:se?"block text-sm text-negative-400":"block text-sm text-secondary",children:se?"Passwords do not match.":"Enter the same password again."})]}),c.jsxs("label",{className:"flex min-h-10 cursor-pointer items-center gap-2 text-sm text-secondary",htmlFor:"dashboard-password-show",children:[c.jsx("input",{id:"dashboard-password-show",type:"checkbox",checked:X,onChange:q=>J(q.target.checked)}),"Show passwords"]}),ie?c.jsx("p",{id:"dashboard-password-setup-error",role:"alert",className:"text-sm text-negative-400",children:ie}):null,c.jsx(fe,{type:"submit",disabled:H||!V,children:H?"Creating password…":"Create password and continue"})]})})]}):c.jsxs(c.Fragment,{children:[c.jsxs(er,{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),c.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Sign in to Canonry"}),c.jsx(cd,{children:L==="api-key"?"Enter an API key from this Canonry install. This opens the dashboard with that key’s access and does not change the password.":"Enter your dashboard password to continue."})]}),c.jsxs(Fs,{children:[Re?c.jsx("p",{className:"mb-4 rounded-md border border-caution bg-caution-soft px-3 py-2 text-sm text-caution",children:"Your session expired — please sign in again."}):null,c.jsxs("form",{className:"space-y-4",onSubmit:Zt(Ce),children:[c.jsxs("label",{className:"block space-y-1.5",htmlFor:"dashboard-password-current",children:[c.jsx("span",{className:"text-xs font-medium text-secondary",children:L==="api-key"?"Canonry API key":"Password"}),c.jsx("input",{autoFocus:!0,id:"dashboard-password-current",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:X?"text":"password",name:L==="api-key"?"apiKey":"password",autoComplete:L==="api-key"?"off":"current-password",spellCheck:!1,required:!0,value:C,onChange:q=>ee(q.target.value),"aria-invalid":!!ie,"aria-describedby":ie?"dashboard-password-login-error":void 0})]}),c.jsxs("label",{className:"flex min-h-10 cursor-pointer items-center gap-2 text-sm text-secondary",htmlFor:"dashboard-login-password-show",children:[c.jsx("input",{id:"dashboard-login-password-show",type:"checkbox",checked:X,onChange:q=>J(q.target.checked)}),L==="api-key"?"Show API key":"Show password"]}),ie?c.jsx("p",{id:"dashboard-password-login-error",role:"alert",className:"text-sm text-negative-400",children:ie}):null,c.jsx(fe,{type:"submit",disabled:H||!C.trim(),children:H?"Signing in…":"Open dashboard"}),c.jsx(fe,{type:"button",variant:"ghost",onClick:()=>W(L==="api-key"?"password":"api-key"),children:L==="api-key"?"Use dashboard password instead":"Forgot password? Use API key"})]})]})]})})]})})}const Dj=document.getElementById("root");if(!Dj)throw new Error("Expected #root element for web app bootstrap.");vC.createRoot(Dj).render(c.jsx(_.StrictMode,{children:c.jsx(SF,{})}));export{bX as $,mf as A,fe as B,id as C,sJ as D,IF as E,aJ as F,oJ as G,sX as H,Qs as I,nJ as J,aW as K,oW as L,WW as M,sW as N,hX as O,MG as P,pX as Q,jX as R,qV as S,gn as T,tn as U,cW as V,uW as W,vX as X,dW as Y,xX as Z,gX as _,JW as a,CJ as a$,rW as a0,lW as a1,iW as a2,fX as a3,mW as a4,vW as a5,fW as a6,yW as a7,gW as a8,bW as a9,Hs as aA,TV as aB,bJ as aC,yX as aD,UF as aE,qF as aF,QY as aG,zT as aH,un as aI,OF as aJ,DF as aK,VF as aL,FV as aM,g$ as aN,jJ as aO,TJ as aP,AJ as aQ,kZ as aR,jZ as aS,Kq as aT,AZ as aU,s$ as aV,SJ as aW,Qq as aX,tf as aY,SZ as aZ,$L as a_,$X as aa,K0 as ab,Ne as ac,hW as ad,F3 as ae,xi as af,pW as ag,ree as ah,Vz as ai,$z as aj,KF as ak,GF as al,KX as am,XX as an,JX as ao,dn as ap,WX as aq,YY as ar,IV as as,$U as at,sf as au,eJ as av,Hu as aw,zW as ax,r8 as ay,hf as az,YD as b,pZ as b$,kJ as b0,r$ as b1,NJ as b2,tee as b3,_J as b4,PW as b5,MW as b6,wX as b7,U0 as b8,RW as b9,KY as bA,GY as bB,UY as bC,LY as bD,BY as bE,$Y as bF,VY as bG,MY as bH,PY as bI,EY as bJ,RY as bK,IY as bL,qY as bM,OY as bN,zY as bO,DY as bP,TY as bQ,_Y as bR,NY as bS,CY as bT,PP as bU,cZ as bV,sZ as bW,oZ as bX,rZ as bY,uZ as bZ,lZ as b_,U3 as ba,OJ as bb,IJ as bc,GJ as bd,eW as be,WJ as bf,$J as bg,XJ as bh,nW as bi,MJ as bj,HJ as bk,QJ as bl,FJ as bm,PJ as bn,KJ as bo,BJ as bp,ZJ as bq,LJ as br,YJ as bs,UJ as bt,JJ as bu,tW as bv,MH as bw,VJ as bx,ge as by,HY as bz,yk as c,iZ as c$,oee as c0,EW as c1,af as c2,dZ as c3,NZ as c4,_Z as c5,Js as c6,CZ as c7,mZ as c8,zX as c9,yZ as cA,nY as cB,tY as cC,GZ as cD,KZ as cE,hZ as cF,vZ as cG,HZ as cH,cY as cI,PF as cJ,yY as cK,bY as cL,pY as cM,fY as cN,MF as cO,gY as cP,hY as cQ,nZ as cR,WZ as cS,MZ as cT,BZ as cU,LZ as cV,VZ as cW,$Z as cX,UZ as cY,aP as cZ,SY as c_,vt as ca,mq as cb,JZ as cc,AY as cd,QZ as ce,FZ as cf,ZZ as cg,YZ as ch,XZ as ci,rO as cj,aZ as ck,fx as cl,jY as cm,bZ as cn,gZ as co,RZ as cp,JI as cq,wY as cr,kY as cs,xY as ct,vY as cu,rY as cv,JE as cw,oY as cx,iY as cy,sY as cz,tJ as d,eee as d$,EF as d0,lO as d1,DZ as d2,lY as d3,zF as d4,fZ as d5,TZ as d6,zZ as d7,EZ as d8,BF as d9,cX as dA,uX as dB,mX as dC,dX as dD,cc as dE,so as dF,E3 as dG,mJ as dH,dJ as dI,TK as dJ,BG as dK,mj as dL,GG as dM,pj as dN,hj as dO,JV as dP,Zs as dQ,md as dR,S$ as dS,FH as dT,see as dU,$H as dV,EJ as dW,pJ as dX,yJ as dY,hJ as dZ,RJ as d_,uY as da,dY as db,mY as dc,p3 as dd,OZ as de,qZ as df,LF as dg,IZ as dh,eY as di,RF as dj,aY as dk,PZ as dl,aX as dm,nX as dn,tX as dp,DX as dq,v$ as dr,qJ as ds,cJ as dt,$F as du,Nx as dv,rX as dw,lX as dx,rJ as dy,lJ as dz,NW as e,DW as e$,fJ as e0,Bt as e1,ZW as e2,KK as e3,eV as e4,VV as e5,HK as e6,XY as e7,aV as e8,JY as e9,QL as eA,FY as eB,ZY as eC,oX as eD,kX as eE,SX as eF,sg as eG,Yd as eH,Z0 as eI,QH as eJ,RX as eK,dr as eL,Tx as eM,UX as eN,HX as eO,FX as eP,ZX as eQ,GX as eR,QX as eS,YX as eT,gx as eU,VX as eV,qW as eW,AH as eX,wZ as eY,E0 as eZ,uJ as e_,WY as ea,eX as eb,ls as ec,QV as ed,XV as ee,iX as ef,xW as eg,fV as eh,TX as ei,kW as ej,SW as ek,jW as el,wW as em,iJ as en,AX as eo,CX as ep,NX as eq,EX as er,_X as es,ur as et,Kd as eu,nee as ev,Zd as ew,F0 as ex,zJ as ey,DJ as ez,oa as f,IW as f0,LX as f1,xZ as f2,MX as f3,BX as f4,PX as f5,OW as f6,U7 as f7,vJ as f8,gJ as f9,YF as fA,WF as fB,HW as fC,AD as fD,JF as fE,XF as fF,wJ as fa,xJ as fb,FF as fc,wi as fd,ha as fe,QF as ff,VL as fg,gU as fh,LW as fi,BW as fj,UH as fk,UW as fl,$K as fm,eZ as fn,ZF as fo,YW as fp,XW as fq,VW as fr,$W as fs,HF as ft,KW as fu,FW as fv,GW as fw,QW as fx,no as fy,W2 as fz,AW as g,Lx as h,Sn as i,ae as j,UL as k,Bl as l,fn as m,Zt as n,CW as o,TW as p,_W as q,OX as r,tZ as s,MV as t,Y0 as u,IX as v,qX as w,pa as x,aee as y,iee as z};