@ainyc/canonry 5.3.0 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -15
- package/assets/assets/{AuditHistoryPanel-D5cOFMKE.js → AuditHistoryPanel-DNSskBJN.js} +1 -1
- package/assets/assets/{BacklinksPage-BiOj8ztV.js → BacklinksPage-COtLVzT8.js} +1 -1
- package/assets/assets/{HistoryPage-DDBCwooU.js → HistoryPage-D9e6cGrq.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-CMoU2yA_.js → MeasurementPropertyPage-BSs4ba4N.js} +1 -1
- package/assets/assets/ProjectPage-BbpGgwgd.js +8 -0
- package/assets/assets/{RunRow-BLBAwIot.js → RunRow-DRjXGgeI.js} +1 -1
- package/assets/assets/{RunsPage-BVgBbE1M.js → RunsPage-BXyqLNMQ.js} +1 -1
- package/assets/assets/{SettingsPage-DYtN-1_-.js → SettingsPage-DKmzGwx3.js} +1 -1
- package/assets/assets/SiteHealthSection-DuSY6jzY.js +4 -0
- package/assets/assets/{TrafficPage-D6QT_2hU.js → TrafficPage-Bc9NGm4L.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-BnLzF82w.js → TrafficSourceDetailPage-Bw8PCVl9.js} +1 -1
- package/assets/assets/{extract-error-message-DIzjGZxl.js → extract-error-message-rTGTNN_D.js} +1 -1
- package/assets/assets/index-CVK43vax.js +86 -0
- package/assets/assets/index-Hmnj0RO5.css +1 -0
- package/assets/assets/{react-sigma_core.esm.min-DTbIcdn4.js → react-sigma_core.esm.min-Xwhtf0bv.js} +1 -1
- package/assets/assets/{v2-overview-adapter-B_N4ilQV.js → v2-overview-adapter-BgGH6oLq.js} +1 -1
- package/assets/assets/vendor-lucide-CBIL4Nkq.js +1 -0
- package/assets/index.html +3 -3
- package/dist/{chunk-QAGZWYPI.js → chunk-2P52FD5B.js} +38 -11
- package/dist/{chunk-IOP36L3C.js → chunk-67OM5KEH.js} +21 -6
- package/dist/{chunk-C7PITYL3.js → chunk-L3FG66O7.js} +2 -2
- package/dist/{chunk-MNUFMEAX.js → chunk-P5YYRGFS.js} +2 -2
- package/dist/{chunk-HOOU4NS2.js → chunk-SLOTTXIL.js} +19 -7
- package/dist/{chunk-2U5IW3G5.js → chunk-Z6RA7LWY.js} +44 -2
- package/dist/cli.js +132 -65
- package/dist/{demo-server-Y7YWLPU7.js → demo-server-6QU77ZMV.js} +3 -3
- package/dist/index.js +5 -5
- package/dist/{intelligence-service-PR6T6JKY.js → intelligence-service-PHCK6A35.js} +2 -2
- package/dist/mcp.js +3 -3
- package/package.json +11 -11
- package/assets/assets/ProjectPage-CrFybBls.js +0 -8
- package/assets/assets/SiteHealthSection-ElUwcAS4.js +0 -4
- package/assets/assets/index-CoQVOsWw.js +0 -86
- package/assets/assets/index-DCLmKL1s.css +0 -1
- package/assets/assets/vendor-lucide-nVpYViBH.js +0 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SiteHealthSection-DuSY6jzY.js","./vendor-tanstack-ZXXkndVj.js","./vendor-lucide-CBIL4Nkq.js","./ChartPrimitives-Bxa_vFmq.js","./vendor-recharts-D-cUuLZo.js","./ProjectPage-BbpGgwgd.js","./v2-overview-adapter-BgGH6oLq.js","./vendor-markdown-B-Oq2NYq.js","./RunRow-DRjXGgeI.js","./extract-error-message-rTGTNN_D.js","./AuditHistoryPanel-DNSskBJN.js","./vendor-radix-twS1M3FF.js","./vendor-yaml-GWJz5H2G.js","./RunsPage-BXyqLNMQ.js","./HistoryPage-D9e6cGrq.js","./SettingsPage-DKmzGwx3.js","./BacklinksPage-COtLVzT8.js","./TrafficPage-Bc9NGm4L.js","./TrafficSourceDetailPage-Bw8PCVl9.js","./MeasurementPropertyPage-BSs4ba4N.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{c as iA,d as sA,r as _,j as c,Q as oA,M as rA,q as he,e as Hl,L as $e,a as lA,t as $o,u as xt,f as cA,h as ra,k as ss,l as Xx,m as uA,n as Jx,O as jh,o as os,p as dA,s as At,v as Wx,x as rs,y as mA,z as pA,A as hA}from"./vendor-tanstack-ZXXkndVj.js";import{S as fA,O as r0,P as e2,C as l0,a as t2,T as c0,D as n2,R as a2}from"./vendor-radix-twS1M3FF.js";import{c as i2}from"./vendor-recharts-D-cUuLZo.js";import{A as Il,X as lr,S as u0,a as gA,G as s2,C as od,L as Wo,R as bu,b as o2,M as yA,c as bA,d as vA,e as rd,T as r2,W as xA,f as d0,g as m0,h as kA,i as wA,P as SA,H as jA,j as AA,k as CA,l as NA,m as _A,B as zA,F as EA,n as TA,o as RA,p as DA,q as kb,r as l2,s as c2,t as Ah,u as u2,v as OA,w as d2,E as qA}from"./vendor-lucide-CBIL4Nkq.js";import{M as PA}from"./vendor-markdown-B-Oq2NYq.js";import{p as BA}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 f of u)if(f.type==="childList")for(const g of f.addedNodes)g.tagName==="LINK"&&g.rel==="modulepreload"&&r(g)}).observe(document,{childList:!0,subtree:!0});function s(u){const f={};return u.integrity&&(f.integrity=u.integrity),u.referrerPolicy&&(f.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?f.credentials="include":u.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function r(u){if(u.ep)return;u.ep=!0;const f=s(u);fetch(u.href,f)}})();var Qp={exports:{}},jl={},Fp={exports:{}},Zp={};var wb;function IA(){return wb||(wb=1,(function(e){function n(B,ee){var pe=B.length;B.push(ee);e:for(;0<pe;){var Ce=pe-1>>>1,W=B[Ce];if(0<u(W,ee))B[Ce]=ee,B[pe]=W,pe=Ce;else break e}}function s(B){return B.length===0?null:B[0]}function r(B){if(B.length===0)return null;var ee=B[0],pe=B.pop();if(pe!==ee){B[0]=pe;e:for(var Ce=0,W=B.length,De=W>>>1;Ce<De;){var ze=2*(Ce+1)-1,we=B[ze],se=ze+1,U=B[se];if(0>u(we,pe))se<W&&0>u(U,we)?(B[Ce]=U,B[se]=pe,Ce=se):(B[Ce]=we,B[ze]=pe,Ce=ze);else if(se<W&&0>u(U,pe))B[Ce]=U,B[se]=pe,Ce=se;else break e}}return ee}function u(B,ee){var pe=B.sortIndex-ee.sortIndex;return pe!==0?pe:B.id-ee.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;e.unstable_now=function(){return f.now()}}else{var g=Date,b=g.now();e.unstable_now=function(){return g.now()-b}}var v=[],k=[],S=1,A=null,z=3,C=!1,F=!1,T=!1,I=!1,X=typeof setTimeout=="function"?setTimeout:null,J=typeof clearTimeout=="function"?clearTimeout:null,V=typeof setImmediate<"u"?setImmediate:null;function le(B){for(var ee=s(k);ee!==null;){if(ee.callback===null)r(k);else if(ee.startTime<=B)r(k),ee.sortIndex=ee.expirationTime,n(v,ee);else break;ee=s(k)}}function ie(B){if(T=!1,le(B),!F)if(s(v)!==null)F=!0,re||(re=!0,Re());else{var ee=s(k);ee!==null&&be(ie,ee.startTime-B)}}var re=!1,H=-1,K=5,Te=-1;function Qe(){return I?!0:!(e.unstable_now()-Te<K)}function Fe(){if(I=!1,re){var B=e.unstable_now();Te=B;var ee=!0;try{e:{F=!1,T&&(T=!1,J(H),H=-1),C=!0;var pe=z;try{t:{for(le(B),A=s(v);A!==null&&!(A.expirationTime>B&&Qe());){var Ce=A.callback;if(typeof Ce=="function"){A.callback=null,z=A.priorityLevel;var W=Ce(A.expirationTime<=B);if(B=e.unstable_now(),typeof W=="function"){A.callback=W,le(B),ee=!0;break t}A===s(v)&&r(v),le(B)}else r(v);A=s(v)}if(A!==null)ee=!0;else{var De=s(k);De!==null&&be(ie,De.startTime-B),ee=!1}}break e}finally{A=null,z=pe,C=!1}ee=void 0}}finally{ee?Re():re=!1}}}var Re;if(typeof V=="function")Re=function(){V(Fe)};else if(typeof MessageChannel<"u"){var ke=new MessageChannel,Be=ke.port2;ke.port1.onmessage=Fe,Re=function(){Be.postMessage(null)}}else Re=function(){X(Fe,0)};function be(B,ee){H=X(function(){B(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(B){B.callback=null},e.unstable_forceFrameRate=function(B){0>B||125<B?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):K=0<B?Math.floor(1e3/B):5},e.unstable_getCurrentPriorityLevel=function(){return z},e.unstable_next=function(B){switch(z){case 1:case 2:case 3:var ee=3;break;default:ee=z}var pe=z;z=ee;try{return B()}finally{z=pe}},e.unstable_requestPaint=function(){I=!0},e.unstable_runWithPriority=function(B,ee){switch(B){case 1:case 2:case 3:case 4:case 5:break;default:B=3}var pe=z;z=B;try{return ee()}finally{z=pe}},e.unstable_scheduleCallback=function(B,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,B){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,B={id:S++,callback:ee,priorityLevel:B,startTime:pe,expirationTime:W,sortIndex:-1},pe>Ce?(B.sortIndex=pe,n(k,B),s(v)===null&&B===s(k)&&(T?(J(H),H=-1):T=!0,be(ie,pe-Ce))):(B.sortIndex=W,n(v,B),F||C||(F=!0,re||(re=!0,Re()))),B},e.unstable_shouldYield=Qe,e.unstable_wrapCallback=function(B){var ee=z;return function(){var pe=z;z=ee;try{return B.apply(this,arguments)}finally{z=pe}}}})(Zp)),Zp}var Sb;function MA(){return Sb||(Sb=1,Fp.exports=IA()),Fp.exports}var jb;function VA(){if(jb)return jl;jb=1;var e=MA(),n=iA(),s=sA();function r(t){var a="https://react.dev/errors/"+t;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)a+="&args[]="+encodeURIComponent(arguments[i])}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 f(t){var a=t,i=t;if(t.alternate)for(;a.return;)a=a.return;else{t=a;do a=t,(a.flags&4098)!==0&&(i=a.return),t=a.return;while(t)}return a.tag===3?i: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(f(t)!==t)throw Error(r(188))}function k(t){var a=t.alternate;if(!a){if(a=f(t),a===null)throw Error(r(188));return a!==t?null:t}for(var i=t,l=a;;){var p=i.return;if(p===null)break;var h=p.alternate;if(h===null){if(l=p.return,l!==null){i=l;continue}break}if(p.child===h.child){for(h=p.child;h;){if(h===i)return v(p),t;if(h===l)return v(p),a;h=h.sibling}throw Error(r(188))}if(i.return!==l.return)i=p,l=h;else{for(var x=!1,w=p.child;w;){if(w===i){x=!0,i=p,l=h;break}if(w===l){x=!0,l=p,i=h;break}w=w.sibling}if(!x){for(w=h.child;w;){if(w===i){x=!0,i=h,l=p;break}if(w===l){x=!0,l=h,i=p;break}w=w.sibling}if(!x)throw Error(r(189))}}if(i.alternate!==l)throw Error(r(190))}if(i.tag!==3)throw Error(r(188));return i.stateNode.current===i?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,z=Symbol.for("react.element"),C=Symbol.for("react.transitional.element"),F=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),I=Symbol.for("react.strict_mode"),X=Symbol.for("react.profiler"),J=Symbol.for("react.consumer"),V=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"),Te=Symbol.for("react.activity"),Qe=Symbol.for("react.memo_cache_sentinel"),Fe=Symbol.iterator;function Re(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 Be(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 T:return"Fragment";case X:return"Profiler";case I:return"StrictMode";case ie:return"Suspense";case re:return"SuspenseList";case Te:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case F:return"Portal";case V: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:Be(t.type)||"Memo";case K:a=t._payload,t=t._init;try{return Be(t(a))}catch{}}return null}var be=Array.isArray,B=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee=s.__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 ze(t){0>W||(t.current=Ce[W],Ce[W]=null,W--)}function we(t,a){W++,Ce[W]=t.current,t.current=a}var se=De(null),U=De(null),q=De(null),ce=De(null);function Oe(t,a){switch(we(q,a),we(U,t),we(se,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?$y(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=$y(a),t=Ky(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}ze(se),we(se,t)}function ye(){ze(se),ze(U),ze(q)}function nt(t){t.memoizedState!==null&&we(ce,t);var a=se.current,i=Ky(a,t.type);a!==i&&(we(U,t),we(se,i))}function Le(t){U.current===t&&(ze(se),ze(U)),ce.current===t&&(ze(ce),xl._currentValue=pe)}var kt,oe;function Ve(t){if(kt===void 0)try{throw Error()}catch(i){var a=i.stack.trim().match(/\n( *(at )?)/);kt=a&&a[1]||"",oe=-1<i.stack.indexOf(`
|
|
3
|
+
at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
|
+
`+kt+t+oe}var Kt=!1;function jn(t,a){if(!t||Kt)return"";Kt=!0;var i=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 $=Q}Reflect.construct(t,[],ne)}else{try{ne.call()}catch(Q){$=Q}t.call(ne.prototype)}}else{try{throw Error()}catch(Q){$=Q}(ne=t())&&typeof ne.catch=="function"&&ne.catch(function(){})}}catch(Q){if(Q&&$&&typeof Q.stack=="string")return[Q.stack,$.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 h=l.DetermineComponentFrameRoot(),x=h[0],w=h[1];if(x&&w){var E=x.split(`
|
|
5
|
+
`),L=w.split(`
|
|
6
|
+
`);for(p=l=0;l<E.length&&!E[l].includes("DetermineComponentFrameRoot");)l++;for(;p<L.length&&!L[p].includes("DetermineComponentFrameRoot");)p++;if(l===E.length||p===L.length)for(l=E.length-1,p=L.length-1;1<=l&&0<=p&&E[l]!==L[p];)p--;for(;1<=l&&0<=p;l--,p--)if(E[l]!==L[p]){if(l!==1||p!==1)do if(l--,p--,0>p||E[l]!==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{Kt=!1,Error.prepareStackTrace=i}return(i=t?t.displayName||t.name:"")?Ve(i):""}function ma(t,a){switch(t.tag){case 26:case 27:case 5:return Ve(t.type);case 16:return Ve("Lazy");case 13:return t.child!==a&&a!==null?Ve("Suspense Fallback"):Ve("Suspense");case 19:return Ve("SuspenseList");case 0:case 15:return jn(t.type,!1);case 11:return jn(t.type.render,!1);case 1:return jn(t.type,!0);case 31:return Ve("Activity");default:return""}}function hs(t){try{var a="",i=null;do a+=ma(t,i),i=t,t=t.return;while(t);return a}catch(l){return`
|
|
8
|
+
Error generating stack: `+l.message+`
|
|
9
|
+
`+l.stack}}var Ie=Object.prototype.hasOwnProperty,lt=e.unstable_scheduleCallback,Jt=e.unstable_cancelCallback,bi=e.unstable_shouldYield,vr=e.unstable_requestPaint,tn=e.unstable_now,xr=e.unstable_getCurrentPriorityLevel,kr=e.unstable_ImmediatePriority,wr=e.unstable_UserBlockingPriority,fs=e.unstable_NormalPriority,sc=e.unstable_LowPriority,oc=e.unstable_IdlePriority,Kd=e.log,rc=e.unstable_setDisableYieldValue,yn=null,wt=null;function Na(t){if(typeof Kd=="function"&&rc(t),wt&&typeof wt.setStrictMode=="function")try{wt.setStrictMode(yn,t)}catch{}}var bn=Math.clz32?Math.clz32:_a,Sr=Math.log,Ga=Math.LN2;function _a(t){return t>>>=0,t===0?32:31-(Sr(t)/Ga|0)|0}var gs=256,vi=262144,$a=4194304;function Hn(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,i){var l=t.pendingLanes;if(l===0)return 0;var p=0,h=t.suspendedLanes,x=t.pingedLanes;t=t.warmLanes;var w=l&134217727;return w!==0?(l=w&~h,l!==0?p=Hn(l):(x&=w,x!==0?p=Hn(x):i||(i=w&~t,i!==0&&(p=Hn(i))))):(w=l&~h,w!==0?p=Hn(w):x!==0?p=Hn(x):i||(i=l&~t,i!==0&&(p=Hn(i)))),p===0?0:a!==0&&a!==p&&(a&h)===0&&(h=p&-p,i=a&-a,h>=i||h===32&&(i&4194048)!==0)?a:p}function Ka(t,a){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&a)===0}function xi(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 ys(){var t=$a;return $a<<=1,($a&62914560)===0&&($a=4194304),t}function io(t){for(var a=[],i=0;31>i;i++)a.push(t);return a}function bs(t,a){t.pendingLanes|=a,a!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function lc(t,a,i,l,p,h){var x=t.pendingLanes;t.pendingLanes=i,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=i,t.entangledLanes&=i,t.errorRecoveryDisabledLanes&=i,t.shellSuspendCounter=0;var w=t.entanglements,E=t.expirationTimes,L=t.hiddenUpdates;for(i=x&~i;0<i;){var Z=31-bn(i),ne=1<<Z;w[Z]=0,E[Z]=-1;var $=L[Z];if($!==null)for(L[Z]=null,Z=0;Z<$.length;Z++){var Q=$[Z];Q!==null&&(Q.lane&=-536870913)}i&=~ne}l!==0&&jr(t,l,0),h!==0&&p===0&&t.tag!==0&&(t.suspendedLanes|=h&~(x&~a))}function jr(t,a,i){t.pendingLanes|=a,t.suspendedLanes&=~a;var l=31-bn(a);t.entangledLanes|=a,t.entanglements[l]=t.entanglements[l]|1073741824|i&261930}function Ar(t,a){var i=t.entangledLanes|=a;for(t=t.entanglements;i;){var l=31-bn(i),p=1<<l;p&a|t[l]&a&&(t[l]|=a),i&=~p}}function Cr(t,a){var i=a&-a;return i=(i&42)!==0?1:Nr(i),(i&(t.suspendedLanes|a))!==0?0:i}function Nr(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 _r(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function so(){var t=ee.p;return t!==0?t:(t=window.event,t===void 0?32:hb(t.type))}function cc(t,a){var i=ee.p;try{return ee.p=t,a()}finally{ee.p=i}}var Qn=Math.random().toString(36).slice(2),Mt="__reactFiber$"+Qn,un="__reactProps$"+Qn,ki="__reactContainer$"+Qn,oo="__reactEvents$"+Qn,uc="__reactListeners$"+Qn,ro="__reactHandles$"+Qn,On="__reactResources$"+Qn,wi="__reactMarker$"+Qn;function zr(t){delete t[Mt],delete t[un],delete t[oo],delete t[uc],delete t[ro]}function Ha(t){var a=t[Mt];if(a)return a;for(var i=t.parentNode;i;){if(a=i[ki]||i[Mt]){if(i=a.alternate,a.child!==null||i!==null&&i.child!==null)for(t=Jy(t);t!==null;){if(i=t[Mt])return i;t=Jy(t)}return a}t=i,i=t.parentNode}return null}function Si(t){if(t=t[Mt]||t[ki]){var a=t.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return t}return null}function ji(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t.stateNode;throw Error(r(33))}function Ai(t){var a=t[On];return a||(a=t[On]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function qt(t){t[wi]=!0}var Er=new Set,Tr={};function za(t,a){vs(t,a),vs(t+"Capture",a)}function vs(t,a){for(Tr[t]=a,t=0;t<a.length;t++)Er.add(a[t])}var Rr=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]*$"),Dr={},Ea={};function Hd(t){return Ie.call(Ea,t)?!0:Ie.call(Dr,t)?!1:Rr.test(t)?Ea[t]=!0:(Dr[t]=!0,!1)}function Qa(t,a,i){if(Hd(a))if(i===null)t.removeAttribute(a);else{switch(typeof i){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,""+i)}}function xs(t,a,i){if(i===null)t.removeAttribute(a);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(a);return}t.setAttribute(a,""+i)}}function nn(t,a,i,l){if(l===null)t.removeAttribute(i);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(i);return}t.setAttributeNS(a,i,""+l)}}function dn(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Ci(t){var a=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function Qd(t,a,i){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,h=l.set;return Object.defineProperty(t,a,{configurable:!0,get:function(){return p.call(this)},set:function(x){i=""+x,h.call(this,x)}}),Object.defineProperty(t,a,{enumerable:l.enumerable}),{getValue:function(){return i},setValue:function(x){i=""+x},stopTracking:function(){t._valueTracker=null,delete t[a]}}}}function Or(t){if(!t._valueTracker){var a=Ci(t)?"checked":"value";t._valueTracker=Qd(t,a,""+t[a])}}function Ta(t){if(!t)return!1;var a=t._valueTracker;if(!a)return!0;var i=a.getValue(),l="";return t&&(l=Ci(t)?t.checked?"true":"false":t.value),t=l,t!==i?(a.setValue(t),!0):!1}function Ni(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 dc=/[\n"\\]/g;function mn(t){return t.replace(dc,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function lo(t,a,i,l,p,h,x,w){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=""+dn(a)):t.value!==""+dn(a)&&(t.value=""+dn(a)):x!=="submit"&&x!=="reset"||t.removeAttribute("value"),a!=null?co(t,x,dn(a)):i!=null?co(t,x,dn(i)):l!=null&&t.removeAttribute("value"),p==null&&h!=null&&(t.defaultChecked=!!h),p!=null&&(t.checked=p&&typeof p!="function"&&typeof p!="symbol"),w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?t.name=""+dn(w):t.removeAttribute("name")}function qr(t,a,i,l,p,h,x,w){if(h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(t.type=h),a!=null||i!=null){if(!(h!=="submit"&&h!=="reset"||a!=null)){Or(t);return}i=i!=null?""+dn(i):"",a=a!=null?""+dn(a):i,w||a===t.value||(t.value=a),t.defaultValue=a}l=l??p,l=typeof l!="function"&&typeof l!="symbol"&&!!l,t.checked=w?t.checked:!!l,t.defaultChecked=!!l,x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.name=x),Or(t)}function co(t,a,i){a==="number"&&Ni(t.ownerDocument)===t||t.defaultValue===""+i||(t.defaultValue=""+i)}function An(t,a,i,l){if(t=t.options,a){a={};for(var p=0;p<i.length;p++)a["$"+i[p]]=!0;for(i=0;i<t.length;i++)p=a.hasOwnProperty("$"+t[i].value),t[i].selected!==p&&(t[i].selected=p),p&&l&&(t[i].defaultSelected=!0)}else{for(i=""+dn(i),a=null,p=0;p<t.length;p++){if(t[p].value===i){t[p].selected=!0,l&&(t[p].defaultSelected=!0);return}a!==null||t[p].disabled||(a=t[p])}a!==null&&(a.selected=!0)}}function qn(t,a,i){if(a!=null&&(a=""+dn(a),a!==t.value&&(t.value=a),i==null)){t.defaultValue!==a&&(t.defaultValue=a);return}t.defaultValue=i!=null?""+dn(i):""}function Fa(t,a,i,l){if(a==null){if(l!=null){if(i!=null)throw Error(r(92));if(be(l)){if(1<l.length)throw Error(r(93));l=l[0]}i=l}i==null&&(i=""),a=i}i=dn(a),t.defaultValue=i,l=t.textContent,l===i&&l!==""&&l!==null&&(t.value=l),Or(t)}function Fn(t,a){if(a){var i=t.firstChild;if(i&&i===t.lastChild&&i.nodeType===3){i.nodeValue=a;return}}t.textContent=a}var Zn=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 Fd(t,a,i){var l=a.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?l?t.setProperty(a,""):a==="float"?t.cssFloat="":t[a]="":l?t.setProperty(a,i):typeof i!="number"||i===0||Zn.has(a)?a==="float"?t.cssFloat=i:t[a]=(""+i).trim():t[a]=i+"px"}function Ra(t,a,i){if(a!=null&&typeof a!="object")throw Error(r(62));if(t=t.style,i!=null){for(var l in i)!i.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)&&i[p]!==l&&Fd(t,p,l)}else for(var h in a)a.hasOwnProperty(h)&&Fd(t,h,a[h])}function pa(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 uo=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"]]),Zd=/^[\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 mo(t){return Zd.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function ha(){}var Pr=null;function Br(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Za=null,vn=null;function po(t){var a=Si(t);if(a&&(t=a.stateNode)){var i=t[un]||null;e:switch(t=a.stateNode,a.type){case"input":if(lo(t,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),a=i.name,i.type==="radio"&&a!=null){for(i=t;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+mn(""+a)+'"][type="radio"]'),a=0;a<i.length;a++){var l=i[a];if(l!==t&&l.form===t.form){var p=l[un]||null;if(!p)throw Error(r(90));lo(l,p.value,p.defaultValue,p.defaultValue,p.checked,p.defaultChecked,p.type,p.name)}}for(a=0;a<i.length;a++)l=i[a],l.form===t.form&&Ta(l)}break e;case"textarea":qn(t,i.value,i.defaultValue);break e;case"select":a=i.value,a!=null&&An(t,!!i.multiple,a,!1)}}}var Ir=!1;function mc(t,a,i){if(Ir)return t(a,i);Ir=!0;try{var l=t(a);return l}finally{if(Ir=!1,(Za!==null||vn!==null)&&(Yc(),Za&&(a=Za,t=vn,vn=Za=null,po(a),t)))for(a=0;a<t.length;a++)po(t[a])}}function ks(t,a){var i=t.stateNode;if(i===null)return null;var l=i[un]||null;if(l===null)return null;i=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(i&&typeof i!="function")throw Error(r(231,a,typeof i));return i}var Yn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Mr=!1;if(Yn)try{var ws={};Object.defineProperty(ws,"passive",{get:function(){Mr=!0}}),window.addEventListener("test",ws,ws),window.removeEventListener("test",ws,ws)}catch{Mr=!1}var Da=null,G=null,Me=null;function Ya(){if(Me)return Me;var t,a=G,i=a.length,l,p="value"in Da?Da.value:Da.textContent,h=p.length;for(t=0;t<i&&a[t]===p[t];t++);var x=i-t;for(l=1;l<=x&&a[i-l]===p[h-l];l++);return Me=p.slice(t,1<l?1-l:void 0)}function fa(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 ho(){return!0}function pc(){return!1}function an(t){function a(i,l,p,h,x){this._reactName=i,this._targetInst=p,this.type=l,this.nativeEvent=h,this.target=x,this.currentTarget=null;for(var w in t)t.hasOwnProperty(w)&&(i=t[w],this[w]=i?i(h):h[w]);return this.isDefaultPrevented=(h.defaultPrevented!=null?h.defaultPrevented:h.returnValue===!1)?ho:pc,this.isPropagationStopped=pc,this}return A(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=ho)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=ho)},persist:function(){},isPersistent:ho}),a}var Oa={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ss=an(Oa),js=A({},Oa,{view:0,detail:0}),As=an(js),ga,Yd,Vr,hc=A({},js,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Jd,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!==Vr&&(Vr&&t.type==="mousemove"?(ga=t.screenX-Vr.screenX,Yd=t.screenY-Vr.screenY):Yd=ga=0,Vr=t),ga)},movementY:function(t){return"movementY"in t?t.movementY:Yd}}),Qf=an(hc),aj=A({},hc,{dataTransfer:0}),ij=an(aj),sj=A({},js,{relatedTarget:0}),Xd=an(sj),oj=A({},Oa,{animationName:0,elapsedTime:0,pseudoElement:0}),rj=an(oj),lj=A({},Oa,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),cj=an(lj),uj=A({},Oa,{data:0}),Ff=an(uj),dj={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},mj={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"},pj={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function hj(t){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(t):(t=pj[t])?!!a[t]:!1}function Jd(){return hj}var fj=A({},js,{key:function(t){if(t.key){var a=dj[t.key]||t.key;if(a!=="Unidentified")return a}return t.type==="keypress"?(t=fa(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?mj[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Jd,charCode:function(t){return t.type==="keypress"?fa(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?fa(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),gj=an(fj),yj=A({},hc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Zf=an(yj),bj=A({},js,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Jd}),vj=an(bj),xj=A({},Oa,{propertyName:0,elapsedTime:0,pseudoElement:0}),kj=an(xj),wj=A({},hc,{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}),Sj=an(wj),jj=A({},Oa,{newState:0,oldState:0}),Aj=an(jj),Cj=[9,13,27,32],Wd=Yn&&"CompositionEvent"in window,Lr=null;Yn&&"documentMode"in document&&(Lr=document.documentMode);var Nj=Yn&&"TextEvent"in window&&!Lr,Yf=Yn&&(!Wd||Lr&&8<Lr&&11>=Lr),Xf=" ",Jf=!1;function Wf(t,a){switch(t){case"keyup":return Cj.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function eg(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var fo=!1;function _j(t,a){switch(t){case"compositionend":return eg(a);case"keypress":return a.which!==32?null:(Jf=!0,Xf);case"textInput":return t=a.data,t===Xf&&Jf?null:t;default:return null}}function zj(t,a){if(fo)return t==="compositionend"||!Wd&&Wf(t,a)?(t=Ya(),Me=G=Da=null,fo=!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 Yf&&a.locale!=="ko"?null:a.data;default:return null}}var Ej={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 tg(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a==="input"?!!Ej[t.type]:a==="textarea"}function ng(t,a,i,l){Za?vn?vn.push(l):vn=[l]:Za=l,a=au(a,"onChange"),0<a.length&&(i=new Ss("onChange","change",null,i,l),t.push({event:i,listeners:a}))}var Ur=null,Gr=null;function Tj(t){Iy(t,0)}function fc(t){var a=ji(t);if(Ta(a))return t}function ag(t,a){if(t==="change")return a}var ig=!1;if(Yn){var em;if(Yn){var tm="oninput"in document;if(!tm){var sg=document.createElement("div");sg.setAttribute("oninput","return;"),tm=typeof sg.oninput=="function"}em=tm}else em=!1;ig=em&&(!document.documentMode||9<document.documentMode)}function og(){Ur&&(Ur.detachEvent("onpropertychange",rg),Gr=Ur=null)}function rg(t){if(t.propertyName==="value"&&fc(Gr)){var a=[];ng(a,Gr,t,Br(t)),mc(Tj,a)}}function Rj(t,a,i){t==="focusin"?(og(),Ur=a,Gr=i,Ur.attachEvent("onpropertychange",rg)):t==="focusout"&&og()}function Dj(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return fc(Gr)}function Oj(t,a){if(t==="click")return fc(a)}function qj(t,a){if(t==="input"||t==="change")return fc(a)}function Pj(t,a){return t===a&&(t!==0||1/t===1/a)||t!==t&&a!==a}var Pn=typeof Object.is=="function"?Object.is:Pj;function $r(t,a){if(Pn(t,a))return!0;if(typeof t!="object"||t===null||typeof a!="object"||a===null)return!1;var i=Object.keys(t),l=Object.keys(a);if(i.length!==l.length)return!1;for(l=0;l<i.length;l++){var p=i[l];if(!Ie.call(a,p)||!Pn(t[p],a[p]))return!1}return!0}function lg(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function cg(t,a){var i=lg(t);t=0;for(var l;i;){if(i.nodeType===3){if(l=t+i.textContent.length,t<=a&&l>=a)return{node:i,offset:a-t};t=l}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=lg(i)}}function ug(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?ug(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function dg(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var a=Ni(t.document);a instanceof t.HTMLIFrameElement;){try{var i=typeof a.contentWindow.location.href=="string"}catch{i=!1}if(i)t=a.contentWindow;else break;a=Ni(t.document)}return a}function nm(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 Bj=Yn&&"documentMode"in document&&11>=document.documentMode,go=null,am=null,Kr=null,im=!1;function mg(t,a,i){var l=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;im||go==null||go!==Ni(l)||(l=go,"selectionStart"in l&&nm(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}),Kr&&$r(Kr,l)||(Kr=l,l=au(am,"onSelect"),0<l.length&&(a=new Ss("onSelect","select",null,a,i),t.push({event:a,listeners:l}),a.target=go)))}function Cs(t,a){var i={};return i[t.toLowerCase()]=a.toLowerCase(),i["Webkit"+t]="webkit"+a,i["Moz"+t]="moz"+a,i}var yo={animationend:Cs("Animation","AnimationEnd"),animationiteration:Cs("Animation","AnimationIteration"),animationstart:Cs("Animation","AnimationStart"),transitionrun:Cs("Transition","TransitionRun"),transitionstart:Cs("Transition","TransitionStart"),transitioncancel:Cs("Transition","TransitionCancel"),transitionend:Cs("Transition","TransitionEnd")},sm={},pg={};Yn&&(pg=document.createElement("div").style,"AnimationEvent"in window||(delete yo.animationend.animation,delete yo.animationiteration.animation,delete yo.animationstart.animation),"TransitionEvent"in window||delete yo.transitionend.transition);function Ns(t){if(sm[t])return sm[t];if(!yo[t])return t;var a=yo[t],i;for(i in a)if(a.hasOwnProperty(i)&&i in pg)return sm[t]=a[i];return t}var hg=Ns("animationend"),fg=Ns("animationiteration"),gg=Ns("animationstart"),Ij=Ns("transitionrun"),Mj=Ns("transitionstart"),Vj=Ns("transitioncancel"),yg=Ns("transitionend"),bg=new Map,om="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(" ");om.push("scrollEnd");function ya(t,a){bg.set(t,a),za(a,[t])}var gc=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)},Xn=[],bo=0,rm=0;function yc(){for(var t=bo,a=rm=bo=0;a<t;){var i=Xn[a];Xn[a++]=null;var l=Xn[a];Xn[a++]=null;var p=Xn[a];Xn[a++]=null;var h=Xn[a];if(Xn[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}h!==0&&vg(i,p,h)}}function bc(t,a,i,l){Xn[bo++]=t,Xn[bo++]=a,Xn[bo++]=i,Xn[bo++]=l,rm|=l,t.lanes|=l,t=t.alternate,t!==null&&(t.lanes|=l)}function lm(t,a,i,l){return bc(t,a,i,l),vc(t)}function _s(t,a){return bc(t,null,null,a),vc(t)}function vg(t,a,i){t.lanes|=i;var l=t.alternate;l!==null&&(l.lanes|=i);for(var p=!1,h=t.return;h!==null;)h.childLanes|=i,l=h.alternate,l!==null&&(l.childLanes|=i),h.tag===22&&(t=h.stateNode,t===null||t._visibility&1||(p=!0)),t=h,h=h.return;return t.tag===3?(h=t.stateNode,p&&a!==null&&(p=31-bn(i),t=h.hiddenUpdates,l=t[p],l===null?t[p]=[a]:l.push(a),a.lane=i|536870912),h):null}function vc(t){if(50<pl)throw pl=0,yp=null,Error(r(185));for(var a=t.return;a!==null;)t=a,a=t.return;return t.tag===3?t.stateNode:null}var vo={};function Lj(t,a,i,l){this.tag=t,this.key=i,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 Bn(t,a,i,l){return new Lj(t,a,i,l)}function cm(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Xa(t,a){var i=t.alternate;return i===null?(i=Bn(t.tag,a,t.key,t.mode),i.elementType=t.elementType,i.type=t.type,i.stateNode=t.stateNode,i.alternate=t,t.alternate=i):(i.pendingProps=a,i.type=t.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=t.flags&65011712,i.childLanes=t.childLanes,i.lanes=t.lanes,i.child=t.child,i.memoizedProps=t.memoizedProps,i.memoizedState=t.memoizedState,i.updateQueue=t.updateQueue,a=t.dependencies,i.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},i.sibling=t.sibling,i.index=t.index,i.ref=t.ref,i.refCleanup=t.refCleanup,i}function xg(t,a){t.flags&=65011714;var i=t.alternate;return i===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=i.childLanes,t.lanes=i.lanes,t.child=i.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=i.memoizedProps,t.memoizedState=i.memoizedState,t.updateQueue=i.updateQueue,t.type=i.type,a=i.dependencies,t.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),t}function xc(t,a,i,l,p,h){var x=0;if(l=t,typeof t=="function")cm(t)&&(x=1);else if(typeof t=="string")x=H4(t,i,se.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case Te:return t=Bn(31,i,a,p),t.elementType=Te,t.lanes=h,t;case T:return zs(i.children,p,h,a);case I:x=8,p|=24;break;case X:return t=Bn(12,i,a,p|2),t.elementType=X,t.lanes=h,t;case ie:return t=Bn(13,i,a,p),t.elementType=ie,t.lanes=h,t;case re:return t=Bn(19,i,a,p),t.elementType=re,t.lanes=h,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case V: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,i=Error(r(130,t===null?"null":typeof t,"")),l=null}return a=Bn(x,i,a,p),a.elementType=t,a.type=l,a.lanes=h,a}function zs(t,a,i,l){return t=Bn(7,t,l,a),t.lanes=i,t}function um(t,a,i){return t=Bn(6,t,null,a),t.lanes=i,t}function kg(t){var a=Bn(18,null,null,0);return a.stateNode=t,a}function dm(t,a,i){return a=Bn(4,t.children!==null?t.children:[],t.key,a),a.lanes=i,a.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},a}var wg=new WeakMap;function Jn(t,a){if(typeof t=="object"&&t!==null){var i=wg.get(t);return i!==void 0?i:(a={value:t,source:a,stack:hs(a)},wg.set(t,a),a)}return{value:t,source:a,stack:hs(a)}}var xo=[],ko=0,kc=null,Hr=0,Wn=[],ea=0,_i=null,qa=1,Pa="";function Ja(t,a){xo[ko++]=Hr,xo[ko++]=kc,kc=t,Hr=a}function Sg(t,a,i){Wn[ea++]=qa,Wn[ea++]=Pa,Wn[ea++]=_i,_i=t;var l=qa;t=Pa;var p=32-bn(l)-1;l&=~(1<<p),i+=1;var h=32-bn(a)+p;if(30<h){var x=p-p%5;h=(l&(1<<x)-1).toString(32),l>>=x,p-=x,qa=1<<32-bn(a)+p|i<<p|l,Pa=h+t}else qa=1<<h|i<<p|l,Pa=t}function mm(t){t.return!==null&&(Ja(t,1),Sg(t,1,0))}function pm(t){for(;t===kc;)kc=xo[--ko],xo[ko]=null,Hr=xo[--ko],xo[ko]=null;for(;t===_i;)_i=Wn[--ea],Wn[ea]=null,Pa=Wn[--ea],Wn[ea]=null,qa=Wn[--ea],Wn[ea]=null}function jg(t,a){Wn[ea++]=qa,Wn[ea++]=Pa,Wn[ea++]=_i,qa=a.id,Pa=a.overflow,_i=t}var sn=null,St=null,at=!1,zi=null,ta=!1,hm=Error(r(519));function Ei(t){var a=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Qr(Jn(a,t)),hm}function Ag(t){var a=t.stateNode,i=t.type,l=t.memoizedProps;switch(a[Mt]=t,a[un]=l,i){case"dialog":Xe("cancel",a),Xe("close",a);break;case"iframe":case"object":case"embed":Xe("load",a);break;case"video":case"audio":for(i=0;i<fl.length;i++)Xe(fl[i],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),qr(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),Fa(a,l.value,l.defaultValue,l.children)}i=l.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||a.textContent===""+i||l.suppressHydrationWarning===!0||Uy(a.textContent,i)?(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=ha),a=!0):a=!1,a||Ei(t,!0)}function Cg(t){for(sn=t.return;sn;)switch(sn.tag){case 5:case 31:case 13:ta=!1;return;case 27:case 3:ta=!0;return;default:sn=sn.return}}function wo(t){if(t!==sn)return!1;if(!at)return Cg(t),at=!0,!1;var a=t.tag,i;if((i=a!==3&&a!==27)&&((i=a===5)&&(i=t.type,i=!(i!=="form"&&i!=="button")||Rp(t.type,t.memoizedProps)),i=!i),i&&St&&Ei(t),Cg(t),a===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));St=Xy(t)}else if(a===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));St=Xy(t)}else a===27?(a=St,$i(t.type)?(t=Bp,Bp=null,St=t):St=a):St=sn?aa(t.stateNode.nextSibling):null;return!0}function Es(){St=sn=null,at=!1}function fm(){var t=zi;return t!==null&&(zn===null?zn=t:zn.push.apply(zn,t),zi=null),t}function Qr(t){zi===null?zi=[t]:zi.push(t)}var gm=De(null),Ts=null,Wa=null;function Ti(t,a,i){we(gm,a._currentValue),a._currentValue=i}function ei(t){t._currentValue=gm.current,ze(gm)}function ym(t,a,i){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===i)break;t=t.return}}function bm(t,a,i,l){var p=t.child;for(p!==null&&(p.return=t);p!==null;){var h=p.dependencies;if(h!==null){var x=p.child;h=h.firstContext;e:for(;h!==null;){var w=h;h=p;for(var E=0;E<a.length;E++)if(w.context===a[E]){h.lanes|=i,w=h.alternate,w!==null&&(w.lanes|=i),ym(h.return,i,t),l||(x=null);break e}h=w.next}}else if(p.tag===18){if(x=p.return,x===null)throw Error(r(341));x.lanes|=i,h=x.alternate,h!==null&&(h.lanes|=i),ym(x,i,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 So(t,a,i,l){t=null;for(var p=a,h=!1;p!==null;){if(!h){if((p.flags&524288)!==0)h=!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 w=p.type;Pn(p.pendingProps.value,x.value)||(t!==null?t.push(w):t=[w])}}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(xl):t=[xl])}p=p.return}t!==null&&bm(a,t,i,l),a.flags|=262144}function wc(t){for(t=t.firstContext;t!==null;){if(!Pn(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Rs(t){Ts=t,Wa=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function on(t){return Ng(Ts,t)}function Sc(t,a){return Ts===null&&Rs(t),Ng(t,a)}function Ng(t,a){var i=a._currentValue;if(a={context:a,memoizedValue:i,next:null},Wa===null){if(t===null)throw Error(r(308));Wa=a,t.dependencies={lanes:0,firstContext:a},t.flags|=524288}else Wa=Wa.next=a;return i}var Uj=typeof AbortController<"u"?AbortController:function(){var t=[],a=this.signal={aborted:!1,addEventListener:function(i,l){t.push(l)}};this.abort=function(){a.aborted=!0,t.forEach(function(i){return i()})}},Gj=e.unstable_scheduleCallback,$j=e.unstable_NormalPriority,Vt={$$typeof:V,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function vm(){return{controller:new Uj,data:new Map,refCount:0}}function Fr(t){t.refCount--,t.refCount===0&&Gj($j,function(){t.controller.abort()})}var Zr=null,xm=0,jo=0,Ao=null;function Kj(t,a){if(Zr===null){var i=Zr=[];xm=0,jo=Sp(),Ao={status:"pending",value:void 0,then:function(l){i.push(l)}}}return xm++,a.then(_g,_g),a}function _g(){if(--xm===0&&Zr!==null){Ao!==null&&(Ao.status="fulfilled");var t=Zr;Zr=null,jo=0,Ao=null;for(var a=0;a<t.length;a++)(0,t[a])()}}function Hj(t,a){var i=[],l={status:"pending",value:null,reason:null,then:function(p){i.push(p)}};return t.then(function(){l.status="fulfilled",l.value=a;for(var p=0;p<i.length;p++)(0,i[p])(a)},function(p){for(l.status="rejected",l.reason=p,p=0;p<i.length;p++)(0,i[p])(void 0)}),l}var zg=B.S;B.S=function(t,a){my=tn(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&Kj(t,a),zg!==null&&zg(t,a)};var Ds=De(null);function km(){var t=Ds.current;return t!==null?t:bt.pooledCache}function jc(t,a){a===null?we(Ds,Ds.current):we(Ds,a.pool)}function Eg(){var t=km();return t===null?null:{parent:Vt._currentValue,pool:t}}var Co=Error(r(460)),wm=Error(r(474)),Ac=Error(r(542)),Cc={then:function(){}};function Tg(t){return t=t.status,t==="fulfilled"||t==="rejected"}function Rg(t,a,i){switch(i=t[i],i===void 0?t.push(a):i!==a&&(a.then(ha,ha),a=i),a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,Og(t),t;default:if(typeof a.status=="string")a.then(ha,ha);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,Og(t),t}throw qs=a,Co}}function Os(t){try{var a=t._init;return a(t._payload)}catch(i){throw i!==null&&typeof i=="object"&&typeof i.then=="function"?(qs=i,Co):i}}var qs=null;function Dg(){if(qs===null)throw Error(r(459));var t=qs;return qs=null,t}function Og(t){if(t===Co||t===Ac)throw Error(r(483))}var No=null,Yr=0;function Nc(t){var a=Yr;return Yr+=1,No===null&&(No=[]),Rg(No,t,a)}function Xr(t,a){a=a.props.ref,t.ref=a!==void 0?a:null}function _c(t,a){throw a.$$typeof===z?Error(r(525)):(t=Object.prototype.toString.call(a),Error(r(31,t==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":t)))}function qg(t){function a(P,R){if(t){var M=P.deletions;M===null?(P.deletions=[R],P.flags|=16):M.push(R)}}function i(P,R){if(!t)return null;for(;R!==null;)a(P,R),R=R.sibling;return null}function l(P){for(var R=new Map;P!==null;)P.key!==null?R.set(P.key,P):R.set(P.index,P),P=P.sibling;return R}function p(P,R){return P=Xa(P,R),P.index=0,P.sibling=null,P}function h(P,R,M){return P.index=M,t?(M=P.alternate,M!==null?(M=M.index,M<R?(P.flags|=67108866,R):M):(P.flags|=67108866,R)):(P.flags|=1048576,R)}function x(P){return t&&P.alternate===null&&(P.flags|=67108866),P}function w(P,R,M,te){return R===null||R.tag!==6?(R=um(M,P.mode,te),R.return=P,R):(R=p(R,M),R.return=P,R)}function E(P,R,M,te){var Ee=M.type;return Ee===T?Z(P,R,M.props.children,te,M.key):R!==null&&(R.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===K&&Os(Ee)===R.type)?(R=p(R,M.props),Xr(R,M),R.return=P,R):(R=xc(M.type,M.key,M.props,null,P.mode,te),Xr(R,M),R.return=P,R)}function L(P,R,M,te){return R===null||R.tag!==4||R.stateNode.containerInfo!==M.containerInfo||R.stateNode.implementation!==M.implementation?(R=dm(M,P.mode,te),R.return=P,R):(R=p(R,M.children||[]),R.return=P,R)}function Z(P,R,M,te,Ee){return R===null||R.tag!==7?(R=zs(M,P.mode,te,Ee),R.return=P,R):(R=p(R,M),R.return=P,R)}function ne(P,R,M){if(typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint")return R=um(""+R,P.mode,M),R.return=P,R;if(typeof R=="object"&&R!==null){switch(R.$$typeof){case C:return M=xc(R.type,R.key,R.props,null,P.mode,M),Xr(M,R),M.return=P,M;case F:return R=dm(R,P.mode,M),R.return=P,R;case K:return R=Os(R),ne(P,R,M)}if(be(R)||Re(R))return R=zs(R,P.mode,M,null),R.return=P,R;if(typeof R.then=="function")return ne(P,Nc(R),M);if(R.$$typeof===V)return ne(P,Sc(P,R),M);_c(P,R)}return null}function $(P,R,M,te){var Ee=R!==null?R.key:null;if(typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint")return Ee!==null?null:w(P,R,""+M,te);if(typeof M=="object"&&M!==null){switch(M.$$typeof){case C:return M.key===Ee?E(P,R,M,te):null;case F:return M.key===Ee?L(P,R,M,te):null;case K:return M=Os(M),$(P,R,M,te)}if(be(M)||Re(M))return Ee!==null?null:Z(P,R,M,te,null);if(typeof M.then=="function")return $(P,R,Nc(M),te);if(M.$$typeof===V)return $(P,R,Sc(P,M),te);_c(P,M)}return null}function Q(P,R,M,te,Ee){if(typeof te=="string"&&te!==""||typeof te=="number"||typeof te=="bigint")return P=P.get(M)||null,w(R,P,""+te,Ee);if(typeof te=="object"&&te!==null){switch(te.$$typeof){case C:return P=P.get(te.key===null?M:te.key)||null,E(R,P,te,Ee);case F:return P=P.get(te.key===null?M:te.key)||null,L(R,P,te,Ee);case K:return te=Os(te),Q(P,R,M,te,Ee)}if(be(te)||Re(te))return P=P.get(M)||null,Z(R,P,te,Ee,null);if(typeof te.then=="function")return Q(P,R,M,Nc(te),Ee);if(te.$$typeof===V)return Q(P,R,M,Sc(R,te),Ee);_c(R,te)}return null}function ve(P,R,M,te){for(var Ee=null,ot=null,Ae=R,Ke=R=0,We=null;Ae!==null&&Ke<M.length;Ke++){Ae.index>Ke?(We=Ae,Ae=null):We=Ae.sibling;var rt=$(P,Ae,M[Ke],te);if(rt===null){Ae===null&&(Ae=We);break}t&&Ae&&rt.alternate===null&&a(P,Ae),R=h(rt,R,Ke),ot===null?Ee=rt:ot.sibling=rt,ot=rt,Ae=We}if(Ke===M.length)return i(P,Ae),at&&Ja(P,Ke),Ee;if(Ae===null){for(;Ke<M.length;Ke++)Ae=ne(P,M[Ke],te),Ae!==null&&(R=h(Ae,R,Ke),ot===null?Ee=Ae:ot.sibling=Ae,ot=Ae);return at&&Ja(P,Ke),Ee}for(Ae=l(Ae);Ke<M.length;Ke++)We=Q(Ae,P,Ke,M[Ke],te),We!==null&&(t&&We.alternate!==null&&Ae.delete(We.key===null?Ke:We.key),R=h(We,R,Ke),ot===null?Ee=We:ot.sibling=We,ot=We);return t&&Ae.forEach(function(Zi){return a(P,Zi)}),at&&Ja(P,Ke),Ee}function qe(P,R,M,te){if(M==null)throw Error(r(151));for(var Ee=null,ot=null,Ae=R,Ke=R=0,We=null,rt=M.next();Ae!==null&&!rt.done;Ke++,rt=M.next()){Ae.index>Ke?(We=Ae,Ae=null):We=Ae.sibling;var Zi=$(P,Ae,rt.value,te);if(Zi===null){Ae===null&&(Ae=We);break}t&&Ae&&Zi.alternate===null&&a(P,Ae),R=h(Zi,R,Ke),ot===null?Ee=Zi:ot.sibling=Zi,ot=Zi,Ae=We}if(rt.done)return i(P,Ae),at&&Ja(P,Ke),Ee;if(Ae===null){for(;!rt.done;Ke++,rt=M.next())rt=ne(P,rt.value,te),rt!==null&&(R=h(rt,R,Ke),ot===null?Ee=rt:ot.sibling=rt,ot=rt);return at&&Ja(P,Ke),Ee}for(Ae=l(Ae);!rt.done;Ke++,rt=M.next())rt=Q(Ae,P,Ke,rt.value,te),rt!==null&&(t&&rt.alternate!==null&&Ae.delete(rt.key===null?Ke:rt.key),R=h(rt,R,Ke),ot===null?Ee=rt:ot.sibling=rt,ot=rt);return t&&Ae.forEach(function(aA){return a(P,aA)}),at&&Ja(P,Ke),Ee}function gt(P,R,M,te){if(typeof M=="object"&&M!==null&&M.type===T&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case C:e:{for(var Ee=M.key;R!==null;){if(R.key===Ee){if(Ee=M.type,Ee===T){if(R.tag===7){i(P,R.sibling),te=p(R,M.props.children),te.return=P,P=te;break e}}else if(R.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===K&&Os(Ee)===R.type){i(P,R.sibling),te=p(R,M.props),Xr(te,M),te.return=P,P=te;break e}i(P,R);break}else a(P,R);R=R.sibling}M.type===T?(te=zs(M.props.children,P.mode,te,M.key),te.return=P,P=te):(te=xc(M.type,M.key,M.props,null,P.mode,te),Xr(te,M),te.return=P,P=te)}return x(P);case F:e:{for(Ee=M.key;R!==null;){if(R.key===Ee)if(R.tag===4&&R.stateNode.containerInfo===M.containerInfo&&R.stateNode.implementation===M.implementation){i(P,R.sibling),te=p(R,M.children||[]),te.return=P,P=te;break e}else{i(P,R);break}else a(P,R);R=R.sibling}te=dm(M,P.mode,te),te.return=P,P=te}return x(P);case K:return M=Os(M),gt(P,R,M,te)}if(be(M))return ve(P,R,M,te);if(Re(M)){if(Ee=Re(M),typeof Ee!="function")throw Error(r(150));return M=Ee.call(M),qe(P,R,M,te)}if(typeof M.then=="function")return gt(P,R,Nc(M),te);if(M.$$typeof===V)return gt(P,R,Sc(P,M),te);_c(P,M)}return typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint"?(M=""+M,R!==null&&R.tag===6?(i(P,R.sibling),te=p(R,M),te.return=P,P=te):(i(P,R),te=um(M,P.mode,te),te.return=P,P=te),x(P)):i(P,R)}return function(P,R,M,te){try{Yr=0;var Ee=gt(P,R,M,te);return No=null,Ee}catch(Ae){if(Ae===Co||Ae===Ac)throw Ae;var ot=Bn(29,Ae,null,P.mode);return ot.lanes=te,ot.return=P,ot}}}var Ps=qg(!0),Pg=qg(!1),Ri=!1;function Sm(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function jm(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 Di(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Oi(t,a,i){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=vc(t),vg(t,null,i),a}return bc(t,l,a,i),vc(t)}function Jr(t,a,i){if(a=a.updateQueue,a!==null&&(a=a.shared,(i&4194048)!==0)){var l=a.lanes;l&=t.pendingLanes,i|=l,a.lanes=i,Ar(t,i)}}function Am(t,a){var i=t.updateQueue,l=t.alternate;if(l!==null&&(l=l.updateQueue,i===l)){var p=null,h=null;if(i=i.firstBaseUpdate,i!==null){do{var x={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};h===null?p=h=x:h=h.next=x,i=i.next}while(i!==null);h===null?p=h=a:h=h.next=a}else p=h=a;i={baseState:l.baseState,firstBaseUpdate:p,lastBaseUpdate:h,shared:l.shared,callbacks:l.callbacks},t.updateQueue=i;return}t=i.lastBaseUpdate,t===null?i.firstBaseUpdate=a:t.next=a,i.lastBaseUpdate=a}var Cm=!1;function Wr(){if(Cm){var t=Ao;if(t!==null)throw t}}function el(t,a,i,l){Cm=!1;var p=t.updateQueue;Ri=!1;var h=p.firstBaseUpdate,x=p.lastBaseUpdate,w=p.shared.pending;if(w!==null){p.shared.pending=null;var E=w,L=E.next;E.next=null,x===null?h=L:x.next=L,x=E;var Z=t.alternate;Z!==null&&(Z=Z.updateQueue,w=Z.lastBaseUpdate,w!==x&&(w===null?Z.firstBaseUpdate=L:w.next=L,Z.lastBaseUpdate=E))}if(h!==null){var ne=p.baseState;x=0,Z=L=E=null,w=h;do{var $=w.lane&-536870913,Q=$!==w.lane;if(Q?(Je&$)===$:(l&$)===$){$!==0&&$===jo&&(Cm=!0),Z!==null&&(Z=Z.next={lane:0,tag:w.tag,payload:w.payload,callback:null,next:null});e:{var ve=t,qe=w;$=a;var gt=i;switch(qe.tag){case 1:if(ve=qe.payload,typeof ve=="function"){ne=ve.call(gt,ne,$);break e}ne=ve;break e;case 3:ve.flags=ve.flags&-65537|128;case 0:if(ve=qe.payload,$=typeof ve=="function"?ve.call(gt,ne,$):ve,$==null)break e;ne=A({},ne,$);break e;case 2:Ri=!0}}$=w.callback,$!==null&&(t.flags|=64,Q&&(t.flags|=8192),Q=p.callbacks,Q===null?p.callbacks=[$]:Q.push($))}else Q={lane:$,tag:w.tag,payload:w.payload,callback:w.callback,next:null},Z===null?(L=Z=Q,E=ne):Z=Z.next=Q,x|=$;if(w=w.next,w===null){if(w=p.shared.pending,w===null)break;Q=w,w=Q.next,Q.next=null,p.lastBaseUpdate=Q,p.shared.pending=null}}while(!0);Z===null&&(E=ne),p.baseState=E,p.firstBaseUpdate=L,p.lastBaseUpdate=Z,h===null&&(p.shared.lanes=0),Mi|=x,t.lanes=x,t.memoizedState=ne}}function Bg(t,a){if(typeof t!="function")throw Error(r(191,t));t.call(a)}function Ig(t,a){var i=t.callbacks;if(i!==null)for(t.callbacks=null,t=0;t<i.length;t++)Bg(i[t],a)}var _o=De(null),zc=De(0);function Mg(t,a){t=ci,we(zc,t),we(_o,a),ci=t|a.baseLanes}function Nm(){we(zc,ci),we(_o,_o.current)}function _m(){ci=zc.current,ze(_o),ze(zc)}var In=De(null),na=null;function qi(t){var a=t.alternate;we(Pt,Pt.current&1),we(In,t),na===null&&(a===null||_o.current!==null||a.memoizedState!==null)&&(na=t)}function zm(t){we(Pt,Pt.current),we(In,t),na===null&&(na=t)}function Vg(t){t.tag===22?(we(Pt,Pt.current),we(In,t),na===null&&(na=t)):Pi()}function Pi(){we(Pt,Pt.current),we(In,In.current)}function Mn(t){ze(In),na===t&&(na=null),ze(Pt)}var Pt=De(0);function Ec(t){for(var a=t;a!==null;){if(a.tag===13){var i=a.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||qp(i)||Pp(i)))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 ti=0,Ge=null,ht=null,Lt=null,Tc=!1,zo=!1,Bs=!1,Rc=0,tl=0,Eo=null,Qj=0;function Dt(){throw Error(r(321))}function Em(t,a){if(a===null)return!1;for(var i=0;i<a.length&&i<t.length;i++)if(!Pn(t[i],a[i]))return!1;return!0}function Tm(t,a,i,l,p,h){return ti=h,Ge=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,B.H=t===null||t.memoizedState===null?S1:Hm,Bs=!1,h=i(l,p),Bs=!1,zo&&(h=Ug(a,i,l,p)),Lg(t),h}function Lg(t){B.H=il;var a=ht!==null&&ht.next!==null;if(ti=0,Lt=ht=Ge=null,Tc=!1,tl=0,Eo=null,a)throw Error(r(300));t===null||Ut||(t=t.dependencies,t!==null&&wc(t)&&(Ut=!0))}function Ug(t,a,i,l){Ge=t;var p=0;do{if(zo&&(Eo=null),tl=0,zo=!1,25<=p)throw Error(r(301));if(p+=1,Lt=ht=null,t.updateQueue!=null){var h=t.updateQueue;h.lastEffect=null,h.events=null,h.stores=null,h.memoCache!=null&&(h.memoCache.index=0)}B.H=j1,h=a(i,l)}while(zo);return h}function Fj(){var t=B.H,a=t.useState()[0];return a=typeof a.then=="function"?nl(a):a,t=t.useState()[0],(ht!==null?ht.memoizedState:null)!==t&&(Ge.flags|=1024),a}function Rm(){var t=Rc!==0;return Rc=0,t}function Dm(t,a,i){a.updateQueue=t.updateQueue,a.flags&=-2053,t.lanes&=~i}function Om(t){if(Tc){for(t=t.memoizedState;t!==null;){var a=t.queue;a!==null&&(a.pending=null),t=t.next}Tc=!1}ti=0,Lt=ht=Ge=null,zo=!1,tl=Rc=0,Eo=null}function xn(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Lt===null?Ge.memoizedState=Lt=t:Lt=Lt.next=t,Lt}function Bt(){if(ht===null){var t=Ge.alternate;t=t!==null?t.memoizedState:null}else t=ht.next;var a=Lt===null?Ge.memoizedState:Lt.next;if(a!==null)Lt=a,ht=t;else{if(t===null)throw Ge.alternate===null?Error(r(467)):Error(r(310));ht=t,t={memoizedState:ht.memoizedState,baseState:ht.baseState,baseQueue:ht.baseQueue,queue:ht.queue,next:null},Lt===null?Ge.memoizedState=Lt=t:Lt=Lt.next=t}return Lt}function Dc(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function nl(t){var a=tl;return tl+=1,Eo===null&&(Eo=[]),t=Rg(Eo,t,a),a=Ge,(Lt===null?a.memoizedState:Lt.next)===null&&(a=a.alternate,B.H=a===null||a.memoizedState===null?S1:Hm),t}function Oc(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return nl(t);if(t.$$typeof===V)return on(t)}throw Error(r(438,String(t)))}function qm(t){var a=null,i=Ge.updateQueue;if(i!==null&&(a=i.memoCache),a==null){var l=Ge.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}),i===null&&(i=Dc(),Ge.updateQueue=i),i.memoCache=a,i=a.data[a.index],i===void 0)for(i=a.data[a.index]=Array(t),l=0;l<t;l++)i[l]=Qe;return a.index++,i}function ni(t,a){return typeof a=="function"?a(t):a}function qc(t){var a=Bt();return Pm(a,ht,t)}function Pm(t,a,i){var l=t.queue;if(l===null)throw Error(r(311));l.lastRenderedReducer=i;var p=t.baseQueue,h=l.pending;if(h!==null){if(p!==null){var x=p.next;p.next=h.next,h.next=x}a.baseQueue=p=h,l.pending=null}if(h=t.baseState,p===null)t.memoizedState=h;else{a=p.next;var w=x=null,E=null,L=a,Z=!1;do{var ne=L.lane&-536870913;if(ne!==L.lane?(Je&ne)===ne:(ti&ne)===ne){var $=L.revertLane;if($===0)E!==null&&(E=E.next={lane:0,revertLane:0,gesture:null,action:L.action,hasEagerState:L.hasEagerState,eagerState:L.eagerState,next:null}),ne===jo&&(Z=!0);else if((ti&$)===$){L=L.next,$===jo&&(Z=!0);continue}else ne={lane:0,revertLane:L.revertLane,gesture:null,action:L.action,hasEagerState:L.hasEagerState,eagerState:L.eagerState,next:null},E===null?(w=E=ne,x=h):E=E.next=ne,Ge.lanes|=$,Mi|=$;ne=L.action,Bs&&i(h,ne),h=L.hasEagerState?L.eagerState:i(h,ne)}else $={lane:ne,revertLane:L.revertLane,gesture:L.gesture,action:L.action,hasEagerState:L.hasEagerState,eagerState:L.eagerState,next:null},E===null?(w=E=$,x=h):E=E.next=$,Ge.lanes|=ne,Mi|=ne;L=L.next}while(L!==null&&L!==a);if(E===null?x=h:E.next=w,!Pn(h,t.memoizedState)&&(Ut=!0,Z&&(i=Ao,i!==null)))throw i;t.memoizedState=h,t.baseState=x,t.baseQueue=E,l.lastRenderedState=h}return p===null&&(l.lanes=0),[t.memoizedState,l.dispatch]}function Bm(t){var a=Bt(),i=a.queue;if(i===null)throw Error(r(311));i.lastRenderedReducer=t;var l=i.dispatch,p=i.pending,h=a.memoizedState;if(p!==null){i.pending=null;var x=p=p.next;do h=t(h,x.action),x=x.next;while(x!==p);Pn(h,a.memoizedState)||(Ut=!0),a.memoizedState=h,a.baseQueue===null&&(a.baseState=h),i.lastRenderedState=h}return[h,l]}function Gg(t,a,i){var l=Ge,p=Bt(),h=at;if(h){if(i===void 0)throw Error(r(407));i=i()}else i=a();var x=!Pn((ht||p).memoizedState,i);if(x&&(p.memoizedState=i,Ut=!0),p=p.queue,Vm(Hg.bind(null,l,p,t),[t]),p.getSnapshot!==a||x||Lt!==null&&Lt.memoizedState.tag&1){if(l.flags|=2048,To(9,{destroy:void 0},Kg.bind(null,l,p,i,a),null),bt===null)throw Error(r(349));h||(ti&127)!==0||$g(l,a,i)}return i}function $g(t,a,i){t.flags|=16384,t={getSnapshot:a,value:i},a=Ge.updateQueue,a===null?(a=Dc(),Ge.updateQueue=a,a.stores=[t]):(i=a.stores,i===null?a.stores=[t]:i.push(t))}function Kg(t,a,i,l){a.value=i,a.getSnapshot=l,Qg(a)&&Fg(t)}function Hg(t,a,i){return i(function(){Qg(a)&&Fg(t)})}function Qg(t){var a=t.getSnapshot;t=t.value;try{var i=a();return!Pn(t,i)}catch{return!0}}function Fg(t){var a=_s(t,2);a!==null&&En(a,t,2)}function Im(t){var a=xn();if(typeof t=="function"){var i=t;if(t=i(),Bs){Na(!0);try{i()}finally{Na(!1)}}}return a.memoizedState=a.baseState=t,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ni,lastRenderedState:t},a}function Zg(t,a,i,l){return t.baseState=i,Pm(t,ht,typeof l=="function"?l:ni)}function Zj(t,a,i,l,p){if(Ic(t))throw Error(r(485));if(t=a.action,t!==null){var h={payload:p,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(x){h.listeners.push(x)}};B.T!==null?i(!0):h.isTransition=!1,l(h),i=a.pending,i===null?(h.next=a.pending=h,Yg(a,h)):(h.next=i.next,a.pending=i.next=h)}}function Yg(t,a){var i=a.action,l=a.payload,p=t.state;if(a.isTransition){var h=B.T,x={};B.T=x;try{var w=i(p,l),E=B.S;E!==null&&E(x,w),Xg(t,a,w)}catch(L){Mm(t,a,L)}finally{h!==null&&x.types!==null&&(h.types=x.types),B.T=h}}else try{h=i(p,l),Xg(t,a,h)}catch(L){Mm(t,a,L)}}function Xg(t,a,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(l){Jg(t,a,l)},function(l){return Mm(t,a,l)}):Jg(t,a,i)}function Jg(t,a,i){a.status="fulfilled",a.value=i,Wg(a),t.state=i,a=t.pending,a!==null&&(i=a.next,i===a?t.pending=null:(i=i.next,a.next=i,Yg(t,i)))}function Mm(t,a,i){var l=t.pending;if(t.pending=null,l!==null){l=l.next;do a.status="rejected",a.reason=i,Wg(a),a=a.next;while(a!==l)}t.action=null}function Wg(t){t=t.listeners;for(var a=0;a<t.length;a++)(0,t[a])()}function e1(t,a){return a}function t1(t,a){if(at){var i=bt.formState;if(i!==null){e:{var l=Ge;if(at){if(St){t:{for(var p=St,h=ta;p.nodeType!==8;){if(!h){p=null;break t}if(p=aa(p.nextSibling),p===null){p=null;break t}}h=p.data,p=h==="F!"||h==="F"?p:null}if(p){St=aa(p.nextSibling),l=p.data==="F!";break e}}Ei(l)}l=!1}l&&(a=i[0])}}return i=xn(),i.memoizedState=i.baseState=a,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e1,lastRenderedState:a},i.queue=l,i=x1.bind(null,Ge,l),l.dispatch=i,l=Im(!1),h=Km.bind(null,Ge,!1,l.queue),l=xn(),p={state:a,dispatch:null,action:t,pending:null},l.queue=p,i=Zj.bind(null,Ge,p,h,i),p.dispatch=i,l.memoizedState=t,[a,i,!1]}function n1(t){var a=Bt();return a1(a,ht,t)}function a1(t,a,i){if(a=Pm(t,a,e1)[0],t=qc(ni)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var l=nl(a)}catch(x){throw x===Co?Ac:x}else l=a;a=Bt();var p=a.queue,h=p.dispatch;return i!==a.memoizedState&&(Ge.flags|=2048,To(9,{destroy:void 0},Yj.bind(null,p,i),null)),[l,h,t]}function Yj(t,a){t.action=a}function i1(t){var a=Bt(),i=ht;if(i!==null)return a1(a,i,t);Bt(),a=a.memoizedState,i=Bt();var l=i.queue.dispatch;return i.memoizedState=t,[a,l,!1]}function To(t,a,i,l){return t={tag:t,create:i,deps:l,inst:a,next:null},a=Ge.updateQueue,a===null&&(a=Dc(),Ge.updateQueue=a),i=a.lastEffect,i===null?a.lastEffect=t.next=t:(l=i.next,i.next=t,t.next=l,a.lastEffect=t),t}function s1(){return Bt().memoizedState}function Pc(t,a,i,l){var p=xn();Ge.flags|=t,p.memoizedState=To(1|a,{destroy:void 0},i,l===void 0?null:l)}function Bc(t,a,i,l){var p=Bt();l=l===void 0?null:l;var h=p.memoizedState.inst;ht!==null&&l!==null&&Em(l,ht.memoizedState.deps)?p.memoizedState=To(a,h,i,l):(Ge.flags|=t,p.memoizedState=To(1|a,h,i,l))}function o1(t,a){Pc(8390656,8,t,a)}function Vm(t,a){Bc(2048,8,t,a)}function Xj(t){Ge.flags|=4;var a=Ge.updateQueue;if(a===null)a=Dc(),Ge.updateQueue=a,a.events=[t];else{var i=a.events;i===null?a.events=[t]:i.push(t)}}function r1(t){var a=Bt().memoizedState;return Xj({ref:a,nextImpl:t}),function(){if((ct&2)!==0)throw Error(r(440));return a.impl.apply(void 0,arguments)}}function l1(t,a){return Bc(4,2,t,a)}function c1(t,a){return Bc(4,4,t,a)}function u1(t,a){if(typeof a=="function"){t=t();var i=a(t);return function(){typeof i=="function"?i():a(null)}}if(a!=null)return t=t(),a.current=t,function(){a.current=null}}function d1(t,a,i){i=i!=null?i.concat([t]):null,Bc(4,4,u1.bind(null,a,t),i)}function Lm(){}function m1(t,a){var i=Bt();a=a===void 0?null:a;var l=i.memoizedState;return a!==null&&Em(a,l[1])?l[0]:(i.memoizedState=[t,a],t)}function p1(t,a){var i=Bt();a=a===void 0?null:a;var l=i.memoizedState;if(a!==null&&Em(a,l[1]))return l[0];if(l=t(),Bs){Na(!0);try{t()}finally{Na(!1)}}return i.memoizedState=[l,a],l}function Um(t,a,i){return i===void 0||(ti&1073741824)!==0&&(Je&261930)===0?t.memoizedState=a:(t.memoizedState=i,t=hy(),Ge.lanes|=t,Mi|=t,i)}function h1(t,a,i,l){return Pn(i,a)?i:_o.current!==null?(t=Um(t,i,l),Pn(t,a)||(Ut=!0),t):(ti&42)===0||(ti&1073741824)!==0&&(Je&261930)===0?(Ut=!0,t.memoizedState=i):(t=hy(),Ge.lanes|=t,Mi|=t,a)}function f1(t,a,i,l,p){var h=ee.p;ee.p=h!==0&&8>h?h:8;var x=B.T,w={};B.T=w,Km(t,!1,a,i);try{var E=p(),L=B.S;if(L!==null&&L(w,E),E!==null&&typeof E=="object"&&typeof E.then=="function"){var Z=Hj(E,l);al(t,a,Z,Un(t))}else al(t,a,l,Un(t))}catch(ne){al(t,a,{then:function(){},status:"rejected",reason:ne},Un())}finally{ee.p=h,x!==null&&w.types!==null&&(x.types=w.types),B.T=x}}function Jj(){}function Gm(t,a,i,l){if(t.tag!==5)throw Error(r(476));var p=g1(t).queue;f1(t,p,a,pe,i===null?Jj:function(){return y1(t),i(l)})}function g1(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:ni,lastRenderedState:pe},next:null};var i={};return a.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ni,lastRenderedState:i},next:null},t.memoizedState=a,t=t.alternate,t!==null&&(t.memoizedState=a),a}function y1(t){var a=g1(t);a.next===null&&(a=t.alternate.memoizedState),al(t,a.next.queue,{},Un())}function $m(){return on(xl)}function b1(){return Bt().memoizedState}function v1(){return Bt().memoizedState}function Wj(t){for(var a=t.return;a!==null;){switch(a.tag){case 24:case 3:var i=Un();t=Di(i);var l=Oi(a,t,i);l!==null&&(En(l,a,i),Jr(l,a,i)),a={cache:vm()},t.payload=a;return}a=a.return}}function e4(t,a,i){var l=Un();i={lane:l,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Ic(t)?k1(a,i):(i=lm(t,a,i,l),i!==null&&(En(i,t,l),w1(i,a,l)))}function x1(t,a,i){var l=Un();al(t,a,i,l)}function al(t,a,i,l){var p={lane:l,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(Ic(t))k1(a,p);else{var h=t.alternate;if(t.lanes===0&&(h===null||h.lanes===0)&&(h=a.lastRenderedReducer,h!==null))try{var x=a.lastRenderedState,w=h(x,i);if(p.hasEagerState=!0,p.eagerState=w,Pn(w,x))return bc(t,a,p,0),bt===null&&yc(),!1}catch{}if(i=lm(t,a,p,l),i!==null)return En(i,t,l),w1(i,a,l),!0}return!1}function Km(t,a,i,l){if(l={lane:2,revertLane:Sp(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Ic(t)){if(a)throw Error(r(479))}else a=lm(t,i,l,2),a!==null&&En(a,t,2)}function Ic(t){var a=t.alternate;return t===Ge||a!==null&&a===Ge}function k1(t,a){zo=Tc=!0;var i=t.pending;i===null?a.next=a:(a.next=i.next,i.next=a),t.pending=a}function w1(t,a,i){if((i&4194048)!==0){var l=a.lanes;l&=t.pendingLanes,i|=l,a.lanes=i,Ar(t,i)}}var il={readContext:on,use:Oc,useCallback:Dt,useContext:Dt,useEffect:Dt,useImperativeHandle:Dt,useLayoutEffect:Dt,useInsertionEffect:Dt,useMemo:Dt,useReducer:Dt,useRef:Dt,useState:Dt,useDebugValue:Dt,useDeferredValue:Dt,useTransition:Dt,useSyncExternalStore:Dt,useId:Dt,useHostTransitionStatus:Dt,useFormState:Dt,useActionState:Dt,useOptimistic:Dt,useMemoCache:Dt,useCacheRefresh:Dt};il.useEffectEvent=Dt;var S1={readContext:on,use:Oc,useCallback:function(t,a){return xn().memoizedState=[t,a===void 0?null:a],t},useContext:on,useEffect:o1,useImperativeHandle:function(t,a,i){i=i!=null?i.concat([t]):null,Pc(4194308,4,u1.bind(null,a,t),i)},useLayoutEffect:function(t,a){return Pc(4194308,4,t,a)},useInsertionEffect:function(t,a){Pc(4,2,t,a)},useMemo:function(t,a){var i=xn();a=a===void 0?null:a;var l=t();if(Bs){Na(!0);try{t()}finally{Na(!1)}}return i.memoizedState=[l,a],l},useReducer:function(t,a,i){var l=xn();if(i!==void 0){var p=i(a);if(Bs){Na(!0);try{i(a)}finally{Na(!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=e4.bind(null,Ge,t),[l.memoizedState,t]},useRef:function(t){var a=xn();return t={current:t},a.memoizedState=t},useState:function(t){t=Im(t);var a=t.queue,i=x1.bind(null,Ge,a);return a.dispatch=i,[t.memoizedState,i]},useDebugValue:Lm,useDeferredValue:function(t,a){var i=xn();return Um(i,t,a)},useTransition:function(){var t=Im(!1);return t=f1.bind(null,Ge,t.queue,!0,!1),xn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,a,i){var l=Ge,p=xn();if(at){if(i===void 0)throw Error(r(407));i=i()}else{if(i=a(),bt===null)throw Error(r(349));(Je&127)!==0||$g(l,a,i)}p.memoizedState=i;var h={value:i,getSnapshot:a};return p.queue=h,o1(Hg.bind(null,l,h,t),[t]),l.flags|=2048,To(9,{destroy:void 0},Kg.bind(null,l,h,i,a),null),i},useId:function(){var t=xn(),a=bt.identifierPrefix;if(at){var i=Pa,l=qa;i=(l&~(1<<32-bn(l)-1)).toString(32)+i,a="_"+a+"R_"+i,i=Rc++,0<i&&(a+="H"+i.toString(32)),a+="_"}else i=Qj++,a="_"+a+"r_"+i.toString(32)+"_";return t.memoizedState=a},useHostTransitionStatus:$m,useFormState:t1,useActionState:t1,useOptimistic:function(t){var a=xn();a.memoizedState=a.baseState=t;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=i,a=Km.bind(null,Ge,!0,i),i.dispatch=a,[t,a]},useMemoCache:qm,useCacheRefresh:function(){return xn().memoizedState=Wj.bind(null,Ge)},useEffectEvent:function(t){var a=xn(),i={impl:t};return a.memoizedState=i,function(){if((ct&2)!==0)throw Error(r(440));return i.impl.apply(void 0,arguments)}}},Hm={readContext:on,use:Oc,useCallback:m1,useContext:on,useEffect:Vm,useImperativeHandle:d1,useInsertionEffect:l1,useLayoutEffect:c1,useMemo:p1,useReducer:qc,useRef:s1,useState:function(){return qc(ni)},useDebugValue:Lm,useDeferredValue:function(t,a){var i=Bt();return h1(i,ht.memoizedState,t,a)},useTransition:function(){var t=qc(ni)[0],a=Bt().memoizedState;return[typeof t=="boolean"?t:nl(t),a]},useSyncExternalStore:Gg,useId:b1,useHostTransitionStatus:$m,useFormState:n1,useActionState:n1,useOptimistic:function(t,a){var i=Bt();return Zg(i,ht,t,a)},useMemoCache:qm,useCacheRefresh:v1};Hm.useEffectEvent=r1;var j1={readContext:on,use:Oc,useCallback:m1,useContext:on,useEffect:Vm,useImperativeHandle:d1,useInsertionEffect:l1,useLayoutEffect:c1,useMemo:p1,useReducer:Bm,useRef:s1,useState:function(){return Bm(ni)},useDebugValue:Lm,useDeferredValue:function(t,a){var i=Bt();return ht===null?Um(i,t,a):h1(i,ht.memoizedState,t,a)},useTransition:function(){var t=Bm(ni)[0],a=Bt().memoizedState;return[typeof t=="boolean"?t:nl(t),a]},useSyncExternalStore:Gg,useId:b1,useHostTransitionStatus:$m,useFormState:i1,useActionState:i1,useOptimistic:function(t,a){var i=Bt();return ht!==null?Zg(i,ht,t,a):(i.baseState=t,[t,i.queue.dispatch])},useMemoCache:qm,useCacheRefresh:v1};j1.useEffectEvent=r1;function Qm(t,a,i,l){a=t.memoizedState,i=i(l,a),i=i==null?a:A({},a,i),t.memoizedState=i,t.lanes===0&&(t.updateQueue.baseState=i)}var Fm={enqueueSetState:function(t,a,i){t=t._reactInternals;var l=Un(),p=Di(l);p.payload=a,i!=null&&(p.callback=i),a=Oi(t,p,l),a!==null&&(En(a,t,l),Jr(a,t,l))},enqueueReplaceState:function(t,a,i){t=t._reactInternals;var l=Un(),p=Di(l);p.tag=1,p.payload=a,i!=null&&(p.callback=i),a=Oi(t,p,l),a!==null&&(En(a,t,l),Jr(a,t,l))},enqueueForceUpdate:function(t,a){t=t._reactInternals;var i=Un(),l=Di(i);l.tag=2,a!=null&&(l.callback=a),a=Oi(t,l,i),a!==null&&(En(a,t,i),Jr(a,t,i))}};function A1(t,a,i,l,p,h,x){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(l,h,x):a.prototype&&a.prototype.isPureReactComponent?!$r(i,l)||!$r(p,h):!0}function C1(t,a,i,l){t=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(i,l),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(i,l),a.state!==t&&Fm.enqueueReplaceState(a,a.state,null)}function Is(t,a){var i=a;if("ref"in a){i={};for(var l in a)l!=="ref"&&(i[l]=a[l])}if(t=t.defaultProps){i===a&&(i=A({},i));for(var p in t)i[p]===void 0&&(i[p]=t[p])}return i}function N1(t){gc(t)}function _1(t){console.error(t)}function z1(t){gc(t)}function Mc(t,a){try{var i=t.onUncaughtError;i(a.value,{componentStack:a.stack})}catch(l){setTimeout(function(){throw l})}}function E1(t,a,i){try{var l=t.onCaughtError;l(i.value,{componentStack:i.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(p){setTimeout(function(){throw p})}}function Zm(t,a,i){return i=Di(i),i.tag=3,i.payload={element:null},i.callback=function(){Mc(t,a)},i}function T1(t){return t=Di(t),t.tag=3,t}function R1(t,a,i,l){var p=i.type.getDerivedStateFromError;if(typeof p=="function"){var h=l.value;t.payload=function(){return p(h)},t.callback=function(){E1(a,i,l)}}var x=i.stateNode;x!==null&&typeof x.componentDidCatch=="function"&&(t.callback=function(){E1(a,i,l),typeof p!="function"&&(Vi===null?Vi=new Set([this]):Vi.add(this));var w=l.stack;this.componentDidCatch(l.value,{componentStack:w!==null?w:""})})}function t4(t,a,i,l,p){if(i.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(a=i.alternate,a!==null&&So(a,i,p,!0),i=In.current,i!==null){switch(i.tag){case 31:case 13:return na===null?Xc():i.alternate===null&&Ot===0&&(Ot=3),i.flags&=-257,i.flags|=65536,i.lanes=p,l===Cc?i.flags|=16384:(a=i.updateQueue,a===null?i.updateQueue=new Set([l]):a.add(l),xp(t,l,p)),!1;case 22:return i.flags|=65536,l===Cc?i.flags|=16384:(a=i.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([l])},i.updateQueue=a):(i=a.retryQueue,i===null?a.retryQueue=new Set([l]):i.add(l)),xp(t,l,p)),!1}throw Error(r(435,i.tag))}return xp(t,l,p),Xc(),!1}if(at)return a=In.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=p,l!==hm&&(t=Error(r(422),{cause:l}),Qr(Jn(t,i)))):(l!==hm&&(a=Error(r(423),{cause:l}),Qr(Jn(a,i))),t=t.current.alternate,t.flags|=65536,p&=-p,t.lanes|=p,l=Jn(l,i),p=Zm(t.stateNode,l,p),Am(t,p),Ot!==4&&(Ot=2)),!1;var h=Error(r(520),{cause:l});if(h=Jn(h,i),ml===null?ml=[h]:ml.push(h),Ot!==4&&(Ot=2),a===null)return!0;l=Jn(l,i),i=a;do{switch(i.tag){case 3:return i.flags|=65536,t=p&-p,i.lanes|=t,t=Zm(i.stateNode,l,t),Am(i,t),!1;case 1:if(a=i.type,h=i.stateNode,(i.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||h!==null&&typeof h.componentDidCatch=="function"&&(Vi===null||!Vi.has(h))))return i.flags|=65536,p&=-p,i.lanes|=p,p=T1(p),R1(p,t,i,l),Am(i,p),!1}i=i.return}while(i!==null);return!1}var Ym=Error(r(461)),Ut=!1;function rn(t,a,i,l){a.child=t===null?Pg(a,null,i,l):Ps(a,t.child,i,l)}function D1(t,a,i,l,p){i=i.render;var h=a.ref;if("ref"in l){var x={};for(var w in l)w!=="ref"&&(x[w]=l[w])}else x=l;return Rs(a),l=Tm(t,a,i,x,h,p),w=Rm(),t!==null&&!Ut?(Dm(t,a,p),ai(t,a,p)):(at&&w&&mm(a),a.flags|=1,rn(t,a,l,p),a.child)}function O1(t,a,i,l,p){if(t===null){var h=i.type;return typeof h=="function"&&!cm(h)&&h.defaultProps===void 0&&i.compare===null?(a.tag=15,a.type=h,q1(t,a,h,l,p)):(t=xc(i.type,null,l,a,a.mode,p),t.ref=a.ref,t.return=a,a.child=t)}if(h=t.child,!ip(t,p)){var x=h.memoizedProps;if(i=i.compare,i=i!==null?i:$r,i(x,l)&&t.ref===a.ref)return ai(t,a,p)}return a.flags|=1,t=Xa(h,l),t.ref=a.ref,t.return=a,a.child=t}function q1(t,a,i,l,p){if(t!==null){var h=t.memoizedProps;if($r(h,l)&&t.ref===a.ref)if(Ut=!1,a.pendingProps=l=h,ip(t,p))(t.flags&131072)!==0&&(Ut=!0);else return a.lanes=t.lanes,ai(t,a,p)}return Xm(t,a,i,l,p)}function P1(t,a,i,l){var p=l.children,h=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(h=h!==null?h.baseLanes|i:i,t!==null){for(l=a.child=t.child,p=0;l!==null;)p=p|l.lanes|l.childLanes,l=l.sibling;l=p&~h}else l=0,a.child=null;return B1(t,a,h,i,l)}if((i&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},t!==null&&jc(a,h!==null?h.cachePool:null),h!==null?Mg(a,h):Nm(),Vg(a);else return l=a.lanes=536870912,B1(t,a,h!==null?h.baseLanes|i:i,i,l)}else h!==null?(jc(a,h.cachePool),Mg(a,h),Pi(),a.memoizedState=null):(t!==null&&jc(a,null),Nm(),Pi());return rn(t,a,p,i),a.child}function sl(t,a){return t!==null&&t.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function B1(t,a,i,l,p){var h=km();return h=h===null?null:{parent:Vt._currentValue,pool:h},a.memoizedState={baseLanes:i,cachePool:h},t!==null&&jc(a,null),Nm(),Vg(a),t!==null&&So(t,a,l,!0),a.childLanes=p,null}function Vc(t,a){return a=Uc({mode:a.mode,children:a.children},t.mode),a.ref=t.ref,t.child=a,a.return=t,a}function I1(t,a,i){return Ps(a,t.child,null,i),t=Vc(a,a.pendingProps),t.flags|=2,Mn(a),a.memoizedState=null,t}function n4(t,a,i){var l=a.pendingProps,p=(a.flags&128)!==0;if(a.flags&=-129,t===null){if(at){if(l.mode==="hidden")return t=Vc(a,l),a.lanes=536870912,sl(null,t);if(zm(a),(t=St)?(t=Yy(t,ta),t=t!==null&&t.data==="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:_i!==null?{id:qa,overflow:Pa}:null,retryLane:536870912,hydrationErrors:null},i=kg(t),i.return=a,a.child=i,sn=a,St=null)):t=null,t===null)throw Ei(a);return a.lanes=536870912,null}return Vc(a,l)}var h=t.memoizedState;if(h!==null){var x=h.dehydrated;if(zm(a),p)if(a.flags&256)a.flags&=-257,a=I1(t,a,i);else if(a.memoizedState!==null)a.child=t.child,a.flags|=128,a=null;else throw Error(r(558));else if(Ut||So(t,a,i,!1),p=(i&t.childLanes)!==0,Ut||p){if(l=bt,l!==null&&(x=Cr(l,i),x!==0&&x!==h.retryLane))throw h.retryLane=x,_s(t,x),En(l,t,x),Ym;Xc(),a=I1(t,a,i)}else t=h.treeContext,St=aa(x.nextSibling),sn=a,at=!0,zi=null,ta=!1,t!==null&&jg(a,t),a=Vc(a,l),a.flags|=4096;return a}return t=Xa(t.child,{mode:l.mode,children:l.children}),t.ref=a.ref,a.child=t,t.return=a,t}function Lc(t,a){var i=a.ref;if(i===null)t!==null&&t.ref!==null&&(a.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(r(284));(t===null||t.ref!==i)&&(a.flags|=4194816)}}function Xm(t,a,i,l,p){return Rs(a),i=Tm(t,a,i,l,void 0,p),l=Rm(),t!==null&&!Ut?(Dm(t,a,p),ai(t,a,p)):(at&&l&&mm(a),a.flags|=1,rn(t,a,i,p),a.child)}function M1(t,a,i,l,p,h){return Rs(a),a.updateQueue=null,i=Ug(a,l,i,p),Lg(t),l=Rm(),t!==null&&!Ut?(Dm(t,a,h),ai(t,a,h)):(at&&l&&mm(a),a.flags|=1,rn(t,a,i,h),a.child)}function V1(t,a,i,l,p){if(Rs(a),a.stateNode===null){var h=vo,x=i.contextType;typeof x=="object"&&x!==null&&(h=on(x)),h=new i(l,h),a.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,h.updater=Fm,a.stateNode=h,h._reactInternals=a,h=a.stateNode,h.props=l,h.state=a.memoizedState,h.refs={},Sm(a),x=i.contextType,h.context=typeof x=="object"&&x!==null?on(x):vo,h.state=a.memoizedState,x=i.getDerivedStateFromProps,typeof x=="function"&&(Qm(a,i,x,l),h.state=a.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(x=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),x!==h.state&&Fm.enqueueReplaceState(h,h.state,null),el(a,l,h,p),Wr(),h.state=a.memoizedState),typeof h.componentDidMount=="function"&&(a.flags|=4194308),l=!0}else if(t===null){h=a.stateNode;var w=a.memoizedProps,E=Is(i,w);h.props=E;var L=h.context,Z=i.contextType;x=vo,typeof Z=="object"&&Z!==null&&(x=on(Z));var ne=i.getDerivedStateFromProps;Z=typeof ne=="function"||typeof h.getSnapshotBeforeUpdate=="function",w=a.pendingProps!==w,Z||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(w||L!==x)&&C1(a,h,l,x),Ri=!1;var $=a.memoizedState;h.state=$,el(a,l,h,p),Wr(),L=a.memoizedState,w||$!==L||Ri?(typeof ne=="function"&&(Qm(a,i,ne,l),L=a.memoizedState),(E=Ri||A1(a,i,E,l,$,L,x))?(Z||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount()),typeof h.componentDidMount=="function"&&(a.flags|=4194308)):(typeof h.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=l,a.memoizedState=L),h.props=l,h.state=L,h.context=x,l=E):(typeof h.componentDidMount=="function"&&(a.flags|=4194308),l=!1)}else{h=a.stateNode,jm(t,a),x=a.memoizedProps,Z=Is(i,x),h.props=Z,ne=a.pendingProps,$=h.context,L=i.contextType,E=vo,typeof L=="object"&&L!==null&&(E=on(L)),w=i.getDerivedStateFromProps,(L=typeof w=="function"||typeof h.getSnapshotBeforeUpdate=="function")||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(x!==ne||$!==E)&&C1(a,h,l,E),Ri=!1,$=a.memoizedState,h.state=$,el(a,l,h,p),Wr();var Q=a.memoizedState;x!==ne||$!==Q||Ri||t!==null&&t.dependencies!==null&&wc(t.dependencies)?(typeof w=="function"&&(Qm(a,i,w,l),Q=a.memoizedState),(Z=Ri||A1(a,i,Z,l,$,Q,E)||t!==null&&t.dependencies!==null&&wc(t.dependencies))?(L||typeof h.UNSAFE_componentWillUpdate!="function"&&typeof h.componentWillUpdate!="function"||(typeof h.componentWillUpdate=="function"&&h.componentWillUpdate(l,Q,E),typeof h.UNSAFE_componentWillUpdate=="function"&&h.UNSAFE_componentWillUpdate(l,Q,E)),typeof h.componentDidUpdate=="function"&&(a.flags|=4),typeof h.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof h.componentDidUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(a.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(a.flags|=1024),a.memoizedProps=l,a.memoizedState=Q),h.props=l,h.state=Q,h.context=E,l=Z):(typeof h.componentDidUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(a.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(a.flags|=1024),l=!1)}return h=l,Lc(t,a),l=(a.flags&128)!==0,h||l?(h=a.stateNode,i=l&&typeof i.getDerivedStateFromError!="function"?null:h.render(),a.flags|=1,t!==null&&l?(a.child=Ps(a,t.child,null,p),a.child=Ps(a,null,i,p)):rn(t,a,i,p),a.memoizedState=h.state,t=a.child):t=ai(t,a,p),t}function L1(t,a,i,l){return Es(),a.flags|=256,rn(t,a,i,l),a.child}var Jm={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Wm(t){return{baseLanes:t,cachePool:Eg()}}function ep(t,a,i){return t=t!==null?t.childLanes&~i:0,a&&(t|=Ln),t}function U1(t,a,i){var l=a.pendingProps,p=!1,h=(a.flags&128)!==0,x;if((x=h)||(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?qi(a):Pi(),(t=St)?(t=Yy(t,ta),t=t!==null&&t.data!=="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:_i!==null?{id:qa,overflow:Pa}:null,retryLane:536870912,hydrationErrors:null},i=kg(t),i.return=a,a.child=i,sn=a,St=null)):t=null,t===null)throw Ei(a);return Pp(t)?a.lanes=32:a.lanes=536870912,null}var w=l.children;return l=l.fallback,p?(Pi(),p=a.mode,w=Uc({mode:"hidden",children:w},p),l=zs(l,p,i,null),w.return=a,l.return=a,w.sibling=l,a.child=w,l=a.child,l.memoizedState=Wm(i),l.childLanes=ep(t,x,i),a.memoizedState=Jm,sl(null,l)):(qi(a),tp(a,w))}var E=t.memoizedState;if(E!==null&&(w=E.dehydrated,w!==null)){if(h)a.flags&256?(qi(a),a.flags&=-257,a=np(t,a,i)):a.memoizedState!==null?(Pi(),a.child=t.child,a.flags|=128,a=null):(Pi(),w=l.fallback,p=a.mode,l=Uc({mode:"visible",children:l.children},p),w=zs(w,p,i,null),w.flags|=2,l.return=a,w.return=a,l.sibling=w,a.child=l,Ps(a,t.child,null,i),l=a.child,l.memoizedState=Wm(i),l.childLanes=ep(t,x,i),a.memoizedState=Jm,a=sl(null,l));else if(qi(a),Pp(w)){if(x=w.nextSibling&&w.nextSibling.dataset,x)var L=x.dgst;x=L,l=Error(r(419)),l.stack="",l.digest=x,Qr({value:l,source:null,stack:null}),a=np(t,a,i)}else if(Ut||So(t,a,i,!1),x=(i&t.childLanes)!==0,Ut||x){if(x=bt,x!==null&&(l=Cr(x,i),l!==0&&l!==E.retryLane))throw E.retryLane=l,_s(t,l),En(x,t,l),Ym;qp(w)||Xc(),a=np(t,a,i)}else qp(w)?(a.flags|=192,a.child=t.child,a=null):(t=E.treeContext,St=aa(w.nextSibling),sn=a,at=!0,zi=null,ta=!1,t!==null&&jg(a,t),a=tp(a,l.children),a.flags|=4096);return a}return p?(Pi(),w=l.fallback,p=a.mode,E=t.child,L=E.sibling,l=Xa(E,{mode:"hidden",children:l.children}),l.subtreeFlags=E.subtreeFlags&65011712,L!==null?w=Xa(L,w):(w=zs(w,p,i,null),w.flags|=2),w.return=a,l.return=a,l.sibling=w,a.child=l,sl(null,l),l=a.child,w=t.child.memoizedState,w===null?w=Wm(i):(p=w.cachePool,p!==null?(E=Vt._currentValue,p=p.parent!==E?{parent:E,pool:E}:p):p=Eg(),w={baseLanes:w.baseLanes|i,cachePool:p}),l.memoizedState=w,l.childLanes=ep(t,x,i),a.memoizedState=Jm,sl(t.child,l)):(qi(a),i=t.child,t=i.sibling,i=Xa(i,{mode:"visible",children:l.children}),i.return=a,i.sibling=null,t!==null&&(x=a.deletions,x===null?(a.deletions=[t],a.flags|=16):x.push(t)),a.child=i,a.memoizedState=null,i)}function tp(t,a){return a=Uc({mode:"visible",children:a},t.mode),a.return=t,t.child=a}function Uc(t,a){return t=Bn(22,t,null,a),t.lanes=0,t}function np(t,a,i){return Ps(a,t.child,null,i),t=tp(a,a.pendingProps.children),t.flags|=2,a.memoizedState=null,t}function G1(t,a,i){t.lanes|=a;var l=t.alternate;l!==null&&(l.lanes|=a),ym(t.return,a,i)}function ap(t,a,i,l,p,h){var x=t.memoizedState;x===null?t.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:l,tail:i,tailMode:p,treeForkCount:h}:(x.isBackwards=a,x.rendering=null,x.renderingStartTime=0,x.last=l,x.tail=i,x.tailMode=p,x.treeForkCount=h)}function $1(t,a,i){var l=a.pendingProps,p=l.revealOrder,h=l.tail;l=l.children;var x=Pt.current,w=(x&2)!==0;if(w?(x=x&1|2,a.flags|=128):x&=1,we(Pt,x),rn(t,a,l,i),l=at?Hr:0,!w&&t!==null&&(t.flags&128)!==0)e:for(t=a.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&G1(t,i,a);else if(t.tag===19)G1(t,i,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(i=a.child,p=null;i!==null;)t=i.alternate,t!==null&&Ec(t)===null&&(p=i),i=i.sibling;i=p,i===null?(p=a.child,a.child=null):(p=i.sibling,i.sibling=null),ap(a,!1,p,i,h,l);break;case"backwards":case"unstable_legacy-backwards":for(i=null,p=a.child,a.child=null;p!==null;){if(t=p.alternate,t!==null&&Ec(t)===null){a.child=p;break}t=p.sibling,p.sibling=i,i=p,p=t}ap(a,!0,i,null,h,l);break;case"together":ap(a,!1,null,null,void 0,l);break;default:a.memoizedState=null}return a.child}function ai(t,a,i){if(t!==null&&(a.dependencies=t.dependencies),Mi|=a.lanes,(i&a.childLanes)===0)if(t!==null){if(So(t,a,i,!1),(i&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,i=Xa(t,t.pendingProps),a.child=i,i.return=a;t.sibling!==null;)t=t.sibling,i=i.sibling=Xa(t,t.pendingProps),i.return=a;i.sibling=null}return a.child}function ip(t,a){return(t.lanes&a)!==0?!0:(t=t.dependencies,!!(t!==null&&wc(t)))}function a4(t,a,i){switch(a.tag){case 3:Oe(a,a.stateNode.containerInfo),Ti(a,Vt,t.memoizedState.cache),Es();break;case 27:case 5:nt(a);break;case 4:Oe(a,a.stateNode.containerInfo);break;case 10:Ti(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,zm(a),null;break;case 13:var l=a.memoizedState;if(l!==null)return l.dehydrated!==null?(qi(a),a.flags|=128,null):(i&a.child.childLanes)!==0?U1(t,a,i):(qi(a),t=ai(t,a,i),t!==null?t.sibling:null);qi(a);break;case 19:var p=(t.flags&128)!==0;if(l=(i&a.childLanes)!==0,l||(So(t,a,i,!1),l=(i&a.childLanes)!==0),p){if(l)return $1(t,a,i);a.flags|=128}if(p=a.memoizedState,p!==null&&(p.rendering=null,p.tail=null,p.lastEffect=null),we(Pt,Pt.current),l)break;return null;case 22:return a.lanes=0,P1(t,a,i,a.pendingProps);case 24:Ti(a,Vt,t.memoizedState.cache)}return ai(t,a,i)}function K1(t,a,i){if(t!==null)if(t.memoizedProps!==a.pendingProps)Ut=!0;else{if(!ip(t,i)&&(a.flags&128)===0)return Ut=!1,a4(t,a,i);Ut=(t.flags&131072)!==0}else Ut=!1,at&&(a.flags&1048576)!==0&&Sg(a,Hr,a.index);switch(a.lanes=0,a.tag){case 16:e:{var l=a.pendingProps;if(t=Os(a.elementType),a.type=t,typeof t=="function")cm(t)?(l=Is(t,l),a.tag=1,a=V1(null,a,t,l,i)):(a.tag=0,a=Xm(null,a,t,l,i));else{if(t!=null){var p=t.$$typeof;if(p===le){a.tag=11,a=D1(null,a,t,l,i);break e}else if(p===H){a.tag=14,a=O1(null,a,t,l,i);break e}}throw a=Be(t)||t,Error(r(306,a,""))}}return a;case 0:return Xm(t,a,a.type,a.pendingProps,i);case 1:return l=a.type,p=Is(l,a.pendingProps),V1(t,a,l,p,i);case 3:e:{if(Oe(a,a.stateNode.containerInfo),t===null)throw Error(r(387));l=a.pendingProps;var h=a.memoizedState;p=h.element,jm(t,a),el(a,l,null,i);var x=a.memoizedState;if(l=x.cache,Ti(a,Vt,l),l!==h.cache&&bm(a,[Vt],i,!0),Wr(),l=x.element,h.isDehydrated)if(h={element:l,isDehydrated:!1,cache:x.cache},a.updateQueue.baseState=h,a.memoizedState=h,a.flags&256){a=L1(t,a,l,i);break e}else if(l!==p){p=Jn(Error(r(424)),a),Qr(p),a=L1(t,a,l,i);break e}else for(t=a.stateNode.containerInfo,t.nodeType===9?t=t.body:t=t.nodeName==="HTML"?t.ownerDocument.body:t,St=aa(t.firstChild),sn=a,at=!0,zi=null,ta=!0,i=Pg(a,null,l,i),a.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(Es(),l===p){a=ai(t,a,i);break e}rn(t,a,l,i)}a=a.child}return a;case 26:return Lc(t,a),t===null?(i=nb(a.type,null,a.pendingProps,null))?a.memoizedState=i:at||(i=a.type,t=a.pendingProps,l=iu(q.current).createElement(i),l[Mt]=a,l[un]=t,ln(l,i,t),qt(l),a.stateNode=l):a.memoizedState=nb(a.type,t.memoizedProps,a.pendingProps,t.memoizedState),null;case 27:return nt(a),t===null&&at&&(l=a.stateNode=Wy(a.type,a.pendingProps,q.current),sn=a,ta=!0,p=St,$i(a.type)?(Bp=p,St=aa(l.firstChild)):St=p),rn(t,a,a.pendingProps.children,i),Lc(t,a),t===null&&(a.flags|=4194304),a.child;case 5:return t===null&&at&&((p=l=St)&&(l=D4(l,a.type,a.pendingProps,ta),l!==null?(a.stateNode=l,sn=a,St=aa(l.firstChild),ta=!1,p=!0):p=!1),p||Ei(a)),nt(a),p=a.type,h=a.pendingProps,x=t!==null?t.memoizedProps:null,l=h.children,Rp(p,h)?l=null:x!==null&&Rp(p,x)&&(a.flags|=32),a.memoizedState!==null&&(p=Tm(t,a,Fj,null,null,i),xl._currentValue=p),Lc(t,a),rn(t,a,l,i),a.child;case 6:return t===null&&at&&((t=i=St)&&(i=O4(i,a.pendingProps,ta),i!==null?(a.stateNode=i,sn=a,St=null,t=!0):t=!1),t||Ei(a)),null;case 13:return U1(t,a,i);case 4:return Oe(a,a.stateNode.containerInfo),l=a.pendingProps,t===null?a.child=Ps(a,null,l,i):rn(t,a,l,i),a.child;case 11:return D1(t,a,a.type,a.pendingProps,i);case 7:return rn(t,a,a.pendingProps,i),a.child;case 8:return rn(t,a,a.pendingProps.children,i),a.child;case 12:return rn(t,a,a.pendingProps.children,i),a.child;case 10:return l=a.pendingProps,Ti(a,a.type,l.value),rn(t,a,l.children,i),a.child;case 9:return p=a.type._context,l=a.pendingProps.children,Rs(a),p=on(p),l=l(p),a.flags|=1,rn(t,a,l,i),a.child;case 14:return O1(t,a,a.type,a.pendingProps,i);case 15:return q1(t,a,a.type,a.pendingProps,i);case 19:return $1(t,a,i);case 31:return n4(t,a,i);case 22:return P1(t,a,i,a.pendingProps);case 24:return Rs(a),l=on(Vt),t===null?(p=km(),p===null&&(p=bt,h=vm(),p.pooledCache=h,h.refCount++,h!==null&&(p.pooledCacheLanes|=i),p=h),a.memoizedState={parent:l,cache:p},Sm(a),Ti(a,Vt,p)):((t.lanes&i)!==0&&(jm(t,a),el(a,null,null,i),Wr()),p=t.memoizedState,h=a.memoizedState,p.parent!==l?(p={parent:l,cache:l},a.memoizedState=p,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=p),Ti(a,Vt,l)):(l=h.cache,Ti(a,Vt,l),l!==p.cache&&bm(a,[Vt],i,!0))),rn(t,a,a.pendingProps.children,i),a.child;case 29:throw a.pendingProps}throw Error(r(156,a.tag))}function ii(t){t.flags|=4}function sp(t,a,i,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(by())t.flags|=8192;else throw qs=Cc,wm}else t.flags&=-16777217}function H1(t,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!rb(a))if(by())t.flags|=8192;else throw qs=Cc,wm}function Gc(t,a){a!==null&&(t.flags|=4),t.flags&16384&&(a=t.tag!==22?ys():536870912,t.lanes|=a,qo|=a)}function ol(t,a){if(!at)switch(t.tailMode){case"hidden":a=t.tail;for(var i=null;a!==null;)a.alternate!==null&&(i=a),a=a.sibling;i===null?t.tail=null:i.sibling=null;break;case"collapsed":i=t.tail;for(var l=null;i!==null;)i.alternate!==null&&(l=i),i=i.sibling;l===null?a||t.tail===null?t.tail=null:t.tail.sibling=null:l.sibling=null}}function jt(t){var a=t.alternate!==null&&t.alternate.child===t.child,i=0,l=0;if(a)for(var p=t.child;p!==null;)i|=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;)i|=p.lanes|p.childLanes,l|=p.subtreeFlags,l|=p.flags,p.return=t,p=p.sibling;return t.subtreeFlags|=l,t.childLanes=i,a}function i4(t,a,i){var l=a.pendingProps;switch(pm(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return jt(a),null;case 1:return jt(a),null;case 3:return i=a.stateNode,l=null,t!==null&&(l=t.memoizedState.cache),a.memoizedState.cache!==l&&(a.flags|=2048),ei(Vt),ye(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(t===null||t.child===null)&&(wo(a)?ii(a):t===null||t.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,fm())),jt(a),null;case 26:var p=a.type,h=a.memoizedState;return t===null?(ii(a),h!==null?(jt(a),H1(a,h)):(jt(a),sp(a,p,null,l,i))):h?h!==t.memoizedState?(ii(a),jt(a),H1(a,h)):(jt(a),a.flags&=-16777217):(t=t.memoizedProps,t!==l&&ii(a),jt(a),sp(a,p,t,l,i)),null;case 27:if(Le(a),i=q.current,p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==l&&ii(a);else{if(!l){if(a.stateNode===null)throw Error(r(166));return jt(a),null}t=se.current,wo(a)?Ag(a):(t=Wy(p,l,i),a.stateNode=t,ii(a))}return jt(a),null;case 5:if(Le(a),p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==l&&ii(a);else{if(!l){if(a.stateNode===null)throw Error(r(166));return jt(a),null}if(h=se.current,wo(a))Ag(a);else{var x=iu(q.current);switch(h){case 1:h=x.createElementNS("http://www.w3.org/2000/svg",p);break;case 2:h=x.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;default:switch(p){case"svg":h=x.createElementNS("http://www.w3.org/2000/svg",p);break;case"math":h=x.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;case"script":h=x.createElement("div"),h.innerHTML="<script><\/script>",h=h.removeChild(h.firstChild);break;case"select":h=typeof l.is=="string"?x.createElement("select",{is:l.is}):x.createElement("select"),l.multiple?h.multiple=!0:l.size&&(h.size=l.size);break;default:h=typeof l.is=="string"?x.createElement(p,{is:l.is}):x.createElement(p)}}h[Mt]=a,h[un]=l;e:for(x=a.child;x!==null;){if(x.tag===5||x.tag===6)h.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=h;e:switch(ln(h,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&&ii(a)}}return jt(a),sp(a,a.type,t===null?null:t.memoizedProps,a.pendingProps,i),null;case 6:if(t&&a.stateNode!=null)t.memoizedProps!==l&&ii(a);else{if(typeof l!="string"&&a.stateNode===null)throw Error(r(166));if(t=q.current,wo(a)){if(t=a.stateNode,i=a.memoizedProps,l=null,p=sn,p!==null)switch(p.tag){case 27:case 5:l=p.memoizedProps}t[Mt]=a,t=!!(t.nodeValue===i||l!==null&&l.suppressHydrationWarning===!0||Uy(t.nodeValue,i)),t||Ei(a,!0)}else t=iu(t).createTextNode(l),t[Mt]=a,a.stateNode=t}return jt(a),null;case 31:if(i=a.memoizedState,t===null||t.memoizedState!==null){if(l=wo(a),i!==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[Mt]=a}else Es(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;jt(a),t=!1}else i=fm(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=i),t=!0;if(!t)return a.flags&256?(Mn(a),a):(Mn(a),null);if((a.flags&128)!==0)throw Error(r(558))}return jt(a),null;case 13:if(l=a.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(p=wo(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[Mt]=a}else Es(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;jt(a),p=!1}else p=fm(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=p),p=!0;if(!p)return a.flags&256?(Mn(a),a):(Mn(a),null)}return Mn(a),(a.flags&128)!==0?(a.lanes=i,a):(i=l!==null,t=t!==null&&t.memoizedState!==null,i&&(l=a.child,p=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(p=l.alternate.memoizedState.cachePool.pool),h=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(h=l.memoizedState.cachePool.pool),h!==p&&(l.flags|=2048)),i!==t&&i&&(a.child.flags|=8192),Gc(a,a.updateQueue),jt(a),null);case 4:return ye(),t===null&&Np(a.stateNode.containerInfo),jt(a),null;case 10:return ei(a.type),jt(a),null;case 19:if(ze(Pt),l=a.memoizedState,l===null)return jt(a),null;if(p=(a.flags&128)!==0,h=l.rendering,h===null)if(p)ol(l,!1);else{if(Ot!==0||t!==null&&(t.flags&128)!==0)for(t=a.child;t!==null;){if(h=Ec(t),h!==null){for(a.flags|=128,ol(l,!1),t=h.updateQueue,a.updateQueue=t,Gc(a,t),a.subtreeFlags=0,t=i,i=a.child;i!==null;)xg(i,t),i=i.sibling;return we(Pt,Pt.current&1|2),at&&Ja(a,l.treeForkCount),a.child}t=t.sibling}l.tail!==null&&tn()>Fc&&(a.flags|=128,p=!0,ol(l,!1),a.lanes=4194304)}else{if(!p)if(t=Ec(h),t!==null){if(a.flags|=128,p=!0,t=t.updateQueue,a.updateQueue=t,Gc(a,t),ol(l,!0),l.tail===null&&l.tailMode==="hidden"&&!h.alternate&&!at)return jt(a),null}else 2*tn()-l.renderingStartTime>Fc&&i!==536870912&&(a.flags|=128,p=!0,ol(l,!1),a.lanes=4194304);l.isBackwards?(h.sibling=a.child,a.child=h):(t=l.last,t!==null?t.sibling=h:a.child=h,l.last=h)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=tn(),t.sibling=null,i=Pt.current,we(Pt,p?i&1|2:i&1),at&&Ja(a,l.treeForkCount),t):(jt(a),null);case 22:case 23:return Mn(a),_m(),l=a.memoizedState!==null,t!==null?t.memoizedState!==null!==l&&(a.flags|=8192):l&&(a.flags|=8192),l?(i&536870912)!==0&&(a.flags&128)===0&&(jt(a),a.subtreeFlags&6&&(a.flags|=8192)):jt(a),i=a.updateQueue,i!==null&&Gc(a,i.retryQueue),i=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),l=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(l=a.memoizedState.cachePool.pool),l!==i&&(a.flags|=2048),t!==null&&ze(Ds),null;case 24:return i=null,t!==null&&(i=t.memoizedState.cache),a.memoizedState.cache!==i&&(a.flags|=2048),ei(Vt),jt(a),null;case 25:return null;case 30:return null}throw Error(r(156,a.tag))}function s4(t,a){switch(pm(a),a.tag){case 1:return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return ei(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 Le(a),null;case 31:if(a.memoizedState!==null){if(Mn(a),a.alternate===null)throw Error(r(340));Es()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 13:if(Mn(a),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(r(340));Es()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return ze(Pt),null;case 4:return ye(),null;case 10:return ei(a.type),null;case 22:case 23:return Mn(a),_m(),t!==null&&ze(Ds),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 24:return ei(Vt),null;case 25:return null;default:return null}}function Q1(t,a){switch(pm(a),a.tag){case 3:ei(Vt),ye();break;case 26:case 27:case 5:Le(a);break;case 4:ye();break;case 31:a.memoizedState!==null&&Mn(a);break;case 13:Mn(a);break;case 19:ze(Pt);break;case 10:ei(a.type);break;case 22:case 23:Mn(a),_m(),t!==null&&ze(Ds);break;case 24:ei(Vt)}}function rl(t,a){try{var i=a.updateQueue,l=i!==null?i.lastEffect:null;if(l!==null){var p=l.next;i=p;do{if((i.tag&t)===t){l=void 0;var h=i.create,x=i.inst;l=h(),x.destroy=l}i=i.next}while(i!==p)}}catch(w){mt(a,a.return,w)}}function Bi(t,a,i){try{var l=a.updateQueue,p=l!==null?l.lastEffect:null;if(p!==null){var h=p.next;l=h;do{if((l.tag&t)===t){var x=l.inst,w=x.destroy;if(w!==void 0){x.destroy=void 0,p=a;var E=i,L=w;try{L()}catch(Z){mt(p,E,Z)}}}l=l.next}while(l!==h)}}catch(Z){mt(a,a.return,Z)}}function F1(t){var a=t.updateQueue;if(a!==null){var i=t.stateNode;try{Ig(a,i)}catch(l){mt(t,t.return,l)}}}function Z1(t,a,i){i.props=Is(t.type,t.memoizedProps),i.state=t.memoizedState;try{i.componentWillUnmount()}catch(l){mt(t,a,l)}}function ll(t,a){try{var i=t.ref;if(i!==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 i=="function"?t.refCleanup=i(l):i.current=l}}catch(p){mt(t,a,p)}}function Ba(t,a){var i=t.ref,l=t.refCleanup;if(i!==null)if(typeof l=="function")try{l()}catch(p){mt(t,a,p)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(p){mt(t,a,p)}else i.current=null}function Y1(t){var a=t.type,i=t.memoizedProps,l=t.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":i.autoFocus&&l.focus();break e;case"img":i.src?l.src=i.src:i.srcSet&&(l.srcset=i.srcSet)}}catch(p){mt(t,t.return,p)}}function op(t,a,i){try{var l=t.stateNode;N4(l,t.type,i,a),l[un]=a}catch(p){mt(t,t.return,p)}}function X1(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&$i(t.type)||t.tag===4}function rp(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||X1(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&&$i(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 lp(t,a,i){var l=t.tag;if(l===5||l===6)t=t.stateNode,a?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(t,a):(a=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,a.appendChild(t),i=i._reactRootContainer,i!=null||a.onclick!==null||(a.onclick=ha));else if(l!==4&&(l===27&&$i(t.type)&&(i=t.stateNode,a=null),t=t.child,t!==null))for(lp(t,a,i),t=t.sibling;t!==null;)lp(t,a,i),t=t.sibling}function $c(t,a,i){var l=t.tag;if(l===5||l===6)t=t.stateNode,a?i.insertBefore(t,a):i.appendChild(t);else if(l!==4&&(l===27&&$i(t.type)&&(i=t.stateNode),t=t.child,t!==null))for($c(t,a,i),t=t.sibling;t!==null;)$c(t,a,i),t=t.sibling}function J1(t){var a=t.stateNode,i=t.memoizedProps;try{for(var l=t.type,p=a.attributes;p.length;)a.removeAttributeNode(p[0]);ln(a,l,i),a[Mt]=t,a[un]=i}catch(h){mt(t,t.return,h)}}var si=!1,Gt=!1,cp=!1,W1=typeof WeakSet=="function"?WeakSet:Set,Wt=null;function o4(t,a){if(t=t.containerInfo,Ep=du,t=dg(t),nm(t)){if("selectionStart"in t)var i={start:t.selectionStart,end:t.selectionEnd};else e:{i=(i=t.ownerDocument)&&i.defaultView||window;var l=i.getSelection&&i.getSelection();if(l&&l.rangeCount!==0){i=l.anchorNode;var p=l.anchorOffset,h=l.focusNode;l=l.focusOffset;try{i.nodeType,h.nodeType}catch{i=null;break e}var x=0,w=-1,E=-1,L=0,Z=0,ne=t,$=null;t:for(;;){for(var Q;ne!==i||p!==0&&ne.nodeType!==3||(w=x+p),ne!==h||l!==0&&ne.nodeType!==3||(E=x+l),ne.nodeType===3&&(x+=ne.nodeValue.length),(Q=ne.firstChild)!==null;)$=ne,ne=Q;for(;;){if(ne===t)break t;if($===i&&++L===p&&(w=x),$===h&&++Z===l&&(E=x),(Q=ne.nextSibling)!==null)break;ne=$,$=ne.parentNode}ne=Q}i=w===-1||E===-1?null:{start:w,end:E}}else i=null}i=i||{start:0,end:0}}else i=null;for(Tp={focusedElem:t,selectionRange:i},du=!1,Wt=a;Wt!==null;)if(a=Wt,t=a.child,(a.subtreeFlags&1028)!==0&&t!==null)t.return=a,Wt=t;else for(;Wt!==null;){switch(a=Wt,h=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(i=0;i<t.length;i++)p=t[i],p.ref.impl=p.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&h!==null){t=void 0,i=a,p=h.memoizedProps,h=h.memoizedState,l=i.stateNode;try{var ve=Is(i.type,p);t=l.getSnapshotBeforeUpdate(ve,h),l.__reactInternalSnapshotBeforeUpdate=t}catch(qe){mt(i,i.return,qe)}}break;case 3:if((t&1024)!==0){if(t=a.stateNode.containerInfo,i=t.nodeType,i===9)Op(t);else if(i===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":Op(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,Wt=t;break}Wt=a.return}}function ey(t,a,i){var l=i.flags;switch(i.tag){case 0:case 11:case 15:ri(t,i),l&4&&rl(5,i);break;case 1:if(ri(t,i),l&4)if(t=i.stateNode,a===null)try{t.componentDidMount()}catch(x){mt(i,i.return,x)}else{var p=Is(i.type,a.memoizedProps);a=a.memoizedState;try{t.componentDidUpdate(p,a,t.__reactInternalSnapshotBeforeUpdate)}catch(x){mt(i,i.return,x)}}l&64&&F1(i),l&512&&ll(i,i.return);break;case 3:if(ri(t,i),l&64&&(t=i.updateQueue,t!==null)){if(a=null,i.child!==null)switch(i.child.tag){case 27:case 5:a=i.child.stateNode;break;case 1:a=i.child.stateNode}try{Ig(t,a)}catch(x){mt(i,i.return,x)}}break;case 27:a===null&&l&4&&J1(i);case 26:case 5:ri(t,i),a===null&&l&4&&Y1(i),l&512&&ll(i,i.return);break;case 12:ri(t,i);break;case 31:ri(t,i),l&4&&ay(t,i);break;case 13:ri(t,i),l&4&&iy(t,i),l&64&&(t=i.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(i=f4.bind(null,i),q4(t,i))));break;case 22:if(l=i.memoizedState!==null||si,!l){a=a!==null&&a.memoizedState!==null||Gt,p=si;var h=Gt;si=l,(Gt=a)&&!h?li(t,i,(i.subtreeFlags&8772)!==0):ri(t,i),si=p,Gt=h}break;case 30:break;default:ri(t,i)}}function ty(t){var a=t.alternate;a!==null&&(t.alternate=null,ty(a)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(a=t.stateNode,a!==null&&zr(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 Ct=null,Cn=!1;function oi(t,a,i){for(i=i.child;i!==null;)ny(t,a,i),i=i.sibling}function ny(t,a,i){if(wt&&typeof wt.onCommitFiberUnmount=="function")try{wt.onCommitFiberUnmount(yn,i)}catch{}switch(i.tag){case 26:Gt||Ba(i,a),oi(t,a,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:Gt||Ba(i,a);var l=Ct,p=Cn;$i(i.type)&&(Ct=i.stateNode,Cn=!1),oi(t,a,i),yl(i.stateNode),Ct=l,Cn=p;break;case 5:Gt||Ba(i,a);case 6:if(l=Ct,p=Cn,Ct=null,oi(t,a,i),Ct=l,Cn=p,Ct!==null)if(Cn)try{(Ct.nodeType===9?Ct.body:Ct.nodeName==="HTML"?Ct.ownerDocument.body:Ct).removeChild(i.stateNode)}catch(h){mt(i,a,h)}else try{Ct.removeChild(i.stateNode)}catch(h){mt(i,a,h)}break;case 18:Ct!==null&&(Cn?(t=Ct,Fy(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,i.stateNode),Go(t)):Fy(Ct,i.stateNode));break;case 4:l=Ct,p=Cn,Ct=i.stateNode.containerInfo,Cn=!0,oi(t,a,i),Ct=l,Cn=p;break;case 0:case 11:case 14:case 15:Bi(2,i,a),Gt||Bi(4,i,a),oi(t,a,i);break;case 1:Gt||(Ba(i,a),l=i.stateNode,typeof l.componentWillUnmount=="function"&&Z1(i,a,l)),oi(t,a,i);break;case 21:oi(t,a,i);break;case 22:Gt=(l=Gt)||i.memoizedState!==null,oi(t,a,i),Gt=l;break;default:oi(t,a,i)}}function ay(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{Go(t)}catch(i){mt(a,a.return,i)}}}function iy(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{Go(t)}catch(i){mt(a,a.return,i)}}function r4(t){switch(t.tag){case 31:case 13:case 19:var a=t.stateNode;return a===null&&(a=t.stateNode=new W1),a;case 22:return t=t.stateNode,a=t._retryCache,a===null&&(a=t._retryCache=new W1),a;default:throw Error(r(435,t.tag))}}function Kc(t,a){var i=r4(t);a.forEach(function(l){if(!i.has(l)){i.add(l);var p=g4.bind(null,t,l);l.then(p,p)}})}function Nn(t,a){var i=a.deletions;if(i!==null)for(var l=0;l<i.length;l++){var p=i[l],h=t,x=a,w=x;e:for(;w!==null;){switch(w.tag){case 27:if($i(w.type)){Ct=w.stateNode,Cn=!1;break e}break;case 5:Ct=w.stateNode,Cn=!1;break e;case 3:case 4:Ct=w.stateNode.containerInfo,Cn=!0;break e}w=w.return}if(Ct===null)throw Error(r(160));ny(h,x,p),Ct=null,Cn=!1,h=p.alternate,h!==null&&(h.return=null),p.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)sy(a,t),a=a.sibling}var ba=null;function sy(t,a){var i=t.alternate,l=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Nn(a,t),_n(t),l&4&&(Bi(3,t,t.return),rl(3,t),Bi(5,t,t.return));break;case 1:Nn(a,t),_n(t),l&512&&(Gt||i===null||Ba(i,i.return)),l&64&&si&&(t=t.updateQueue,t!==null&&(l=t.callbacks,l!==null&&(i=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=i===null?l:i.concat(l))));break;case 26:var p=ba;if(Nn(a,t),_n(t),l&512&&(Gt||i===null||Ba(i,i.return)),l&4){var h=i!==null?i.memoizedState:null;if(l=t.memoizedState,i===null)if(l===null)if(t.stateNode===null){e:{l=t.type,i=t.memoizedProps,p=p.ownerDocument||p;t:switch(l){case"title":h=p.getElementsByTagName("title")[0],(!h||h[wi]||h[Mt]||h.namespaceURI==="http://www.w3.org/2000/svg"||h.hasAttribute("itemprop"))&&(h=p.createElement(l),p.head.insertBefore(h,p.querySelector("head > title"))),ln(h,l,i),h[Mt]=t,qt(h),l=h;break e;case"link":var x=sb("link","href",p).get(l+(i.href||""));if(x){for(var w=0;w<x.length;w++)if(h=x[w],h.getAttribute("href")===(i.href==null||i.href===""?null:i.href)&&h.getAttribute("rel")===(i.rel==null?null:i.rel)&&h.getAttribute("title")===(i.title==null?null:i.title)&&h.getAttribute("crossorigin")===(i.crossOrigin==null?null:i.crossOrigin)){x.splice(w,1);break t}}h=p.createElement(l),ln(h,l,i),p.head.appendChild(h);break;case"meta":if(x=sb("meta","content",p).get(l+(i.content||""))){for(w=0;w<x.length;w++)if(h=x[w],h.getAttribute("content")===(i.content==null?null:""+i.content)&&h.getAttribute("name")===(i.name==null?null:i.name)&&h.getAttribute("property")===(i.property==null?null:i.property)&&h.getAttribute("http-equiv")===(i.httpEquiv==null?null:i.httpEquiv)&&h.getAttribute("charset")===(i.charSet==null?null:i.charSet)){x.splice(w,1);break t}}h=p.createElement(l),ln(h,l,i),p.head.appendChild(h);break;default:throw Error(r(468,l))}h[Mt]=t,qt(h),l=h}t.stateNode=l}else ob(p,t.type,t.stateNode);else t.stateNode=ib(p,l,t.memoizedProps);else h!==l?(h===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):h.count--,l===null?ob(p,t.type,t.stateNode):ib(p,l,t.memoizedProps)):l===null&&t.stateNode!==null&&op(t,t.memoizedProps,i.memoizedProps)}break;case 27:Nn(a,t),_n(t),l&512&&(Gt||i===null||Ba(i,i.return)),i!==null&&l&4&&op(t,t.memoizedProps,i.memoizedProps);break;case 5:if(Nn(a,t),_n(t),l&512&&(Gt||i===null||Ba(i,i.return)),t.flags&32){p=t.stateNode;try{Fn(p,"")}catch(ve){mt(t,t.return,ve)}}l&4&&t.stateNode!=null&&(p=t.memoizedProps,op(t,p,i!==null?i.memoizedProps:p)),l&1024&&(cp=!0);break;case 6:if(Nn(a,t),_n(t),l&4){if(t.stateNode===null)throw Error(r(162));l=t.memoizedProps,i=t.stateNode;try{i.nodeValue=l}catch(ve){mt(t,t.return,ve)}}break;case 3:if(ru=null,p=ba,ba=su(a.containerInfo),Nn(a,t),ba=p,_n(t),l&4&&i!==null&&i.memoizedState.isDehydrated)try{Go(a.containerInfo)}catch(ve){mt(t,t.return,ve)}cp&&(cp=!1,oy(t));break;case 4:l=ba,ba=su(t.stateNode.containerInfo),Nn(a,t),_n(t),ba=l;break;case 12:Nn(a,t),_n(t);break;case 31:Nn(a,t),_n(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,Kc(t,l)));break;case 13:Nn(a,t),_n(t),t.child.flags&8192&&t.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(Qc=tn()),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,Kc(t,l)));break;case 22:p=t.memoizedState!==null;var E=i!==null&&i.memoizedState!==null,L=si,Z=Gt;if(si=L||p,Gt=Z||E,Nn(a,t),Gt=Z,si=L,_n(t),l&8192)e:for(a=t.stateNode,a._visibility=p?a._visibility&-2:a._visibility|1,p&&(i===null||E||si||Gt||Ms(t)),i=null,a=t;;){if(a.tag===5||a.tag===26){if(i===null){E=i=a;try{if(h=E.stateNode,p)x=h.style,typeof x.setProperty=="function"?x.setProperty("display","none","important"):x.display="none";else{w=E.stateNode;var ne=E.memoizedProps.style,$=ne!=null&&ne.hasOwnProperty("display")?ne.display:null;w.style.display=$==null||typeof $=="boolean"?"":(""+$).trim()}}catch(ve){mt(E,E.return,ve)}}}else if(a.tag===6){if(i===null){E=a;try{E.stateNode.nodeValue=p?"":E.memoizedProps}catch(ve){mt(E,E.return,ve)}}}else if(a.tag===18){if(i===null){E=a;try{var Q=E.stateNode;p?Zy(Q,!0):Zy(E.stateNode,!1)}catch(ve){mt(E,E.return,ve)}}}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;i===a&&(i=null),a=a.return}i===a&&(i=null),a.sibling.return=a.return,a=a.sibling}l&4&&(l=t.updateQueue,l!==null&&(i=l.retryQueue,i!==null&&(l.retryQueue=null,Kc(t,i))));break;case 19:Nn(a,t),_n(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,Kc(t,l)));break;case 30:break;case 21:break;default:Nn(a,t),_n(t)}}function _n(t){var a=t.flags;if(a&2){try{for(var i,l=t.return;l!==null;){if(X1(l)){i=l;break}l=l.return}if(i==null)throw Error(r(160));switch(i.tag){case 27:var p=i.stateNode,h=rp(t);$c(t,h,p);break;case 5:var x=i.stateNode;i.flags&32&&(Fn(x,""),i.flags&=-33);var w=rp(t);$c(t,w,x);break;case 3:case 4:var E=i.stateNode.containerInfo,L=rp(t);lp(t,L,E);break;default:throw Error(r(161))}}catch(Z){mt(t,t.return,Z)}t.flags&=-3}a&4096&&(t.flags&=-4097)}function oy(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var a=t;oy(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),t=t.sibling}}function ri(t,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)ey(t,a.alternate,a),a=a.sibling}function Ms(t){for(t=t.child;t!==null;){var a=t;switch(a.tag){case 0:case 11:case 14:case 15:Bi(4,a,a.return),Ms(a);break;case 1:Ba(a,a.return);var i=a.stateNode;typeof i.componentWillUnmount=="function"&&Z1(a,a.return,i),Ms(a);break;case 27:yl(a.stateNode);case 26:case 5:Ba(a,a.return),Ms(a);break;case 22:a.memoizedState===null&&Ms(a);break;case 30:Ms(a);break;default:Ms(a)}t=t.sibling}}function li(t,a,i){for(i=i&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var l=a.alternate,p=t,h=a,x=h.flags;switch(h.tag){case 0:case 11:case 15:li(p,h,i),rl(4,h);break;case 1:if(li(p,h,i),l=h,p=l.stateNode,typeof p.componentDidMount=="function")try{p.componentDidMount()}catch(L){mt(l,l.return,L)}if(l=h,p=l.updateQueue,p!==null){var w=l.stateNode;try{var E=p.shared.hiddenCallbacks;if(E!==null)for(p.shared.hiddenCallbacks=null,p=0;p<E.length;p++)Bg(E[p],w)}catch(L){mt(l,l.return,L)}}i&&x&64&&F1(h),ll(h,h.return);break;case 27:J1(h);case 26:case 5:li(p,h,i),i&&l===null&&x&4&&Y1(h),ll(h,h.return);break;case 12:li(p,h,i);break;case 31:li(p,h,i),i&&x&4&&ay(p,h);break;case 13:li(p,h,i),i&&x&4&&iy(p,h);break;case 22:h.memoizedState===null&&li(p,h,i),ll(h,h.return);break;case 30:break;default:li(p,h,i)}a=a.sibling}}function up(t,a){var i=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),t=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(t=a.memoizedState.cachePool.pool),t!==i&&(t!=null&&t.refCount++,i!=null&&Fr(i))}function dp(t,a){t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&Fr(t))}function va(t,a,i,l){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)ry(t,a,i,l),a=a.sibling}function ry(t,a,i,l){var p=a.flags;switch(a.tag){case 0:case 11:case 15:va(t,a,i,l),p&2048&&rl(9,a);break;case 1:va(t,a,i,l);break;case 3:va(t,a,i,l),p&2048&&(t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&Fr(t)));break;case 12:if(p&2048){va(t,a,i,l),t=a.stateNode;try{var h=a.memoizedProps,x=h.id,w=h.onPostCommit;typeof w=="function"&&w(x,a.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(E){mt(a,a.return,E)}}else va(t,a,i,l);break;case 31:va(t,a,i,l);break;case 13:va(t,a,i,l);break;case 23:break;case 22:h=a.stateNode,x=a.alternate,a.memoizedState!==null?h._visibility&2?va(t,a,i,l):cl(t,a):h._visibility&2?va(t,a,i,l):(h._visibility|=2,Ro(t,a,i,l,(a.subtreeFlags&10256)!==0||!1)),p&2048&&up(x,a);break;case 24:va(t,a,i,l),p&2048&&dp(a.alternate,a);break;default:va(t,a,i,l)}}function Ro(t,a,i,l,p){for(p=p&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var h=t,x=a,w=i,E=l,L=x.flags;switch(x.tag){case 0:case 11:case 15:Ro(h,x,w,E,p),rl(8,x);break;case 23:break;case 22:var Z=x.stateNode;x.memoizedState!==null?Z._visibility&2?Ro(h,x,w,E,p):cl(h,x):(Z._visibility|=2,Ro(h,x,w,E,p)),p&&L&2048&&up(x.alternate,x);break;case 24:Ro(h,x,w,E,p),p&&L&2048&&dp(x.alternate,x);break;default:Ro(h,x,w,E,p)}a=a.sibling}}function cl(t,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var i=t,l=a,p=l.flags;switch(l.tag){case 22:cl(i,l),p&2048&&up(l.alternate,l);break;case 24:cl(i,l),p&2048&&dp(l.alternate,l);break;default:cl(i,l)}a=a.sibling}}var ul=8192;function Do(t,a,i){if(t.subtreeFlags&ul)for(t=t.child;t!==null;)ly(t,a,i),t=t.sibling}function ly(t,a,i){switch(t.tag){case 26:Do(t,a,i),t.flags&ul&&t.memoizedState!==null&&Q4(i,ba,t.memoizedState,t.memoizedProps);break;case 5:Do(t,a,i);break;case 3:case 4:var l=ba;ba=su(t.stateNode.containerInfo),Do(t,a,i),ba=l;break;case 22:t.memoizedState===null&&(l=t.alternate,l!==null&&l.memoizedState!==null?(l=ul,ul=16777216,Do(t,a,i),ul=l):Do(t,a,i));break;default:Do(t,a,i)}}function cy(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 dl(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var i=0;i<a.length;i++){var l=a[i];Wt=l,dy(l,t)}cy(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)uy(t),t=t.sibling}function uy(t){switch(t.tag){case 0:case 11:case 15:dl(t),t.flags&2048&&Bi(9,t,t.return);break;case 3:dl(t);break;case 12:dl(t);break;case 22:var a=t.stateNode;t.memoizedState!==null&&a._visibility&2&&(t.return===null||t.return.tag!==13)?(a._visibility&=-3,Hc(t)):dl(t);break;default:dl(t)}}function Hc(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var i=0;i<a.length;i++){var l=a[i];Wt=l,dy(l,t)}cy(t)}for(t=t.child;t!==null;){switch(a=t,a.tag){case 0:case 11:case 15:Bi(8,a,a.return),Hc(a);break;case 22:i=a.stateNode,i._visibility&2&&(i._visibility&=-3,Hc(a));break;default:Hc(a)}t=t.sibling}}function dy(t,a){for(;Wt!==null;){var i=Wt;switch(i.tag){case 0:case 11:case 15:Bi(8,i,a);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var l=i.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Fr(i.memoizedState.cache)}if(l=i.child,l!==null)l.return=i,Wt=l;else e:for(i=t;Wt!==null;){l=Wt;var p=l.sibling,h=l.return;if(ty(l),l===i){Wt=null;break e}if(p!==null){p.return=h,Wt=p;break e}Wt=h}}}var l4={getCacheForType:function(t){var a=on(Vt),i=a.data.get(t);return i===void 0&&(i=t(),a.data.set(t,i)),i},cacheSignal:function(){return on(Vt).controller.signal}},c4=typeof WeakMap=="function"?WeakMap:Map,ct=0,bt=null,Ye=null,Je=0,dt=0,Vn=null,Ii=!1,Oo=!1,mp=!1,ci=0,Ot=0,Mi=0,Vs=0,pp=0,Ln=0,qo=0,ml=null,zn=null,hp=!1,Qc=0,my=0,Fc=1/0,Zc=null,Vi=null,Qt=0,Li=null,Po=null,ui=0,fp=0,gp=null,py=null,pl=0,yp=null;function Un(){return(ct&2)!==0&&Je!==0?Je&-Je:B.T!==null?Sp():so()}function hy(){if(Ln===0)if((Je&536870912)===0||at){var t=vi;vi<<=1,(vi&3932160)===0&&(vi=262144),Ln=t}else Ln=536870912;return t=In.current,t!==null&&(t.flags|=32),Ln}function En(t,a,i){(t===bt&&(dt===2||dt===9)||t.cancelPendingCommit!==null)&&(Bo(t,0),Ui(t,Je,Ln,!1)),bs(t,i),((ct&2)===0||t!==bt)&&(t===bt&&((ct&2)===0&&(Vs|=i),Ot===4&&Ui(t,Je,Ln,!1)),Ia(t))}function fy(t,a,i){if((ct&6)!==0)throw Error(r(327));var l=!i&&(a&127)===0&&(a&t.expiredLanes)===0||Ka(t,a),p=l?m4(t,a):vp(t,a,!0),h=l;do{if(p===0){Oo&&!l&&Ui(t,a,0,!1);break}else{if(i=t.current.alternate,h&&!u4(i)){p=vp(t,a,!1),h=!1;continue}if(p===2){if(h=a,t.errorRecoveryDisabledLanes&h)var x=0;else x=t.pendingLanes&-536870913,x=x!==0?x:x&536870912?536870912:0;if(x!==0){a=x;e:{var w=t;p=ml;var E=w.current.memoizedState.isDehydrated;if(E&&(Bo(w,x).flags|=256),x=vp(w,x,!1),x!==2){if(mp&&!E){w.errorRecoveryDisabledLanes|=h,Vs|=h,p=4;break e}h=zn,zn=p,h!==null&&(zn===null?zn=h:zn.push.apply(zn,h))}p=x}if(h=!1,p!==2)continue}}if(p===1){Bo(t,0),Ui(t,a,0,!0);break}e:{switch(l=t,h=p,h){case 0:case 1:throw Error(r(345));case 4:if((a&4194048)!==a)break;case 6:Ui(l,a,Ln,!Ii);break e;case 2:zn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((a&62914560)===a&&(p=Qc+300-tn(),10<p)){if(Ui(l,a,Ln,!Ii),Ht(l,0,!0)!==0)break e;ui=a,l.timeoutHandle=Hy(gy.bind(null,l,i,zn,Zc,hp,a,Ln,Vs,qo,Ii,h,"Throttled",-0,0),p);break e}gy(l,i,zn,Zc,hp,a,Ln,Vs,qo,Ii,h,null,-0,0)}}break}while(!0);Ia(t)}function gy(t,a,i,l,p,h,x,w,E,L,Z,ne,$,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:ha},ly(a,h,ne);var ve=(h&62914560)===h?Qc-tn():(h&4194048)===h?my-tn():0;if(ve=F4(ne,ve),ve!==null){ui=h,t.cancelPendingCommit=ve(jy.bind(null,t,a,h,i,l,p,x,w,E,Z,ne,null,$,Q)),Ui(t,h,x,!L);return}}jy(t,a,h,i,l,p,x,w,E)}function u4(t){for(var a=t;;){var i=a.tag;if((i===0||i===11||i===15)&&a.flags&16384&&(i=a.updateQueue,i!==null&&(i=i.stores,i!==null)))for(var l=0;l<i.length;l++){var p=i[l],h=p.getSnapshot;p=p.value;try{if(!Pn(h(),p))return!1}catch{return!1}}if(i=a.child,a.subtreeFlags&16384&&i!==null)i.return=a,a=i;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 Ui(t,a,i,l){a&=~pp,a&=~Vs,t.suspendedLanes|=a,t.pingedLanes&=~a,l&&(t.warmLanes|=a),l=t.expirationTimes;for(var p=a;0<p;){var h=31-bn(p),x=1<<h;l[h]=-1,p&=~x}i!==0&&jr(t,i,a)}function Yc(){return(ct&6)===0?(hl(0),!1):!0}function bp(){if(Ye!==null){if(dt===0)var t=Ye.return;else t=Ye,Wa=Ts=null,Om(t),No=null,Yr=0,t=Ye;for(;t!==null;)Q1(t.alternate,t),t=t.return;Ye=null}}function Bo(t,a){var i=t.timeoutHandle;i!==-1&&(t.timeoutHandle=-1,E4(i)),i=t.cancelPendingCommit,i!==null&&(t.cancelPendingCommit=null,i()),ui=0,bp(),bt=t,Ye=i=Xa(t.current,null),Je=a,dt=0,Vn=null,Ii=!1,Oo=Ka(t,a),mp=!1,qo=Ln=pp=Vs=Mi=Ot=0,zn=ml=null,hp=!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-bn(l),h=1<<p;a|=t[p],l&=~h}return ci=a,yc(),i}function yy(t,a){Ge=null,B.H=il,a===Co||a===Ac?(a=Dg(),dt=3):a===wm?(a=Dg(),dt=4):dt=a===Ym?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,Vn=a,Ye===null&&(Ot=1,Mc(t,Jn(a,t.current)))}function by(){var t=In.current;return t===null?!0:(Je&4194048)===Je?na===null:(Je&62914560)===Je||(Je&536870912)!==0?t===na:!1}function vy(){var t=B.H;return B.H=il,t===null?il:t}function xy(){var t=B.A;return B.A=l4,t}function Xc(){Ot=4,Ii||(Je&4194048)!==Je&&In.current!==null||(Oo=!0),(Mi&134217727)===0&&(Vs&134217727)===0||bt===null||Ui(bt,Je,Ln,!1)}function vp(t,a,i){var l=ct;ct|=2;var p=vy(),h=xy();(bt!==t||Je!==a)&&(Zc=null,Bo(t,a)),a=!1;var x=Ot;e:do try{if(dt!==0&&Ye!==null){var w=Ye,E=Vn;switch(dt){case 8:bp(),x=6;break e;case 3:case 2:case 9:case 6:In.current===null&&(a=!0);var L=dt;if(dt=0,Vn=null,Io(t,w,E,L),i&&Oo){x=0;break e}break;default:L=dt,dt=0,Vn=null,Io(t,w,E,L)}}d4(),x=Ot;break}catch(Z){yy(t,Z)}while(!0);return a&&t.shellSuspendCounter++,Wa=Ts=null,ct=l,B.H=p,B.A=h,Ye===null&&(bt=null,Je=0,yc()),x}function d4(){for(;Ye!==null;)ky(Ye)}function m4(t,a){var i=ct;ct|=2;var l=vy(),p=xy();bt!==t||Je!==a?(Zc=null,Fc=tn()+500,Bo(t,a)):Oo=Ka(t,a);e:do try{if(dt!==0&&Ye!==null){a=Ye;var h=Vn;t:switch(dt){case 1:dt=0,Vn=null,Io(t,a,h,1);break;case 2:case 9:if(Tg(h)){dt=0,Vn=null,wy(a);break}a=function(){dt!==2&&dt!==9||bt!==t||(dt=7),Ia(t)},h.then(a,a);break e;case 3:dt=7;break e;case 4:dt=5;break e;case 7:Tg(h)?(dt=0,Vn=null,wy(a)):(dt=0,Vn=null,Io(t,a,h,7));break;case 5:var x=null;switch(Ye.tag){case 26:x=Ye.memoizedState;case 5:case 27:var w=Ye;if(x?rb(x):w.stateNode.complete){dt=0,Vn=null;var E=w.sibling;if(E!==null)Ye=E;else{var L=w.return;L!==null?(Ye=L,Jc(L)):Ye=null}break t}}dt=0,Vn=null,Io(t,a,h,5);break;case 6:dt=0,Vn=null,Io(t,a,h,6);break;case 8:bp(),Ot=6;break e;default:throw Error(r(462))}}p4();break}catch(Z){yy(t,Z)}while(!0);return Wa=Ts=null,B.H=l,B.A=p,ct=i,Ye!==null?0:(bt=null,Je=0,yc(),Ot)}function p4(){for(;Ye!==null&&!bi();)ky(Ye)}function ky(t){var a=K1(t.alternate,t,ci);t.memoizedProps=t.pendingProps,a===null?Jc(t):Ye=a}function wy(t){var a=t,i=a.alternate;switch(a.tag){case 15:case 0:a=M1(i,a,a.pendingProps,a.type,void 0,Je);break;case 11:a=M1(i,a,a.pendingProps,a.type.render,a.ref,Je);break;case 5:Om(a);default:Q1(i,a),a=Ye=xg(a,ci),a=K1(i,a,ci)}t.memoizedProps=t.pendingProps,a===null?Jc(t):Ye=a}function Io(t,a,i,l){Wa=Ts=null,Om(a),No=null,Yr=0;var p=a.return;try{if(t4(t,p,a,i,Je)){Ot=1,Mc(t,Jn(i,t.current)),Ye=null;return}}catch(h){if(p!==null)throw Ye=p,h;Ot=1,Mc(t,Jn(i,t.current)),Ye=null;return}a.flags&32768?(at||l===1?t=!0:Oo||(Je&536870912)!==0?t=!1:(Ii=t=!0,(l===2||l===9||l===3||l===6)&&(l=In.current,l!==null&&l.tag===13&&(l.flags|=16384))),Sy(a,t)):Jc(a)}function Jc(t){var a=t;do{if((a.flags&32768)!==0){Sy(a,Ii);return}t=a.return;var i=i4(a.alternate,a,ci);if(i!==null){Ye=i;return}if(a=a.sibling,a!==null){Ye=a;return}Ye=a=t}while(a!==null);Ot===0&&(Ot=5)}function Sy(t,a){do{var i=s4(t.alternate,t);if(i!==null){i.flags&=32767,Ye=i;return}if(i=t.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!a&&(t=t.sibling,t!==null)){Ye=t;return}Ye=t=i}while(t!==null);Ot=6,Ye=null}function jy(t,a,i,l,p,h,x,w,E){t.cancelPendingCommit=null;do Wc();while(Qt!==0);if((ct&6)!==0)throw Error(r(327));if(a!==null){if(a===t.current)throw Error(r(177));if(h=a.lanes|a.childLanes,h|=rm,lc(t,i,h,x,w,E),t===bt&&(Ye=bt=null,Je=0),Po=a,Li=t,ui=i,fp=h,gp=p,py=l,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,y4(fs,function(){return zy(),null})):(t.callbackNode=null,t.callbackPriority=0),l=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||l){l=B.T,B.T=null,p=ee.p,ee.p=2,x=ct,ct|=4;try{o4(t,a,i)}finally{ct=x,ee.p=p,B.T=l}}Qt=1,Ay(),Cy(),Ny()}}function Ay(){if(Qt===1){Qt=0;var t=Li,a=Po,i=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||i){i=B.T,B.T=null;var l=ee.p;ee.p=2;var p=ct;ct|=4;try{sy(a,t);var h=Tp,x=dg(t.containerInfo),w=h.focusedElem,E=h.selectionRange;if(x!==w&&w&&w.ownerDocument&&ug(w.ownerDocument.documentElement,w)){if(E!==null&&nm(w)){var L=E.start,Z=E.end;if(Z===void 0&&(Z=L),"selectionStart"in w)w.selectionStart=L,w.selectionEnd=Math.min(Z,w.value.length);else{var ne=w.ownerDocument||document,$=ne&&ne.defaultView||window;if($.getSelection){var Q=$.getSelection(),ve=w.textContent.length,qe=Math.min(E.start,ve),gt=E.end===void 0?qe:Math.min(E.end,ve);!Q.extend&&qe>gt&&(x=gt,gt=qe,qe=x);var P=cg(w,qe),R=cg(w,gt);if(P&&R&&(Q.rangeCount!==1||Q.anchorNode!==P.node||Q.anchorOffset!==P.offset||Q.focusNode!==R.node||Q.focusOffset!==R.offset)){var M=ne.createRange();M.setStart(P.node,P.offset),Q.removeAllRanges(),qe>gt?(Q.addRange(M),Q.extend(R.node,R.offset)):(M.setEnd(R.node,R.offset),Q.addRange(M))}}}}for(ne=[],Q=w;Q=Q.parentNode;)Q.nodeType===1&&ne.push({element:Q,left:Q.scrollLeft,top:Q.scrollTop});for(typeof w.focus=="function"&&w.focus(),w=0;w<ne.length;w++){var te=ne[w];te.element.scrollLeft=te.left,te.element.scrollTop=te.top}}du=!!Ep,Tp=Ep=null}finally{ct=p,ee.p=l,B.T=i}}t.current=a,Qt=2}}function Cy(){if(Qt===2){Qt=0;var t=Li,a=Po,i=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||i){i=B.T,B.T=null;var l=ee.p;ee.p=2;var p=ct;ct|=4;try{ey(t,a.alternate,a)}finally{ct=p,ee.p=l,B.T=i}}Qt=3}}function Ny(){if(Qt===4||Qt===3){Qt=0,vr();var t=Li,a=Po,i=ui,l=py;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?Qt=5:(Qt=0,Po=Li=null,_y(t,t.pendingLanes));var p=t.pendingLanes;if(p===0&&(Vi=null),_r(i),a=a.stateNode,wt&&typeof wt.onCommitFiberRoot=="function")try{wt.onCommitFiberRoot(yn,a,void 0,(a.current.flags&128)===128)}catch{}if(l!==null){a=B.T,p=ee.p,ee.p=2,B.T=null;try{for(var h=t.onRecoverableError,x=0;x<l.length;x++){var w=l[x];h(w.value,{componentStack:w.stack})}}finally{B.T=a,ee.p=p}}(ui&3)!==0&&Wc(),Ia(t),p=t.pendingLanes,(i&261930)!==0&&(p&42)!==0?t===yp?pl++:(pl=0,yp=t):pl=0,hl(0)}}function _y(t,a){(t.pooledCacheLanes&=a)===0&&(a=t.pooledCache,a!=null&&(t.pooledCache=null,Fr(a)))}function Wc(){return Ay(),Cy(),Ny(),zy()}function zy(){if(Qt!==5)return!1;var t=Li,a=fp;fp=0;var i=_r(ui),l=B.T,p=ee.p;try{ee.p=32>i?32:i,B.T=null,i=gp,gp=null;var h=Li,x=ui;if(Qt=0,Po=Li=null,ui=0,(ct&6)!==0)throw Error(r(331));var w=ct;if(ct|=4,uy(h.current),ry(h,h.current,x,i),ct=w,hl(0,!1),wt&&typeof wt.onPostCommitFiberRoot=="function")try{wt.onPostCommitFiberRoot(yn,h)}catch{}return!0}finally{ee.p=p,B.T=l,_y(t,a)}}function Ey(t,a,i){a=Jn(i,a),a=Zm(t.stateNode,a,2),t=Oi(t,a,2),t!==null&&(bs(t,2),Ia(t))}function mt(t,a,i){if(t.tag===3)Ey(t,t,i);else for(;a!==null;){if(a.tag===3){Ey(a,t,i);break}else if(a.tag===1){var l=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Vi===null||!Vi.has(l))){t=Jn(i,t),i=T1(2),l=Oi(a,i,2),l!==null&&(R1(i,l,a,t),bs(l,2),Ia(l));break}}a=a.return}}function xp(t,a,i){var l=t.pingCache;if(l===null){l=t.pingCache=new c4;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(i)||(mp=!0,p.add(i),t=h4.bind(null,t,a,i),a.then(t,t))}function h4(t,a,i){var l=t.pingCache;l!==null&&l.delete(a),t.pingedLanes|=t.suspendedLanes&i,t.warmLanes&=~i,bt===t&&(Je&i)===i&&(Ot===4||Ot===3&&(Je&62914560)===Je&&300>tn()-Qc?(ct&2)===0&&Bo(t,0):pp|=i,qo===Je&&(qo=0)),Ia(t)}function Ty(t,a){a===0&&(a=ys()),t=_s(t,a),t!==null&&(bs(t,a),Ia(t))}function f4(t){var a=t.memoizedState,i=0;a!==null&&(i=a.retryLane),Ty(t,i)}function g4(t,a){var i=0;switch(t.tag){case 31:case 13:var l=t.stateNode,p=t.memoizedState;p!==null&&(i=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),Ty(t,i)}function y4(t,a){return lt(t,a)}var eu=null,Mo=null,kp=!1,tu=!1,wp=!1,Gi=0;function Ia(t){t!==Mo&&t.next===null&&(Mo===null?eu=Mo=t:Mo=Mo.next=t),tu=!0,kp||(kp=!0,v4())}function hl(t,a){if(!wp&&tu){wp=!0;do for(var i=!1,l=eu;l!==null;){if(t!==0){var p=l.pendingLanes;if(p===0)var h=0;else{var x=l.suspendedLanes,w=l.pingedLanes;h=(1<<31-bn(42|t)+1)-1,h&=p&~(x&~w),h=h&201326741?h&201326741|1:h?h|2:0}h!==0&&(i=!0,qy(l,h))}else h=Je,h=Ht(l,l===bt?h:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(h&3)===0||Ka(l,h)||(i=!0,qy(l,h));l=l.next}while(i);wp=!1}}function b4(){Ry()}function Ry(){tu=kp=!1;var t=0;Gi!==0&&z4()&&(t=Gi);for(var a=tn(),i=null,l=eu;l!==null;){var p=l.next,h=Dy(l,a);h===0?(l.next=null,i===null?eu=p:i.next=p,p===null&&(Mo=i)):(i=l,(t!==0||(h&3)!==0)&&(tu=!0)),l=p}Qt!==0&&Qt!==5||hl(t),Gi!==0&&(Gi=0)}function Dy(t,a){for(var i=t.suspendedLanes,l=t.pingedLanes,p=t.expirationTimes,h=t.pendingLanes&-62914561;0<h;){var x=31-bn(h),w=1<<x,E=p[x];E===-1?((w&i)===0||(w&l)!==0)&&(p[x]=xi(w,a)):E<=a&&(t.expiredLanes|=w),h&=~w}if(a=bt,i=Je,i=Ht(t,t===a?i:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l=t.callbackNode,i===0||t===a&&(dt===2||dt===9)||t.cancelPendingCommit!==null)return l!==null&&l!==null&&Jt(l),t.callbackNode=null,t.callbackPriority=0;if((i&3)===0||Ka(t,i)){if(a=i&-i,a===t.callbackPriority)return a;switch(l!==null&&Jt(l),_r(i)){case 2:case 8:i=wr;break;case 32:i=fs;break;case 268435456:i=oc;break;default:i=fs}return l=Oy.bind(null,t),i=lt(i,l),t.callbackPriority=a,t.callbackNode=i,a}return l!==null&&l!==null&&Jt(l),t.callbackPriority=2,t.callbackNode=null,2}function Oy(t,a){if(Qt!==0&&Qt!==5)return t.callbackNode=null,t.callbackPriority=0,null;var i=t.callbackNode;if(Wc()&&t.callbackNode!==i)return null;var l=Je;return l=Ht(t,t===bt?l:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l===0?null:(fy(t,l,a),Dy(t,tn()),t.callbackNode!=null&&t.callbackNode===i?Oy.bind(null,t):null)}function qy(t,a){if(Wc())return null;fy(t,a,!0)}function v4(){T4(function(){(ct&6)!==0?lt(kr,b4):Ry()})}function Sp(){if(Gi===0){var t=jo;t===0&&(t=gs,gs<<=1,(gs&261888)===0&&(gs=256)),Gi=t}return Gi}function Py(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:mo(""+t)}function By(t,a){var i=a.ownerDocument.createElement("input");return i.name=a.name,i.value=a.value,t.id&&i.setAttribute("form",t.id),a.parentNode.insertBefore(i,a),t=new FormData(t),i.parentNode.removeChild(i),t}function x4(t,a,i,l,p){if(a==="submit"&&i&&i.stateNode===p){var h=Py((p[un]||null).action),x=l.submitter;x&&(a=(a=x[un]||null)?Py(a.formAction):x.getAttribute("formAction"),a!==null&&(h=a,x=null));var w=new Ss("action","action",null,l,p);t.push({event:w,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(Gi!==0){var E=x?By(p,x):new FormData(p);Gm(i,{pending:!0,data:E,method:p.method,action:h},null,E)}}else typeof h=="function"&&(w.preventDefault(),E=x?By(p,x):new FormData(p),Gm(i,{pending:!0,data:E,method:p.method,action:h},h,E))},currentTarget:p}]})}}for(var jp=0;jp<om.length;jp++){var Ap=om[jp],k4=Ap.toLowerCase(),w4=Ap[0].toUpperCase()+Ap.slice(1);ya(k4,"on"+w4)}ya(hg,"onAnimationEnd"),ya(fg,"onAnimationIteration"),ya(gg,"onAnimationStart"),ya("dblclick","onDoubleClick"),ya("focusin","onFocus"),ya("focusout","onBlur"),ya(Ij,"onTransitionRun"),ya(Mj,"onTransitionStart"),ya(Vj,"onTransitionCancel"),ya(yg,"onTransitionEnd"),vs("onMouseEnter",["mouseout","mouseover"]),vs("onMouseLeave",["mouseout","mouseover"]),vs("onPointerEnter",["pointerout","pointerover"]),vs("onPointerLeave",["pointerout","pointerover"]),za("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),za("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),za("onBeforeInput",["compositionend","keypress","textInput","paste"]),za("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),za("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),za("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var fl="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(" "),S4=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(fl));function Iy(t,a){a=(a&4)!==0;for(var i=0;i<t.length;i++){var l=t[i],p=l.event;l=l.listeners;e:{var h=void 0;if(a)for(var x=l.length-1;0<=x;x--){var w=l[x],E=w.instance,L=w.currentTarget;if(w=w.listener,E!==h&&p.isPropagationStopped())break e;h=w,p.currentTarget=L;try{h(p)}catch(Z){gc(Z)}p.currentTarget=null,h=E}else for(x=0;x<l.length;x++){if(w=l[x],E=w.instance,L=w.currentTarget,w=w.listener,E!==h&&p.isPropagationStopped())break e;h=w,p.currentTarget=L;try{h(p)}catch(Z){gc(Z)}p.currentTarget=null,h=E}}}}function Xe(t,a){var i=a[oo];i===void 0&&(i=a[oo]=new Set);var l=t+"__bubble";i.has(l)||(My(a,t,2,!1),i.add(l))}function Cp(t,a,i){var l=0;a&&(l|=4),My(i,t,l,a)}var nu="_reactListening"+Math.random().toString(36).slice(2);function Np(t){if(!t[nu]){t[nu]=!0,Er.forEach(function(i){i!=="selectionchange"&&(S4.has(i)||Cp(i,!1,t),Cp(i,!0,t))});var a=t.nodeType===9?t:t.ownerDocument;a===null||a[nu]||(a[nu]=!0,Cp("selectionchange",!1,a))}}function My(t,a,i,l){switch(hb(a)){case 2:var p=X4;break;case 8:p=J4;break;default:p=Up}i=p.bind(null,a,i,t),p=void 0,!Mr||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(p=!0),l?p!==void 0?t.addEventListener(a,i,{capture:!0,passive:p}):t.addEventListener(a,i,!0):p!==void 0?t.addEventListener(a,i,{passive:p}):t.addEventListener(a,i,!1)}function _p(t,a,i,l,p){var h=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 w=l.stateNode.containerInfo;if(w===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(;w!==null;){if(x=Ha(w),x===null)return;if(E=x.tag,E===5||E===6||E===26||E===27){l=h=x;continue e}w=w.parentNode}}l=l.return}mc(function(){var L=h,Z=Br(i),ne=[];e:{var $=bg.get(t);if($!==void 0){var Q=Ss,ve=t;switch(t){case"keypress":if(fa(i)===0)break e;case"keydown":case"keyup":Q=gj;break;case"focusin":ve="focus",Q=Xd;break;case"focusout":ve="blur",Q=Xd;break;case"beforeblur":case"afterblur":Q=Xd;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Q=Qf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Q=ij;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Q=vj;break;case hg:case fg:case gg:Q=rj;break;case yg:Q=kj;break;case"scroll":case"scrollend":Q=As;break;case"wheel":Q=Sj;break;case"copy":case"cut":case"paste":Q=cj;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Q=Zf;break;case"toggle":case"beforetoggle":Q=Aj}var qe=(a&4)!==0,gt=!qe&&(t==="scroll"||t==="scrollend"),P=qe?$!==null?$+"Capture":null:$;qe=[];for(var R=L,M;R!==null;){var te=R;if(M=te.stateNode,te=te.tag,te!==5&&te!==26&&te!==27||M===null||P===null||(te=ks(R,P),te!=null&&qe.push(gl(R,te,M))),gt)break;R=R.return}0<qe.length&&($=new Q($,ve,null,i,Z),ne.push({event:$,listeners:qe}))}}if((a&7)===0){e:{if($=t==="mouseover"||t==="pointerover",Q=t==="mouseout"||t==="pointerout",$&&i!==Pr&&(ve=i.relatedTarget||i.fromElement)&&(Ha(ve)||ve[ki]))break e;if((Q||$)&&($=Z.window===Z?Z:($=Z.ownerDocument)?$.defaultView||$.parentWindow:window,Q?(ve=i.relatedTarget||i.toElement,Q=L,ve=ve?Ha(ve):null,ve!==null&&(gt=f(ve),qe=ve.tag,ve!==gt||qe!==5&&qe!==27&&qe!==6)&&(ve=null)):(Q=null,ve=L),Q!==ve)){if(qe=Qf,te="onMouseLeave",P="onMouseEnter",R="mouse",(t==="pointerout"||t==="pointerover")&&(qe=Zf,te="onPointerLeave",P="onPointerEnter",R="pointer"),gt=Q==null?$:ji(Q),M=ve==null?$:ji(ve),$=new qe(te,R+"leave",Q,i,Z),$.target=gt,$.relatedTarget=M,te=null,Ha(Z)===L&&(qe=new qe(P,R+"enter",ve,i,Z),qe.target=M,qe.relatedTarget=gt,te=qe),gt=te,Q&&ve)t:{for(qe=j4,P=Q,R=ve,M=0,te=P;te;te=qe(te))M++;te=0;for(var Ee=R;Ee;Ee=qe(Ee))te++;for(;0<M-te;)P=qe(P),M--;for(;0<te-M;)R=qe(R),te--;for(;M--;){if(P===R||R!==null&&P===R.alternate){qe=P;break t}P=qe(P),R=qe(R)}qe=null}else qe=null;Q!==null&&Vy(ne,$,Q,qe,!1),ve!==null&>!==null&&Vy(ne,gt,ve,qe,!0)}}e:{if($=L?ji(L):window,Q=$.nodeName&&$.nodeName.toLowerCase(),Q==="select"||Q==="input"&&$.type==="file")var ot=ag;else if(tg($))if(ig)ot=qj;else{ot=Dj;var Ae=Rj}else Q=$.nodeName,!Q||Q.toLowerCase()!=="input"||$.type!=="checkbox"&&$.type!=="radio"?L&&pa(L.elementType)&&(ot=ag):ot=Oj;if(ot&&(ot=ot(t,L))){ng(ne,ot,i,Z);break e}Ae&&Ae(t,$,L),t==="focusout"&&L&&$.type==="number"&&L.memoizedProps.value!=null&&co($,"number",$.value)}switch(Ae=L?ji(L):window,t){case"focusin":(tg(Ae)||Ae.contentEditable==="true")&&(go=Ae,am=L,Kr=null);break;case"focusout":Kr=am=go=null;break;case"mousedown":im=!0;break;case"contextmenu":case"mouseup":case"dragend":im=!1,mg(ne,i,Z);break;case"selectionchange":if(Bj)break;case"keydown":case"keyup":mg(ne,i,Z)}var Ke;if(Wd)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 fo?Wf(t,i)&&(We="onCompositionEnd"):t==="keydown"&&i.keyCode===229&&(We="onCompositionStart");We&&(Yf&&i.locale!=="ko"&&(fo||We!=="onCompositionStart"?We==="onCompositionEnd"&&fo&&(Ke=Ya()):(Da=Z,G="value"in Da?Da.value:Da.textContent,fo=!0)),Ae=au(L,We),0<Ae.length&&(We=new Ff(We,t,null,i,Z),ne.push({event:We,listeners:Ae}),Ke?We.data=Ke:(Ke=eg(i),Ke!==null&&(We.data=Ke)))),(Ke=Nj?_j(t,i):zj(t,i))&&(We=au(L,"onBeforeInput"),0<We.length&&(Ae=new Ff("onBeforeInput","beforeinput",null,i,Z),ne.push({event:Ae,listeners:We}),Ae.data=Ke)),x4(ne,t,L,i,Z)}Iy(ne,a)})}function gl(t,a,i){return{instance:t,listener:a,currentTarget:i}}function au(t,a){for(var i=a+"Capture",l=[];t!==null;){var p=t,h=p.stateNode;if(p=p.tag,p!==5&&p!==26&&p!==27||h===null||(p=ks(t,i),p!=null&&l.unshift(gl(t,p,h)),p=ks(t,a),p!=null&&l.push(gl(t,p,h))),t.tag===3)return l;t=t.return}return[]}function j4(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function Vy(t,a,i,l,p){for(var h=a._reactName,x=[];i!==null&&i!==l;){var w=i,E=w.alternate,L=w.stateNode;if(w=w.tag,E!==null&&E===l)break;w!==5&&w!==26&&w!==27||L===null||(E=L,p?(L=ks(i,h),L!=null&&x.unshift(gl(i,L,E))):p||(L=ks(i,h),L!=null&&x.push(gl(i,L,E)))),i=i.return}x.length!==0&&t.push({event:a,listeners:x})}var A4=/\r\n?/g,C4=/\u0000|\uFFFD/g;function Ly(t){return(typeof t=="string"?t:""+t).replace(A4,`
|
|
10
|
+
`).replace(C4,"")}function Uy(t,a){return a=Ly(a),Ly(t)===a}function ft(t,a,i,l,p,h){switch(i){case"children":typeof l=="string"?a==="body"||a==="textarea"&&l===""||Fn(t,l):(typeof l=="number"||typeof l=="bigint")&&a!=="body"&&Fn(t,""+l);break;case"className":xs(t,"class",l);break;case"tabIndex":xs(t,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":xs(t,i,l);break;case"style":Ra(t,l,h);break;case"data":if(a!=="object"){xs(t,"data",l);break}case"src":case"href":if(l===""&&(a!=="a"||i!=="href")){t.removeAttribute(i);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(i);break}l=mo(""+l),t.setAttribute(i,l);break;case"action":case"formAction":if(typeof l=="function"){t.setAttribute(i,"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 h=="function"&&(i==="formAction"?(a!=="input"&&ft(t,a,"name",p.name,p,null),ft(t,a,"formEncType",p.formEncType,p,null),ft(t,a,"formMethod",p.formMethod,p,null),ft(t,a,"formTarget",p.formTarget,p,null)):(ft(t,a,"encType",p.encType,p,null),ft(t,a,"method",p.method,p,null),ft(t,a,"target",p.target,p,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(i);break}l=mo(""+l),t.setAttribute(i,l);break;case"onClick":l!=null&&(t.onclick=ha);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(i=l.__html,i!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=i}}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}i=mo(""+l),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i);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(i,""+l):t.removeAttribute(i);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(i,""):t.removeAttribute(i);break;case"capture":case"download":l===!0?t.setAttribute(i,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(i,l):t.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?t.setAttribute(i,l):t.removeAttribute(i);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?t.removeAttribute(i):t.setAttribute(i,l);break;case"popover":Xe("beforetoggle",t),Xe("toggle",t),Qa(t,"popover",l);break;case"xlinkActuate":nn(t,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":nn(t,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":nn(t,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":nn(t,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":nn(t,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":nn(t,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":nn(t,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":nn(t,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":nn(t,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":Qa(t,"is",l);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=uo.get(i)||i,Qa(t,i,l))}}function zp(t,a,i,l,p,h){switch(i){case"style":Ra(t,l,h);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(i=l.__html,i!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=i}}break;case"children":typeof l=="string"?Fn(t,l):(typeof l=="number"||typeof l=="bigint")&&Fn(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=ha);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Tr.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(p=i.endsWith("Capture"),a=i.slice(2,p?i.length-7:void 0),h=t[un]||null,h=h!=null?h[i]:null,typeof h=="function"&&t.removeEventListener(a,h,p),typeof l=="function")){typeof h!="function"&&h!==null&&(i in t?t[i]=null:t.hasAttribute(i)&&t.removeAttribute(i)),t.addEventListener(a,l,p);break e}i in t?t[i]=l:l===!0?t.setAttribute(i,""):Qa(t,i,l)}}}function ln(t,a,i){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,h;for(h in i)if(i.hasOwnProperty(h)){var x=i[h];if(x!=null)switch(h){case"src":l=!0;break;case"srcSet":p=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:ft(t,a,h,x,i,null)}}p&&ft(t,a,"srcSet",i.srcSet,i,null),l&&ft(t,a,"src",i.src,i,null);return;case"input":Xe("invalid",t);var w=h=x=p=null,E=null,L=null;for(l in i)if(i.hasOwnProperty(l)){var Z=i[l];if(Z!=null)switch(l){case"name":p=Z;break;case"type":x=Z;break;case"checked":E=Z;break;case"defaultChecked":L=Z;break;case"value":h=Z;break;case"defaultValue":w=Z;break;case"children":case"dangerouslySetInnerHTML":if(Z!=null)throw Error(r(137,a));break;default:ft(t,a,l,Z,i,null)}}qr(t,h,w,E,L,x,p,!1);return;case"select":Xe("invalid",t),l=x=h=null;for(p in i)if(i.hasOwnProperty(p)&&(w=i[p],w!=null))switch(p){case"value":h=w;break;case"defaultValue":x=w;break;case"multiple":l=w;default:ft(t,a,p,w,i,null)}a=h,i=x,t.multiple=!!l,a!=null?An(t,!!l,a,!1):i!=null&&An(t,!!l,i,!0);return;case"textarea":Xe("invalid",t),h=p=l=null;for(x in i)if(i.hasOwnProperty(x)&&(w=i[x],w!=null))switch(x){case"value":l=w;break;case"defaultValue":p=w;break;case"children":h=w;break;case"dangerouslySetInnerHTML":if(w!=null)throw Error(r(91));break;default:ft(t,a,x,w,i,null)}Fa(t,l,p,h);return;case"option":for(E in i)i.hasOwnProperty(E)&&(l=i[E],l!=null)&&(E==="selected"?t.selected=l&&typeof l!="function"&&typeof l!="symbol":ft(t,a,E,l,i,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<fl.length;l++)Xe(fl[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(L in i)if(i.hasOwnProperty(L)&&(l=i[L],l!=null))switch(L){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:ft(t,a,L,l,i,null)}return;default:if(pa(a)){for(Z in i)i.hasOwnProperty(Z)&&(l=i[Z],l!==void 0&&zp(t,a,Z,l,i,void 0));return}}for(w in i)i.hasOwnProperty(w)&&(l=i[w],l!=null&&ft(t,a,w,l,i,null))}function N4(t,a,i,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,h=null,x=null,w=null,E=null,L=null,Z=null;for(Q in i){var ne=i[Q];if(i.hasOwnProperty(Q)&&ne!=null)switch(Q){case"checked":break;case"value":break;case"defaultValue":E=ne;default:l.hasOwnProperty(Q)||ft(t,a,Q,null,l,ne)}}for(var $ in l){var Q=l[$];if(ne=i[$],l.hasOwnProperty($)&&(Q!=null||ne!=null))switch($){case"type":h=Q;break;case"name":p=Q;break;case"checked":L=Q;break;case"defaultChecked":Z=Q;break;case"value":x=Q;break;case"defaultValue":w=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(r(137,a));break;default:Q!==ne&&ft(t,a,$,Q,l,ne)}}lo(t,x,w,E,L,Z,h,p);return;case"select":Q=x=w=$=null;for(h in i)if(E=i[h],i.hasOwnProperty(h)&&E!=null)switch(h){case"value":break;case"multiple":Q=E;default:l.hasOwnProperty(h)||ft(t,a,h,null,l,E)}for(p in l)if(h=l[p],E=i[p],l.hasOwnProperty(p)&&(h!=null||E!=null))switch(p){case"value":$=h;break;case"defaultValue":w=h;break;case"multiple":x=h;default:h!==E&&ft(t,a,p,h,l,E)}a=w,i=x,l=Q,$!=null?An(t,!!i,$,!1):!!l!=!!i&&(a!=null?An(t,!!i,a,!0):An(t,!!i,i?[]:"",!1));return;case"textarea":Q=$=null;for(w in i)if(p=i[w],i.hasOwnProperty(w)&&p!=null&&!l.hasOwnProperty(w))switch(w){case"value":break;case"children":break;default:ft(t,a,w,null,l,p)}for(x in l)if(p=l[x],h=i[x],l.hasOwnProperty(x)&&(p!=null||h!=null))switch(x){case"value":$=p;break;case"defaultValue":Q=p;break;case"children":break;case"dangerouslySetInnerHTML":if(p!=null)throw Error(r(91));break;default:p!==h&&ft(t,a,x,p,l,h)}qn(t,$,Q);return;case"option":for(var ve in i)$=i[ve],i.hasOwnProperty(ve)&&$!=null&&!l.hasOwnProperty(ve)&&(ve==="selected"?t.selected=!1:ft(t,a,ve,null,l,$));for(E in l)$=l[E],Q=i[E],l.hasOwnProperty(E)&&$!==Q&&($!=null||Q!=null)&&(E==="selected"?t.selected=$&&typeof $!="function"&&typeof $!="symbol":ft(t,a,E,$,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 qe in i)$=i[qe],i.hasOwnProperty(qe)&&$!=null&&!l.hasOwnProperty(qe)&&ft(t,a,qe,null,l,$);for(L in l)if($=l[L],Q=i[L],l.hasOwnProperty(L)&&$!==Q&&($!=null||Q!=null))switch(L){case"children":case"dangerouslySetInnerHTML":if($!=null)throw Error(r(137,a));break;default:ft(t,a,L,$,l,Q)}return;default:if(pa(a)){for(var gt in i)$=i[gt],i.hasOwnProperty(gt)&&$!==void 0&&!l.hasOwnProperty(gt)&&zp(t,a,gt,void 0,l,$);for(Z in l)$=l[Z],Q=i[Z],!l.hasOwnProperty(Z)||$===Q||$===void 0&&Q===void 0||zp(t,a,Z,$,l,Q);return}}for(var P in i)$=i[P],i.hasOwnProperty(P)&&$!=null&&!l.hasOwnProperty(P)&&ft(t,a,P,null,l,$);for(ne in l)$=l[ne],Q=i[ne],!l.hasOwnProperty(ne)||$===Q||$==null&&Q==null||ft(t,a,ne,$,l,Q)}function Gy(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function _4(){if(typeof performance.getEntriesByType=="function"){for(var t=0,a=0,i=performance.getEntriesByType("resource"),l=0;l<i.length;l++){var p=i[l],h=p.transferSize,x=p.initiatorType,w=p.duration;if(h&&w&&Gy(x)){for(x=0,w=p.responseEnd,l+=1;l<i.length;l++){var E=i[l],L=E.startTime;if(L>w)break;var Z=E.transferSize,ne=E.initiatorType;Z&&Gy(ne)&&(E=E.responseEnd,x+=Z*(E<w?1:(w-L)/(E-L)))}if(--l,a+=8*(h+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 Ep=null,Tp=null;function iu(t){return t.nodeType===9?t:t.ownerDocument}function $y(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 Ky(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 Rp(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 Dp=null;function z4(){var t=window.event;return t&&t.type==="popstate"?t===Dp?!1:(Dp=t,!0):(Dp=null,!1)}var Hy=typeof setTimeout=="function"?setTimeout:void 0,E4=typeof clearTimeout=="function"?clearTimeout:void 0,Qy=typeof Promise=="function"?Promise:void 0,T4=typeof queueMicrotask=="function"?queueMicrotask:typeof Qy<"u"?function(t){return Qy.resolve(null).then(t).catch(R4)}:Hy;function R4(t){setTimeout(function(){throw t})}function $i(t){return t==="head"}function Fy(t,a){var i=a,l=0;do{var p=i.nextSibling;if(t.removeChild(i),p&&p.nodeType===8)if(i=p.data,i==="/$"||i==="/&"){if(l===0){t.removeChild(p),Go(a);return}l--}else if(i==="$"||i==="$?"||i==="$~"||i==="$!"||i==="&")l++;else if(i==="html")yl(t.ownerDocument.documentElement);else if(i==="head"){i=t.ownerDocument.head,yl(i);for(var h=i.firstChild;h;){var x=h.nextSibling,w=h.nodeName;h[wi]||w==="SCRIPT"||w==="STYLE"||w==="LINK"&&h.rel.toLowerCase()==="stylesheet"||i.removeChild(h),h=x}}else i==="body"&&yl(t.ownerDocument.body);i=p}while(i);Go(a)}function Zy(t,a){var i=t;t=0;do{var l=i.nextSibling;if(i.nodeType===1?a?(i._stashedDisplay=i.style.display,i.style.display="none"):(i.style.display=i._stashedDisplay||"",i.getAttribute("style")===""&&i.removeAttribute("style")):i.nodeType===3&&(a?(i._stashedText=i.nodeValue,i.nodeValue=""):i.nodeValue=i._stashedText||""),l&&l.nodeType===8)if(i=l.data,i==="/$"){if(t===0)break;t--}else i!=="$"&&i!=="$?"&&i!=="$~"&&i!=="$!"||t++;i=l}while(i)}function Op(t){var a=t.firstChild;for(a&&a.nodeType===10&&(a=a.nextSibling);a;){var i=a;switch(a=a.nextSibling,i.nodeName){case"HTML":case"HEAD":case"BODY":Op(i),zr(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}t.removeChild(i)}}function D4(t,a,i,l){for(;t.nodeType===1;){var p=i;if(t.nodeName.toLowerCase()!==a.toLowerCase()){if(!l&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(l){if(!t[wi])switch(a){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(h=t.getAttribute("rel"),h==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(h!==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(h=t.getAttribute("src"),(h!==(p.src==null?null:p.src)||t.getAttribute("type")!==(p.type==null?null:p.type)||t.getAttribute("crossorigin")!==(p.crossOrigin==null?null:p.crossOrigin))&&h&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(a==="input"&&t.type==="hidden"){var h=p.name==null?null:""+p.name;if(p.type==="hidden"&&t.getAttribute("name")===h)return t}else return t;if(t=aa(t.nextSibling),t===null)break}return null}function O4(t,a,i){if(a==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!i||(t=aa(t.nextSibling),t===null))return null;return t}function Yy(t,a){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!a||(t=aa(t.nextSibling),t===null))return null;return t}function qp(t){return t.data==="$?"||t.data==="$~"}function Pp(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function q4(t,a){var i=t.ownerDocument;if(t.data==="$~")t._reactRetry=a;else if(t.data!=="$?"||i.readyState!=="loading")a();else{var l=function(){a(),i.removeEventListener("DOMContentLoaded",l)};i.addEventListener("DOMContentLoaded",l),t._reactRetry=l}}function aa(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 Bp=null;function Xy(t){t=t.nextSibling;for(var a=0;t;){if(t.nodeType===8){var i=t.data;if(i==="/$"||i==="/&"){if(a===0)return aa(t.nextSibling);a--}else i!=="$"&&i!=="$!"&&i!=="$?"&&i!=="$~"&&i!=="&"||a++}t=t.nextSibling}return null}function Jy(t){t=t.previousSibling;for(var a=0;t;){if(t.nodeType===8){var i=t.data;if(i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"){if(a===0)return t;a--}else i!=="/$"&&i!=="/&"||a++}t=t.previousSibling}return null}function Wy(t,a,i){switch(a=iu(i),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 yl(t){for(var a=t.attributes;a.length;)t.removeAttributeNode(a[0]);zr(t)}var ia=new Map,eb=new Set;function su(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var di=ee.d;ee.d={f:P4,r:B4,D:I4,C:M4,L:V4,m:L4,X:G4,S:U4,M:$4};function P4(){var t=di.f(),a=Yc();return t||a}function B4(t){var a=Si(t);a!==null&&a.tag===5&&a.type==="form"?y1(a):di.r(t)}var Vo=typeof document>"u"?null:document;function tb(t,a,i){var l=Vo;if(l&&typeof a=="string"&&a){var p=mn(a);p='link[rel="'+t+'"][href="'+p+'"]',typeof i=="string"&&(p+='[crossorigin="'+i+'"]'),eb.has(p)||(eb.add(p),t={rel:t,crossOrigin:i,href:a},l.querySelector(p)===null&&(a=l.createElement("link"),ln(a,"link",t),qt(a),l.head.appendChild(a)))}}function I4(t){di.D(t),tb("dns-prefetch",t,null)}function M4(t,a){di.C(t,a),tb("preconnect",t,a)}function V4(t,a,i){di.L(t,a,i);var l=Vo;if(l&&t&&a){var p='link[rel="preload"][as="'+mn(a)+'"]';a==="image"&&i&&i.imageSrcSet?(p+='[imagesrcset="'+mn(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(p+='[imagesizes="'+mn(i.imageSizes)+'"]')):p+='[href="'+mn(t)+'"]';var h=p;switch(a){case"style":h=Lo(t);break;case"script":h=Uo(t)}ia.has(h)||(t=A({rel:"preload",href:a==="image"&&i&&i.imageSrcSet?void 0:t,as:a},i),ia.set(h,t),l.querySelector(p)!==null||a==="style"&&l.querySelector(bl(h))||a==="script"&&l.querySelector(vl(h))||(a=l.createElement("link"),ln(a,"link",t),qt(a),l.head.appendChild(a)))}}function L4(t,a){di.m(t,a);var i=Vo;if(i&&t){var l=a&&typeof a.as=="string"?a.as:"script",p='link[rel="modulepreload"][as="'+mn(l)+'"][href="'+mn(t)+'"]',h=p;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":h=Uo(t)}if(!ia.has(h)&&(t=A({rel:"modulepreload",href:t},a),ia.set(h,t),i.querySelector(p)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(vl(h)))return}l=i.createElement("link"),ln(l,"link",t),qt(l),i.head.appendChild(l)}}}function U4(t,a,i){di.S(t,a,i);var l=Vo;if(l&&t){var p=Ai(l).hoistableStyles,h=Lo(t);a=a||"default";var x=p.get(h);if(!x){var w={loading:0,preload:null};if(x=l.querySelector(bl(h)))w.loading=5;else{t=A({rel:"stylesheet",href:t,"data-precedence":a},i),(i=ia.get(h))&&Ip(t,i);var E=x=l.createElement("link");qt(E),ln(E,"link",t),E._p=new Promise(function(L,Z){E.onload=L,E.onerror=Z}),E.addEventListener("load",function(){w.loading|=1}),E.addEventListener("error",function(){w.loading|=2}),w.loading|=4,ou(x,a,l)}x={type:"stylesheet",instance:x,count:1,state:w},p.set(h,x)}}}function G4(t,a){di.X(t,a);var i=Vo;if(i&&t){var l=Ai(i).hoistableScripts,p=Uo(t),h=l.get(p);h||(h=i.querySelector(vl(p)),h||(t=A({src:t,async:!0},a),(a=ia.get(p))&&Mp(t,a),h=i.createElement("script"),qt(h),ln(h,"link",t),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},l.set(p,h))}}function $4(t,a){di.M(t,a);var i=Vo;if(i&&t){var l=Ai(i).hoistableScripts,p=Uo(t),h=l.get(p);h||(h=i.querySelector(vl(p)),h||(t=A({src:t,async:!0,type:"module"},a),(a=ia.get(p))&&Mp(t,a),h=i.createElement("script"),qt(h),ln(h,"link",t),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},l.set(p,h))}}function nb(t,a,i,l){var p=(p=q.current)?su(p):null;if(!p)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(a=Lo(i.href),i=Ai(p).hoistableStyles,l=i.get(a),l||(l={type:"style",instance:null,count:0,state:null},i.set(a,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){t=Lo(i.href);var h=Ai(p).hoistableStyles,x=h.get(t);if(x||(p=p.ownerDocument||p,x={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},h.set(t,x),(h=p.querySelector(bl(t)))&&!h._p&&(x.instance=h,x.state.loading=5),ia.has(t)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},ia.set(t,i),h||K4(p,t,i,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=i.async,i=i.src,typeof i=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=Uo(i),i=Ai(p).hoistableScripts,l=i.get(a),l||(l={type:"script",instance:null,count:0,state:null},i.set(a,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function Lo(t){return'href="'+mn(t)+'"'}function bl(t){return'link[rel="stylesheet"]['+t+"]"}function ab(t){return A({},t,{"data-precedence":t.precedence,precedence:null})}function K4(t,a,i,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}),ln(a,"link",i),qt(a),t.head.appendChild(a))}function Uo(t){return'[src="'+mn(t)+'"]'}function vl(t){return"script[async]"+t}function ib(t,a,i){if(a.count++,a.instance===null)switch(a.type){case"style":var l=t.querySelector('style[data-href~="'+mn(i.href)+'"]');if(l)return a.instance=l,qt(l),l;var p=A({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return l=(t.ownerDocument||t).createElement("style"),qt(l),ln(l,"style",p),ou(l,i.precedence,t),a.instance=l;case"stylesheet":p=Lo(i.href);var h=t.querySelector(bl(p));if(h)return a.state.loading|=4,a.instance=h,qt(h),h;l=ab(i),(p=ia.get(p))&&Ip(l,p),h=(t.ownerDocument||t).createElement("link"),qt(h);var x=h;return x._p=new Promise(function(w,E){x.onload=w,x.onerror=E}),ln(h,"link",l),a.state.loading|=4,ou(h,i.precedence,t),a.instance=h;case"script":return h=Uo(i.src),(p=t.querySelector(vl(h)))?(a.instance=p,qt(p),p):(l=i,(p=ia.get(h))&&(l=A({},i),Mp(l,p)),t=t.ownerDocument||t,p=t.createElement("script"),qt(p),ln(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,ou(l,i.precedence,t));return a.instance}function ou(t,a,i){for(var l=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),p=l.length?l[l.length-1]:null,h=p,x=0;x<l.length;x++){var w=l[x];if(w.dataset.precedence===a)h=w;else if(h!==p)break}h?h.parentNode.insertBefore(t,h.nextSibling):(a=i.nodeType===9?i.head:i,a.insertBefore(t,a.firstChild))}function Ip(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.title==null&&(t.title=a.title)}function Mp(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.integrity==null&&(t.integrity=a.integrity)}var ru=null;function sb(t,a,i){if(ru===null){var l=new Map,p=ru=new Map;p.set(i,l)}else p=ru,l=p.get(i),l||(l=new Map,p.set(i,l));if(l.has(t))return l;for(l.set(t,null),i=i.getElementsByTagName(t),p=0;p<i.length;p++){var h=i[p];if(!(h[wi]||h[Mt]||t==="link"&&h.getAttribute("rel")==="stylesheet")&&h.namespaceURI!=="http://www.w3.org/2000/svg"){var x=h.getAttribute(a)||"";x=t+x;var w=l.get(x);w?w.push(h):l.set(x,[h])}}return l}function ob(t,a,i){t=t.ownerDocument||t,t.head.insertBefore(i,a==="title"?t.querySelector("head > title"):null)}function H4(t,a,i){if(i===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 rb(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function Q4(t,a,i,l){if(i.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var p=Lo(l.href),h=a.querySelector(bl(p));if(h){a=h._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(t.count++,t=lu.bind(t),a.then(t,t)),i.state.loading|=4,i.instance=h,qt(h);return}h=a.ownerDocument||a,l=ab(l),(p=ia.get(p))&&Ip(l,p),h=h.createElement("link"),qt(h);var x=h;x._p=new Promise(function(w,E){x.onload=w,x.onerror=E}),ln(h,"link",l),i.instance=h}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(i,a),(a=i.state.preload)&&(i.state.loading&3)===0&&(t.count++,i=lu.bind(t),a.addEventListener("load",i),a.addEventListener("error",i))}}var Vp=0;function F4(t,a){return t.stylesheets&&t.count===0&&uu(t,t.stylesheets),0<t.count||0<t.imgCount?function(i){var l=setTimeout(function(){if(t.stylesheets&&uu(t,t.stylesheets),t.unsuspend){var h=t.unsuspend;t.unsuspend=null,h()}},6e4+a);0<t.imgBytes&&Vp===0&&(Vp=62500*_4());var p=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&uu(t,t.stylesheets),t.unsuspend)){var h=t.unsuspend;t.unsuspend=null,h()}},(t.imgBytes>Vp?50:800)+a);return t.unsuspend=i,function(){t.unsuspend=null,clearTimeout(l),clearTimeout(p)}}:null}function lu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)uu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var cu=null;function uu(t,a){t.stylesheets=null,t.unsuspend!==null&&(t.count++,cu=new Map,a.forEach(Z4,t),cu=null,lu.call(t))}function Z4(t,a){if(!(a.state.loading&4)){var i=cu.get(t);if(i)var l=i.get(null);else{i=new Map,cu.set(t,i);for(var p=t.querySelectorAll("link[data-precedence],style[data-precedence]"),h=0;h<p.length;h++){var x=p[h];(x.nodeName==="LINK"||x.getAttribute("media")!=="not all")&&(i.set(x.dataset.precedence,x),l=x)}l&&i.set(null,l)}p=a.instance,x=p.getAttribute("data-precedence"),h=i.get(x)||l,h===l&&i.set(null,p),i.set(x,p),this.count++,l=lu.bind(this),p.addEventListener("load",l),p.addEventListener("error",l),h?h.parentNode.insertBefore(p,h.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(p,t.firstChild)),a.state.loading|=4}}var xl={$$typeof:V,Provider:null,Consumer:null,_currentValue:pe,_currentValue2:pe,_threadCount:0};function Y4(t,a,i,l,p,h,x,w,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=io(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=io(0),this.hiddenUpdates=io(null),this.identifierPrefix=l,this.onUncaughtError=p,this.onCaughtError=h,this.onRecoverableError=x,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=E,this.incompleteTransitions=new Map}function lb(t,a,i,l,p,h,x,w,E,L,Z,ne){return t=new Y4(t,a,i,x,E,L,Z,ne,w),a=1,h===!0&&(a|=24),h=Bn(3,null,null,a),t.current=h,h.stateNode=t,a=vm(),a.refCount++,t.pooledCache=a,a.refCount++,h.memoizedState={element:l,isDehydrated:i,cache:a},Sm(h),t}function cb(t){return t?(t=vo,t):vo}function ub(t,a,i,l,p,h){p=cb(p),l.context===null?l.context=p:l.pendingContext=p,l=Di(a),l.payload={element:i},h=h===void 0?null:h,h!==null&&(l.callback=h),i=Oi(t,l,a),i!==null&&(En(i,t,a),Jr(i,t,a))}function db(t,a){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var i=t.retryLane;t.retryLane=i!==0&&i<a?i:a}}function Lp(t,a){db(t,a),(t=t.alternate)&&db(t,a)}function mb(t){if(t.tag===13||t.tag===31){var a=_s(t,67108864);a!==null&&En(a,t,67108864),Lp(t,67108864)}}function pb(t){if(t.tag===13||t.tag===31){var a=Un();a=Nr(a);var i=_s(t,a);i!==null&&En(i,t,a),Lp(t,a)}}var du=!0;function X4(t,a,i,l){var p=B.T;B.T=null;var h=ee.p;try{ee.p=2,Up(t,a,i,l)}finally{ee.p=h,B.T=p}}function J4(t,a,i,l){var p=B.T;B.T=null;var h=ee.p;try{ee.p=8,Up(t,a,i,l)}finally{ee.p=h,B.T=p}}function Up(t,a,i,l){if(du){var p=Gp(l);if(p===null)_p(t,a,l,mu,i),fb(t,l);else if(eA(p,t,a,i,l))l.stopPropagation();else if(fb(t,l),a&4&&-1<W4.indexOf(t)){for(;p!==null;){var h=Si(p);if(h!==null)switch(h.tag){case 3:if(h=h.stateNode,h.current.memoizedState.isDehydrated){var x=Hn(h.pendingLanes);if(x!==0){var w=h;for(w.pendingLanes|=2,w.entangledLanes|=2;x;){var E=1<<31-bn(x);w.entanglements[1]|=E,x&=~E}Ia(h),(ct&6)===0&&(Fc=tn()+500,hl(0))}}break;case 31:case 13:w=_s(h,2),w!==null&&En(w,h,2),Yc(),Lp(h,2)}if(h=Gp(l),h===null&&_p(t,a,l,mu,i),h===p)break;p=h}p!==null&&l.stopPropagation()}else _p(t,a,l,null,i)}}function Gp(t){return t=Br(t),$p(t)}var mu=null;function $p(t){if(mu=null,t=Ha(t),t!==null){var a=f(t);if(a===null)t=null;else{var i=a.tag;if(i===13){if(t=g(a),t!==null)return t;t=null}else if(i===31){if(t=b(a),t!==null)return t;t=null}else if(i===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;t=null}else a!==t&&(t=null)}}return mu=t,null}function hb(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(xr()){case kr:return 2;case wr:return 8;case fs:case sc:return 32;case oc:return 268435456;default:return 32}default:return 32}}var Kp=!1,Ki=null,Hi=null,Qi=null,kl=new Map,wl=new Map,Fi=[],W4="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 fb(t,a){switch(t){case"focusin":case"focusout":Ki=null;break;case"dragenter":case"dragleave":Hi=null;break;case"mouseover":case"mouseout":Qi=null;break;case"pointerover":case"pointerout":kl.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":wl.delete(a.pointerId)}}function Sl(t,a,i,l,p,h){return t===null||t.nativeEvent!==h?(t={blockedOn:a,domEventName:i,eventSystemFlags:l,nativeEvent:h,targetContainers:[p]},a!==null&&(a=Si(a),a!==null&&mb(a)),t):(t.eventSystemFlags|=l,a=t.targetContainers,p!==null&&a.indexOf(p)===-1&&a.push(p),t)}function eA(t,a,i,l,p){switch(a){case"focusin":return Ki=Sl(Ki,t,a,i,l,p),!0;case"dragenter":return Hi=Sl(Hi,t,a,i,l,p),!0;case"mouseover":return Qi=Sl(Qi,t,a,i,l,p),!0;case"pointerover":var h=p.pointerId;return kl.set(h,Sl(kl.get(h)||null,t,a,i,l,p)),!0;case"gotpointercapture":return h=p.pointerId,wl.set(h,Sl(wl.get(h)||null,t,a,i,l,p)),!0}return!1}function gb(t){var a=Ha(t.target);if(a!==null){var i=f(a);if(i!==null){if(a=i.tag,a===13){if(a=g(i),a!==null){t.blockedOn=a,cc(t.priority,function(){pb(i)});return}}else if(a===31){if(a=b(i),a!==null){t.blockedOn=a,cc(t.priority,function(){pb(i)});return}}else if(a===3&&i.stateNode.current.memoizedState.isDehydrated){t.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}t.blockedOn=null}function pu(t){if(t.blockedOn!==null)return!1;for(var a=t.targetContainers;0<a.length;){var i=Gp(t.nativeEvent);if(i===null){i=t.nativeEvent;var l=new i.constructor(i.type,i);Pr=l,i.target.dispatchEvent(l),Pr=null}else return a=Si(i),a!==null&&mb(a),t.blockedOn=i,!1;a.shift()}return!0}function yb(t,a,i){pu(t)&&i.delete(a)}function tA(){Kp=!1,Ki!==null&&pu(Ki)&&(Ki=null),Hi!==null&&pu(Hi)&&(Hi=null),Qi!==null&&pu(Qi)&&(Qi=null),kl.forEach(yb),wl.forEach(yb)}function hu(t,a){t.blockedOn===a&&(t.blockedOn=null,Kp||(Kp=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,tA)))}var fu=null;function bb(t){fu!==t&&(fu=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){fu===t&&(fu=null);for(var a=0;a<t.length;a+=3){var i=t[a],l=t[a+1],p=t[a+2];if(typeof l!="function"){if($p(l||i)===null)continue;break}var h=Si(i);h!==null&&(t.splice(a,3),a-=3,Gm(h,{pending:!0,data:p,method:i.method,action:l},l,p))}}))}function Go(t){function a(E){return hu(E,t)}Ki!==null&&hu(Ki,t),Hi!==null&&hu(Hi,t),Qi!==null&&hu(Qi,t),kl.forEach(a),wl.forEach(a);for(var i=0;i<Fi.length;i++){var l=Fi[i];l.blockedOn===t&&(l.blockedOn=null)}for(;0<Fi.length&&(i=Fi[0],i.blockedOn===null);)gb(i),i.blockedOn===null&&Fi.shift();if(i=(t.ownerDocument||t).$$reactFormReplay,i!=null)for(l=0;l<i.length;l+=3){var p=i[l],h=i[l+1],x=p[un]||null;if(typeof h=="function")x||bb(i);else if(x){var w=null;if(h&&h.hasAttribute("formAction")){if(p=h,x=h[un]||null)w=x.formAction;else if($p(p)!==null)continue}else w=x.action;typeof w=="function"?i[l+1]=w:(i.splice(l,3),l-=3),bb(i)}}}function vb(){function t(h){h.canIntercept&&h.info==="react-transition"&&h.intercept({handler:function(){return new Promise(function(x){return p=x})},focusReset:"manual",scroll:"manual"})}function a(){p!==null&&(p(),p=null),l||setTimeout(i,20)}function i(){if(!l&&!navigation.transition){var h=navigation.currentEntry;h&&h.url!=null&&navigation.navigate(h.url,{state:h.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(i,100),function(){l=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",a),navigation.removeEventListener("navigateerror",a),p!==null&&(p(),p=null)}}}function Hp(t){this._internalRoot=t}gu.prototype.render=Hp.prototype.render=function(t){var a=this._internalRoot;if(a===null)throw Error(r(409));var i=a.current,l=Un();ub(i,l,t,a,null,null)},gu.prototype.unmount=Hp.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var a=t.containerInfo;ub(t.current,2,null,t,null,null),Yc(),a[ki]=null}};function gu(t){this._internalRoot=t}gu.prototype.unstable_scheduleHydration=function(t){if(t){var a=so();t={blockedOn:null,target:t,priority:a};for(var i=0;i<Fi.length&&a!==0&&a<Fi[i].priority;i++);Fi.splice(i,0,t),i===0&&gb(t)}};var xb=n.version;if(xb!=="19.2.4")throw Error(r(527,xb,"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=k(a),t=t!==null?S(t):null,t=t===null?null:t.stateNode,t};var nA={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:B,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var yu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!yu.isDisabled&&yu.supportsFiber)try{yn=yu.inject(nA),wt=yu}catch{}}return jl.createRoot=function(t,a){if(!u(t))throw Error(r(299));var i=!1,l="",p=N1,h=_1,x=z1;return a!=null&&(a.unstable_strictMode===!0&&(i=!0),a.identifierPrefix!==void 0&&(l=a.identifierPrefix),a.onUncaughtError!==void 0&&(p=a.onUncaughtError),a.onCaughtError!==void 0&&(h=a.onCaughtError),a.onRecoverableError!==void 0&&(x=a.onRecoverableError)),a=lb(t,1,!1,null,null,i,l,null,p,h,x,vb),t[ki]=a.current,Np(t),new Hp(a)},jl.hydrateRoot=function(t,a,i){if(!u(t))throw Error(r(299));var l=!1,p="",h=N1,x=_1,w=z1,E=null;return i!=null&&(i.unstable_strictMode===!0&&(l=!0),i.identifierPrefix!==void 0&&(p=i.identifierPrefix),i.onUncaughtError!==void 0&&(h=i.onUncaughtError),i.onCaughtError!==void 0&&(x=i.onCaughtError),i.onRecoverableError!==void 0&&(w=i.onRecoverableError),i.formState!==void 0&&(E=i.formState)),a=lb(t,1,!0,a,i??null,l,p,E,h,x,w,vb),a.context=cb(null),i=a.current,l=Un(),l=Nr(l),p=Di(l),p.callback=null,Oi(i,p,l),i=l,a.current.lanes=i,bs(a,i),Ia(a),t[ki]=a.current,Np(t),new gu(a)},jl.version="19.2.4",jl}var Ab;function LA(){if(Ab)return Qp.exports;Ab=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(),Qp.exports=VA(),Qp.exports}var UA=LA();function Y(e,n,s){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 k=g.prototype,S=Object.keys(k);for(let A=0;A<S.length;A++){const z=S[A];z in b||(b[z]=k[z].bind(b))}}const u=s?.Parent??Object;class f extends u{}Object.defineProperty(f,"name",{value:e});function g(b){var v;const k=s?.Parent?new f:this;r(k,b),(v=k._zod).deferred??(v.deferred=[]);for(const S of k._zod.deferred)S();return k}return Object.defineProperty(g,"init",{value:r}),Object.defineProperty(g,Symbol.hasInstance,{value:b=>s?.Parent&&b instanceof s.Parent?!0:b?._zod?.traits?.has(e)}),Object.defineProperty(g,"name",{value:e}),g}class Xo extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class m2 extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}const p2={};function ns(e){return p2}function h2(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 Ch(e,n){return typeof n=="bigint"?n.toString():n}function ld(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function p0(e){return e==null}function h0(e){const n=e.startsWith("^")?1:0,s=e.endsWith("$")?e.length-1:e.length;return e.slice(n,s)}function GA(e,n){const s=(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 f=s>u?s:u,g=Number.parseInt(e.toFixed(f).replace(".","")),b=Number.parseInt(n.toFixed(f).replace(".",""));return g%b/10**f}const Cb=Symbol("evaluating");function ut(e,n,s){let r;Object.defineProperty(e,n,{get(){if(r!==Cb)return r===void 0&&(r=Cb,r=s()),r},set(u){Object.defineProperty(e,n,{value:u})},configurable:!0})}function Ws(e,n,s){Object.defineProperty(e,n,{value:s,writable:!0,enumerable:!0,configurable:!0})}function ls(...e){const n={};for(const s of e){const r=Object.getOwnPropertyDescriptors(s);Object.assign(n,r)}return Object.defineProperties({},n)}function Nb(e){return JSON.stringify(e)}function $A(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const f2="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Ml(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const KA=ld(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function er(e){if(Ml(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const s=n.prototype;return!(Ml(s)===!1||Object.prototype.hasOwnProperty.call(s,"isPrototypeOf")===!1)}function g2(e){return er(e)?{...e}:Array.isArray(e)?[...e]:e}const HA=new Set(["string","number","symbol"]);function tr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function cs(e,n,s){const r=new e._zod.constr(n??e._zod.def);return(!n||s?.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 QA(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}const FA={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 ZA(e,n){const s=e._zod.def,r=s.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const f=ls(e._zod.def,{get shape(){const g={};for(const b in n){if(!(b in s.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&(g[b]=s.shape[b])}return Ws(this,"shape",g),g},checks:[]});return cs(e,f)}function YA(e,n){const s=e._zod.def,r=s.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const f=ls(e._zod.def,{get shape(){const g={...e._zod.def.shape};for(const b in n){if(!(b in s.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&delete g[b]}return Ws(this,"shape",g),g},checks:[]});return cs(e,f)}function XA(e,n){if(!er(n))throw new Error("Invalid input to extend: expected a plain object");const s=e._zod.def.checks;if(s&&s.length>0){const f=e._zod.def.shape;for(const g in n)if(Object.getOwnPropertyDescriptor(f,g)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const u=ls(e._zod.def,{get shape(){const f={...e._zod.def.shape,...n};return Ws(this,"shape",f),f}});return cs(e,u)}function JA(e,n){if(!er(n))throw new Error("Invalid input to safeExtend: expected a plain object");const s=ls(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n};return Ws(this,"shape",r),r}});return cs(e,s)}function WA(e,n){const s=ls(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n._zod.def.shape};return Ws(this,"shape",r),r},get catchall(){return n._zod.def.catchall},checks:[]});return cs(e,s)}function e5(e,n,s){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=ls(n._zod.def,{get shape(){const b=n._zod.def.shape,v={...b};if(s)for(const k in s){if(!(k in b))throw new Error(`Unrecognized key: "${k}"`);s[k]&&(v[k]=e?new e({type:"optional",innerType:b[k]}):b[k])}else for(const k in b)v[k]=e?new e({type:"optional",innerType:b[k]}):b[k];return Ws(this,"shape",v),v},checks:[]});return cs(n,g)}function t5(e,n,s){const r=ls(n._zod.def,{get shape(){const u=n._zod.def.shape,f={...u};if(s)for(const g in s){if(!(g in f))throw new Error(`Unrecognized key: "${g}"`);s[g]&&(f[g]=new e({type:"nonoptional",innerType:u[g]}))}else for(const g in u)f[g]=new e({type:"nonoptional",innerType:u[g]});return Ws(this,"shape",f),f}});return cs(n,r)}function Fo(e,n=0){if(e.aborted===!0)return!0;for(let s=n;s<e.issues.length;s++)if(e.issues[s]?.continue!==!0)return!0;return!1}function Zo(e,n){return n.map(s=>{var r;return(r=s).path??(r.path=[]),s.path.unshift(e),s})}function vu(e){return typeof e=="string"?e:e?.message}function as(e,n,s){const r={...e,path:e.path??[]};if(!e.message){const u=vu(e.inst?._zod.def?.error?.(e))??vu(n?.error?.(e))??vu(s.customError?.(e))??vu(s.localeError?.(e))??"Invalid input";r.message=u}return delete r.inst,delete r.continue,n?.reportInput||delete r.input,r}function f0(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Vl(...e){const[n,s,r]=e;return typeof n=="string"?{message:n,code:"custom",input:s,inst:r}:{...n}}const y2=(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,Ch,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},b2=Y("$ZodError",y2),v2=Y("$ZodError",y2,{Parent:Error});function n5(e,n=s=>s.message){const s={},r=[];for(const u of e.issues)u.path.length>0?(s[u.path[0]]=s[u.path[0]]||[],s[u.path[0]].push(n(u))):r.push(n(u));return{formErrors:r,fieldErrors:s}}function a5(e,n=s=>s.message){const s={_errors:[]},r=u=>{for(const f of u.issues)if(f.code==="invalid_union"&&f.errors.length)f.errors.map(g=>r({issues:g}));else if(f.code==="invalid_key")r({issues:f.issues});else if(f.code==="invalid_element")r({issues:f.issues});else if(f.path.length===0)s._errors.push(n(f));else{let g=s,b=0;for(;b<f.path.length;){const v=f.path[b];b===f.path.length-1?(g[v]=g[v]||{_errors:[]},g[v]._errors.push(n(f))):g[v]=g[v]||{_errors:[]},g=g[v],b++}}};return r(e),s}const g0=e=>(n,s,r,u)=>{const f=r?Object.assign(r,{async:!1}):{async:!1},g=n._zod.run({value:s,issues:[]},f);if(g instanceof Promise)throw new Xo;if(g.issues.length){const b=new(u?.Err??e)(g.issues.map(v=>as(v,f,ns())));throw f2(b,u?.callee),b}return g.value},y0=e=>async(n,s,r,u)=>{const f=r?Object.assign(r,{async:!0}):{async:!0};let g=n._zod.run({value:s,issues:[]},f);if(g instanceof Promise&&(g=await g),g.issues.length){const b=new(u?.Err??e)(g.issues.map(v=>as(v,f,ns())));throw f2(b,u?.callee),b}return g.value},cd=e=>(n,s,r)=>{const u=r?{...r,async:!1}:{async:!1},f=n._zod.run({value:s,issues:[]},u);if(f instanceof Promise)throw new Xo;return f.issues.length?{success:!1,error:new(e??b2)(f.issues.map(g=>as(g,u,ns())))}:{success:!0,data:f.value}},i5=cd(v2),ud=e=>async(n,s,r)=>{const u=r?Object.assign(r,{async:!0}):{async:!0};let f=n._zod.run({value:s,issues:[]},u);return f instanceof Promise&&(f=await f),f.issues.length?{success:!1,error:new e(f.issues.map(g=>as(g,u,ns())))}:{success:!0,data:f.value}},s5=ud(v2),o5=e=>(n,s,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return g0(e)(n,s,u)},r5=e=>(n,s,r)=>g0(e)(n,s,r),l5=e=>async(n,s,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return y0(e)(n,s,u)},c5=e=>async(n,s,r)=>y0(e)(n,s,r),u5=e=>(n,s,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return cd(e)(n,s,u)},d5=e=>(n,s,r)=>cd(e)(n,s,r),m5=e=>async(n,s,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return ud(e)(n,s,u)},p5=e=>async(n,s,r)=>ud(e)(n,s,r),h5=/^[cC][^\s-]{8,}$/,f5=/^[0-9a-z]+$/,g5=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,y5=/^[0-9a-vA-V]{20}$/,b5=/^[A-Za-z0-9]{27}$/,v5=/^[a-zA-Z0-9_-]{21}$/,x5=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,k5=/^([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})$/,_b=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)$/,w5=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,S5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function j5(){return new RegExp(S5,"u")}const A5=/^(?:(?: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])$/,C5=/^(([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}|:))$/,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])\/([0-9]|[1-2][0-9]|3[0-2])$/,_5=/^(([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])$/,z5=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,x2=/^[A-Za-z0-9_-]*$/,E5=/^\+[1-9]\d{6,14}$/,k2="(?:(?:\\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])))",T5=new RegExp(`^${k2}$`);function w2(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 R5(e){return new RegExp(`^${w2(e)}$`)}function D5(e){const n=w2({precision:e.precision}),s=["Z"];e.local&&s.push(""),e.offset&&s.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${n}(?:${s.join("|")})`;return new RegExp(`^${k2}T(?:${r})$`)}const O5=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},q5=/^-?\d+$/,S2=/^-?\d+(?:\.\d+)?$/,P5=/^(?:true|false)$/i,B5=/^null$/i,I5=/^[^A-Z]*$/,M5=/^[^a-z]*$/,Dn=Y("$ZodCheck",(e,n)=>{var s;e._zod??(e._zod={}),e._zod.def=n,(s=e._zod).onattach??(s.onattach=[])}),j2={number:"number",bigint:"bigint",object:"date"},A2=Y("$ZodCheckLessThan",(e,n)=>{Dn.init(e,n);const s=j2[typeof n.value];e._zod.onattach.push(r=>{const u=r._zod.bag,f=(n.inclusive?u.maximum:u.exclusiveMaximum)??Number.POSITIVE_INFINITY;n.value<f&&(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:s,code:"too_big",maximum:typeof n.value=="object"?n.value.getTime():n.value,input:r.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),C2=Y("$ZodCheckGreaterThan",(e,n)=>{Dn.init(e,n);const s=j2[typeof n.value];e._zod.onattach.push(r=>{const u=r._zod.bag,f=(n.inclusive?u.minimum:u.exclusiveMinimum)??Number.NEGATIVE_INFINITY;n.value>f&&(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:s,code:"too_small",minimum:typeof n.value=="object"?n.value.getTime():n.value,input:r.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),V5=Y("$ZodCheckMultipleOf",(e,n)=>{Dn.init(e,n),e._zod.onattach.push(s=>{var r;(r=s._zod.bag).multipleOf??(r.multipleOf=n.value)}),e._zod.check=s=>{if(typeof s.value!=typeof n.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof s.value=="bigint"?s.value%n.value===BigInt(0):GA(s.value,n.value)===0)||s.issues.push({origin:typeof s.value,code:"not_multiple_of",divisor:n.value,input:s.value,inst:e,continue:!n.abort})}}),L5=Y("$ZodCheckNumberFormat",(e,n)=>{Dn.init(e,n),n.format=n.format||"float64";const s=n.format?.includes("int"),r=s?"int":"number",[u,f]=FA[n.format];e._zod.onattach.push(g=>{const b=g._zod.bag;b.format=n.format,b.minimum=u,b.maximum=f,s&&(b.pattern=q5)}),e._zod.check=g=>{const b=g.value;if(s){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>f&&g.issues.push({origin:"number",input:b,code:"too_big",maximum:f,inclusive:!0,inst:e,continue:!n.abort})}}),U5=Y("$ZodCheckMaxLength",(e,n)=>{var s;Dn.init(e,n),(s=e._zod.def).when??(s.when=r=>{const u=r.value;return!p0(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=f0(u);r.issues.push({origin:g,code:"too_big",maximum:n.maximum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),G5=Y("$ZodCheckMinLength",(e,n)=>{var s;Dn.init(e,n),(s=e._zod.def).when??(s.when=r=>{const u=r.value;return!p0(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=f0(u);r.issues.push({origin:g,code:"too_small",minimum:n.minimum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),$5=Y("$ZodCheckLengthEquals",(e,n)=>{var s;Dn.init(e,n),(s=e._zod.def).when??(s.when=r=>{const u=r.value;return!p0(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,f=u.length;if(f===n.length)return;const g=f0(u),b=f>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})}}),dd=Y("$ZodCheckStringFormat",(e,n)=>{var s,r;Dn.init(e,n),e._zod.onattach.push(u=>{const f=u._zod.bag;f.format=n.format,n.pattern&&(f.patterns??(f.patterns=new Set),f.patterns.add(n.pattern))}),n.pattern?(s=e._zod).check??(s.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)=>{dd.init(e,n),e._zod.check=s=>{n.pattern.lastIndex=0,!n.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:"regex",input:s.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),H5=Y("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=I5),dd.init(e,n)}),Q5=Y("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=M5),dd.init(e,n)}),F5=Y("$ZodCheckIncludes",(e,n)=>{Dn.init(e,n);const s=tr(n.includes),r=new RegExp(typeof n.position=="number"?`^.{${n.position}}${s}`:s);n.pattern=r,e._zod.onattach.push(u=>{const f=u._zod.bag;f.patterns??(f.patterns=new Set),f.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})}}),Z5=Y("$ZodCheckStartsWith",(e,n)=>{Dn.init(e,n);const s=new RegExp(`^${tr(n.prefix)}.*`);n.pattern??(n.pattern=s),e._zod.onattach.push(r=>{const u=r._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(s)}),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})}}),Y5=Y("$ZodCheckEndsWith",(e,n)=>{Dn.init(e,n);const s=new RegExp(`.*${tr(n.suffix)}$`);n.pattern??(n.pattern=s),e._zod.onattach.push(r=>{const u=r._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(s)}),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})}}),X5=Y("$ZodCheckOverwrite",(e,n)=>{Dn.init(e,n),e._zod.check=s=>{s.value=n.tx(s.value)}});class J5{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)),f=r.map(g=>g.slice(u)).map(g=>" ".repeat(this.indent*2)+g);for(const g of f)this.content.push(g)}compile(){const n=Function,s=this?.args,u=[...(this?.content??[""]).map(f=>` ${f}`)];return new n(...s,u.join(`
|
|
12
|
+
`))}}const W5={major:4,minor:3,patch:6},_t=Y("$ZodType",(e,n)=>{var s;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=W5;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const u of r)for(const f of u._zod.onattach)f(e);if(r.length===0)(s=e._zod).deferred??(s.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const u=(g,b,v)=>{let k=Fo(g),S;for(const A of b){if(A._zod.def.when){if(!A._zod.def.when(g))continue}else if(k)continue;const z=g.issues.length,C=A._zod.check(g);if(C instanceof Promise&&v?.async===!1)throw new Xo;if(S||C instanceof Promise)S=(S??Promise.resolve()).then(async()=>{await C,g.issues.length!==z&&(k||(k=Fo(g,z)))});else{if(g.issues.length===z)continue;k||(k=Fo(g,z))}}return S?S.then(()=>g):g},f=(g,b,v)=>{if(Fo(g))return g.aborted=!0,g;const k=u(b,r,v);if(k instanceof Promise){if(v.async===!1)throw new Xo;return k.then(S=>e._zod.parse(S,v))}return e._zod.parse(k,v)};e._zod.run=(g,b)=>{if(b.skipChecks)return e._zod.parse(g,b);if(b.direction==="backward"){const k=e._zod.parse({value:g.value,issues:[]},{...b,skipChecks:!0});return k instanceof Promise?k.then(S=>f(S,g,b)):f(k,g,b)}const v=e._zod.parse(g,b);if(v instanceof Promise){if(b.async===!1)throw new Xo;return v.then(k=>u(k,r,b))}return u(v,r,b)}}ut(e,"~standard",()=>({validate:u=>{try{const f=i5(e,u);return f.success?{value:f.data}:{issues:f.error?.issues}}catch{return s5(e,u).then(g=>g.success?{value:g.data}:{issues:g.error?.issues})}},vendor:"zod",version:1}))}),b0=Y("$ZodString",(e,n)=>{_t.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??O5(e._zod.bag),e._zod.parse=(s,r)=>{if(n.coerce)try{s.value=String(s.value)}catch{}return typeof s.value=="string"||s.issues.push({expected:"string",code:"invalid_type",input:s.value,inst:e}),s}}),zt=Y("$ZodStringFormat",(e,n)=>{dd.init(e,n),b0.init(e,n)}),eC=Y("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=k5),zt.init(e,n)}),tC=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=_b(r))}else n.pattern??(n.pattern=_b());zt.init(e,n)}),nC=Y("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=w5),zt.init(e,n)}),aC=Y("$ZodURL",(e,n)=>{zt.init(e,n),e._zod.check=s=>{try{const r=s.value.trim(),u=new URL(r);n.hostname&&(n.hostname.lastIndex=0,n.hostname.test(u.hostname)||s.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n.hostname.source,input:s.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)||s.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:s.value,inst:e,continue:!n.abort})),n.normalize?s.value=u.href:s.value=r;return}catch{s.issues.push({code:"invalid_format",format:"url",input:s.value,inst:e,continue:!n.abort})}}}),iC=Y("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=j5()),zt.init(e,n)}),sC=Y("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=v5),zt.init(e,n)}),oC=Y("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=h5),zt.init(e,n)}),rC=Y("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=f5),zt.init(e,n)}),lC=Y("$ZodULID",(e,n)=>{n.pattern??(n.pattern=g5),zt.init(e,n)}),cC=Y("$ZodXID",(e,n)=>{n.pattern??(n.pattern=y5),zt.init(e,n)}),uC=Y("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=b5),zt.init(e,n)}),dC=Y("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=D5(n)),zt.init(e,n)}),mC=Y("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=T5),zt.init(e,n)}),pC=Y("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=R5(n)),zt.init(e,n)}),hC=Y("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=x5),zt.init(e,n)}),fC=Y("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=A5),zt.init(e,n),e._zod.bag.format="ipv4"}),gC=Y("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=C5),zt.init(e,n),e._zod.bag.format="ipv6",e._zod.check=s=>{try{new URL(`http://[${s.value}]`)}catch{s.issues.push({code:"invalid_format",format:"ipv6",input:s.value,inst:e,continue:!n.abort})}}}),yC=Y("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=N5),zt.init(e,n)}),bC=Y("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=_5),zt.init(e,n),e._zod.check=s=>{const r=s.value.split("/");try{if(r.length!==2)throw new Error;const[u,f]=r;if(!f)throw new Error;const g=Number(f);if(`${g}`!==f)throw new Error;if(g<0||g>128)throw new Error;new URL(`http://[${u}]`)}catch{s.issues.push({code:"invalid_format",format:"cidrv6",input:s.value,inst:e,continue:!n.abort})}}});function N2(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const vC=Y("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=z5),zt.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=s=>{N2(s.value)||s.issues.push({code:"invalid_format",format:"base64",input:s.value,inst:e,continue:!n.abort})}});function xC(e){if(!x2.test(e))return!1;const n=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),s=n.padEnd(Math.ceil(n.length/4)*4,"=");return N2(s)}const kC=Y("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=x2),zt.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=s=>{xC(s.value)||s.issues.push({code:"invalid_format",format:"base64url",input:s.value,inst:e,continue:!n.abort})}}),wC=Y("$ZodE164",(e,n)=>{n.pattern??(n.pattern=E5),zt.init(e,n)});function SC(e,n=null){try{const s=e.split(".");if(s.length!==3)return!1;const[r]=s;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 jC=Y("$ZodJWT",(e,n)=>{zt.init(e,n),e._zod.check=s=>{SC(s.value,n.alg)||s.issues.push({code:"invalid_format",format:"jwt",input:s.value,inst:e,continue:!n.abort})}}),_2=Y("$ZodNumber",(e,n)=>{_t.init(e,n),e._zod.pattern=e._zod.bag.pattern??S2,e._zod.parse=(s,r)=>{if(n.coerce)try{s.value=Number(s.value)}catch{}const u=s.value;if(typeof u=="number"&&!Number.isNaN(u)&&Number.isFinite(u))return s;const f=typeof u=="number"?Number.isNaN(u)?"NaN":Number.isFinite(u)?void 0:"Infinity":void 0;return s.issues.push({expected:"number",code:"invalid_type",input:u,inst:e,...f?{received:f}:{}}),s}}),AC=Y("$ZodNumberFormat",(e,n)=>{L5.init(e,n),_2.init(e,n)}),CC=Y("$ZodBoolean",(e,n)=>{_t.init(e,n),e._zod.pattern=P5,e._zod.parse=(s,r)=>{if(n.coerce)try{s.value=!!s.value}catch{}const u=s.value;return typeof u=="boolean"||s.issues.push({expected:"boolean",code:"invalid_type",input:u,inst:e}),s}}),NC=Y("$ZodNull",(e,n)=>{_t.init(e,n),e._zod.pattern=B5,e._zod.values=new Set([null]),e._zod.parse=(s,r)=>{const u=s.value;return u===null||s.issues.push({expected:"null",code:"invalid_type",input:u,inst:e}),s}}),_C=Y("$ZodUnknown",(e,n)=>{_t.init(e,n),e._zod.parse=s=>s}),zC=Y("$ZodNever",(e,n)=>{_t.init(e,n),e._zod.parse=(s,r)=>(s.issues.push({expected:"never",code:"invalid_type",input:s.value,inst:e}),s)});function zb(e,n,s){e.issues.length&&n.issues.push(...Zo(s,e.issues)),n.value[s]=e.value}const EC=Y("$ZodArray",(e,n)=>{_t.init(e,n),e._zod.parse=(s,r)=>{const u=s.value;if(!Array.isArray(u))return s.issues.push({expected:"array",code:"invalid_type",input:u,inst:e}),s;s.value=Array(u.length);const f=[];for(let g=0;g<u.length;g++){const b=u[g],v=n.element._zod.run({value:b,issues:[]},r);v instanceof Promise?f.push(v.then(k=>zb(k,s,g))):zb(v,s,g)}return f.length?Promise.all(f).then(()=>s):s}});function Lu(e,n,s,r,u){if(e.issues.length){if(u&&!(s in r))return;n.issues.push(...Zo(s,e.issues))}e.value===void 0?s in r&&(n.value[s]=void 0):n.value[s]=e.value}function z2(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 s=QA(e.shape);return{...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(s)}}function E2(e,n,s,r,u,f){const g=[],b=u.keySet,v=u.catchall._zod,k=v.def.type,S=v.optout==="optional";for(const A in n){if(b.has(A))continue;if(k==="never"){g.push(A);continue}const z=v.run({value:n[A],issues:[]},r);z instanceof Promise?e.push(z.then(C=>Lu(C,s,A,n,S))):Lu(z,s,A,n,S)}return g.length&&s.issues.push({code:"unrecognized_keys",keys:g,input:n,inst:f}),e.length?Promise.all(e).then(()=>s):s}const TC=Y("$ZodObject",(e,n)=>{if(_t.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=ld(()=>z2(n));ut(e._zod,"propValues",()=>{const b=n.shape,v={};for(const k in b){const S=b[k]._zod;if(S.values){v[k]??(v[k]=new Set);for(const A of S.values)v[k].add(A)}}return v});const u=Ml,f=n.catchall;let g;e._zod.parse=(b,v)=>{g??(g=r.value);const k=b.value;if(!u(k))return b.issues.push({expected:"object",code:"invalid_type",input:k,inst:e}),b;b.value={};const S=[],A=g.shape;for(const z of g.keys){const C=A[z],F=C._zod.optout==="optional",T=C._zod.run({value:k[z],issues:[]},v);T instanceof Promise?S.push(T.then(I=>Lu(I,b,z,k,F))):Lu(T,b,z,k,F)}return f?E2(S,k,b,v,r.value,e):S.length?Promise.all(S).then(()=>b):b}}),RC=Y("$ZodObjectJIT",(e,n)=>{TC.init(e,n);const s=e._zod.parse,r=ld(()=>z2(n)),u=z=>{const C=new J5(["shape","payload","ctx"]),F=r.value,T=V=>{const le=Nb(V);return`shape[${le}]._zod.run({ value: input[${le}], issues: [] }, ctx)`};C.write("const input = payload.value;");const I=Object.create(null);let X=0;for(const V of F.keys)I[V]=`key_${X++}`;C.write("const newResult = {};");for(const V of F.keys){const le=I[V],ie=Nb(V),H=z[V]?._zod?.optout==="optional";C.write(`const ${le} = ${T(V)};`),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(V,le)=>J(z,V,le)};let f;const g=Ml,b=!p2.jitless,k=b&&KA.value,S=n.catchall;let A;e._zod.parse=(z,C)=>{A??(A=r.value);const F=z.value;return g(F)?b&&k&&C?.async===!1&&C.jitless!==!0?(f||(f=u(n.shape)),z=f(z,C),S?E2([],F,z,C,A,e):z):s(z,C):(z.issues.push({expected:"object",code:"invalid_type",input:F,inst:e}),z)}});function Eb(e,n,s,r){for(const f of e)if(f.issues.length===0)return n.value=f.value,n;const u=e.filter(f=>!Fo(f));return u.length===1?(n.value=u[0].value,u[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:s,errors:e.map(f=>f.issues.map(g=>as(g,r,ns())))}),n)}const T2=Y("$ZodUnion",(e,n)=>{_t.init(e,n),ut(e._zod,"optin",()=>n.options.some(u=>u._zod.optin==="optional")?"optional":void 0),ut(e._zod,"optout",()=>n.options.some(u=>u._zod.optout==="optional")?"optional":void 0),ut(e._zod,"values",()=>{if(n.options.every(u=>u._zod.values))return new Set(n.options.flatMap(u=>Array.from(u._zod.values)))}),ut(e._zod,"pattern",()=>{if(n.options.every(u=>u._zod.pattern)){const u=n.options.map(f=>f._zod.pattern);return new RegExp(`^(${u.map(f=>h0(f.source)).join("|")})$`)}});const s=n.options.length===1,r=n.options[0]._zod.run;e._zod.parse=(u,f)=>{if(s)return r(u,f);let g=!1;const b=[];for(const v of n.options){const k=v._zod.run({value:u.value,issues:[]},f);if(k instanceof Promise)b.push(k),g=!0;else{if(k.issues.length===0)return k;b.push(k)}}return g?Promise.all(b).then(v=>Eb(v,u,e,f)):Eb(b,u,e,f)}}),DC=Y("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=!1,T2.init(e,n);const s=e._zod.parse;ut(e._zod,"propValues",()=>{const u={};for(const f of n.options){const g=f._zod.propValues;if(!g||Object.keys(g).length===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(f)}"`);for(const[b,v]of Object.entries(g)){u[b]||(u[b]=new Set);for(const k of v)u[b].add(k)}}return u});const r=ld(()=>{const u=n.options,f=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(f.has(v))throw new Error(`Duplicate discriminator value "${String(v)}"`);f.set(v,g)}}return f});e._zod.parse=(u,f)=>{const g=u.value;if(!Ml(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,f):n.unionFallback?s(u,f):(u.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:n.discriminator,input:g,path:[n.discriminator],inst:e}),u)}}),OC=Y("$ZodIntersection",(e,n)=>{_t.init(e,n),e._zod.parse=(s,r)=>{const u=s.value,f=n.left._zod.run({value:u,issues:[]},r),g=n.right._zod.run({value:u,issues:[]},r);return f instanceof Promise||g instanceof Promise?Promise.all([f,g]).then(([v,k])=>Tb(s,v,k)):Tb(s,f,g)}});function Nh(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(er(e)&&er(n)){const s=Object.keys(n),r=Object.keys(e).filter(f=>s.indexOf(f)!==-1),u={...e,...n};for(const f of r){const g=Nh(e[f],n[f]);if(!g.valid)return{valid:!1,mergeErrorPath:[f,...g.mergeErrorPath]};u[f]=g.data}return{valid:!0,data:u}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const s=[];for(let r=0;r<e.length;r++){const u=e[r],f=n[r],g=Nh(u,f);if(!g.valid)return{valid:!1,mergeErrorPath:[r,...g.mergeErrorPath]};s.push(g.data)}return{valid:!0,data:s}}return{valid:!1,mergeErrorPath:[]}}function Tb(e,n,s){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 s.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 f=[...r].filter(([,b])=>b.l&&b.r).map(([b])=>b);if(f.length&&u&&e.issues.push({...u,keys:f}),Fo(e))return e;const g=Nh(n.value,s.value);if(!g.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(g.mergeErrorPath)}`);return e.value=g.data,e}const qC=Y("$ZodRecord",(e,n)=>{_t.init(e,n),e._zod.parse=(s,r)=>{const u=s.value;if(!er(u))return s.issues.push({expected:"record",code:"invalid_type",input:u,inst:e}),s;const f=[],g=n.keyType._zod.values;if(g){s.value={};const b=new Set;for(const k of g)if(typeof k=="string"||typeof k=="number"||typeof k=="symbol"){b.add(typeof k=="number"?k.toString():k);const S=n.valueType._zod.run({value:u[k],issues:[]},r);S instanceof Promise?f.push(S.then(A=>{A.issues.length&&s.issues.push(...Zo(k,A.issues)),s.value[k]=A.value})):(S.issues.length&&s.issues.push(...Zo(k,S.issues)),s.value[k]=S.value)}let v;for(const k in u)b.has(k)||(v=v??[],v.push(k));v&&v.length>0&&s.issues.push({code:"unrecognized_keys",input:u,inst:e,keys:v})}else{s.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"&&S2.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"?s.value[b]=u[b]:s.issues.push({code:"invalid_key",origin:"record",issues:v.issues.map(A=>as(A,r,ns())),input:b,path:[b],inst:e});continue}const S=n.valueType._zod.run({value:u[b],issues:[]},r);S instanceof Promise?f.push(S.then(A=>{A.issues.length&&s.issues.push(...Zo(b,A.issues)),s.value[v.value]=A.value})):(S.issues.length&&s.issues.push(...Zo(b,S.issues)),s.value[v.value]=S.value)}}return f.length?Promise.all(f).then(()=>s):s}}),PC=Y("$ZodEnum",(e,n)=>{_t.init(e,n);const s=h2(n.entries),r=new Set(s);e._zod.values=r,e._zod.pattern=new RegExp(`^(${s.filter(u=>HA.has(typeof u)).map(u=>typeof u=="string"?tr(u):u.toString()).join("|")})$`),e._zod.parse=(u,f)=>{const g=u.value;return r.has(g)||u.issues.push({code:"invalid_value",values:s,input:g,inst:e}),u}}),BC=Y("$ZodLiteral",(e,n)=>{if(_t.init(e,n),n.values.length===0)throw new Error("Cannot create literal schema with no valid values");const s=new Set(n.values);e._zod.values=s,e._zod.pattern=new RegExp(`^(${n.values.map(r=>typeof r=="string"?tr(r):r?tr(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,u)=>{const f=r.value;return s.has(f)||r.issues.push({code:"invalid_value",values:n.values,input:f,inst:e}),r}}),IC=Y("$ZodTransform",(e,n)=>{_t.init(e,n),e._zod.parse=(s,r)=>{if(r.direction==="backward")throw new m2(e.constructor.name);const u=n.transform(s.value,s);if(r.async)return(u instanceof Promise?u:Promise.resolve(u)).then(g=>(s.value=g,s));if(u instanceof Promise)throw new Xo;return s.value=u,s}});function Rb(e,n){return e.issues.length&&n===void 0?{issues:[],value:void 0}:e}const R2=Y("$ZodOptional",(e,n)=>{_t.init(e,n),e._zod.optin="optional",e._zod.optout="optional",ut(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),ut(e._zod,"pattern",()=>{const s=n.innerType._zod.pattern;return s?new RegExp(`^(${h0(s.source)})?$`):void 0}),e._zod.parse=(s,r)=>{if(n.innerType._zod.optin==="optional"){const u=n.innerType._zod.run(s,r);return u instanceof Promise?u.then(f=>Rb(f,s.value)):Rb(u,s.value)}return s.value===void 0?s:n.innerType._zod.run(s,r)}}),MC=Y("$ZodExactOptional",(e,n)=>{R2.init(e,n),ut(e._zod,"values",()=>n.innerType._zod.values),ut(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(s,r)=>n.innerType._zod.run(s,r)}),VC=Y("$ZodNullable",(e,n)=>{_t.init(e,n),ut(e._zod,"optin",()=>n.innerType._zod.optin),ut(e._zod,"optout",()=>n.innerType._zod.optout),ut(e._zod,"pattern",()=>{const s=n.innerType._zod.pattern;return s?new RegExp(`^(${h0(s.source)}|null)$`):void 0}),ut(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(s,r)=>s.value===null?s:n.innerType._zod.run(s,r)}),LC=Y("$ZodDefault",(e,n)=>{_t.init(e,n),e._zod.optin="optional",ut(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(s,r)=>{if(r.direction==="backward")return n.innerType._zod.run(s,r);if(s.value===void 0)return s.value=n.defaultValue,s;const u=n.innerType._zod.run(s,r);return u instanceof Promise?u.then(f=>Db(f,n)):Db(u,n)}});function Db(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const UC=Y("$ZodPrefault",(e,n)=>{_t.init(e,n),e._zod.optin="optional",ut(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(s,r)=>(r.direction==="backward"||s.value===void 0&&(s.value=n.defaultValue),n.innerType._zod.run(s,r))}),GC=Y("$ZodNonOptional",(e,n)=>{_t.init(e,n),ut(e._zod,"values",()=>{const s=n.innerType._zod.values;return s?new Set([...s].filter(r=>r!==void 0)):void 0}),e._zod.parse=(s,r)=>{const u=n.innerType._zod.run(s,r);return u instanceof Promise?u.then(f=>Ob(f,e)):Ob(u,e)}});function Ob(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 $C=Y("$ZodCatch",(e,n)=>{_t.init(e,n),ut(e._zod,"optin",()=>n.innerType._zod.optin),ut(e._zod,"optout",()=>n.innerType._zod.optout),ut(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(s,r)=>{if(r.direction==="backward")return n.innerType._zod.run(s,r);const u=n.innerType._zod.run(s,r);return u instanceof Promise?u.then(f=>(s.value=f.value,f.issues.length&&(s.value=n.catchValue({...s,error:{issues:f.issues.map(g=>as(g,r,ns()))},input:s.value}),s.issues=[]),s)):(s.value=u.value,u.issues.length&&(s.value=n.catchValue({...s,error:{issues:u.issues.map(f=>as(f,r,ns()))},input:s.value}),s.issues=[]),s)}}),KC=Y("$ZodPipe",(e,n)=>{_t.init(e,n),ut(e._zod,"values",()=>n.in._zod.values),ut(e._zod,"optin",()=>n.in._zod.optin),ut(e._zod,"optout",()=>n.out._zod.optout),ut(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(s,r)=>{if(r.direction==="backward"){const f=n.out._zod.run(s,r);return f instanceof Promise?f.then(g=>xu(g,n.in,r)):xu(f,n.in,r)}const u=n.in._zod.run(s,r);return u instanceof Promise?u.then(f=>xu(f,n.out,r)):xu(u,n.out,r)}});function xu(e,n,s){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues},s)}const HC=Y("$ZodReadonly",(e,n)=>{_t.init(e,n),ut(e._zod,"propValues",()=>n.innerType._zod.propValues),ut(e._zod,"values",()=>n.innerType._zod.values),ut(e._zod,"optin",()=>n.innerType?._zod?.optin),ut(e._zod,"optout",()=>n.innerType?._zod?.optout),e._zod.parse=(s,r)=>{if(r.direction==="backward")return n.innerType._zod.run(s,r);const u=n.innerType._zod.run(s,r);return u instanceof Promise?u.then(qb):qb(u)}});function qb(e){return e.value=Object.freeze(e.value),e}const QC=Y("$ZodCustom",(e,n)=>{Dn.init(e,n),_t.init(e,n),e._zod.parse=(s,r)=>s,e._zod.check=s=>{const r=s.value,u=n.fn(r);if(u instanceof Promise)return u.then(f=>Pb(f,s,r,e));Pb(u,s,r,e)}});function Pb(e,n,s,r){if(!e){const u={code:"custom",input:s,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(Vl(u))}}var Bb;class FC{constructor(){this._map=new WeakMap,this._idmap=new Map}add(n,...s){const r=s[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 s=this._map.get(n);return s&&typeof s=="object"&&"id"in s&&this._idmap.delete(s.id),this._map.delete(n),this}get(n){const s=n._zod.parent;if(s){const r={...this.get(s)??{}};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 ZC(){return new FC}(Bb=globalThis).__zod_globalRegistry??(Bb.__zod_globalRegistry=ZC());const Tl=globalThis.__zod_globalRegistry;function YC(e,n){return new e({type:"string",..._e(n)})}function XC(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,..._e(n)})}function Ib(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,..._e(n)})}function JC(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,..._e(n)})}function WC(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",..._e(n)})}function eN(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",..._e(n)})}function tN(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",..._e(n)})}function nN(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,..._e(n)})}function aN(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,..._e(n)})}function iN(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,..._e(n)})}function sN(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,..._e(n)})}function oN(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,..._e(n)})}function rN(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,..._e(n)})}function lN(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,..._e(n)})}function cN(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,..._e(n)})}function uN(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,..._e(n)})}function dN(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,..._e(n)})}function mN(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,..._e(n)})}function pN(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,..._e(n)})}function hN(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,..._e(n)})}function fN(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,..._e(n)})}function gN(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,..._e(n)})}function yN(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,..._e(n)})}function bN(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,..._e(n)})}function vN(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 kN(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 SN(e,n){return new e({type:"number",coerce:!0,checks:[],..._e(n)})}function jN(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",..._e(n)})}function AN(e,n){return new e({type:"boolean",..._e(n)})}function CN(e,n){return new e({type:"null",..._e(n)})}function NN(e){return new e({type:"unknown"})}function _N(e,n){return new e({type:"never",..._e(n)})}function Mb(e,n){return new A2({check:"less_than",..._e(n),value:e,inclusive:!1})}function Yp(e,n){return new A2({check:"less_than",..._e(n),value:e,inclusive:!0})}function Vb(e,n){return new C2({check:"greater_than",..._e(n),value:e,inclusive:!1})}function Xp(e,n){return new C2({check:"greater_than",..._e(n),value:e,inclusive:!0})}function Lb(e,n){return new V5({check:"multiple_of",..._e(n),value:e})}function D2(e,n){return new U5({check:"max_length",..._e(n),maximum:e})}function Uu(e,n){return new G5({check:"min_length",..._e(n),minimum:e})}function O2(e,n){return new $5({check:"length_equals",..._e(n),length:e})}function zN(e,n){return new K5({check:"string_format",format:"regex",..._e(n),pattern:e})}function EN(e){return new H5({check:"string_format",format:"lowercase",..._e(e)})}function TN(e){return new Q5({check:"string_format",format:"uppercase",..._e(e)})}function RN(e,n){return new F5({check:"string_format",format:"includes",..._e(n),includes:e})}function DN(e,n){return new Z5({check:"string_format",format:"starts_with",..._e(n),prefix:e})}function ON(e,n){return new Y5({check:"string_format",format:"ends_with",..._e(n),suffix:e})}function cr(e){return new X5({check:"overwrite",tx:e})}function qN(e){return cr(n=>n.normalize(e))}function PN(){return cr(e=>e.trim())}function BN(){return cr(e=>e.toLowerCase())}function IN(){return cr(e=>e.toUpperCase())}function MN(){return cr(e=>$A(e))}function VN(e,n,s){return new e({type:"array",element:n,..._e(s)})}function LN(e,n,s){return new e({type:"custom",check:"custom",fn:n,..._e(s)})}function UN(e){const n=GN(s=>(s.addIssue=r=>{if(typeof r=="string")s.issues.push(Vl(r,s.value,n._zod.def));else{const u=r;u.fatal&&(u.continue=!1),u.code??(u.code="custom"),u.input??(u.input=s.value),u.inst??(u.inst=n),u.continue??(u.continue=!n._zod.def.abort),s.issues.push(Vl(u))}},e(s.value,s)));return n}function GN(e,n){const s=new Dn({check:"custom",..._e(n)});return s._zod.check=e,s}function q2(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??Tl,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 $t(e,n,s={path:[],schemaPath:[]}){var r;const u=e._zod.def,f=n.seen.get(e);if(f)return f.count++,s.schemaPath.includes(e)&&(f.cycle=s.path),f.schema;const g={schema:{},count:1,cycle:void 0,path:s.path};n.seen.set(e,g);const b=e._zod.toJSONSchema?.();if(b)g.schema=b;else{const S={...s,schemaPath:[...s.schemaPath,e],path:s.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,g.schema,S);else{const z=g.schema,C=n.processors[u.type];if(!C)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${u.type}`);C(e,n,z,S)}const A=e._zod.parent;A&&(g.ref||(g.ref=A),$t(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 P2(e,n){const s=e.seen.get(n);if(!s)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,z=e.external.uri??(F=>F);if(A)return{ref:z(A)};const C=g[1].defId??g[1].schema.id??`schema${e.counter++}`;return g[1].defId=C,{defId:C,ref:`${z("__shared")}#/${b}/${C}`}}if(g[1]===s)return{ref:"#"};const k=`#/${b}/`,S=g[1].schema.id??`__schema${e.counter++}`;return{defId:S,ref:k+S}},f=g=>{if(g[1].schema.$ref)return;const b=g[1],{ref:v,defId:k}=u(g);b.def={...b.schema},k&&(b.defId=k);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]){f(g);continue}if(e.external){const k=e.external.registry.get(g[0])?.id;if(n!==g[0]&&k){f(g);continue}}if(e.metadataRegistry.get(g[0])?.id){f(g);continue}if(b.cycle){f(g);continue}if(b.count>1&&e.reused==="ref"){f(g);continue}}}function B2(e,n){const s=e.seen.get(n);if(!s)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,k={...v},S=b.ref;if(b.ref=null,S){r(S);const z=e.seen.get(S),C=z.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,k),g._zod.parent===S)for(const T in v)T==="$ref"||T==="allOf"||T in k||delete v[T];if(C.$ref&&z.def)for(const T in v)T==="$ref"||T==="allOf"||T in z.def&&JSON.stringify(v[T])===JSON.stringify(z.def[T])&&delete v[T]}const A=g._zod.parent;if(A&&A!==S){r(A);const z=e.seen.get(A);if(z?.schema.$ref&&(v.$ref=z.schema.$ref,z.def))for(const C in v)C==="$ref"||C==="allOf"||C in z.def&&JSON.stringify(v[C])===JSON.stringify(z.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,s.def??s.schema);const f=e.external?.defs??{};for(const g of e.seen.entries()){const b=g[1];b.def&&b.defId&&(f[b.defId]=b.def)}e.external||Object.keys(f).length>0&&(e.target==="draft-2020-12"?u.$defs=f:u.definitions=f);try{const g=JSON.parse(JSON.stringify(u));return Object.defineProperty(g,"~standard",{value:{...n["~standard"],jsonSchema:{input:Gu(n,"input",e.processors),output:Gu(n,"output",e.processors)}},enumerable:!1,writable:!1}),g}catch{throw new Error("Error converting schema to JSON.")}}function kn(e,n){const s=n??{seen:new Set};if(s.seen.has(e))return!1;s.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return kn(r.element,s);if(r.type==="set")return kn(r.valueType,s);if(r.type==="lazy")return kn(r.getter(),s);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,s);if(r.type==="intersection")return kn(r.left,s)||kn(r.right,s);if(r.type==="record"||r.type==="map")return kn(r.keyType,s)||kn(r.valueType,s);if(r.type==="pipe")return kn(r.in,s)||kn(r.out,s);if(r.type==="object"){for(const u in r.shape)if(kn(r.shape[u],s))return!0;return!1}if(r.type==="union"){for(const u of r.options)if(kn(u,s))return!0;return!1}if(r.type==="tuple"){for(const u of r.items)if(kn(u,s))return!0;return!!(r.rest&&kn(r.rest,s))}return!1}const $N=(e,n={})=>s=>{const r=q2({...s,processors:n});return $t(e,r),P2(r,e),B2(r,e)},Gu=(e,n,s={})=>r=>{const{libraryOptions:u,target:f}=r??{},g=q2({...u??{},target:f,io:n,processors:s});return $t(e,g),P2(g,e),B2(g,e)},KN={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},HN=(e,n,s,r)=>{const u=s;u.type="string";const{minimum:f,maximum:g,format:b,patterns:v,contentEncoding:k}=e._zod.bag;if(typeof f=="number"&&(u.minLength=f),typeof g=="number"&&(u.maxLength=g),b&&(u.format=KN[b]??b,u.format===""&&delete u.format,b==="time"&&delete u.format),k&&(u.contentEncoding=k),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}))])}},QN=(e,n,s,r)=>{const u=s,{minimum:f,maximum:g,format:b,multipleOf:v,exclusiveMaximum:k,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 f=="number"&&(u.minimum=f,typeof S=="number"&&n.target!=="draft-04"&&(S>=f?delete u.minimum:delete u.exclusiveMinimum)),typeof k=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(u.maximum=k,u.exclusiveMaximum=!0):u.exclusiveMaximum=k),typeof g=="number"&&(u.maximum=g,typeof k=="number"&&n.target!=="draft-04"&&(k<=g?delete u.maximum:delete u.exclusiveMaximum)),typeof v=="number"&&(u.multipleOf=v)},FN=(e,n,s,r)=>{s.type="boolean"},ZN=(e,n,s,r)=>{n.target==="openapi-3.0"?(s.type="string",s.nullable=!0,s.enum=[null]):s.type="null"},YN=(e,n,s,r)=>{s.not={}},XN=(e,n,s,r)=>{},JN=(e,n,s,r)=>{const u=e._zod.def,f=h2(u.entries);f.every(g=>typeof g=="number")&&(s.type="number"),f.every(g=>typeof g=="string")&&(s.type="string"),s.enum=f},WN=(e,n,s,r)=>{const u=e._zod.def,f=[];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");f.push(Number(g))}else f.push(g);if(f.length!==0)if(f.length===1){const g=f[0];s.type=g===null?"null":typeof g,n.target==="draft-04"||n.target==="openapi-3.0"?s.enum=[g]:s.const=g}else f.every(g=>typeof g=="number")&&(s.type="number"),f.every(g=>typeof g=="string")&&(s.type="string"),f.every(g=>typeof g=="boolean")&&(s.type="boolean"),f.every(g=>g===null)&&(s.type="null"),s.enum=f},e6=(e,n,s,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},t6=(e,n,s,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},n6=(e,n,s,r)=>{const u=s,f=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=$t(f.element,n,{...r,path:[...r.path,"items"]})},a6=(e,n,s,r)=>{const u=s,f=e._zod.def;u.type="object",u.properties={};const g=f.shape;for(const k in g)u.properties[k]=$t(g[k],n,{...r,path:[...r.path,"properties",k]});const b=new Set(Object.keys(g)),v=new Set([...b].filter(k=>{const S=f.shape[k]._zod;return n.io==="input"?S.optin===void 0:S.optout===void 0}));v.size>0&&(u.required=Array.from(v)),f.catchall?._zod.def.type==="never"?u.additionalProperties=!1:f.catchall?f.catchall&&(u.additionalProperties=$t(f.catchall,n,{...r,path:[...r.path,"additionalProperties"]})):n.io==="output"&&(u.additionalProperties=!1)},i6=(e,n,s,r)=>{const u=e._zod.def,f=u.inclusive===!1,g=u.options.map((b,v)=>$t(b,n,{...r,path:[...r.path,f?"oneOf":"anyOf",v]}));f?s.oneOf=g:s.anyOf=g},s6=(e,n,s,r)=>{const u=e._zod.def,f=$t(u.left,n,{...r,path:[...r.path,"allOf",0]}),g=$t(u.right,n,{...r,path:[...r.path,"allOf",1]}),b=k=>"allOf"in k&&Object.keys(k).length===1,v=[...b(f)?f.allOf:[f],...b(g)?g.allOf:[g]];s.allOf=v},o6=(e,n,s,r)=>{const u=s,f=e._zod.def;u.type="object";const g=f.keyType,v=g._zod.bag?.patterns;if(f.mode==="loose"&&v&&v.size>0){const S=$t(f.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=$t(f.keyType,n,{...r,path:[...r.path,"propertyNames"]})),u.additionalProperties=$t(f.valueType,n,{...r,path:[...r.path,"additionalProperties"]});const k=g._zod.values;if(k){const S=[...k].filter(A=>typeof A=="string"||typeof A=="number");S.length>0&&(u.required=S)}},r6=(e,n,s,r)=>{const u=e._zod.def,f=$t(u.innerType,n,r),g=n.seen.get(e);n.target==="openapi-3.0"?(g.ref=u.innerType,s.nullable=!0):s.anyOf=[f,{type:"null"}]},l6=(e,n,s,r)=>{const u=e._zod.def;$t(u.innerType,n,r);const f=n.seen.get(e);f.ref=u.innerType},c6=(e,n,s,r)=>{const u=e._zod.def;$t(u.innerType,n,r);const f=n.seen.get(e);f.ref=u.innerType,s.default=JSON.parse(JSON.stringify(u.defaultValue))},u6=(e,n,s,r)=>{const u=e._zod.def;$t(u.innerType,n,r);const f=n.seen.get(e);f.ref=u.innerType,n.io==="input"&&(s._prefault=JSON.parse(JSON.stringify(u.defaultValue)))},d6=(e,n,s,r)=>{const u=e._zod.def;$t(u.innerType,n,r);const f=n.seen.get(e);f.ref=u.innerType;let g;try{g=u.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}s.default=g},m6=(e,n,s,r)=>{const u=e._zod.def,f=n.io==="input"?u.in._zod.def.type==="transform"?u.out:u.in:u.out;$t(f,n,r);const g=n.seen.get(e);g.ref=f},p6=(e,n,s,r)=>{const u=e._zod.def;$t(u.innerType,n,r);const f=n.seen.get(e);f.ref=u.innerType,s.readOnly=!0},I2=(e,n,s,r)=>{const u=e._zod.def;$t(u.innerType,n,r);const f=n.seen.get(e);f.ref=u.innerType},h6=Y("ZodISODateTime",(e,n)=>{dC.init(e,n),Rt.init(e,n)});function M2(e){return bN(h6,e)}const f6=Y("ZodISODate",(e,n)=>{mC.init(e,n),Rt.init(e,n)});function V2(e){return vN(f6,e)}const g6=Y("ZodISOTime",(e,n)=>{pC.init(e,n),Rt.init(e,n)});function y6(e){return xN(g6,e)}const b6=Y("ZodISODuration",(e,n)=>{hC.init(e,n),Rt.init(e,n)});function v6(e){return kN(b6,e)}const x6=(e,n)=>{b2.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:s=>a5(e,s)},flatten:{value:s=>n5(e,s)},addIssue:{value:s=>{e.issues.push(s),e.message=JSON.stringify(e.issues,Ch,2)}},addIssues:{value:s=>{e.issues.push(...s),e.message=JSON.stringify(e.issues,Ch,2)}},isEmpty:{get(){return e.issues.length===0}}})},la=Y("ZodError",x6,{Parent:Error}),k6=g0(la),w6=y0(la),S6=cd(la),j6=ud(la),A6=o5(la),C6=r5(la),N6=l5(la),_6=c5(la),z6=u5(la),E6=d5(la),T6=m5(la),R6=p5(la),Et=Y("ZodType",(e,n)=>(_t.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:Gu(e,"input"),output:Gu(e,"output")}}),e.toJSONSchema=$N(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...s)=>e.clone(ls(n,{checks:[...n.checks??[],...s.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(s,r)=>cs(e,s,r),e.brand=()=>e,e.register=((s,r)=>(s.add(e,r),e)),e.parse=(s,r)=>k6(e,s,r,{callee:e.parse}),e.safeParse=(s,r)=>S6(e,s,r),e.parseAsync=async(s,r)=>w6(e,s,r,{callee:e.parseAsync}),e.safeParseAsync=async(s,r)=>j6(e,s,r),e.spa=e.safeParseAsync,e.encode=(s,r)=>A6(e,s,r),e.decode=(s,r)=>C6(e,s,r),e.encodeAsync=async(s,r)=>N6(e,s,r),e.decodeAsync=async(s,r)=>_6(e,s,r),e.safeEncode=(s,r)=>z6(e,s,r),e.safeDecode=(s,r)=>E6(e,s,r),e.safeEncodeAsync=async(s,r)=>T6(e,s,r),e.safeDecodeAsync=async(s,r)=>R6(e,s,r),e.refine=(s,r)=>e.check(A_(s,r)),e.superRefine=s=>e.check(C_(s)),e.overwrite=s=>e.check(cr(s)),e.optional=()=>$b(e),e.exactOptional=()=>m_(e),e.nullable=()=>Kb(e),e.nullish=()=>$b(Kb(e)),e.nonoptional=s=>b_(e,s),e.array=()=>y(e),e.or=s=>He([e,s]),e.and=s=>r_(e,s),e.transform=s=>zh(e,G2(s)),e.default=s=>f_(e,s),e.prefault=s=>y_(e,s),e.catch=s=>x_(e,s),e.pipe=s=>zh(e,s),e.readonly=()=>S_(e),e.describe=s=>{const r=e.clone();return Tl.add(r,{description:s}),r},Object.defineProperty(e,"description",{get(){return Tl.get(e)?.description},configurable:!0}),e.meta=(...s)=>{if(s.length===0)return Tl.get(e);const r=e.clone();return Tl.add(r,s[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=s=>s(e),e)),L2=Y("_ZodString",(e,n)=>{b0.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(r,u,f)=>HN(e,r,u);const s=e._zod.bag;e.format=s.format??null,e.minLength=s.minimum??null,e.maxLength=s.maximum??null,e.regex=(...r)=>e.check(zN(...r)),e.includes=(...r)=>e.check(RN(...r)),e.startsWith=(...r)=>e.check(DN(...r)),e.endsWith=(...r)=>e.check(ON(...r)),e.min=(...r)=>e.check(Uu(...r)),e.max=(...r)=>e.check(D2(...r)),e.length=(...r)=>e.check(O2(...r)),e.nonempty=(...r)=>e.check(Uu(1,...r)),e.lowercase=r=>e.check(EN(r)),e.uppercase=r=>e.check(TN(r)),e.trim=()=>e.check(PN()),e.normalize=(...r)=>e.check(qN(...r)),e.toLowerCase=()=>e.check(BN()),e.toUpperCase=()=>e.check(IN()),e.slugify=()=>e.check(MN())}),D6=Y("ZodString",(e,n)=>{b0.init(e,n),L2.init(e,n),e.email=s=>e.check(XC(O6,s)),e.url=s=>e.check(nN(q6,s)),e.jwt=s=>e.check(yN(Y6,s)),e.emoji=s=>e.check(aN(P6,s)),e.guid=s=>e.check(Ib(Ub,s)),e.uuid=s=>e.check(JC(ku,s)),e.uuidv4=s=>e.check(WC(ku,s)),e.uuidv6=s=>e.check(eN(ku,s)),e.uuidv7=s=>e.check(tN(ku,s)),e.nanoid=s=>e.check(iN(B6,s)),e.guid=s=>e.check(Ib(Ub,s)),e.cuid=s=>e.check(sN(I6,s)),e.cuid2=s=>e.check(oN(M6,s)),e.ulid=s=>e.check(rN(V6,s)),e.base64=s=>e.check(hN(Q6,s)),e.base64url=s=>e.check(fN(F6,s)),e.xid=s=>e.check(lN(L6,s)),e.ksuid=s=>e.check(cN(U6,s)),e.ipv4=s=>e.check(uN(G6,s)),e.ipv6=s=>e.check(dN($6,s)),e.cidrv4=s=>e.check(mN(K6,s)),e.cidrv6=s=>e.check(pN(H6,s)),e.e164=s=>e.check(gN(Z6,s)),e.datetime=s=>e.check(M2(s)),e.date=s=>e.check(V2(s)),e.time=s=>e.check(y6(s)),e.duration=s=>e.check(v6(s))});function o(e){return YC(D6,e)}const Rt=Y("ZodStringFormat",(e,n)=>{zt.init(e,n),L2.init(e,n)}),O6=Y("ZodEmail",(e,n)=>{nC.init(e,n),Rt.init(e,n)}),Ub=Y("ZodGUID",(e,n)=>{eC.init(e,n),Rt.init(e,n)}),ku=Y("ZodUUID",(e,n)=>{tC.init(e,n),Rt.init(e,n)}),q6=Y("ZodURL",(e,n)=>{aC.init(e,n),Rt.init(e,n)}),P6=Y("ZodEmoji",(e,n)=>{iC.init(e,n),Rt.init(e,n)}),B6=Y("ZodNanoID",(e,n)=>{sC.init(e,n),Rt.init(e,n)}),I6=Y("ZodCUID",(e,n)=>{oC.init(e,n),Rt.init(e,n)}),M6=Y("ZodCUID2",(e,n)=>{rC.init(e,n),Rt.init(e,n)}),V6=Y("ZodULID",(e,n)=>{lC.init(e,n),Rt.init(e,n)}),L6=Y("ZodXID",(e,n)=>{cC.init(e,n),Rt.init(e,n)}),U6=Y("ZodKSUID",(e,n)=>{uC.init(e,n),Rt.init(e,n)}),G6=Y("ZodIPv4",(e,n)=>{fC.init(e,n),Rt.init(e,n)}),$6=Y("ZodIPv6",(e,n)=>{gC.init(e,n),Rt.init(e,n)}),K6=Y("ZodCIDRv4",(e,n)=>{yC.init(e,n),Rt.init(e,n)}),H6=Y("ZodCIDRv6",(e,n)=>{bC.init(e,n),Rt.init(e,n)}),Q6=Y("ZodBase64",(e,n)=>{vC.init(e,n),Rt.init(e,n)}),F6=Y("ZodBase64URL",(e,n)=>{kC.init(e,n),Rt.init(e,n)}),Z6=Y("ZodE164",(e,n)=>{wC.init(e,n),Rt.init(e,n)}),Y6=Y("ZodJWT",(e,n)=>{jC.init(e,n),Rt.init(e,n)}),v0=Y("ZodNumber",(e,n)=>{_2.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(r,u,f)=>QN(e,r,u),e.gt=(r,u)=>e.check(Vb(r,u)),e.gte=(r,u)=>e.check(Xp(r,u)),e.min=(r,u)=>e.check(Xp(r,u)),e.lt=(r,u)=>e.check(Mb(r,u)),e.lte=(r,u)=>e.check(Yp(r,u)),e.max=(r,u)=>e.check(Yp(r,u)),e.int=r=>e.check(Gb(r)),e.safe=r=>e.check(Gb(r)),e.positive=r=>e.check(Vb(0,r)),e.nonnegative=r=>e.check(Xp(0,r)),e.negative=r=>e.check(Mb(0,r)),e.nonpositive=r=>e.check(Yp(0,r)),e.multipleOf=(r,u)=>e.check(Lb(r,u)),e.step=(r,u)=>e.check(Lb(r,u)),e.finite=()=>e;const s=e._zod.bag;e.minValue=Math.max(s.minimum??Number.NEGATIVE_INFINITY,s.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(s.maximum??Number.POSITIVE_INFINITY,s.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(s.format??"").includes("int")||Number.isSafeInteger(s.multipleOf??.5),e.isFinite=!0,e.format=s.format??null});function d(e){return wN(v0,e)}const X6=Y("ZodNumberFormat",(e,n)=>{AC.init(e,n),v0.init(e,n)});function Gb(e){return jN(X6,e)}const J6=Y("ZodBoolean",(e,n)=>{CC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>FN(e,s,r)});function N(e){return AN(J6,e)}const W6=Y("ZodNull",(e,n)=>{NC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>ZN(e,s,r)});function ue(e){return CN(W6,e)}const e_=Y("ZodUnknown",(e,n)=>{_C.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>XN()});function Rn(){return NN(e_)}const t_=Y("ZodNever",(e,n)=>{zC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>YN(e,s,r)});function n_(e){return _N(t_,e)}const a_=Y("ZodArray",(e,n)=>{EC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>n6(e,s,r,u),e.element=n.element,e.min=(s,r)=>e.check(Uu(s,r)),e.nonempty=s=>e.check(Uu(1,s)),e.max=(s,r)=>e.check(D2(s,r)),e.length=(s,r)=>e.check(O2(s,r)),e.unwrap=()=>e.element});function y(e,n){return VN(a_,e,n)}const i_=Y("ZodObject",(e,n)=>{RC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>a6(e,s,r,u),ut(e,"shape",()=>n.shape),e.keyof=()=>j(Object.keys(e._zod.def.shape)),e.catchall=s=>e.clone({...e._zod.def,catchall:s}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Rn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Rn()}),e.strict=()=>e.clone({...e._zod.def,catchall:n_()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=s=>XA(e,s),e.safeExtend=s=>JA(e,s),e.merge=s=>WA(e,s),e.pick=s=>ZA(e,s),e.omit=s=>YA(e,s),e.partial=(...s)=>e5($2,e,s[0]),e.required=(...s)=>t5(K2,e,s[0])});function m(e,n){const s={type:"object",shape:e??{},..._e(n)};return new i_(s)}const U2=Y("ZodUnion",(e,n)=>{T2.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>i6(e,s,r,u),e.options=n.options});function He(e,n){return new U2({type:"union",options:e,..._e(n)})}const s_=Y("ZodDiscriminatedUnion",(e,n)=>{U2.init(e,n),DC.init(e,n)});function Pe(e,n,s){return new s_({type:"union",options:n,discriminator:e,..._e(s)})}const o_=Y("ZodIntersection",(e,n)=>{OC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>s6(e,s,r,u)});function r_(e,n){return new o_({type:"intersection",left:e,right:n})}const l_=Y("ZodRecord",(e,n)=>{qC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>o6(e,s,r,u),e.keyType=n.keyType,e.valueType=n.valueType});function Ue(e,n,s){return new l_({type:"record",keyType:e,valueType:n,..._e(s)})}const _h=Y("ZodEnum",(e,n)=>{PC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(r,u,f)=>JN(e,r,u),e.enum=n.entries,e.options=Object.values(n.entries);const s=new Set(Object.keys(n.entries));e.extract=(r,u)=>{const f={};for(const g of r)if(s.has(g))f[g]=n.entries[g];else throw new Error(`Key ${g} not found in enum`);return new _h({...n,checks:[],..._e(u),entries:f})},e.exclude=(r,u)=>{const f={...n.entries};for(const g of r)if(s.has(g))delete f[g];else throw new Error(`Key ${g} not found in enum`);return new _h({...n,checks:[],..._e(u),entries:f})}});function j(e,n){const s=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new _h({type:"enum",entries:s,..._e(n)})}const c_=Y("ZodLiteral",(e,n)=>{BC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>WN(e,s,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 D(e,n){return new c_({type:"literal",values:Array.isArray(e)?e:[e],..._e(n)})}const u_=Y("ZodTransform",(e,n)=>{IC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>t6(e,s),e._zod.parse=(s,r)=>{if(r.direction==="backward")throw new m2(e.constructor.name);s.addIssue=f=>{if(typeof f=="string")s.issues.push(Vl(f,s.value,n));else{const g=f;g.fatal&&(g.continue=!1),g.code??(g.code="custom"),g.input??(g.input=s.value),g.inst??(g.inst=e),s.issues.push(Vl(g))}};const u=n.transform(s.value,s);return u instanceof Promise?u.then(f=>(s.value=f,s)):(s.value=u,s)}});function G2(e){return new u_({type:"transform",transform:e})}const $2=Y("ZodOptional",(e,n)=>{R2.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>I2(e,s,r,u),e.unwrap=()=>e._zod.def.innerType});function $b(e){return new $2({type:"optional",innerType:e})}const d_=Y("ZodExactOptional",(e,n)=>{MC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>I2(e,s,r,u),e.unwrap=()=>e._zod.def.innerType});function m_(e){return new d_({type:"optional",innerType:e})}const p_=Y("ZodNullable",(e,n)=>{VC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>r6(e,s,r,u),e.unwrap=()=>e._zod.def.innerType});function Kb(e){return new p_({type:"nullable",innerType:e})}const h_=Y("ZodDefault",(e,n)=>{LC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>c6(e,s,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function f_(e,n){return new h_({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():g2(n)}})}const g_=Y("ZodPrefault",(e,n)=>{UC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>u6(e,s,r,u),e.unwrap=()=>e._zod.def.innerType});function y_(e,n){return new g_({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():g2(n)}})}const K2=Y("ZodNonOptional",(e,n)=>{GC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>l6(e,s,r,u),e.unwrap=()=>e._zod.def.innerType});function b_(e,n){return new K2({type:"nonoptional",innerType:e,..._e(n)})}const v_=Y("ZodCatch",(e,n)=>{$C.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>d6(e,s,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function x_(e,n){return new v_({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const k_=Y("ZodPipe",(e,n)=>{KC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>m6(e,s,r,u),e.in=n.in,e.out=n.out});function zh(e,n){return new k_({type:"pipe",in:e,out:n})}const w_=Y("ZodReadonly",(e,n)=>{HC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>p6(e,s,r,u),e.unwrap=()=>e._zod.def.innerType});function S_(e){return new w_({type:"readonly",innerType:e})}const j_=Y("ZodCustom",(e,n)=>{QC.init(e,n),Et.init(e,n),e._zod.processJSONSchema=(s,r,u)=>e6(e,s)});function A_(e,n={}){return LN(j_,e,n)}function C_(e){return UN(e)}function x0(e,n){return zh(G2(e),n)}const je={custom:"custom"};function k0(e){return SN(v0,e)}const H2=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(H2)});m({name:o().min(1).max(100),scopes:y(o()).min(1).optional(),projectId:o().optional()});H2.extend({key:o()});const N_=m({maxConcurrency:d().int().positive(),maxRequestsPerMinute:d().int().positive(),maxRequestsPerDay:d().int().positive()}),pt=o().min(1),w0=Ue(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()}),S0=j(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit","ads-sync","doctor"]);S0.enum;const j0=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:S0,cronExpr:o(),recurrence:j0.nullable().optional(),preset:o().nullable().optional(),timezone:o().default("UTC"),enabled:N().default(!0),providers:y(pt).default([]),sourceId:o().nullable().optional(),lastRunAt:o().nullable().optional(),nextRunAt:o().nullable().optional(),createdAt:o(),updatedAt:o()});const __=o().datetime();m({kind:S0.optional(),preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:j0.optional(),timezone:o().optional().default("UTC"),enabled:N().optional().default(!0),providers:y(pt).optional().default([]),sourceId:o().optional(),expectedUpdatedAt:__.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 A0=j(["citation.lost","citation.gained","run.completed","run.failed","insight.critical","insight.high","health.degraded","health.recovered"]);m({id:o(),projectId:o(),channel:D("webhook"),url:o().url(),urlDisplay:o(),urlHost:o(),events:y(A0),enabled:N().default(!0),source:o().optional(),webhookSecret:o().optional(),createdAt:o(),updatedAt:o()});m({channel:D("webhook"),url:o().url(),events:y(A0).min(1),source:o().optional()});class z_ extends Error{code;statusCode;details;constructor(n,s,r,u){super(s),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 Hb(e,n){return new z_("VALIDATION_ERROR",e,400,n)}function E_(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 Jp(e,n=!1){const s=new Set,r=[];for(const u of e){const f=n?u.toLowerCase():u;s.has(f)||(s.add(f),r.push(u))}return r}function Qb(e){try{const n=e.includes("://"),s=new URL(n?e:`https://${e}`);if(!n&&(s.pathname!=="/"||s.search||s.hash)||s.username||s.password||s.port)return null;const r=s.hostname.trim().toLowerCase().replace(/^www\./,"");return!r||r.includes("/")||r.includes("?")||r.includes("#")?null:r}catch{return null}}const T_=o().trim().min(1).refine(e=>Qb(e)!==null,{message:"Marketing hosts must be valid hostnames without credentials or ports"}).overwrite(e=>Qb(e)??e),R_=o().trim().min(1),D_=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"}),C0=m({marketingHosts:y(T_).overwrite(e=>Jp(e,!0)),brandTerms:y(R_).overwrite(e=>Jp(e,!0)),leadEventNames:y(D_).overwrite(e=>Jp(e))});function O_(){return{marketingHosts:[],brandTerms:[],leadEventNames:["generate_lead"]}}const Wp=Object.freeze({marketingHosts:Object.freeze([]),brandTerms:Object.freeze([]),leadEventNames:Object.freeze(["generate_lead"])}),Q2=()=>O_(),Fb=j(["never-synced","ready","error"]),q_=j(["landing-page","channel"]),P_=j(["30d","60d","90d"]),B_=j(["marketing","all"]),Rl=V2(),Ql=m({label:j(["earliest","middle","previous","latest"]),startDate:Rl,endDate:Rl}),eh=Ql.extend({sessions:d().int().nonnegative()}),Zb=Ql.extend({eventCount:d().int().nonnegative()}),Yb=Ql.extend({clicks:d().int().nonnegative(),impressions:d().int().nonnegative()}),I_=Ql.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()}),M_=Ql.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()}),V_=m({window:P_,bucketDays:D(30),filters:m({hostScope:B_,marketingHosts:y(o()),pathPrefix:o().nullable(),brandTerms:y(o()),queryMixScope:D("property")}),acquisition:m({status:Fb,error:o().nullable(),syncedAt:o().datetime().nullable(),periods:y(eh),channels:y(m({channelGroup:o(),periods:y(eh)})),pages:y(m({hostName:o(),landingPage:o(),periods:y(eh)}))}),leads:m({status:Fb,error:o().nullable(),syncedAt:o().datetime().nullable(),attributionScope:q_.nullable(),hostAndPathFiltersApplied:N(),periods:y(Zb),channels:y(m({channelGroup:o(),periods:y(Zb)}))}),engagement:m({status:j(["ready","unavailable"]),availableFromDate:Rl.nullable(),latestDate:Rl.nullable(),periods:y(M_)}),searchDemand:m({status:j(["ready","unavailable"]),periods:y(I_),queries:y(m({query:o(),classification:j(["branded","non-branded"]),periods:y(Yb)})),pages:y(m({hostName:o(),landingPage:o(),periods:y(Yb)})),latestDate:Rl.nullable()})}),L_=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,U_=/[\0-\x1F\x7F-\x9F]/,G_=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\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]/,$_=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var K_=class{src_Any=L_.source;src_Cc=U_.source;src_Z=$_.source;src_P=G_.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,s=4){const r=this.escapeRE(e),u=this.escapeRE(n),f=`(?:(?!${this.src_ZCc}|${r}|${u}).)`;let g=`${r}${f}{0,1000}${u}`;for(let b=2;b<=s;b++)g=`${r}(?:${f}|${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")}},th={validate:(e,n,s)=>{const r=s.re.get_http_validator();r.lastIndex=n;const u=r.exec(e);return u?u[0].length:0},normalize:(e,n)=>n.normalize(e)},H_={"http:":th,"https:":th,"ftp:":th,"//":{validate:function(e,n,s){const r=s.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,s){const r=s.re.get_mailto_validator();r.lastIndex=n;const u=r.exec(e);return u?u[0].length:0},normalize:(e,n)=>n.normalize(e)}},Q_="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",F_="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function Z_(){const e=F_.split("|");return Q_.split("|").forEach(n=>{const s=n.indexOf(":"),r=n.slice(0,s);for(const u of n.slice(s+1))e.push(r+u)}),e}var Y_={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:Z_(),urlAuth:!1,maxLength:1e4},Xb=class{schema;index;lastIndex;raw;text;url;constructor(e,n,s,r){const u=e.slice(s,r);this.schema=n.toLowerCase(),this.index=s,this.lastIndex=r,this.raw=u,this.text=u,this.url=u}},X_=class{__opts__;__schemas__;re;constructor(e={}){const{rebuilder:n,...s}=e;this.__opts__={...Y_,...s},this.__schemas__={...H_},this.re=n||new K_,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,n=null){if(!n)delete this.__schemas__[e];else{const s={normalize:(r,u)=>u.normalize(r),...n};this.__schemas__[e]=s}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,s;for(s=this.re.get_schema_search(),s.lastIndex=0;(n=s.exec(e))!==null;)if(this.testSchemaAt(e,n[2],s.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(s=this.re.get_fuzzy_link_search(),s.lastIndex=0,s.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 f=e.slice(Math.max(0,n.index-65),n.index);if(u.test(f))return!0}}return!1}testSchemaAt(e,n,s){return this.__schemas__[n.toLowerCase()]?this.__schemas__[n.toLowerCase()].validate(e.slice(0,s+this.__opts__.maxLength),s,this):0}match(e){const n=[],s=this.re.get_schema_search();let r,u,f,g,b,v,k=!1,S=!1,A=!1,z=0;if(!e.length)return null;for(s.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,f=this.re.get_mail_name_validator());;){const C=Math.max(z-1,0);if(u&&f&&!A&&(!b||b.index<z))for(u.lastIndex<C&&(u.lastIndex=C);;){const J=u.exec(e);if(!J){A=!0,b=void 0;break}const V=f.exec(e.slice(Math.max(0,J.index-65),J.index));if(V){if(b={schema:"mailto:",index:J.index-V[1].length,lastIndex:J.index+J[0].length},b.index>=z)break;u.lastIndex<C&&(u.lastIndex=C)}}if(r&&!S&&(!g||g.index<z))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>=z)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 T;if(!k)for(;;){if(!v){s.lastIndex<C&&(s.lastIndex=C);const le=s.exec(e);if(!le){k=!0;break}v={schema:le[2],index:le.index+le[1].length,lastIndex:le.index+le[0].length}}if(v.index<z){v=void 0;continue}if(F&&v.index>F.index)break;const J=v;v=void 0;const V=this.testSchemaAt(e,J.schema,J.lastIndex);if(V){T={schema:J.schema,index:J.index,lastIndex:J.lastIndex+V};break}}let I=T;if((!I||b&&(b.index<I.index||b.index===I.index&&b.lastIndex>I.lastIndex))&&(I=b),(!I||g&&(g.index<I.index||g.index===I.index&&g.lastIndex>I.lastIndex))&&(I=g),!I)break;I===b?b=void 0:I===g&&(g=void 0);const X=new Xb(e,I.schema,I.index,I.lastIndex);X.schema?this.__schemas__[X.schema].normalize(X,this):this.normalize(X),n.push(X),z=I.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 s=this.testSchemaAt(e,n[2],n[0].length);if(!s)return null;const r=new Xb(e,n[2],n.index+n[1].length,n.index+n[0].length+s);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 J_=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 W_(e,n){return e.endsWith(n)?e.length===n.length||e[e.length-n.length-1]===".":!1}function e8(e,n){const s=e.length-n.length-2,r=e.lastIndexOf(".",s);return r===-1?e:e.slice(r+1)}function t8(e,n,s){if(s.validHosts!==null){const u=s.validHosts;for(const f of u)if(W_(n,f))return f}let r=0;if(n.startsWith("."))for(;r<n.length&&n[r]===".";)r+=1;return e.length===n.length-r?null:e8(n,e)}function n8(e,n){return e.slice(0,-n.length-1)}const nh=/[\t\n\r]/g;let Eh=!1;function Jb(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function Wb(e,n,s){const r=s-n,u=e.charCodeAt(n)|32;if(r===2)return u===119&&(e.charCodeAt(n+1)|32)===115?1:0;if(r===3){const f=e.charCodeAt(n+1)|32,g=e.charCodeAt(n+2)|32;return u===119&&f===115&&g===115||u===102&&f===116&&g===112?1:0}else if(r===4){const f=e.charCodeAt(n+1)|32,g=e.charCodeAt(n+2)|32,b=e.charCodeAt(n+3)|32;return u===104&&f===116&&g===116&&b===112?1:u===102&&f===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 Dl(e,n,s=!1){let r=0,u=e.length,f=!1,g=!1;if(Eh=!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 I=e.indexOf(":/",r);if(I!==-1){const X=Wb(e,r,I);if(X===1)for(g=!0,r=I+2;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1;else if(X===2){g=!0,r=I+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<I;J+=1){const V=e.charCodeAt(J)|32;if(!(V>=97&&V<=122||V>=48&&V<=57||V===46||V===45||V===43)){const le=e.charCodeAt(J);return le===9||le===10||le===13?Dl(e.replace(nh,""),n,s):null}}if(e.charCodeAt(I+2)===47)r=I+3;else return null}}else if(e.charCodeAt(r)!==91){let X=-1;for(let J=r;J<u;J+=1){const V=e.charCodeAt(J);if(V===9||V===10||V===13)return Dl(e.replace(nh,""),n,s);if(V===58){X=J;break}if(V===47||V===92||V===63||V===35)break}if(X!==-1){let J=!1;for(let V=X+1;V<u;V+=1){const le=e.charCodeAt(V);if(le===47||le===92||le===63||le===35)break;if(le===64){J=!0;break}}if(!J){let V=!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){V=!1;break}}if(le===X+1&&(V=!1),!V){const ie=Wb(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,k=-1,S=-1,A=-1,z=!1,C=s,F=r-1,T=-1;if(s&&r<u){const I=e.charCodeAt(r);(!(Jb(I)||I===46||I===95)||I===45)&&(C=!1)}for(let I=r;I<u;I+=1){const X=e.charCodeAt(I);if(X<64)if(X===47||X===35||X===63){u=I;break}else X===58?(A===-1&&(A=I),S=I):X===9||X===10||X===13?z=!0:s&&(X===46?((I-F>64||T===46||T===45)&&(C=!1),F=I):(X<48||X>57)&&(X!==45||T===46)&&(C=!1));else if(g&&X===92){u=I;break}else X===64?(v=I,A=-1):X===93?k=I:X>=65&&X<=90?f=!0:s&&!Jb(X)&&(C=!1);s&&(T=X)}if(z)return Dl(e.replace(nh,""),n,s);if(v!==-1&&v>=r&&v<u&&(r=v+1),e.charCodeAt(r)===91)return k!==-1?e.slice(r+1,k).toLowerCase():null;if(S!==-1&&S>r&&S<u&&A===S&&(u=S),r>=u)return null;s&&C&&v===-1&&S===-1&&k===-1&&e.charCodeAt(u-1)!==46&&u-r<=255&&u-F-1<=63&&T!==45&&(Eh=!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 f?b.toLowerCase():b}function a8(e){if(e.length<7||e.length>15)return!1;let n=0;for(let s=0;s<e.length;s+=1){const r=e.charCodeAt(s);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 i8(e){if(e.length<3)return!1;let n=e.startsWith("[")?1:0,s=e.length;if(e[s-1]==="]"&&(s-=1),s-n>39)return!1;let r=!1;for(;n<s;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 s8(e){return i8(e)||a8(e)}const o8=["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 r8(e){for(const n of o8)if(e.endsWith(n)&&(e.length===n.length||e.charCodeAt(e.length-n.length-1)===46))return!0;return!1}function ev(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function tv(e){if(e.length>255||e.length===0||!ev(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let n=-1,s=-1;const r=e.length;for(let u=0;u<r;u+=1){const f=e.charCodeAt(u);if(f===46){if(u-n>64||s===46||s===45)return!1;n=u}else if(!(ev(f)||f===45||f===95)||f===45&&s===46)return!1;s=f}return r-n-1<=63&&s!==45}function F2({allowIcannDomains:e=!0,allowPrivateDomains:n=!1,detectIp:s=!0,detectSpecialUse:r=!1,extractHostname:u=!0,mixedInputs:f=!0,validHosts:g=null,validateHostname:b=!0}){return{allowIcannDomains:e,allowPrivateDomains:n,detectIp:s,detectSpecialUse:r,extractHostname:u,mixedInputs:f,validHosts:g,validateHostname:b}}const l8=F2({});function c8(e){return e===void 0?l8:F2(e)}function u8(e,n){return n.length===e.length?"":e.slice(0,-n.length-1)}function d8(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function Z2(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 Y2(e,n,s,r,u){const f=c8(r);if(typeof e!="string")return u;let g=!1;return f.extractHostname?f.mixedInputs?(g=tv(e),u.hostname=Dl(e,g,f.validateHostname)):u.hostname=Dl(e,!1,f.validateHostname):u.hostname=e,f.detectIp&&u.hostname!==null&&(u.isIp=s8(u.hostname),u.isIp)?u:f.validateHostname&&f.extractHostname&&u.hostname!==null&&!(g&&u.hostname===e)&&!Eh&&!tv(u.hostname)?(u.hostname=null,u):(n===0||u.hostname===null||(n===5&&f.detectSpecialUse&&(u.isSpecialUse=r8(u.hostname)),s(u.hostname,f,u),n===2||u.publicSuffix===null)||(u.domain=t8(u.publicSuffix,u.hostname,f),n===3||u.domain===null)||(u.subdomain=u8(u.hostname,u.domain),n===4)||(u.domainWithoutSuffix=n8(u.domain,u.publicSuffix)),u)}function m8(e,n,s){if(!n.allowPrivateDomains&&e.length>3){const r=e.length-1,u=e.charCodeAt(r),f=e.charCodeAt(r-1),g=e.charCodeAt(r-2),b=e.charCodeAt(r-3);if(u===109&&f===111&&g===99&&b===46)return s.isIcann=!0,s.isPrivate=!1,s.publicSuffix="com",!0;if(u===103&&f===114&&g===111&&b===46)return s.isIcann=!0,s.isPrivate=!1,s.publicSuffix="org",!0;if(u===117&&f===100&&g===101&&b===46)return s.isIcann=!0,s.isPrivate=!1,s.publicSuffix="edu",!0;if(u===118&&f===111&&g===103&&b===46)return s.isIcann=!0,s.isPrivate=!1,s.publicSuffix="gov",!0;if(u===116&&f===101&&g===110&&b===46)return s.isIcann=!0,s.isPrivate=!1,s.publicSuffix="net",!0;if(u===101&&f===100&&g===46)return s.isIcann=!0,s.isPrivate=!1,s.publicSuffix="de",!0}return!1}const Hs=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]),$u=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]),Ku=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]),nv=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]),Th="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",p8=621,h8=625,X2=Hs.length,J2=Ku.length,W2=new Uint32Array(J2),Bu=new Uint32Array(J2),Rh=new Int32Array(X2).fill(-1);for(let e=0,n=0;e<X2;e+=1)for(let s=$u[e];s<$u[e+1];s+=1){W2[s]=n;const r=n+Ku[s];let u=5381;for(let f=r-1;f>=n;f-=1)u=u*33^Th.charCodeAt(f);Bu[s]=u>>>0,Ku[s]===1&&Th.charCodeAt(n)===42&&(Rh[e]=s),n=r}let pi=-1,Dh=0,Oh=0;function av(e,n,s,r){if(Ku[e]!==r)return!1;const u=W2[e];for(let f=0;f<r;f+=1)if(Th.charCodeAt(u+f)!==n.charCodeAt(s+f))return!1;return!0}function iv(e,n,s,r,u){let f=$u[e],g=$u[e+1];for(;f<g;){const b=f+g>>>1,v=Bu[b];if(v<n)f=b+1;else if(v>n)g=b;else{for(let k=b;k>=f&&Bu[k]===n;k-=1)if(av(k,s,r,u))return k;for(let k=b+1;k<g&&Bu[k]===n;k+=1)if(av(k,s,r,u))return k;return-1}}return-1}function sv(e,n,s){let r=n,u=e.length,f=5381;pi=-1;for(let b=e.length-1;b>=0;b-=1){const v=e.charCodeAt(b);if(v===46){const k=b+1;let S=iv(r,f>>>0,e,k,u-k);if(S===-1&&(S=Rh[r]),S===-1)return pi!==-1;r=nv[S],(Hs[r]&s)!==0&&(pi=r,Dh=k,Oh=u),u=b,f=5381}else f=f*33^v}let g=iv(r,f>>>0,e,0,u);return g===-1&&(g=Rh[r]),g!==-1&&(r=nv[g],(Hs[r]&s)!==0&&(pi=r,Dh=0,Oh=u)),pi!==-1}function ek(e,n,s){if(m8(e,n,s))return;const r=(n.allowPrivateDomains?2:0)|(n.allowIcannDomains?1:0);if(sv(e,h8,r)){s.isIcann=(Hs[pi]&1)!==0,s.isPrivate=(Hs[pi]&2)!==0,s.publicSuffix=e.slice(Oh+1);return}if(sv(e,p8,r)){s.isIcann=(Hs[pi]&1)!==0,s.isPrivate=(Hs[pi]&2)!==0,s.publicSuffix=e.slice(Dh);return}s.isIcann=!1,s.isPrivate=!1;const u=e.lastIndexOf(".");s.publicSuffix=u===-1?e:e.slice(u+1)}const Hu=d8();function f8(e,n){return Z2(Hu),Y2(e,0,ek,n,Hu).hostname}function g8(e,n){return Z2(Hu),Y2(e,5,ek,n,Hu).domainWithoutSuffix}const y8={allowPrivateDomains:!0};new X_({fuzzyLink:!0,fuzzyEmail:!1}).tlds(J_);function Fl(e){if(e==null)return null;const n=e.trim();if(!n)return null;const s=f8(n);return s?s.replace(/^www\./i,"").toLowerCase():null}function tk(e){return e==null||e.trim()===""?"":g8(e,y8)?.toLowerCase()??""}const b8=new Intl.Segmenter("en",{granularity:"word"}),v8=/[^\p{L}\p{N}]+/gu,x8=/[\p{L}\p{N}]+/gu,k8=/[\p{Script=Latin}\p{Script=Greek}\p{Script=Cyrillic}]/u,w8=new RegExp("\\P{ASCII}","u");function S8(e){if(!w8.test(e))return e;let n="";for(const s of e){if(s.charCodeAt(0)<128){n+=s;continue}const r=s.normalize("NFD"),u=r[0];n+=r.length>1&&k8.test(u)?u:s}return n}function nk(e){return S8(e.normalize("NFKC")).toLocaleLowerCase("en")}function ak(e){const n=[];for(const s of b8.segment(e))if(s.isWordLike)for(const r of s.segment.match(x8)??[])n.push(r);return n}function j8(e){return ak(nk(e))}function wa(e){return j8(e).join("")}const ov=new WeakMap;function A8(e){if(!e)return null;const n=nk(e);return{normalized:n,stripped:n.replace(v8,"")}}function C8(e){const n=ov.get(e);if(n)return n;const s=ak(e.normalized);return ov.set(e,s),s}function N8(e){const n=new Set;let s=0;for(const r of e){if(!r)continue;const u=wa(r);u&&(n.add(u),u.length>s&&(s=u.length))}return{keys:n,longest:s}}function _8(e,n){if(!n||e.keys.size===0)return!1;const s=typeof n=="string"?A8(n):n;if(!s)return!1;let r=!1;for(const f of e.keys)if(s.stripped.includes(f)){r=!0;break}if(!r)return!1;const u=C8(s);for(let f=0;f<u.length;f++){let g="";for(let b=f;b<u.length;b++){if(g+=u[b],e.keys.has(g))return!0;if(g.length>=e.longest)break}}return!1}const z8=4,ik=j(["cli","api","config-file"]);function E8(e){const n=new Set,s=new Set;for(const r of e){if(n.has(r.label)){s.add(r.label);continue}n.add(r.label)}return[...s]}function T8(e,n){return n?e.some(s=>s.label===n):!0}const R8=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:Ue(o(),o()).optional(),providers:y(pt).optional(),providerModels:w0.optional(),locations:y(Xt).optional(),defaultLocation:o().nullable().optional(),measurement:C0.optional(),autoExtractBacklinks:N().optional(),configSource:ik.optional()});R8.extend({name:o().trim().min(1).max(120)});const D8=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:Ue(o(),o()).default({}),providers:y(o()).default([]),providerModels:w0.default({}),locations:y(Xt).default([]),defaultLocation:o().nullable().optional(),measurement:C0.default(Q2),autoExtractBacklinks:N().default(!1),configSource:ik.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:pt,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 Qu(e){return Fl(e)??e.trim().toLowerCase().replace(/^www\./,"")}function sk(e){const n=[e.canonicalDomain,...e.ownedDomains??[]],s=new Set,r=[];for(const u of n){const f=u.trim();if(!f)continue;const g=Qu(f);s.has(g)||(s.add(g),r.push(f))}return r}function O8(e,n){if(!n||n.length===0)return[];const s=e?.trim().toLowerCase()??"",r=new Set,u=[];for(const f of n){const g=f.trim();if(!g)continue;const b=g.toLowerCase();b!==s&&(r.has(b)||(r.add(b),u.push(g)))}return u}function q8(e){const n=[],s=new Set,r=f=>{const g=wa(f);!g||s.has(g)||(s.add(g),n.push(f))},u=e.displayName?.trim()??"";u&&r(u);for(const f of O8(e.displayName,e.aliases))r(f);for(const f of sk({canonicalDomain:e.canonicalDomain??"",ownedDomains:e.ownedDomains??[]})){const g=tk(f);if(wa(g).length>=z8)r(g);else{const b=Qu(f);b.includes(".")&&r(b)}}return n}const P8=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:Ue(o(),o()).optional().default({})}),B8=m({preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:j0.optional(),timezone:o().optional().default("UTC"),providers:y(pt).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(),I8=m({channel:D("webhook"),url:o().url(),events:y(A0).min(1)}),M8=m({gsc:m({propertyUrl:o()}).optional(),syncSchedule:m({preset:o().optional(),cron:o().optional()}).optional()}).optional(),rv=y(o().min(1)),V8=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:rv.optional(),keywords:rv.optional(),competitors:y(o().min(1)).optional().default([]),providers:y(pt).optional().default([]),providerModels:w0.optional().default({}),locations:y(Xt).optional().default([]),defaultLocation:o().optional(),measurement:C0.optional().default(Q2),schedule:B8,notifications:y(I8).optional().default([]),google:M8,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 s=E8(e.locations);s.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${s.join(", ")}`,path:["locations"]}),T8(e.locations,e.defaultLocation)||n.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});m({apiVersion:D("canonry/v1"),kind:D("Project"),metadata:P8,spec:V8});const L8=["branded","non-brand"],ur=j(L8),U8=j(["all","branded","non-brand"]);function G8(e){const n=e.filter(r=>wa(r).length>0);if(n.length===0)return null;const s=N8(n);return s.keys.size===0?null:{matcher:s,classify(r){return _8(s,r)?"branded":"non-brand"}}}const $8=2,K8=o().regex(/^[a-f0-9]{64}$/),md=o().trim().min(1).max(256),lv=j(["sensitive","insensitive"]),me=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),H8=o().trim().min(1).refine(e=>Fl(e)!==null,"A competitor domain must be a valid hostname"),Q8=Pe("kind",[m({kind:D("exact"),url:o().min(1),pathCase:lv}).strict(),m({kind:D("prefix"),host:o().min(1),pathPrefix:o().min(1),pathCase:lv}).strict(),m({kind:D("host"),host:o().min(1)}).strict()]),F8=m({canonicalHost:o().min(1),ownedHosts:y(o().min(1)),names:y(o().min(1))}).strict(),Z8=m({projectBrand:F8}).strict(),Y8=m({stableKey:me,label:o().trim().min(1),aliases:y(o().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(Q8),mentionNotApplicable:N(),discoveryIdentity:o().min(1).nullable()}).strict(),ok=m({stableKey:me,label:o().trim().min(1),domain:H8,aliases:y(o().min(1))}).strict(),X8=m({stableKey:me,label:o().trim().min(1),parentGroupKey:me.optional(),targetKeys:y(me),competitors:y(ok)}).strict(),J8=j(["manual","query-set","template","discovery","research"]),W8=m({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),template:o().trim().min(1).max(4e3),bindings:Ue(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:o().trim().min(1).max(4e3)}).strict(),rk=m({source:J8,sourceId:o().min(1).nullable(),capturedAt:o().datetime(),template:W8.optional()}).strict(),e7=m({queryId:md,queryText:o().min(1),provenance:rk}).strict(),pd=m({providers:y(pt).min(1),models:Ue(pt,o().min(1)),location:Xt.nullable()}).strict(),t7=m({stableKey:o().min(1),queryId:md,queryText:o().min(1),context:pd,expectedSnapshots:d().int().nonnegative()}).strict(),N0=ur,n7=m({targetKey:me,queryId:md,queryClass:N0,classificationSource:j(["server","operator"]).optional(),executionNodeKey:o().min(1)}).strict(),_0=m({executionNodeKey:o().min(1),targetKey:me,queryId:md}).strict(),lk=m({stableKey:me,label:o().trim().min(1),kind:D("market"),groupKey:me.optional(),usageEdges:y(_0)}).strict();function cv(e){return[e.executionNodeKey,e.targetKey,e.queryId].join("\0")}const hd=m({schemaVersion:D($8),identities:Z8,targets:y(Y8),groups:y(X8),querySnapshots:y(e7),assignments:y(n7),executionNodes:y(t7),usageEdges:y(_0),reportingScopes:y(lk).optional(),compiledChecksum:K8}).strict().superRefine((e,n)=>{const s=new Set;for(const b of e.executionNodes)s.has(b.stableKey)&&n.addIssue({code:je.custom,path:["executionNodes"],message:`Duplicate execution node key "${b.stableKey}"`}),s.add(b.stableKey);const r=new Set(e.targets.map(b=>b.stableKey));e.usageEdges.forEach((b,v)=>{s.has(b.executionNodeKey)||n.addIssue({code:je.custom,path:["usageEdges",v,"executionNodeKey"],message:`Usage edge references unknown execution node "${b.executionNodeKey}"`}),r.has(b.targetKey)||n.addIssue({code:je.custom,path:["usageEdges",v,"targetKey"],message:`Usage edge references unknown Target "${b.targetKey}"`})});const u=new Set(e.usageEdges.map(cv)),f=new Set;e.reportingScopes?.forEach((b,v)=>{if(f.has(b.stableKey)&&n.addIssue({code:je.custom,path:["reportingScopes",v,"stableKey"],message:`Duplicate reporting scope key "${b.stableKey}"`}),f.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:je.custom,path:["reportingScopes",v,"groupKey"],message:"A market must link to an existing group containing all its assigned properties."})}const k=new Set;b.usageEdges.forEach((S,A)=>{const z=cv(S);u.has(z)||n.addIssue({code:je.custom,path:["reportingScopes",v,"usageEdges",A],message:`Reporting scope "${b.stableKey}" references a usage edge that this revision does not contain.`}),k.has(z)&&n.addIssue({code:je.custom,path:["reportingScopes",v,"usageEdges",A],message:`Reporting scope "${b.stableKey}" repeats a usage edge.`}),k.add(z)})}),e.assignments.forEach((b,v)=>{r.has(b.targetKey)||n.addIssue({code:je.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:je.custom,path:["groups",v,"stableKey"],message:"Duplicate group stable key "+b.stableKey}),g.set(b.stableKey,b)}),e.groups.forEach((b,v)=>{const k=b.parentGroupKey;if(k===void 0)return;if(k===b.stableKey){n.addIssue({code:je.custom,path:["groups",v,"parentGroupKey"],message:"A group cannot be its own parent."});return}const S=g.get(k);if(!S){n.addIssue({code:je.custom,path:["groups",v,"parentGroupKey"],message:"Group parent does not exist: "+k});return}const A=new Set(S.targetKeys);b.targetKeys.forEach((F,T)=>{A.has(F)||n.addIssue({code:je.custom,path:["groups",v,"targetKeys",T],message:"Group target membership must be a subset of its parent."})});const z=new Set([b.stableKey]);let C=S;for(;C.parentGroupKey!==void 0;){if(z.has(C.stableKey)){n.addIssue({code:je.custom,path:["groups",v,"parentGroupKey"],message:"Group parent relationships cannot contain a cycle."});break}z.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:je.custom,path:["groups"],message:`Group "${b.stableKey}" references unknown Target "${v}"`})}),z0=100;function nr(e){return m({items:y(e),nextCursor:o().min(1).nullable(),totalEstimate:d().int().nonnegative().optional()}).strict()}const fd=j(["no_completed_run","plan_v1","no_population","evidence_incomplete","identity_ambiguous","not_applicable"]),Tt=Pe("state",[m({state:D("available"),value:d(),numerator:d().int().nonnegative().optional(),denominator:d().int().positive().optional()}).strict(),m({state:D("unavailable"),reason:fd}).strict()]),E0=j(["all","group","property"]),Ca=U8,a7=j(["label-asc","label-desc","citationCoverage-asc","citationCoverage-desc","mentionCoverage-asc","mentionCoverage-desc"]),T0=j(["not_measured","queued","running","complete","partial","failed"]),i7=j(["run_measurement","review_flags","complete_setup","republish_setup","none"]);m({scope:E0,groupKey:me.optional(),targetKey:me.optional(),queryClass:Ca.optional(),provider:pt.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:a7.optional(),cursor:o().trim().min(1).optional(),limit:d().int().positive().max(z0).optional()}).strict();const s7=m({provider:pt,mentionCoverage:Tt,citationCoverage:Tt}).strict(),o7=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(),r7=m({targetKey:me,label:o().min(1),mentionCoverage:Tt,citationCoverage:Tt,providers:y(s7),flags:d().int().nonnegative()}).strict(),l7=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(),c7=m({groupKey:me,queryClass:D("non-brand"),denominator:d().int().positive(),entries:y(l7)}).strict();m({mode:j(["active-v1","active-v2"]),scope:m({kind:E0,key:o().min(1).optional(),label:o().min(1)}).strict(),queryClass:Ca,measurement:m({state:T0,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:i7,count:d().int().nonnegative().optional()}).strict(),metrics:m({propertiesMentioned:Tt,mentionCoverage:Tt,citationCoverage:Tt,brandPresence:Tt,sov:Tt.describe("Deprecated alias of brandPresence carrying the identical value. Remove once the browser migrates.")}).strict(),properties:nr(r7),outcomes:o7,flags:m({total:d().int().nonnegative()}).strict(),namedShareOfVoice:c7.optional()}).strict();const ck=j(["sources","answers"]),u7=ck.enum;u7.sources;m({targetKey:me,queryClass:Ca.optional(),provider:pt.optional(),location:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),shape:ck.optional(),cursor:o().trim().min(1).optional(),limit:d().int().positive().max(z0).optional()}).strict();const uk=1,Zl=d().int().positive(),Yt=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),Yl=o().trim().min(1).max(256),uv=j(["sensitive","insensitive"]);function Fu(e){const n=Fl(e);if(!n)throw new Error(`Invalid measurement host: ${e}`);return n}function d7(e){const n=[];let s=!1;for(let r=0;r<e.length;r++){const u=e[r];u==="/"?(s||n.push(u),s=!0):(n.push(u),s=!1)}for(;n.length>1&&n.at(-1)==="/";)n.pop();return n.length?n.join(""):"/"}function dv(e){try{return decodeURI(e).normalize("NFC").toLowerCase()}catch{return e.normalize("NFC").toLowerCase()}}function dk(e){const n=new URL(`https://measurement.invalid${e}`).pathname;return d7(n.replace(/%[0-9a-f]{2}/gi,s=>s.toUpperCase()))}function qh(e){const n=e.trim();if(!n||n.includes("?")||n.includes("#")||n.includes("://")||n.includes("\\"))throw new Error(`Invalid measurement path prefix: ${e}`);const s=n.startsWith("/")?n:`/${n}`;for(const r of s.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 dk(s)}catch{throw new Error(`Invalid measurement path prefix: ${e}`)}}function m7(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 mv(e){const n=e.trim();if(!n||n.includes("\\"))throw new Error(`Invalid exact measurement URL: ${e}`);let s;try{s=new URL(n)}catch{throw new Error(`Invalid exact measurement URL: ${e}`)}if(s.protocol!=="http:"&&s.protocol!=="https:"||s.username||s.password||s.port||s.search||s.hash)throw new Error(`Invalid exact measurement URL: ${e}`);const r=Fu(s.hostname),u=qh(m7(n));return`https://${r}${u}`}const Ll=o().trim().min(1).refine(e=>{try{return Fu(e),!0}catch{return!1}},"A target URL matcher host must be a valid hostname").overwrite(e=>Fu(e)),p7=o().trim().min(1).refine(e=>{try{return qh(e),!0}catch{return!1}},"A target URL matcher pathPrefix must be an absolute path without query or fragment").overwrite(e=>qh(e)),h7=o().trim().min(1).refine(e=>{try{return mv(e),!0}catch{return!1}},"A target exact matcher must be an HTTP(S) URL without credentials, port, query, or fragment").overwrite(e=>mv(e)),f7=Pe("kind",[m({kind:D("exact"),url:h7,pathCase:uv}).strict(),m({kind:D("prefix"),host:Ll,pathPrefix:p7,pathCase:uv}).strict(),m({kind:D("host"),host:Ll}).strict()]),mk=o().trim().min(1).max(256).refine(e=>wa(e).length>0,"A target alias must contain mention text"),g7=Ue(o().trim().min(1),o()),y7=Ll,pk=m({stableKey:Yt,label:o().trim().min(1),urls:y(f7).min(1),aliases:y(mk),metadata:g7.optional()}).strict(),R0=m({stableKey:Yt,label:o().trim().min(1),targetKeys:y(Yt).min(1),competitors:y(y7).optional()}).strict(),hk=m({targetKey:Yt,queryIds:y(Yl).min(1),context:Xt.nullable().optional()}).strict();function b7(e,n){return e<n?-1:e>n?1:0}function v7(e,n=s=>s){const s=new Set,r=new Set;for(const u of e){const f=n(u);s.has(f)&&r.add(f),s.add(f)}return r}function ah(e,n,s,r,u){for(const f of v7(n,u))e.addIssue({code:"custom",path:[...s],message:`Duplicate ${r}: ${f}`})}function pv(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:Fu(n.hostname),pathname:dk(n.pathname||"/")}}function x7(e,n,s,r){return e===s||(n==="insensitive"||r==="insensitive")&&dv(e)===dv(s)}function k7(e,n){if(e.kind!==n.kind)return!1;const s=pv(e),r=pv(n);return s.host!==r.host?!1:e.kind==="host"||n.kind==="host"?!0:x7(s.pathname,e.pathCase,r.pathname,n.pathCase)}function w7(e){const n=new Set;return[...e].sort(b7).filter(s=>{const r=wa(s);return n.has(r)?!1:(n.add(r),!0)})}const fk=m({schemaVersion:D(uk),targets:y(pk).min(1),groups:y(R0).optional(),targetQuerySelections:y(hk).optional()}).strict().superRefine((e,n)=>{const s=e.groups??[],r=e.targetQuerySelections??[];ah(n,e.targets.map(v=>v.stableKey),["targets"],"target stable key"),ah(n,s.map(v=>v.stableKey),["groups"],"group stable key");const u=new Set(e.targets.map(v=>v.stableKey)),f=new Set(s.map(v=>v.stableKey));for(const v of u)f.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,k)=>{for(const S of w7(v.aliases)){const A=wa(S),z=g.get(A);z&&z!==v.stableKey&&n.addIssue({code:"custom",path:["targets",k,"aliases"],message:`Target alias is already assigned to target ${z}: ${S}`}),g.set(A,v.stableKey)}v.urls.forEach((S,A)=>{b.find(C=>C.targetKey!==v.stableKey&&k7(C.matcher,S))&&n.addIssue({code:"custom",path:["targets",k,"urls",A],message:"Target URL matcher has an equal-specificity cross-target tie"}),b.push({targetKey:v.stableKey,matcher:S})})}),s.forEach((v,k)=>{ah(n,v.targetKeys,["groups",k,"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",k,"targetKeys",S],message:`Unknown target: ${A}`})}}),r.forEach((v,k)=>{u.has(v.targetKey)||n.addIssue({code:"custom",path:["targetQuerySelections",k,"targetKey"],message:`Unknown target: ${v.targetKey}`})})});fk.transform(e=>({...e,groups:e.groups??[],targetQuerySelections:e.targetQuerySelections??[]}));m({expectedActiveRevision:Zl.nullable(),plan:fk}).strict();const S7=m({queryId:Yl,queryText:o().min(1)}).strict(),D0=m({stableKey:o().min(1),queryText:o().min(1),context:Xt.nullable(),expectedSnapshots:d().int().nonnegative()}).strict(),j7=m({kind:D("baseline"),executionNodeKey:o().min(1),queryId:Yl}).strict(),A7=m({kind:D("target"),executionNodeKey:o().min(1),queryId:Yl,targetKey:Yt}).strict(),Ph=Pe("kind",[j7,A7]),gk=m({code:D("target-alias-prefix-overlap"),message:o().min(1),targetKeys:y(Yt).min(1),aliases:y(o().min(1)).min(1)}).strict(),yk=pk.extend({mentionNotApplicable:N()}),bk=m({schemaVersion:D(uk),defaultContext:Xt.nullable(),effectiveOwnedHosts:y(Ll),projectCanonicalHost:Ll,projectBrandNames:y(mk),targets:y(yk),groups:y(R0),targetQuerySelections:y(hk),querySnapshots:y(S7),executionNodes:y(D0),usageEdges:y(Ph),warnings:y(gk)}).strict(),C7=bk,vk=Pe("schemaVersion",[bk,hd]),O0=o().regex(/^[a-f0-9]{64}$/),q0=o().datetime(),xk=m({schemaVersion:D(1),providers:y(o().min(1)).min(1),models:Ue(o().min(1),o().min(1)),checksum:o().regex(/^[a-f0-9]{64}$/)}).strict(),N7=m({groups:y(Yt).optional(),targets:y(Yt).optional()}).strict(),_7=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:Zl,checksum:O0,createdAt:q0,plan:vk}).nullable()});m({versions:y(m({revision:Zl,checksum:O0,createdAt:q0,active:N()}))});m({version:m({revision:Zl,checksum:O0,createdAt:q0,active:N(),plan:vk})});const Iu=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(),z7=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"]),kk=m({id:z7,severity:j(["fail","warn"]),message:o().min(1),path:y(He([o(),d().int()]))}).strict(),E7=m({baseline:d().int().nonnegative(),target:d().int().nonnegative()}).strict(),wk=m({ok:D(!0),checks:y(kk),executionNodes:y(D0),dedupSaved:d().int().nonnegative(),usageEdges:E7,estCostUsd:ue(),plan:C7,warnings:y(gk),counts:Iu}).strict(),Sk=m({ok:D(!1),checks:y(kk).min(1),executionNodes:y(D0).length(0),dedupSaved:D(0),usageEdges:m({baseline:D(0),target:D(0)}).strict(),estCostUsd:ue()}).strict();Pe("ok",[wk,Sk]);const wu=m({targetKey:Yt,context:Xt.nullable(),queryIds:y(Yl)}).strict();function hv(e){return m({added:y(e),removed:y(e),changed:y(m({stableKey:Yt,before:e,after:e}).strict()),unchanged:y(Yt)}).strict()}const T7=wk.extend({diff:m({activeRevision:Zl.nullable(),targets:hv(yk),groups:hv(R0),querySelections:m({added:y(wu),removed:y(wu),changed:y(m({targetKey:Yt,before:wu,after:wu}).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(Ph),removedUsageEdges:y(Ph),counts:m({before:Iu.nullable(),after:Iu,delta:Iu.nullable()}).strict()}).strict()}).strict()}).strict(),R7=Sk.extend({diff:ue()}).strict();Pe("ok",[T7,R7]);const D7=1,O7=o().refine(e=>e.trim().length>0,{message:"Must not be blank"}),jk=m({displayName:o(),aliases:y(o()),canonicalDomain:o(),ownedDomains:y(o())}).strict(),Ak=m({provider:pt.refine(e=>e.trim().length>0,{message:"Provider must not be blank"}),requestedModel:o().nullable()}).strict(),Ck=m({domain:o(),label:o(),aliases:y(o())}).strict(),Nk=m({queryId:O7,queryText:o(),provenance:o().nullable()}).strict(),q7=Nk.extend({queryClass:ur.nullable()}).strict();function _k(e,n){const s=new Set;e.engines.forEach((f,g)=>{const b=f.provider.trim().toLocaleLowerCase("en");s.has(b)&&n.addIssue({code:je.custom,path:["engines",g,"provider"],message:`Duplicate engine provider "${f.provider}"`}),s.add(b)});const r=new Set;e.queries.forEach((f,g)=>{r.has(f.queryId)&&n.addIssue({code:je.custom,path:["queries",g,"queryId"],message:`Duplicate query id "${f.queryId}"`}),r.add(f.queryId)});const u=new Set;e.competitors?.forEach((f,g)=>{const b=f.domain;u.has(b)&&n.addIssue({code:je.custom,path:["competitors",g,"domain"],message:`Duplicate competitor domain "${f.domain}"`}),u.add(b)})}m({capturedAt:o().datetime(),identity:jk,country:o(),language:o(),location:Xt.nullable(),engines:y(Ak).min(1),competitors:y(Ck).optional(),queries:y(Nk)}).strict().superRefine(_k);m({schemaVersion:D(D7),capturedAt:o().datetime(),identity:jk,country:o(),language:o(),location:Xt.nullable(),engines:y(Ak).min(1),competitors:y(Ck).optional(),queries:y(q7)}).strict().superRefine(_k);const P7=j(["auto","simple","advanced"]),B7=j(["simple","advanced"]),zk=j(["branded","non-brand","unknown","all"]),I7=j(["branded","non-brand","unknown"]),Ek=j(["project","group","market","property"]),Tk=Pe("kind",[m({kind:D("all")}).strict(),m({kind:D("none")}).strict(),m({kind:D("exact"),value:o().trim().min(1)}).strict()]);function M7(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 yt=o().trim().min(1),Fs=o().datetime(),V7={mode:P7.default("auto"),queryClass:zk.default("non-brand"),scope:Ek.default("project"),scopeKey:yt.optional(),marketKey:yt.optional(),provider:yt.optional(),model:yt.optional(),location:o().trim().min(1).optional(),from:Fs.optional(),to:Fs.optional(),revision:d().int().positive().optional(),runId:yt.optional(),queryKey:yt.optional(),queryId:yt.optional(),search:o().trim().min(1).optional(),cursor:yt.optional(),limit:d().int().min(1).max(100).default(50)},L7=m(V7).strict().superRefine((e,n)=>{e.scope!=="project"&&e.scopeKey===void 0&&n.addIssue({code:je.custom,path:["scopeKey"],message:`scopeKey is required for ${e.scope} scope`}),e.scope==="project"&&e.scopeKey!==void 0&&n.addIssue({code:je.custom,path:["scopeKey"],message:"scopeKey is not valid for project scope"}),e.scope==="market"&&e.marketKey!==void 0&&n.addIssue({code:je.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:je.custom,path:["to"],message:"to must be on or after from"}),e.queryKey!==void 0&&e.queryId!==void 0&&n.addIssue({code:je.custom,path:["queryId"],message:"queryKey and queryId cannot both be supplied"})});L7.transform(e=>({...e,location:M7(e.location)}));const ka=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:je.custom,message:"Unavailable rates require null values and a reason"});return}e.reason!==void 0&&n.addIssue({code:je.custom,message:"Available rates cannot carry a reason"});const{numerator:r,denominator:u}=e;u===null||r===null||(u===0&&n.addIssue({code:je.custom,path:["denominator"],message:"Available rates require a positive denominator"}),r>u&&n.addIssue({code:je.custom,path:["numerator"],message:"Numerator cannot exceed denominator"}))}),Rk=Pe("kind",[m({kind:D("frozen-simple"),definitionRevision:ue()}).strict(),m({kind:D("legacy-simple"),definitionRevision:ue()}).strict(),m({kind:D("frozen-advanced"),definitionRevision:d().int().positive()}).strict(),m({kind:D("unsupported-advanced-v1"),definitionRevision:d().int().positive()}).strict()]),Bh=m({id:yt,label:o().trim().min(1),kind:Ek,targetCount:d().int().nonnegative(),parentGroupIds:y(yt).optional(),marketKeys:y(yt).optional()}).strict(),U7=m({provider:yt,model:yt}).strict(),G7=m({providers:y(yt),models:y(U7),locations:y(Tk)}).strict(),$7=m({queryCount:d().int().nonnegative(),answerCount:d().int().nonnegative(),mentionCoverage:ka,citationCoverage:ka,propertyReach:ka,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:je.custom,message:"Outcome partition must sum to total"})})}).strict(),K7=m({runId:yt,createdAt:Fs,revision:d().int().positive().nullable(),provenance:Rk,queryCount:d().int().nonnegative(),answerCount:d().int().nonnegative(),mentionCoverage:ka,citationCoverage:ka,continuity:m({state:j(["first","comparable","definition-changed","model-changed","legacy-unknown"]),comparedRunId:o().nullable()}).strict()}).strict(),H7=m({queryKey:yt,queryId:o().nullable(),query:o(),provider:yt,model:o().nullable(),location:o().nullable(),targetKeys:y(yt),marketKeys:y(yt).optional(),answerCount:d().int().nonnegative(),mentionCoverage:ka,citationCoverage:ka}).strict(),Q7=m({answerId:yt,runId:yt,queryKey:yt,query:o(),provider:yt,model:o().nullable(),location:o().nullable(),targetKeys:y(yt),mentioned:N().nullable(),mentionUnavailableReason:D("identity-ambiguous").optional(),cited:N().nullable(),answerText:o().nullable(),createdAt:Fs,sources:y(o()),observedCompetitors:y(yt)}).strict(),F7=m({domain:yt,answerCount:d().int().nonnegative(),mentionCoverage:ka,citationCoverage:ka}).strict(),Z7=m({name:yt,answerCount:d().int().nonnegative()}).strict(),Y7=Pe("state",[m({state:D("available")}).strict(),m({state:D("unavailable"),reason:D("frozen-competitor-identity-missing")}).strict()]),fv=m({id:yt,label:o().trim().min(1),queryCount:d().int().nonnegative(),mentionCoverage:ka,citationCoverage:ka}).strict();function gv(e){return m({items:y(e),nextCursor:o().nullable(),total:d().int().nonnegative()}).strict()}const Dk=m({queryClass:I7,summary:$7,trend:y(K7),queries:gv(H7),evidence:gv(Q7),competitorAvailability:Y7,competitors:y(F7),observedCompetitors:y(Z7),breakdown:m({properties:y(fv),groups:y(fv)}).strict()}).strict(),X7=j(["measured","not-measured","partial"]),J7=m({state:X7,activeRevision:d().int().positive().nullable(),measuredRevision:d().int().positive().nullable(),awaitingSweep:N(),pendingAssignmentCount:d().int().nonnegative(),completedAt:Fs.nullable()}).strict(),Ok=m({mode:B7,queryClass:zk,scope:Bh,market:Bh.optional(),provider:o().nullable(),model:o().nullable(),location:Tk,time:m({from:Fs.nullable(),to:Fs.nullable()}).strict(),revision:d().int().positive().nullable(),run:m({id:o().nullable(),explicit:N()}).strict(),provenance:Rk,measurement:J7,availability:Pe("state",[m({state:D("available")}).strict(),m({state:D("unsupported"),reason:D("advanced-v1")}).strict()])}).strict();m({selection:Ok,scopeOptions:y(Bh),filterOptions:G7,populations:y(Dk).min(1)}).strict().superRefine((e,n)=>{const s=e.selection.queryClass==="all"?["branded","non-brand","unknown"]:[e.selection.queryClass],r=e.populations.map(u=>u.queryClass);(r.length!==s.length||r.some((u,f)=>u!==s[f]))&&n.addIssue({code:je.custom,path:["populations"],message:"Populations must exactly match the selected query class order"})});function W7(e,n){let s=e;for(const[r,u]of Object.entries(n))s=s.split(`{${r}}`).join(u);return s.trim()}const P0=o().regex(/^[a-f0-9]{64}$/),Gn=o().trim().min(1).max(256),Sa=o().trim().min(1).max(4e3),B0=o().datetime(),gd=o().regex(/^qtw_[a-f0-9]{64}$/),qk=o().regex(/^qtp_[a-f0-9]{64}$/),I0=j(["simple","advanced"]),Pk=m({templateId:Gn,templateVersion:o().trim().min(1).max(256),template:Sa,bindings:Ue(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:Sa}).strict(),ez=m({source:j(["manual","query-set","template","research","discovery"]),sourceId:Gn.nullable(),capturedAt:o().datetime(),template:Pk.optional()}).strict().superRefine((e,n)=>{e.source==="template"&&e.template===void 0&&n.addIssue({code:je.custom,path:["template"],message:"Template provenance is required for a template query."}),e.source!=="template"&&e.template!==void 0&&n.addIssue({code:je.custom,path:["template"],message:"Only a template query may carry template provenance."})}),tz=Pe("source",[m({source:D("manual"),text:Sa}).strict(),m({source:D("template"),templateId:Gn,templateVersion:o().trim().min(1).max(256),template:Sa}).strict(),m({source:D("research"),researchRunQueryId:Gn}).strict(),m({source:D("discovery"),discoveryProbeId:Gn}).strict()]),M0=m({targetKeys:y(me).optional(),groupKeys:y(me).optional(),marketKeys:y(me).optional()}).strict(),nz=m({providers:y(pt).min(1),models:Ue(pt,o().trim().min(1)),location:o().trim().min(1).nullable()}).strict(),az=m({input:tz,audience:M0.optional(),contexts:y(nz).min(1).optional(),queryClass:ur.optional()}).strict(),iz=m({queryId:Gn.optional(),queryText:Sa.optional(),audience:M0.optional()}).strict().superRefine((e,n)=>{e.queryId===void 0==(e.queryText===void 0)&&n.addIssue({code:je.custom,message:"Provide exactly one of queryId or queryText."})}),sz=m({queryId:Gn,audience:M0.optional(),text:Sa.optional(),queryClass:He([ur,ue()]).optional()}).strict().superRefine((e,n)=>{e.text===void 0&&e.queryClass===void 0&&n.addIssue({code:je.custom,message:"Provide query text or a classification change."})}),oz=m({additions:y(az),removals:y(iz),edits:y(sz).optional()}).strict(),rz=oz.extend({expectedWorkspaceVersion:gd}).strict();rz.extend({previewToken:qk,reviewedAt:B0}).strict();const lz=m({stableKey:me,label:o().trim().min(1)}).strict(),cz=m({stableKey:me,parentGroupKey:me.optional(),label:o().trim().min(1),targetKeys:y(me)}).strict(),uz=m({stableKey:me,groupKey:me.optional(),label:o().trim().min(1),usageEdges:y(_0)}).strict(),dz=m({targetKey:me,groupKeys:y(me),marketKeys:y(me),queryClass:ur.nullable(),classificationSource:j(["frozen","server","operator"]),contexts:y(pd).min(1)}).strict(),Bk=m({queryId:Gn,queryText:Sa,normalizedText:Sa,provenance:ez.nullable(),state:j(["tracked","awaiting-sweep"]),lastMeasuredAt:o().datetime().nullable(),assignments:y(dz)}).strict(),mz=m({researchRunId:Gn,researchRunQueryId:Gn,queryText:Sa,createdAt:o().datetime()}).strict(),pz=m({discoverySessionId:Gn,discoveryProbeId:Gn,queryText:Sa,createdAt:o().datetime()}).strict();m({mode:I0,workspaceVersion:gd,active:m({revision:d().int().positive(),compiledChecksum:P0}).strict().nullable(),defaultContexts:y(pd),targets:y(lz),groups:y(cz),markets:y(uz),tracked:y(Bk),savedSources:m({research:y(mz),discovery:y(pz)}).strict()}).strict();const Su=m({queryId:Gn,queryText:Sa,assignmentCount:d().int().nonnegative()}).strict(),Ik=m({added:y(Su),removed:y(Su),reused:y(Su),unchanged:y(Su),noOp:N()}).strict(),Mk=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:I0,workspaceVersion:gd,previewToken:qk,reviewedAt:B0,active:m({revision:d().int().positive(),compiledChecksum:P0}).strict().nullable(),tracked:y(Bk),diff:Ik,workload:Mk}).strict();m({committed:N(),mode:I0,workspaceVersion:gd,reviewedAt:B0,active:m({revision:d().int().positive(),compiledChecksum:P0}).strict().nullable(),diff:Ik,workload:Mk}).strict();const yd=j(["complete","partial","failed","unsupported"]);yd.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 hz=j(["invalid-url","unowned-host","duplicate-url","url-cap-reached"]),fz=m({kind:j(["exact","prefix","suffix","contains"]),value:o().trim().min(1)}).strict(),yv=m({host:o().trim().min(1),pathTemplate:o().trim().min(1)}).strict(),V0=m({primary:yv,aliases:y(yv).optional(),excludedSlugSuffixes:y(o().trim().min(1)).optional(),excludedSlugPatterns:y(fz).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:V0,maxUrls:d().int().positive().max(1e4).optional()}).strict();const ih=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"})}),gz=m({classification:D("proposed"),reason:D("primary-match"),stableKey:Yt,slug:o().trim().min(1),label:o().trim().min(1),primaryUrl:o().url(),aliasCoverageUrls:y(o().url())}).strict(),yz=m({classification:D("alias"),reason:D("exact-slug-match"),slug:o().trim().min(1),url:o().url(),targetStableKey:Yt}).strict(),bz=m({kind:hz,url:o(),canonicalUrl:o().nullable(),duplicateOf:o().optional()}).strict();m({proposed:y(gz),aliases:y(yz),shared:y(ih),unmatched:y(ih),excluded:y(ih),diagnostics:y(bz)}).strict().superRefine((e,n)=>{const s=[["shared",["shared"]],["unmatched",["unmatched"]],["excluded",["excluded"]]];for(const[r,u]of s)for(const f of e[r])u.includes(f.classification)||n.addIssue({code:"custom",path:[r],message:"Discovery item is in the wrong result bucket"})});const L0=j(["assigned","sibling","ownedUnmapped","external","ambiguous","invalid"]),Vk=j(["baseline","target"]),Lk=j(["incomplete","evidence-incomplete","identity-ambiguous","no-population","aliasless","no-competitors","no-project-aliases"]),Zs=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:Lk}).strict()]).superRefine((e,n)=>{e.numerator!==null&&e.numerator>e.denominator&&n.addIssue({code:"custom",path:["numerator"],message:"Rate numerator cannot exceed denominator"})}),vz=o().trim().min(1).overwrite(e=>e.toLocaleLowerCase("en")),xz=m({executionId:o().trim().min(1),queryText:o().trim().min(1),provider:vz,context:Xt.nullable(),requestedModel:o().trim().min(1).optional()}).strict();m({schemaVersion:D(1),expectedSlots:y(xz)}).strict().superRefine((e,n)=>{const s=new Set;for(const[r,u]of e.expectedSlots.entries()){const f=[u.executionId,u.provider].join("\0");s.has(f)&&n.addIssue({code:"custom",path:["expectedSlots",r],message:"Duplicate expected provider slot"}),s.add(f)}});const bd=m({executed:d().int().nonnegative(),expected:d().int().nonnegative(),complete:N(),sourceComplete:N(),sourceCompleteObservations:d().int().nonnegative(),answerComplete:N()}).strict(),bv=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:Lk}).strict()]),kz=m({domains:y(bv),providers:y(m({provider:pt,domains:y(bv)}).strict())}).strict(),wz=m({provider:pt,completeness:bd,answerCoverage:Zs}).strict(),Sz=m({id:o().trim().min(1),label:o().trim().min(1),targetIds:y(o().trim().min(1)),completeness:bd,answerCoverage:Zs,targetCoverage:Zs,sov:kz,providers:y(wz)}).strict(),jz=m({provider:pt,completeness:bd,citationCoverage:Zs,mentionCoverage:Zs}).strict(),Az=m({id:o().trim().min(1),label:o().trim().min(1),completeness:bd,citationCoverage:Zs,mentionCoverage:Zs,providers:y(jz)}).strict(),Uk=m({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:Vk,provider:pt,queryText:o().trim().min(1),location:o().nullable(),sourceUrl:o(),bridged:N(),historical:N(),evidenceComplete:N(),classification:L0,normalizedUrl:o().nullable(),matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),Cz=m({sourceUrl:o(),normalizedUrl:o().nullable(),classification:L0,matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),Nz=m({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:Vk,provider:pt,queryText:o().trim().min(1),location:o().nullable(),queryClass:He([j(["branded","non-brand"]),ue()]),mentioned:N().nullable(),cited:N().nullable(),sources:y(Cz),sourceCount:d().int().nonnegative(),sourcesTruncated:N(),bridged:N(),historical:N(),evidenceComplete:N()}).strict(),_z=m({bridgedObservationIds:y(o()),historicalObservationIds:y(o()),evidenceIncompleteObservationIds:y(o()),ambiguousObservationIds:y(o()),unmatchedObservationIds:y(o())}).strict(),zz=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:zz.nullable(),groups:y(Sz),targets:y(Az),evidence:y(Uk),diagnostics:_z}).strict();m({property:m({targetKey:me,label:o().min(1)}).strict(),queryClass:Ca,measurement:m({state:T0,displayedRunId:o().min(1).optional(),completedAt:o().datetime().optional()}).strict(),evidence:nr(Uk).optional(),answers:nr(Nz).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 U0=j(["used","not-used","unknown","not-applicable"]);U0.enum;const G0=j(["native-auto-v1","search-required-v1"]);G0.enum;const ja=o().trim().min(1),Xl=o().trim().min(1),Ez=o().trim().min(1),st=d().int().nonnegative(),Jl=m({state:T0,displayedRunId:ja.nullable(),planRevision:d().int().positive(),completedAt:o().datetime().nullable()}).strict(),es=m({targetKey:me,label:Xl}).strict(),$n={runId:ja.optional(),provider:pt.optional(),location:Ez.optional()},Ul=o().trim().min(1);m({runId:$n.runId,groupKey:me.optional(),queryClass:Ca.default("non-brand"),provider:$n.provider,location:$n.location,limit:d().int().positive().max(50).optional()}).strict();const Tz=es.extend({mentionCoverage:Tt,citationCoverage:Tt,flags:st,recommendedInstead:y(m({name:Ul,occurrences:st}).strict()).max(5),recommendedInsteadTotal:st,recommendedInsteadTruncated:N()}).strict().superRefine((e,n)=>{e.recommendedInstead.length>e.recommendedInsteadTotal&&n.addIssue({code:je.custom,path:["recommendedInsteadTotal"],message:"Total cannot be smaller than the returned replacements"}),e.recommendedInsteadTruncated!==e.recommendedInstead.length<e.recommendedInsteadTotal&&n.addIssue({code:je.custom,path:["recommendedInsteadTruncated"],message:"Truncation must agree with the replacement total"})}),Rz=m({groupKey:me,label:Xl,propertyCount:st,propertiesMentioned:Tt,mentionCoverage:Tt,citationCoverage:Tt}).strict(),Dz=m({eligiblePropertyCount:st,strongest:y(es.extend({mentionCoverage:Tt.options[0],citationCoverage:Tt}).strict()).max(50),weakest:y(es.extend({mentionCoverage:Tt.options[0],citationCoverage:Tt}).strict()).max(50),excluded:y(es.extend({reason:fd}).strict()),truncated:N()}).strict();m({portfolio:m({groupKey:me.nullable(),label:Xl.nullable(),measurementScope:He([j(["full","spot_check"]),ue()])}).strict(),measurement:Jl,queryClass:Ca,metrics:m({propertiesMentioned:Tt,mentionCoverage:Tt,citationCoverage:Tt}).strict(),weakestProperties:y(Tz),mentionRanking:Dz,markets:y(Rz),totalProperties:st,truncated:N()}).strict();m({targetKey:me,runId:$n.runId,provider:$n.provider,location:$n.location,queryClass:Ca.optional(),offset:d().int().nonnegative().optional(),limit:d().int().positive().max(100).optional()}).strict();j(["answered","missing"]);const Ih={queryId:ja,text:Xl,class:N0,provider:pt,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable()},Oz=Pe("status",[m({resultId:ja,...Ih,status:D("answered"),mentioned:N().nullable(),cited:N().nullable(),recommendedInstead:y(Ul),answerExcerpt:o().nullable()}).strict(),m({resultId:ue(),...Ih,status:D("missing"),mentioned:ue(),cited:ue(),recommendedInstead:y(Ul).length(0),answerExcerpt:ue()}).strict()]);m({property:es,measurement:Jl,queryClass:Ca,questions:y(Oz),total:st,truncated:N()}).strict();m({targetKey:me,resultId:ja}).strict();const qz=m({url:ja,classification:L0,matchedTargetKeys:y(me),assigned:N(),historical:N(),evidenceComplete:N()}).strict().superRefine((e,n)=>{e.assigned!==(e.classification==="assigned")&&n.addIssue({code:je.custom,path:["assigned"],message:"Assigned must agree with the source attribution classification"})});m({property:es,measurement:Jl,question:m({resultId:ja,...Ih,status:D("answered")}).strict(),mentioned:N().nullable(),cited:N().nullable(),recommendedInstead:y(Ul),answer:o().nullable(),sources:y(qz),captureStatus:He([yd,ue()]),retrievalStatus:He([U0,ue()]),retrievalContract:He([G0,ue()])}).strict();m({targetKey:me,runId:$n.runId,provider:$n.provider,location:$n.location,queryClass:Ca.optional(),limit:d().int().positive().max(50).optional()}).strict();const Pz=Pe("state",[m({state:D("available"),answeredResults:st,targetMissResults:st,recommendationOccurrences:st}).strict(),m({state:D("unavailable"),reason:fd}).strict()]),Bz=m({name:Ul,occurrences:st,providers:y(pt).max(5),providerTotal:st,providersTruncated:N(),questions:y(Xl).max(5),questionTotal:st,questionsTruncated:N()}).strict().superRefine((e,n)=>{(e.providers.length>e.providerTotal||e.questions.length>e.questionTotal)&&n.addIssue({code:je.custom,message:"Evidence totals cannot be smaller than returned evidence"}),e.providersTruncated!==e.providers.length<e.providerTotal&&n.addIssue({code:je.custom,path:["providersTruncated"],message:"Provider truncation must agree with its total"}),e.questionsTruncated!==e.questions.length<e.questionTotal&&n.addIssue({code:je.custom,path:["questionsTruncated"],message:"Question truncation must agree with its total"})});m({property:es,measurement:Jl,queryClass:Ca,basis:Pz,competitors:y(Bz),total:st,truncated:N()}).strict();m({runId:$n.runId,scope:E0.default("all"),groupKey:me.optional(),targetKey:me.optional(),queryClass:Ca.default("all"),provider:$n.provider,location:$n.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:je.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:je.custom,path:["groupKey"],message:"Group scope requires groupKey only"}),e.scope==="property"&&(e.targetKey===void 0||e.groupKey!==void 0)&&n.addIssue({code:je.custom,path:["targetKey"],message:"Property scope requires targetKey only"})});const Gk=j(["no_previous_run","execution_identity_changed","incomplete","not_comparable"]),$k=Jl.extend({executionIdentity:ja.nullable(),measurementScope:He([j(["full","spot_check"]),ue()])}).strict(),Al=Pe("state",[m({state:D("available"),previous:Tt,current:Tt,delta:d()}).strict().superRefine((e,n)=>{if(e.previous.state!=="available"||e.current.state!=="available"){n.addIssue({code:je.custom,message:"Available deltas require two available metrics"});return}Math.abs(e.delta-(e.current.value-e.previous.value))>Number.EPSILON&&n.addIssue({code:je.custom,path:["delta"],message:"Delta must equal current minus previous"})}),m({state:D("unavailable"),reason:fd}).strict()]);m({current:$k,comparison:Pe("state",[m({state:D("available"),previous:m({displayedRunId:ja,planRevision:d().int().positive(),completedAt:o().datetime().nullable(),executionIdentity:ja,measurementScope:j(["full","spot_check"])}).strict(),metrics:m({propertiesMentioned:Al,mentionCoverage:Al,citationCoverage:Al}).strict(),changedProperties:y(es.extend({mentionCoverage:Al,citationCoverage:Al,flags:st}).strict()),totalProperties:st,truncated:N()}).strict(),m({state:D("unavailable"),reason:Gk}).strict()])}).strict().superRefine((e,n)=>{if(e.comparison.state==="available"){if(e.current.displayedRunId===null||e.current.executionIdentity===null){n.addIssue({code:je.custom,path:["current"],message:"A comparison requires an identified current run"});return}e.comparison.previous.planRevision!==e.current.planRevision&&n.addIssue({code:je.custom,path:["comparison","previous","planRevision"],message:"Comparisons cannot cross plan revisions"}),e.comparison.previous.executionIdentity!==e.current.executionIdentity&&n.addIssue({code:je.custom,path:["comparison","previous","executionIdentity"],message:"Comparisons cannot cross execution identities"})}});m({runId:$n.runId}).strict();const Iz=j(["no_completed_run","incomplete","evidence_incomplete","no_population","not_applicable"]),vd=m({state:D("unavailable"),reason:Iz}).strict(),Mz=m({state:D("available"),expected:st,executed:st,answered:st,missing:st}).strict(),Vz=Pe("state",[Mz,vd]).superRefine((e,n)=>{e.state==="available"&&(e.executed+e.missing!==e.expected&&n.addIssue({code:je.custom,message:"Expected must equal executed plus missing"}),e.answered>e.executed&&n.addIssue({code:je.custom,path:["answered"],message:"Answered cannot exceed executed"}))}),Lz=m({state:D("available"),complete:st,partial:st,failed:st,unsupported:st,notRecorded:st}).strict(),Uz=Pe("state",[Lz,vd]),Gz=m({state:D("available"),used:st,notUsed:st,unknown:st,notApplicable:st,notRecorded:st}).strict(),$z=Pe("state",[Gz,vd]),Kz=m({state:D("available"),expectedQuestions:st,answeredQuestions:st,missingQuestions:st}).strict(),Hz=Pe("state",[Kz,vd]).superRefine((e,n)=>{e.state==="available"&&e.answeredQuestions+e.missingQuestions!==e.expectedQuestions&&n.addIssue({code:je.custom,message:"Expected questions must equal answered plus missing"})});m({run:$k,completeness:Vz,capture:Uz,retrieval:$z,population:Hz,comparison:Pe("state",[m({state:D("available"),previousDisplayedRunId:ja}).strict(),m({state:D("unavailable"),reason:Gk}).strict()])}).strict().superRefine((e,n)=>{if(e.completeness.state!=="available")return;const s=e.completeness.executed;e.capture.state==="available"&&e.capture.complete+e.capture.partial+e.capture.failed+e.capture.unsupported+e.capture.notRecorded!==s&&n.addIssue({code:je.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!==s&&n.addIssue({code:je.custom,path:["retrieval"],message:"Retrieval counts must total executed snapshots"})});const ar=o().regex(/^[a-f0-9]{64}$/),Aa=o().trim().min(1).max(256),La=d().int().positive(),vv=m({kind:j(["user","api-key","system"]),id:o().trim().min(1),label:o().trim().min(1)}).strict(),Qz=j(["proposed","included","excluded"]),Fz=j(["manual","sitemap"]),$0=m({stableKey:me,label:o().trim().min(1),status:Qz,aliases:y(o().trim().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(o().trim().min(1)),source:Fz,discoveredUrl:o().trim().min(1).optional(),discoveryIdentity:o().trim().min(1).optional()}).strict(),xd=m({providers:y(pt).optional(),models:Ue(pt,o().trim().min(1)).optional(),locations:y(o().trim().min(1)).optional()}).strict(),Zz=j(["branded","non-brand","unclassified"]),Yz=j(["rule","operator"]),Kk=m({targetKey:me,queryId:Aa,contextOverride:xd.optional(),executionContexts:y(pd.extend({executionNodeKey:o().min(1).optional()})).min(1).optional(),queryProvenance:rk.optional(),queryClass:Zz,classificationSource:Yz}).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."})}),kd=ok,Hk=m({stableKey:me,label:o().trim().min(1),parentGroupKey:me.optional(),targetKeys:y(me),competitors:y(kd)}).strict(),Xz=m({sitemapUrl:o().url(),rule:V0,exclusions:y(o().trim().min(1)),inputChecksum:ar,reviewedAt:o().datetime().optional()}).strict(),Jz=m({providers:y(pt),models:Ue(pt,o().trim().min(1)).optional(),locations:y(o().trim().min(1))}).strict(),Qk=lk,Wz=m({defaultContext:Jz,targets:y($0),assignments:y(Kk),groups:y(Hk),reportingScopes:y(Qk).optional(),discovery:Xz.optional()}).strict(),eE=m({id:o().trim().min(1),projectId:o().trim().min(1),schemaVersion:D(2),baseActiveVersionId:o().trim().min(1).nullable(),baseActiveRevision:La.nullable(),authoring:Wz,createdBy:vv,updatedBy:vv,createdAt:o().datetime(),updatedAt:o().datetime()}).strict(),K0=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(),tE=m({code:o().trim().min(1),message:o().trim().min(1),path:y(He([o(),d().int()]))}).strict(),Fk=m({etag:o().trim().min(1),changed:N(),warnings:y(tE),counts:K0}).strict();m({draft:eE.nullable(),etag:o().trim().min(1).nullable()}).strict();nr($0);nr(Kk);nr(Hk);m({search:o().optional(),cursor:o().trim().min(1).optional(),limit:d().int().positive().max(z0).optional()}).strict();m({expectedActiveRevision:La.nullable()}).strict();m({sitemapUrl:o().url(),rule:V0,exclusions:y(o().trim().min(1)).optional()}).strict();const nE=m({discoveryIdentity:o().trim().min(1),action:j(["create","rebind","ignore"]),targetKey:me.optional(),label:o().trim().min(1).optional()}).strict();m({selections:y(nE),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:$0}).strict();m({targetKey:me,label:o().trim().min(1)}).strict();m({targetKey:me,mergedKeys:y(me).min(1)}).strict();m({targetKey:me,cleanup:D("assignments-and-group-memberships").optional()}).strict();m({targetKey:me,discoveryIdentity:o().trim().min(1),discoveredUrl:o().url()}).strict();const Zk={targetKeys:y(me).optional(),groupKeys:y(me).optional()};function Yk(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(Zk).strict().superRefine(Yk);const aE=m({...Zk,queryIds:y(Aa).min(1),contextOverride:xd.optional()}).strict().superRefine(Yk);He([m({targetKey:me,queryIds:y(Aa).min(1),contextOverride:xd.optional()}).strict(),aE]);const iE=m({groupKey:me,label:o().trim().min(1),memberCount:d().int().positive()}).strict();m({draftEtag:o().trim().min(1),groups:y(iE),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:Aa}).strict()).min(1),contextOverride:xd.optional()}).strict();He([m({targetKey:me,queryId:Aa}).strict(),m({targetKeys:y(me).min(1),queryId:Aa}).strict()]);m({targetKey:me}).strict();m({queryClass:N0,assignments:y(m({targetKey:me,queryId:Aa}).strict()).min(1)}).strict();m({group:m({stableKey:me,label:o().trim().min(1),parentGroupKey:me.nullable().optional(),targetKeys:y(me),competitors:y(kd).optional()}).strict()}).strict();m({market:Qk}).strict();m({groupKey:me}).strict();m({groupKey:me,competitor:kd}).strict();m({expectedActiveRevision:La,groupKey:me,domain:o().trim().min(1).refine(e=>Fl(e)!==null,"A competitor domain must be a valid hostname"),label:o().trim().min(1).optional(),aliases:y(o().trim().min(1)).optional()}).strict();Fk.extend({groupKey:me,competitor:kd,draftCreated:N(),published:m({revision:La,competitorsChanged:D(!1)}).strict()}).strict();m({groupKey:me,competitorKey:me}).strict();const Zu=m({ruleId:o().trim().min(1),severity:j(["fail","warn"]),message:o().trim().min(1),path:y(He([o(),d().int()]))}).strict();Pe("ok",[m({ok:D(!0),compiledChecksum:ar,checks:y(Zu),counts:K0,plan:hd}).strict(),m({ok:D(!1),compiledChecksum:ue(),checks:y(Zu).min(1)}).strict()]);const xv=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(),sE=m({activeRevision:La.nullable(),targets:xv,groups:xv,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();Pe("ok",[m({ok:D(!0),compiledChecksum:ar,checks:y(Zu),counts:K0,plan:hd,diff:sE}).strict(),m({ok:D(!1),compiledChecksum:ue(),checks:y(Zu).min(1),diff:ue()}).strict()]);m({expectedActiveRevision:La.nullable(),expectedCompiledChecksum:ar}).strict();m({published:N(),active:m({revision:La,checksum:ar,compiledChecksum:ar,createdAt:o().datetime(),plan:hd}).strict()}).strict();m({discarded:N()}).strict();m({expectedActiveRevision:La}).strict();m({deactivated:N(),previousRevision:La.nullable()}).strict();const oE=j(["republish_required","setup_in_progress","awaiting_first_run","operational","simple"]),rE=j(["republish_setup","continue_setup","run_measurement","view_measurement","start_setup"]),lE=j(["simple","draft-only","active-v1","active-v2"]);m({state:oE,nextAction:rE,mode:lE,answerVisibilityProviderReady:N(),activeRevision:La.nullable(),activeSchemaVersion:He([D(1),D(2)]).nullable(),draft:m({etag:o().trim().min(1),updatedAt:o().datetime()}).strict().nullable()}).strict();const Xk=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(),cE=m({queryId:Aa,queryText:o().min(1),position:d().int().nonnegative()}).strict();Xk.extend({items:y(cE)}).strict();m({querySets:y(Xk)}).strict();m({name:o().trim().min(1),description:o().nullable().optional(),queryIds:y(Aa)}).strict();const uE=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(uE)}).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(Ue(o().trim().min(1),o().trim().min(1))).min(1),querySetId:o().trim().min(1).optional()}).strict();m({created:y(m({queryId:Aa,queryText:o().min(1)}).strict()),existing:y(m({queryId:Aa,queryText:o().min(1)}).strict())}).strict();const Yu=o().regex(/^[a-f0-9]{64}$/),wd=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 dE=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"]),Mh=m({dataRow:wd,property:o(),group:o(),url:o().nullable(),normalizedProperty:o(),normalizedGroupLabel:o()}).strict(),Cl=Mh.extend({reason:dE}),mE=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(),pE=m({proposedGroupKey:me,evidence:y(mE).min(1)}).strict(),hE=Pe("status",[Mh.extend({status:D("matched"),targetKey:me,groupKey:me}).strict(),Cl.extend({status:D("ambiguous"),candidateTargetKeys:y(me).min(1).optional(),candidateGroupKeys:y(me).min(1).optional()}).strict(),Cl.extend({status:D("unmatched")}).strict(),Cl.extend({status:D("invalid"),groupKeyConflict:pE.optional()}).strict(),Mh.extend({status:D("duplicate"),duplicateOfRow:wd,targetKey:me,groupKey:me}).strict(),Cl.extend({status:D("proposed"),targetKey:me}).strict(),Cl.extend({status:D("excluded"),targetKey:me}).strict()]),fE=m({normalizedGroupLabel:o(),groupKey:me,label:o().trim().min(1),action:j(["create","extend"]),matchedRows:y(wd),targetKeys:y(me),addedTargetKeys:y(me),unchangedTargetKeys:y(me)}).strict(),gE=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:Yu,previewChecksum:Yu,rows:y(hE),groupChanges:y(fE),counts:gE}).strict();m({csv:o(),sourceChecksum:Yu,previewChecksum:Yu,acceptedRows:y(wd).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."})});Fk.extend({appliedRows:d().int().nonnegative(),addedMemberships:d().int().nonnegative(),unchangedMemberships:d().int().nonnegative()}).strict();const Jk=j(["introduced","repointed","retired"]),yE=Jk.enum;m({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/,"date must be YYYY-MM-DD"),kind:Jk,confirmed:N(),sourceUrl:o().url(),note:o().min(1)});const bE=[{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.'}];yE.repointed;new Set(bE.map(e=>e.modelId.toLowerCase()));const vE=j(["not-exposed","no-known-change","known-change"]);vE.enum;const xE=m({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/),confirmed:N(),sourceUrl:o().url()}),kE=m({status:j(["no-known-change","known-change"]),modelIds:y(o().trim().min(1)).min(1),changes:y(xE),changeCount:d().int().nonnegative(),unverifiedChangeCount:d().int().nonnegative(),firstChangeDate:o().optional(),lastChangeDate:o().optional(),knownGoodAsOf:o(),checkedThroughPeriodEnd:N()}),wE={openai:"ChatGPT",chatgpt:"ChatGPT",anthropic:"Claude",claude:"Claude",google:"Gemini",gemini:"Gemini",perplexity:"Perplexity"};function SE(e){const n=e.trim().toLowerCase();return wE[n]??e.charAt(0).toUpperCase()+e.slice(1)}function sh(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):0}function Nl(e){return typeof e=="string"&&e.trim().length>=10?e.trim().slice(0,10):null}function oh(e){return[...new Set(e.filter(n=>n!==null))].sort()}function jE(e,n){const s=SE(e),r=Array.isArray(n.changes)?n.changes:[],u=sh(n.changeCount)||r.length,f=Math.min(u,sh(n.unverifiedChangeCount)||sh(n.unconfirmedChangeCount)||r.filter(S=>S.confirmed===!1).length),g=Nl(n.knownGoodAsOf),b=n.checkedThroughPeriodEnd!==!1,v={engine:s,confirmedCount:u-f,unconfirmedCount:f,knownGoodAsOf:g,checkedThroughPeriodEnd:b};if(r.length>0)return{...v,confirmedDates:oh(r.filter(S=>S.confirmed!==!1).map(S=>Nl(S.date))),unconfirmedDates:oh(r.filter(S=>S.confirmed===!1).map(S=>Nl(S.date)))};const k=oh([Nl(n.firstChangeDate),Nl(n.lastChangeDate)]);return u===0?{...v,confirmedDates:[],unconfirmedDates:[]}:f===0?{...v,confirmedDates:k,unconfirmedDates:[]}:v.confirmedCount===0?{...v,confirmedDates:[],unconfirmedDates:k}:{...v,confirmedDates:[],unconfirmedDates:[]}}function AE(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 kv(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 CE(e){const n=kv(e.confirmedDates,e.confirmedCount),s=kv(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 s?`${r} may have been updated ${s}, inside this period, though that is not confirmed.`:`${r} may have been updated inside this period, though that is not confirmed.`;if(n&&s)return`${r} was updated ${n}, inside this period, and may also have been updated ${s}.`;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 wv(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 SQ(e){const n=Object.entries(e??{}).map(([v,k])=>jE(v,k??{})).sort((v,k)=>v.engine.localeCompare(k.engine));if(n.length===0)return null;const s=n.filter(v=>v.confirmedCount+v.unconfirmedCount>0);if(s.length===0){const v=[...new Set(n.map(C=>C.engine))],k=v.length>1,S=wv(n),A=[...new Set(n.map(C=>C.knownGoodAsOf).filter(C=>C!==null))].sort(),z=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 ${AE(v)} in this period.`,detail:`${k?"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.${z?` ${z}`:""}`}}const r=s.reduce((v,k)=>v+k.confirmedCount+k.unconfirmedCount,0),u=s.some(v=>v.confirmedCount>0),f=r===1?"this update":"these updates",g=u?`Some of the movement in these numbers may come from ${f} 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 ${f} rather than from a real change in how AI answers about you, so compare periods carefully.`,b=wv(n);return{kind:"change",text:`${s.map(CE).join(" ")} ${g}${b?` ${b}`:""}`}}const Qs=m({slope:d(),intercept:d(),r2:d(),start:d(),end:d(),n:d(),startIndex:d(),endIndex:d()}),NE=j(["gsc","ga4","gbp"]);m({id:o(),domain:o(),connectionType:NE,propertyId:o().nullable().optional(),sitemapUrl:o().nullable().optional(),scopes:y(o()).default([]),createdAt:o(),updatedAt:o()});const _E=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(_E),totalMatching:d(),truncated:N(),latestAvailableDate:o().nullable()});const zE=m({date:o(),clicks:d(),impressions:d(),ctr:d(),position:d().nullable()}),EE=m({startDate:o().nullable(),endDate:o().nullable(),latestDataDate:o().nullable(),daysSinceLatestData:d().nullable()}),TE=m({clicks:Qs.nullable(),impressions:Qs.nullable(),ctr:Qs.nullable(),position:Qs.nullable()}),Sv=m({startDate:o(),endDate:o(),clicks:d(),impressions:d(),ctr:d().nullable(),position:d().nullable(),source:j(["property-daily","dimensioned","mixed","empty"])}),RE=m({days:d(),basis:j(["prior-window","split-window"]).optional(),prior:Sv,trailing:Sv,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(zE),window:EE.optional(),trends:TE.optional(),periodComparison:RE.nullable().optional()});const DE=m({page:o(),clicks:d(),impressions:d(),ctr:d()});m({rows:y(DE),totals:m({clicks:d(),impressions:d(),ctr:d(),days:d(),coveredFrom:o().nullable(),coveredThrough:o().nullable(),complete:N()}).nullable(),totalsSource:D("property-daily"),rankedFrom:o().nullable(),rankedThrough:o().nullable()});const Vh=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 OE=m({url:o(),previousState:o().nullable(),currentState:o().nullable(),transitionDate:o()}),qE=m({reason:o(),count:d(),urls:y(Vh).default([])});m({summary:m({total:d(),indexed:d(),notIndexed:d(),deindexed:d(),percentage:d()}),lastInspectedAt:o().nullable(),lastSyncedAt:o().nullable(),indexed:y(Vh).default([]),notIndexed:y(Vh).default([]),deindexed:y(OE).default([]),reasonGroups:y(qE).default([])});m({url:o(),type:j(["URL_UPDATED","URL_DELETED"]),notifiedAt:o()});const PE=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(PE).default([])});m({date:o(),indexed:d(),notIndexed:d(),unknownPages:d().default(0),verifiedByInspection:d().default(0),derivedFromImpressions:d().default(0),reasonBreakdown:Ue(o(),d()).default({})});const BE=m({siteUrl:o(),permissionLevel:o()});m({sites:y(BE).default([])});const IE=m({type:o(),submitted:o(),indexed:o().optional().describe("Deprecated compatibility field.")}),Wk=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(IE).optional()});m({sitemaps:y(Wk).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 ME=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(ME)});m({sitemaps:y(Wk),primarySitemapUrl:o(),run:m({id:o(),projectId:o(),kind:o(),status:o(),trigger:o(),createdAt:o()}).nullable()});const tt=o().trim().min(1),jv=o().regex(/^[a-f0-9]{64}$/i);function VE(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 Va=o().refine(VE,{message:"Expected a calendar date as YYYY-MM-DD."});function LE(e,n){const s=Date.parse(`${e}T00:00:00.000Z`),r=Date.parse(`${n}T00:00:00.000Z`);return Math.floor((r-s)/864e5)+1}const UE=j(["not-connected","selection-required","connected","stale"]),ju=UE.enum,ew=j(["enabled","suspended","closed","canceled","unspecified","unknown"]);ew.enum;const H0=j(["enabled","paused","removed","unknown"]);H0.enum;const tw=j(["enabled","hidden","removed","unknown"]);tw.enum;const Q0=j(["customer","campaign"]);Q0.enum;const nw=j(["customer-goal","campaign-goal","custom-goal"]);nw.enum;const aw=m({loginCustomerId:tt.nullable(),customerId:tt.nullable(),selectedAt:o().nullable()}).strict(),rh=m({id:tt,projectId:tt,scopes:y(o()).default([]),selection:aw,lastValidatedAt:o().nullable(),lastInventorySnapshotAt:o().nullable(),lastMetricsSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),Lh=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:ew}).strict(),GE=m({customers:y(Lh),totalAccessible:d().int().nonnegative(),truncated:N(),selection:aw,fetchedAt:o()}).strict();Pe("status",[m({connected:D(!1),status:D(ju["not-connected"]),connection:ue(),selectedCustomer:ue()}).strict(),m({connected:D(!0),status:D(ju["selection-required"]),connection:rh,selectedCustomer:ue()}).strict(),m({connected:D(!0),status:D(ju.connected),connection:rh,selectedCustomer:Lh}).strict(),m({connected:D(!0),status:D(ju.stale),connection:rh,selectedCustomer:Lh}).strict()]);const $E=m({id:tt,resourceName:tt,name:o(),status:H0,advertisingChannelType:o().nullable(),biddingStrategyType:o().nullable()}).strict(),KE=m({id:tt,resourceName:tt,name:o(),status:tw,category:o(),origin:o(),primaryForGoal:N(),includeInConversionsMetric:N()}).strict(),HE=m({category:o(),origin:o(),biddable:N()}).strict(),QE=m({campaignId:tt,category:o(),origin:o(),biddable:N()}).strict(),FE=m({id:tt,name:o(),conversionActionIds:y(tt)}).strict(),ZE=m({campaignId:tt,goalConfigLevel:Q0,customGoalId:tt.nullable()}).strict(),YE=m({customerId:tt,fetchedAt:o(),campaigns:y($E),conversionActions:y(KE),customerConversionGoals:y(HE),campaignConversionGoals:y(QE),campaignConversionGoalsComplete:N().optional(),customConversionGoals:y(FE),campaignGoalConfigurations:y(ZE)}).strict(),XE=m({source:nw,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(),JE=m({campaignId:tt,goalConfigLevel:Q0,customGoalId:tt.nullable(),missingCustomGoalId:tt.nullable(),goals:y(XE)}).strict();m({customerId:tt,derivedAt:o(),campaigns:y(JE)}).strict();const iw=50,Uh=31,WE=iw*Uh,eT=m({campaignIds:y(tt).min(1).max(iw),startDate:Va,endDate:Va}).strict().superRefine((e,n)=>{if(new Set(e.campaignIds).size!==e.campaignIds.length&&n.addIssue({code:je.custom,path:["campaignIds"],message:"Campaign IDs must be unique."}),e.endDate<e.startDate){n.addIssue({code:je.custom,path:["endDate"],message:"endDate must not precede startDate."});return}LE(e.startDate,e.endDate)>Uh&&n.addIssue({code:je.custom,path:["endDate"],message:`Campaign metrics may cover at most ${Uh} calendar days.`})}),tT=m({campaignId:tt,date:Va,impressions:d().int().nonnegative(),clicks:d().int().nonnegative(),costMicros:d().int().nonnegative(),conversions:d().nonnegative(),conversionValueMicros:d().int().nonnegative().nullable()}).strict(),nT=m({query:eT,rows:y(tT).max(WE),truncated:N(),fetchedAt:o()}).strict(),sw=j(["accessible-customers","inventory","campaign-metrics"]),lh=sw.enum,F0=m({id:tt,projectId:tt,connectionId:tt,runId:tt,kind:sw,customerId:tt.nullable(),payloadChecksum:jv,rawPayloadSha256:jv.nullable(),rawPayloadBytes:d().int().nonnegative().nullable(),redactedFieldCount:d().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),aT=Pe("kind",[m({kind:D(lh["accessible-customers"]),data:GE}).strict(),m({kind:D(lh.inventory),data:YE}).strict(),m({kind:D(lh["campaign-metrics"]),data:nT}).strict()]),iT=m({metadata:F0,payload:aT}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:je.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),sT=j(["7d","14d","30d"]),Z0=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()}),oT=m({date:Va,origin:j(["provider","filled"]),impressions:d().int().nonnegative(),clicks:d().int().nonnegative(),costMicros:d().int().nonnegative(),conversions:d().nonnegative(),ctr:d().nullable()}),rT=m({campaignId:tt,name:o().nullable(),status:H0,totals:Z0}),lT=m({snapshotId:tt,capturedAt:o(),customerId:tt,currencyCode:o().nullable(),timeZone:o().nullable(),asOfDate:Va,openDate:Va.nullable(),truncated:N(),campaignsQueried:d().int().nonnegative(),campaignsInInventory:d().int().nonnegative()}),cT=m({startDate:Va,endDate:Va,days:d().int().positive(),totals:Z0}),uT=m({days:d().int().positive(),prior:cT,change:m({impressions:d().nullable(),clicks:d().nullable(),costMicros:d().nullable(),conversions:d().nullable(),ctr:d().nullable(),conversionRate:d().nullable()})});m({window:sT,startDate:Va,endDate:Va,days:d().int().positive(),totals:Z0,daily:y(oT),campaigns:y(rT),comparison:uT.nullable(),comparisonUnavailableReason:j(["insufficient-history","no-snapshot"]).nullable(),source:lT.nullable()});const et=o().trim().min(1),Av=o().regex(/^[a-f0-9]{64}$/i),dT=j(["not-connected","selection-required","connected","stale"]),Au=dT.enum,mT=j(["live","draft"]),ow=mT.enum,Mu=m({accountId:et.nullable(),containerId:et.nullable(),workspaceId:et.nullable(),selectedAt:o().nullable()}).strict(),ch=m({id:et,projectId:et,scopes:y(o()).default([]),selection:Mu,lastValidatedAt:o().nullable(),lastSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),rw=m({id:et,path:o(),name:o(),shareData:N().nullable()}).strict(),lw=m({accountId:et,id:et,path:o(),name:o(),publicId:o().nullable(),domainName:o().nullable(),usageContexts:y(o())}).strict(),Y0=m({accountId:et,containerId:et,id:et,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable()}).strict(),pT=m({accounts:y(rw),totalAccessible:d().int().nonnegative(),truncated:N(),fetchedAt:o()}).strict();m({accountId:et,containers:y(lw),totalAccessible:d().int().nonnegative(),truncated:N(),fetchedAt:o()}).strict();m({accountId:et,containerId:et,workspaces:y(Y0),totalAccessible:d().int().nonnegative(),truncated:N(),fetchedAt:o()}).strict();const hT=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(),fT=m({id:et,name:o(),type:o(),customEventNames:y(o()),filterKeys:y(o()),autoEventFilterKeys:y(o()),fingerprint:o().nullable()}).strict(),gT=m({id:et,name:o(),type:o(),dataLayerVariableName:o().nullable(),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),cw=j(["recognized","unknown"]),Cv=cw.enum,yT=j(["literal","variable-ref","absent","unknown"]),Sd=yT.enum,bT=o().trim().min(5).max(132).regex(/^\{\{\w[\w ./-]{0,127}\}\}$/),dr=m({source:D(Sd.absent),literal:ue(),variableRef:ue()}).strict(),mr=m({source:D(Sd.unknown),literal:ue(),variableRef:ue()}).strict(),pr=m({source:D(Sd["variable-ref"]),literal:ue(),variableRef:bT}).strict();function Wl(e){return m({source:D(Sd.literal),literal:e,variableRef:ue()}).strict()}const vT=o().trim().max(23).regex(/^(?:AW-)?\d{1,20}$/i),xT=o().trim().min(1).max(128).regex(/^[\w-]+$/),kT=o().trim().min(1).max(20).regex(/^(?:0|[1-9]\d{0,11})(?:\.\d{1,6})?$/),wT=o().trim().length(3).regex(/^[a-z]{3}$/i);Pe("source",[Wl(o().trim().min(1).max(256)),pr,dr,mr]);const ST=Pe("source",[Wl(vT),pr,dr,mr]),jT=Pe("source",[Wl(xT),pr,dr,mr]),AT=Pe("source",[Wl(kT),pr,dr,mr]),CT=Pe("source",[pr,dr,mr]),NT=Pe("source",[Wl(wT),pr,dr,mr]),uw=j(["all-pages","custom-event","filtered","unknown"]);uw.enum;const Nv=m({operator:o().trim().min(1).max(64),value:o().max(2048),negated:N(),ignoreCase:N()}).strict(),_T=m({triggerId:et,triggerType:o(),eventPredicates:y(Nv),hostnamePredicates:y(Nv),unsupportedConditionCount:d().int().nonnegative()}).strict(),dw=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"]);dw.enum;const zT=m({tagId:et,tagType:o(),recognition:cw,recognitionReason:o().nullable(),conversionId:ST,conversionLabel:jT,value:AT,transactionId:CT,currency:NT,triggerStrategy:uw,triggerIds:y(et),triggerPredicates:y(_T),reviewReasons:y(dw)}).strict().superRefine((e,n)=>{e.recognition===Cv.recognized&&e.recognitionReason!==null&&n.addIssue({code:je.custom,path:["recognitionReason"],message:"Recognized assessments cannot carry an unknown-recognition reason."}),e.recognition===Cv.unknown&&!e.recognitionReason&&n.addIssue({code:je.custom,path:["recognitionReason"],message:"Unknown assessments require a recognition reason."})}),mw=m({accountId:et,containerId:et,workspaceId:et.nullable(),tags:y(hT),triggers:y(fT),variables:y(gT),googleAdsTagAssessments:y(zT).default([])}).strict(),ET=m({accountId:et,containerId:et,id:et,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable(),deleted:N()}).strict(),pw=m({source:D(ow.live),version:ET,graph:mw,fetchedAt:o()}).strict(),hw=m({source:D(ow.draft),workspace:Y0,graph:mw,conflictCount:d().int().nonnegative(),fetchedAt:o()}).strict(),TT=m({account:rw,container:lw,workspaces:y(Y0),live:pw.nullable(),draft:hw.nullable(),fetchedAt:o()}).strict();Pe("status",[m({connected:D(!1),status:D(Au["not-connected"]),connection:ue(),selection:ue()}).strict(),m({connected:D(!0),status:D(Au["selection-required"]),connection:ch,selection:Mu}).strict(),m({connected:D(!0),status:D(Au.connected),connection:ch,selection:Mu}).strict(),m({connected:D(!0),status:D(Au.stale),connection:ch,selection:Mu}).strict()]);const fw=j(["accounts","container","live","draft"]),Cu=fw.enum,X0=m({id:et,projectId:et,connectionId:et,runId:et,kind:fw,accountId:et.nullable(),containerId:et.nullable(),workspaceId:et.nullable(),payloadChecksum:Av,rawPayloadSha256:Av.nullable(),rawPayloadBytes:d().int().nonnegative().nullable(),redactedFieldCount:d().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),RT=Pe("kind",[m({kind:D(Cu.accounts),data:pT}).strict(),m({kind:D(Cu.container),data:TT}).strict(),m({kind:D(Cu.live),data:pw}).strict(),m({kind:D(Cu.draft),data:hw}).strict()]),DT=m({metadata:X0,payload:RT}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:je.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),Tn=o().trim().min(1),OT=o().trim().min(1).refine(e=>Fl(e)!==null,"Expected a hostname or http(s) URL."),J0=j(["configured","statically-consistent","runtime-unverified","observed"]);J0.enum;const gw=j(["pass","fail","unknown"]);gw.enum;const yw=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"]);yw.enum;const bw=m({id:Tn,projectId:Tn,name:o().trim().min(1),eventName:o().trim().min(1),googleAds:m({customerId:Tn,conversionActionId:Tn,conversionId:o().trim().min(1).optional(),conversionLabel:o().trim().min(1).optional(),campaignIds:y(Tn).max(50).default([]),requireBiddableGoal:N().default(!0),requirePrimaryAction:N().default(!0)}).strict(),gtm:m({accountId:Tn,containerId:Tn,tagId:Tn,triggerIds:y(Tn).default([]),variableIds:y(Tn).default([])}).strict(),runtime:m({verificationRequired:N().default(!0),requireTransactionId:N().default(!0),requireValue:N().default(!0),requireCurrency:N().default(!0),productionHosts:y(OT).default([])}).strict(),createdAt:o(),updatedAt:o()}).strict();bw.omit({id:!0,projectId:!0,createdAt:!0,updatedAt:!0});const vw=j(["not-run","consistent","inconsistent"]);vw.enum;const xw=j(["not-run","not-observed","observed"]);xw.enum;m({staticCheck:vw,runtimeVerificationRequired:N(),runtimeObservation:xw}).strict();const qT=m({code:yw,subject:o().trim().min(1),outcome:gw,status:J0,evidenceIds:y(Tn).default([])}).strict(),PT=m({contract:bw,status:J0,findings:y(qT),evaluatedAt:o()}).strict(),_v=m({id:Tn,name:o(),detail:o(),active:N()});m({googleAds:m({customerId:Tn.nullable(),syncedAt:o().nullable(),conversionActions:y(_v)}),gtm:m({containerId:Tn.nullable(),syncedAt:o().nullable(),tags:y(_v)})});const Ol=o().trim().min(1);function zv(e){const n=e.trim();return/^\d{10}$/.test(n)?n:/^\d{3}-\d{3}-\d{4}$/.test(n)?n.replaceAll("-",""):null}const BT=/^[\w-]+$/;function W0(e){const n=e.trim();return BT.test(n)?n:null}function IT(e){const n=e.trim();return/^accounts\/([\w-]+)$/.exec(n)?.[1]??W0(n)}function MT(e,n){const s=e.trim(),r=/^accounts\/([\w-]+)\/containers\/([\w-]+)$/.exec(s);return r?r[1]===n?r[2]:null:W0(s)}function VT(e,n,s){const r=e.trim(),u=/^accounts\/([\w-]+)\/containers\/([\w-]+)\/workspaces\/([\w-]+)$/.exec(r);return u?u[1]===n&&u[2]===s?u[3]:null:W0(r)}function LT(e){const n=zv(e.customerId);if(!n)return null;if(e.loginCustomerId===null)return{loginCustomerId:null,customerId:n};if(e.loginCustomerId===void 0)return{customerId:n};const s=zv(e.loginCustomerId);return s?{loginCustomerId:s,customerId:n}:null}function UT(e){const n=IT(e.accountId);if(!n)return null;const s=MT(e.containerId,n);if(!s)return null;if(e.workspaceId===void 0)return{accountId:n,containerId:s};const r=VT(e.workspaceId,n,s);return r?{accountId:n,containerId:s,workspaceId:r}:null}const jd=j(["google-ads","gtm"]);jd.enum;m({provider:jd,publicUrl:o().url().optional(),developerToken:o().trim().min(1).max(512).optional()}).strict();m({provider:jd,authorizationUrl:o().url(),redirectUri:o().url(),expiresAt:o().nullable()}).strict();m({loginCustomerId:Ol.nullable().optional(),customerId:Ol}).strict().superRefine((e,n)=>{LT(e)||n.addIssue({code:je.custom,message:"Expected ten-digit Google Ads customer IDs, with optional 3-3-4 display hyphens."})});m({accountId:Ol,containerId:Ol,workspaceId:Ol.optional()}).strict().superRefine((e,n)=>{UT(e)||n.addIssue({code:je.custom,message:"GTM resource paths must match the selected account and container."})});m({provider:jd,disconnected:N()}).strict();const kw=100;m({snapshots:y(F0).max(kw),nextCursor:o().nullable(),total:d().int().nonnegative()}).strict();m({snapshot:iT}).strict();m({snapshots:y(X0).max(kw),nextCursor:o().nullable(),total:d().int().nonnegative()}).strict();m({snapshot:DT}).strict();m({assessment:PT,googleAdsSnapshot:F0.nullable(),gtmSnapshot:X0.nullable()}).strict();const GT=m({name:o(),accountName:o().nullable(),type:o().nullable(),role:o().nullable()});m({accounts:y(GT),total:d().int().nonnegative()});const $T=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:Ue(o(),Rn()).nullable(),regularHours:Ue(o(),Rn()).nullable(),primaryPhone:o().nullable(),openStatus:o().nullable(),openingDate:o().nullable(),selected:N(),syncedAt:o().nullable(),createdAt:o(),updatedAt:o()});m({locations:y($T),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 KT=m({locationName:o(),date:o(),metric:o(),value:d().int()});m({metrics:y(KT),total:d().int().nonnegative()});const HT=m({locationName:o(),periodStart:o(),periodEnd:o(),keyword:o(),valueCount:d().int().nullable(),valueThreshold:d().int().nullable()});m({keywords:y(HT),total:d().int().nonnegative(),thresholdedPct:d().int().min(0).max(100)});const QT=m({locationName:o(),placeActionLinkName:o(),placeActionType:o(),uri:o().nullable(),isPreferred:N(),providerType:o().nullable()});m({placeActions:y(QT),total:d().int().nonnegative()});const FT=m({locationName:o(),populatedGroupCount:d().int().nonnegative(),syncedAt:o(),attributes:Ue(o(),Rn())});m({lodging:y(FT),total:d().int().nonnegative()});const ZT=m({name:o(),valueType:o(),values:y(He([N(),o()])),unsetValues:y(o()),uris:y(o())}),YT=m({locationName:o(),attributeCount:d().int().nonnegative(),syncedAt:o(),attributes:y(ZT)});m({attributes:y(YT),total:d().int().nonnegative()});const XT=m({locationName:o(),placeId:o(),tier:o(),amenities:y(o()),syncedAt:o(),place:Ue(o(),Rn())});m({places:y(XT),total:d().int().nonnegative()});m({scope:m({locationName:o().nullable(),locationCount:d().int().nonnegative()}),performance:m({totals:Ue(o(),d()),recent7d:Ue(o(),d()),prior7d:Ue(o(),d()),deltaPct:Ue(o(),d().nullable())}),freshness:m({dataThroughDate:o().nullable(),latestStoredDate:o().nullable(),pendingDays:d().int().nonnegative()}),timeseries:y(m({date:o(),pending:N(),metrics:Ue(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 JT={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 WT(e){const n=e.replace(/^BUSINESS_/,"").split("_").filter(Boolean).map(r=>r.toLowerCase());if(n.length===0)return e;const s=n.join(" ");return s.charAt(0).toUpperCase()+s.slice(1)}function jQ(e){return JT[e]??WT(e)}const eR=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],tR=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function AQ(e){return eR.includes(e)?"conversion":tR.includes(e)?"reach":"other"}m({id:o(),domain:o(),siteUrl:o().nullable().optional(),createdAt:o(),updatedAt:o()});const uh=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(uh).default([]),notIndexed:y(uh).default([]),unknown:y(uh).default([]).optional()});m({query:o(),impressions:d(),clicks:d(),ctr:d(),averagePosition:d()});m({date:o(),indexed:d(),notIndexed:d(),unknown:d()});const nR=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(nR).default([])});const ww=m({url:o(),verified:N()});m({sites:y(ww).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(ww).default([])});m({siteUrl:o()});const aR=m({name:o(),alive:N(),lastUsed:o().nullable()});m({connected:N(),endpoint:o(),version:o().optional(),browserVersion:o().optional(),targets:y(aR).default([])});const hr=j(["live","staging"]);m({projectName:o(),url:o(),stagingUrl:o().optional(),username:o(),defaultEnv:hr,createdAt:o(),updatedAt:o()});const Ev=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:hr,live:Ev.nullable(),staging:Ev.nullable(),adminUrl:o().nullable().optional()});const iR=m({id:d(),slug:o(),title:o(),status:o(),modifiedAt:o().nullable().optional(),link:o().nullable().optional()}),Sw=m({title:o().nullable(),description:o().nullable(),noindex:N().nullable(),writable:N().default(!1),writeTargets:y(o()).default([])}),sR=m({type:o(),json:Ue(o(),Rn())}),oR=iR.extend({env:hr,content:o(),seo:Sw,schemaBlocks:y(sR).default([])}),Tv=oR.extend({contentHash:o(),contentSnippet:o()}),jw=m({manualRequired:D(!0),targetUrl:o(),adminUrl:o().nullable().optional(),content:o(),nextSteps:y(o()).default([])}),rR=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:Sw,schemaPresent:N(),issues:y(rR).default([])});const lR=m({slug:o(),status:j(["applied","skipped","manual"]),error:o().optional(),manualAssist:jw.optional()});m({env:hr,strategy:j(["plugin","manual"]),results:y(lR)});const cR=m({slug:o(),status:j(["deployed","stripped","skipped","failed"]),schemasInjected:y(o()).optional(),manualAssist:jw.optional(),error:o().optional()});m({env:hr,results:y(cR)});const uR=m({slug:o(),title:o(),canonrySchemas:y(o()),thirdPartySchemas:y(o()),hasCanonrySchema:N()});m({env:hr,pages:y(uR)});const dR=m({name:o(),status:j(["completed","skipped","failed"]),summary:o().optional(),error:o().optional()});m({projectName:o(),steps:y(dR)});m({slug:o(),live:Tv,staging:Tv,hasDifferences:N(),differences:m({title:N(),slug:N(),content:N(),seoTitle:N(),seoDescription:N(),noindex:N(),schema:N()})});const mR=m({name:o(),displayName:o().optional(),keyUrl:o().optional(),modelHint:o().optional(),model:o().optional(),defaultModel:o().optional(),configured:N(),quota:N_.optional(),vertexConfigured:N().optional()}),pR=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()}),Rv=m({configured:N()});m({providers:y(mR).default([]),providerCatalog:y(pR).default([]),google:Rv,bing:Rv});const ca=j(["queued","running","completed","partial","failed","cancelled"]),It=ca.enum,ef=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=ef.enum;m({kind:ef.optional(),status:ca.optional()});const tf=j(["manual","scheduled","config-apply","backfill","probe"]),ts=tf.enum,fi=j(["cited","not-cited"]),Xu=fi.enum,Ju=j(["visible","not-visible"]);Ju.enum;const Gl=j(["mentioned","not-mentioned"]);Gl.enum;const Aw=j(["new","cited","lost","emerging","not-cited"]);Aw.enum;const hR=j(["new","mentioned","lost","emerging","not-mentioned"]);hR.enum;const fR=j([ts.manual,ts.probe]);m({kind:D(Ne["answer-visibility"]).optional(),trigger:fR.optional(),providers:y(pt).optional(),queries:y(o().min(1)).min(1).optional(),measurementScope:N7.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 gR=m({message:o(),raw:Rn().optional()}),yR=m({message:o().optional(),providers:Ue(o(),gR).optional()}),bR=m({id:o(),projectId:o(),kind:ef,status:ca,trigger:tf.default("manual"),measurementPlanVersionId:o().nullable().optional(),measurementManifest:Ue(o(),Rn()).nullable().optional(),measurementScope:_7.nullable().optional(),measurementExecutionIdentity:xk.nullable().optional(),location:o().nullable().optional(),queries:y(o()).nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),error:yR.nullable().optional(),queryBasketRevision:d().int().nullable().optional(),createdAt:o()});function nf(e){if(e.providers){const n=Object.entries(e.providers);if(n.length===1){const[s,r]=n[0];return`${s}: ${r.message}`}if(n.length>1)return n.map(([s,r])=>`${s}: ${r.message}`).join(" • ")}return e.message??"Run failed."}const Ad=m({uri:o(),title:o()}),vR=m({status:j(["applied","ignored","browser-implicit","unknown"]),resolved:Xt.nullable().optional()}),Cw=m({id:o(),runId:o(),queryId:o(),query:o().optional(),provider:pt,citationState:fi,answerMentioned:N().optional(),visibilityState:Ju.optional(),mentionState:Gl.optional(),transition:Aw.optional(),answerText:o().nullable().optional(),citedDomains:y(o()).default([]),citedUrls:y(o()).nullable().default(null),captureStatus:He([yd,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([U0,ue()]).default(null),retrievalContract:He([G0,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(Ad).default([]),searchQueries:y(o()).default([]),model:o().nullable().optional(),servedModel:o().nullable().optional(),location:o().nullable().optional(),requestedContext:Xt.nullable().optional(),supportedContext:vR.nullable().optional(),createdAt:o()});m({snapshots:y(Cw),total:d().int().nonnegative()});const xR=m({queryId:o().nullable(),query:o().nullable(),run1State:fi.nullable(),run2State:fi.nullable(),run1AnswerMentioned:N().nullable(),run2AnswerMentioned:N().nullable(),run1VisibilityState:Ju.nullable(),run2VisibilityState:Ju.nullable(),run1MentionState:Gl.nullable().optional(),run2MentionState:Gl.nullable().optional(),changed:N(),visibilityChanged:N()});m({run1:o(),run2:o(),diff:y(xR)});const kR=bR.extend({snapshots:y(Cw).optional()}),wR=m({totalRuns:d().int().nonnegative(),run:kR.nullable()});m({id:o(),projectId:o().nullable().optional(),actor:o(),action:o(),entityType:o(),entityId:o().nullable().optional(),diff:Rn().optional(),userAgent:o().nullable().optional(),actorSession:o().nullable().optional(),requestId:o().nullable().optional(),credentialId:o().nullable().optional(),createdAt:o()});const Nw=j(["all","api","browser"]);Nw.enum;const SR=j(["yes","no","unknown","not-mentioned"]),Dv=y(o().min(1)),Ov=m({companyName:o().min(1),domain:o().min(1),queries:Dv.optional(),phrases:Dv.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:Nw.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"]})});Ov.safeExtend({competitors:Ov.shape.competitors.default([])});const jR=m({name:o(),count:d().int().nonnegative()}),AR=m({id:o(),name:o(),weight:d(),score:d(),findings:y(m({type:o(),message:o()})).default([]),recommendations:y(o()).default([])}),CR=m({url:o(),finalUrl:o(),auditedAt:o(),overallScore:d(),summary:o(),factors:y(AR).default([])}),NR=m({industry:o(),summary:o(),services:y(o()).default([]),categoryTerms:y(o()).default([])}),_R=m({provider:o(),displayName:o(),model:o().nullable().optional(),mentioned:N(),cited:N(),describedAccurately:SR,accuracyNotes:o().nullable().optional(),incorrectClaims:y(o()).default([]),recommendedCompetitors:y(o()).default([]),citedDomains:y(o()).default([]),groundingSources:y(Ad).default([]),searchQueries:y(o()).default([]),answerText:o(),error:o().nullable().optional()}),zR=m({query:o(),providerResults:y(_R).default([])}),ER=m({totalQueries:d().int().nonnegative(),totalProviders:d().int().nonnegative(),totalComparisons:d().int().nonnegative(),mentionCount:d().int().nonnegative(),citationCount:d().int().nonnegative(),topCompetitors:y(jR).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:NR,audit:CR,queryResults:y(zR).default([]),summary:ER});const _w=He([ca,ue()]),af=j(["pass","partial","fail"]);af.enum;const zw=j(["up","down","flat"]);zw.enum;const TR=m({id:o(),name:o(),weight:d(),avgScore:d(),status:af,pagesPassing:d().int().nonnegative(),pagesPartial:d().int().nonnegative(),pagesFailing:d().int().nonnegative()}),RR=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:_w,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([zw,ue()]),previousScore:d().nullable(),previousAuditedAt:o().nullable(),factors:y(TR).default([]),crossCuttingIssues:y(RR).default([]),prioritizedFixes:y(o()).default([])});const Ew=m({id:o(),name:o(),weight:d(),score:d()}),DR=m({url:o(),overallScore:d(),status:j(["success","error"]),error:o().nullable().optional(),factors:y(Ew).default([])});m({project:o(),runId:o().nullable(),auditedAt:o().nullable(),total:d().int().nonnegative(),pages:y(DR).default([])});const OR=m({runId:o(),auditedAt:o(),aggregateScore:d(),pagesAudited:d().int().nonnegative()});m({project:o(),points:y(OR).default([])});const qR=j(["disabled","complete","partial","unavailable"]);qR.enum;const PR=m({pagesDiscovered:d().int().nonnegative(),pagesFetched:d().int().nonnegative(),pagesEligible:d().int().nonnegative(),edges:d().int().nonnegative(),findings:d().int().nonnegative()}),BR=Pe("state",[m({state:D("unavailable")}),m({state:D("disabled")}),m({state:D("complete"),checked:d().int().nonnegative(),found:d().int().nonnegative(),unverified:d().int().nonnegative()}),m({state:D("partial"),checked:d().int().nonnegative(),found:d().int().nonnegative(),unverified:d().int().nonnegative()})]);m({project:o(),hasCrawlData:N(),legacyAuditAvailable:N(),runId:o().nullable(),runStatus:_w,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:Ue(o(),Rn()).default({}),complete:N(),termination:o().nullable(),detailsAvailable:N(),counts:PR,deadLinks:BR});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 Cd=j(["eligible","hidden","resource","redirect","failed","unchecked"]),CQ=Cd.enum,NQ=Cd.options,Ko={discovered:"discovered",robotsBlocked:"robots-blocked",html:"html",redirect:"redirect",nonHtml:"non-html",fetchError:"fetch-error"},Nu={indexable:"indexable",noindex:"noindex",blocked:"blocked",unknown:"unknown"},IR={robotsDisallow:"robots-disallow",redirectTerminal:"redirect-terminal",metaRobotsNoindex:"meta-robots-noindex",xRobotsNoindex:"x-robots-noindex",canonicalToOther:"canonical-to-other",notHtmlOrUnavailable:"not-html-or-unavailable"};function MR(e){return e.indexabilityReasons?.some(n=>n===IR.canonicalToOther)===!0||e.nodeKey!==void 0&&e.canonicalNodeKey!==null&&e.canonicalNodeKey!==void 0&&e.canonicalNodeKey!==e.nodeKey}function _Q(e){switch(e.fetchState){case Ko.fetchError:return"failed";case Ko.discovered:return"unchecked";case Ko.nonHtml:return"resource";case Ko.redirect:return"redirect";case Ko.robotsBlocked:return"hidden";case Ko.html:break;default:return"unchecked"}if(MR(e))return"hidden";switch(e.indexabilityState){case Nu.indexable:return"eligible";case Nu.noindex:case Nu.blocked:return"hidden";case Nu.unknown:default:return"unchecked"}}const zQ=15,VR=j(["navigation","content","unknown"]);VR.enum;const LR=m({navigation:d().int().nonnegative(),content:d().int().nonnegative(),unknown:d().int().nonnegative()}),Tw=j(["placement","ubiquity","unmeasured"]);Tw.enum;const Nd=j(["applied","applied-placement","applied-placement-with-ubiquity","applied-placement-partial","unavailable-too-few-pages","unavailable-legacy-scan"]);Nd.enum;function EQ(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 _d=j(["all","content","template"]);_d.enum;const UR=j(["anchor","redirect","canonical","link"]);UR.enum;const $l=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:Cd}),GR=m({type:j(["found","missing","info","timeout","unreachable"]),code:o().min(1),message:o().min(1)}),qv=Ew.extend({status:af,applicable:N().nullable(),findings:y(GR).default([]),recommendations:y(o()).default([])}),Pv=m({id:o().min(1),severity:j(["critical","warning"]),detail:o().min(1),recommendation:o().min(1)}),_u=m({project:o(),runId:o(),complete:N(),termination:o().nullable()}),Bv=m({nodeKey:o(),url:o(),auditState:o()});Pe("state",[m({state:D("no-crawl"),project:o(),runId:ue()}),_u.extend({state:D("details-unavailable")}),_u.extend({state:D("not-found")}),_u.merge(Bv).extend({state:D("not-audited"),auditScore:ue(),factors:y(qv).length(0).default([]),criticalDefects:y(Pv).length(0).default([])}),_u.merge(Bv).extend({state:D("ready"),auditScore:d(),evidenceState:j(["complete","scores-only"]),factors:y(qv).default([]),criticalDefects:y(Pv).default([])})]);const $R=j(["applied","unavailable-legacy-scan"]);m({project:o(),hasCrawlData:N(),runId:o().nullable(),total:d().int().nonnegative(),nextCursor:o().nullable(),healthStateFilter:He([$R,ue()]).default(null),pages:y($l).default([])});const KR=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(KR).default([])});const Ys=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:Tw,placementOccurrences:He([LR,ue()])}),HR=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:Cd,x:d(),y:d()}),QR=m({edgeKey:o(),sourceNodeKey:o(),targetNodeKey:o(),followable:N(),occurrences:d().int().positive(),isTemplate:N()}),FR=j(["no-crawl","legacy-snapshot","details-unavailable","layout-failed","empty-crawl"]),ZR=Pe("state",[m({state:D("ready"),version:o().min(1),computedAt:o().min(1),templateLinksExcluded:N()}),m({state:D("unavailable"),version:ue(),reason:FR})]);m({project:o(),hasCrawlData:N(),runId:o().nullable(),rootNodeKey:o().nullable(),layout:ZR,templateDetection:Nd,linkKind:_d,totalNodes:d().int().nonnegative(),totalEdges:d().int().nonnegative(),totalTemplateEdges:d().int().nonnegative(),totalContentEdges:d().int().nonnegative(),nodes:y(HR).default([]),edges:y(QR).default([]),omittedNodes:d().int().nonnegative(),omittedEdges:d().int().nonnegative(),sampled:N()});const TQ=2e4,RQ=5e4,YR=j(["focus","inbound","outbound","both","transitive"]),XR=$l.extend({distance:d().int().nonnegative(),relationToFocus:YR});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(XR).default([]),edges:y(Ys).default([]),omittedNodes:d().int().nonnegative(),omittedEdges:d().int().nonnegative(),countAccuracy:j(["exact","lower-bound"]),truncated:N()});const Iv=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:Iv.nullable(),to:Iv.nullable(),maxDepth:d().int().positive(),visitedNodes:d().int().nonnegative(),nodes:y($l).default([]),edges:y(Ys).default([])});const Rw=j(["added","removed","changed"]),JR=m({entity:D("page"),change:Rw,key:o(),changedFields:y(o()).default([]),before:$l.nullable(),after:$l.nullable()}),WR=m({entity:D("link"),change:Rw,key:o(),changedFields:y(o()).default([]),before:Ys.nullable(),after:Ys.nullable()}),e9=Pe("entity",[JR,WR]),Mv=m({added:d().int().nonnegative(),removed:d().int().nonnegative(),changed:d().int().nonnegative()}),t9=m({scope:j(["all","pages","links"]),change:j(["all","added","removed","changed"])});Pe("state",[m({project:o(),state:D("unavailable"),reason:j(["no-crawl","insufficient-history","details-unavailable","partial-not-comparable"]),fromRunId:o().nullable(),toRunId:o().nullable()}),m({project:o(),state:D("incompatible"),reason:D("incompatible-versions"),fromRunId:o(),toRunId:o(),mismatchedVersions:y(o()).min(1)}),m({project:o(),state:D("ready"),fromRunId:o(),toRunId:o(),versions:m({crawlSchema:o(),normalization:o(),indexability:o(),linkScore:o()}),filters:t9,summaryState:j(["exact","omitted-on-continuation"]),summary:m({pages:Mv,links:Mv}).nullable(),total:d().int().nonnegative().nullable(),nextCursor:o().nullable(),changes:y(e9).default([])})]);m({project:o(),hasCrawlData:N(),runId:o().nullable(),total:d().int().nonnegative(),nextCursor:o().nullable(),templateDetection:Nd,linkKind:_d,edges:y(Ys).default([])});m({project:o(),hasCrawlData:N(),runId:o().nullable(),nodeKey:o().nullable(),url:o().nullable(),templateDetection:Nd,linkKind:_d,inbound:y(Ys).default([]),outbound:y(Ys).default([]),inboundTruncated:N(),outboundTruncated:N()});const Vv=m({findingKey:o(),severity:o(),sourceNodeKey:o().nullable(),sourceUrl:o().nullable(),targetNodeKey:o().nullable(),targetUrl:o().nullable(),evidence:Ue(o(),Rn()).default({})});Pe("state",[m({project:o(),runId:o().nullable(),state:D("unavailable"),legacyAuditAvailable:N()}),m({project:o(),runId:o(),state:D("disabled"),checkDeadLinks:D(!1)}),m({project:o(),runId:o(),state:D("complete"),checkDeadLinks:D(!0),checked:d().int().nonnegative(),found:d().int().nonnegative(),unverified:d().int().nonnegative(),total:d().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y(Vv).default([])}),m({project:o(),runId:o(),state:D("partial"),checkDeadLinks:D(!0),checked:d().int().nonnegative(),found:d().int().nonnegative(),unverified:d().int().nonnegative(),total:d().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y(Vv).default([])})]);const DQ=1e3,OQ=10,Dw=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:ca});const n9=m({runId:o(),status:ca,createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable(),hasCrawlData:N()});m({project:o(),scans:y(n9).default([])});const a9=j(["queued","discovering","checking","arranging-map","completed","partial","failed","cancelled"]),i9=m({state:j(["pending","ready","unavailable"]),layoutVersion:o().nullable(),failureCode:o().nullable(),updatedAt:o().nullable()}),s9=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:ca,phase:a9,attempt:s9.nullable(),layout:i9,error:o().nullable()});const o9=j(["waiting","collecting","terminal"]),r9=m({nodeKey:o(),url:o(),auditScore:d(),checksNeedingAttention:d().int().nonnegative()});m({project:o(),runId:o(),status:ca,state:o9,attemptId:o().nullable(),pagesAudited:d().int().nonnegative(),updatedAt:o().nullable(),examples:y(r9).max(12).default([])});const l9=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()}),sf=l9.partial().shape;function qQ(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 c9(e,n){const s=n?.availability==="unavailable"?"Unavailable":n?.availability==="not-measured"||e===null?"Not measured":`${e.toFixed(1)}%`;return n?.basis?`${s} · ${n.basis} competitors`:s}function PQ(e,n,s){return`Share of voice · ${n} queries: ${c9(e,s)}${s?.measurementScope==="all-markets"?" · all markets":""}`}const of=j(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]);of.enum;const rf=j(["cited","aspirational","wasted-surface"]),Lv=rf.enum;Lv.cited,Lv.aspirational;const zd=j(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),u9=zd.enum;u9["direct-competitor"];const Ed=j(["queued","seeding","probing","completed","failed"]);Ed.enum;const Ow=m({domain:o().min(1),hits:d().int().positive(),competitorType:zd.default("unknown")}),d9=m({id:o(),sessionId:o(),projectId:o(),query:o(),bucket:rf.nullable().default(null),citationState:fi,citedDomains:y(o()).default([]),answerMentioned:N().nullable().default(null),createdAt:o()}),m9=m({id:o(),projectId:o(),status:Ed,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:Ue(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(Ow).default([]),warning:o().nullable().optional(),error:o().nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),createdAt:o()});m9.extend({probes:y(d9).default([])});const p9=500,h9=8,f9=["gemini","openai"],g9=j(f9);m({icpDescription:o().min(1).optional(),buyerDescription:o().min(1).optional(),seedProviders:y(g9).min(1).transform(e=>[...new Set(e)].sort()).optional(),dedupThreshold:d().min(0).max(1).optional(),maxProbes:d().int().positive().max(p9).optional(),probeConcurrency:d().int().min(1).max(h9).optional(),locations:y(o().min(1)).optional()});m({buckets:y(rf).min(1).optional(),includeCompetitors:N().optional(),competitorTypes:y(zd).min(1).optional()});m({sessionId:o(),projectId:o(),status:Ed,queriesByBucket:m({cited:y(o()),aspirational:y(o()),"wasted-surface":y(o())}),suggestedCompetitors:y(Ow)});m({sessionId:o(),projectId:o(),promoted:m({queries:y(o()),competitors:y(o())}),skipped:m({queries:y(o()),competitors:y(o())})});He([D("cli"),o().regex(/^discovery:.+$/)]);const y9=m({query:o().min(1),probeHits:d().int().positive()}),b9=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:Ed,minProbeHits:d().int().positive(),anchorApplied:N(),semanticNoveltyApplied:N(),candidates:y(y9),stats:b9});const lf=j(["own","direct-competitor","ota-aggregator","editorial-media","other"]);lf.enum;const Td=j(["7d","30d","90d","all"]),Uv=j(["improving","declining","stable"]),v9=j(["mentioned","cited"]);v9.enum;const Gh=m({citationRate:d(),cited:d().int(),total:d().int(),mentionRate:d(),mentionedCount:d().int()}),fr=o().trim().min(1),x9=y(fr).min(1).superRefine((e,n)=>{for(let s=1;s<e.length;s+=1)e[s-1]>=e[s]&&n.addIssue({code:"custom",message:"mixed model IDs must be sorted and unique",path:[s]})}),Xs=Pe("status",[m({status:D("known"),model:fr}),m({status:D("unknown")}),m({status:D("mixed"),models:x9,includesUnknown:N()})]),k9=m({observedAt:o(),bucketStartDate:o(),from:Xs,to:Xs,fromPreWindowAnchor:N().optional(),anchorObservedAt:o().optional()}),qw=m({latestObservation:m({observedAt:o(),state:Xs}),events:y(k9),eventTotal:d().int().nonnegative().optional(),anchorUnavailable:N().optional()}),w9=Ue(o(),qw),S9=qw.extend({latestServedModelIds:y(fr).default([])}),j9=Ue(o(),S9),A9=m({observedAt:o(),configured:Xs,served:Xs}),C9=m({scope:j(["non-brand","pooled"]),rate:d().nullable(),projectMentionSnapshots:d().int().nonnegative(),competitorMentionSnapshots:d().int().nonnegative()}),N9=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:C9,byProvider:Ue(o(),Gh),modelEvidenceByProvider:Ue(o(),Xs).default({}),basketRevision:d().int().nullable().default(null)}),_9=m({revision:d().int(),at:o(),added:y(o()),removed:y(o())}),z9=m({date:o(),delta:d().int(),label:o()}),E9=m({at:o(),identity:xk});m({window:Td,mentionShareScope:j(["non-brand","pooled"]),buckets:y(N9),overall:Gh,byProvider:Ue(o(),Gh),trend:Uv,mentionTrend:Uv,queryChanges:y(z9),basketChanges:y(_9).default([]),executionIdentityChanges:y(E9).default([]),referenceBasketRevision:d().int().nullable().default(null),modelAttribution:w9.default({}),servedModelAttribution:j9.default({}),modelServiceMismatch:Ue(o(),A9).default({}),modelPointerChanges:Ue(o(),kE).default({})});const Gv=m({category:of,label:o(),count:d().int(),percentage:d(),topDomains:y(m({domain:o(),count:d().int()}))}),T9=m({domain:o(),count:d().int(),percentage:d(),category:of,label:o(),surfaceClass:lf}),R9=m({surfaceClass:lf,label:o(),count:d().int(),percentage:d(),domainCount:d().int()}),$v=m({totalCitedSlots:d().int(),domainTotal:d().int(),entries:y(T9),truncatedDomainCount:d().int(),truncatedCitedSlots:d().int(),bySurfaceClass:y(R9)});m({overall:y(Gv),byQuery:Ue(o(),y(Gv)),ranked:$v,byProvider:Ue(o(),$v),runId:o(),window:Td,limit:d().int().nullable()});const D9=j(["own","direct-competitor","ota-aggregator","editorial-media","other","unknown"]),O9=Pe("kind",[m({kind:D("project")}).strict(),m({kind:D("group"),groupKey:o().trim().min(1)}).strict(),m({kind:D("all-markets")}).strict()]),Pw=j(["all","branded","non-brand"]),Bw=j(["project","all-markets"]);m({window:Td.optional(),groupKey:o().trim().min(1).optional(),scope:Bw.optional(),provider:o().trim().min(1).optional(),model:fr.optional(),groupBy:D("model").optional(),queryClass:Pw.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 Wi=m({domain:o().trim().min(1),label:o().trim().min(1),surfaceClass:D9,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(),Iw=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(),q9=50,P9=m({...sf,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:fr.nullable(),servedModels:Xs,snapshotCount:d().int().positive(),project:Wi,pinned:y(Wi),observed:y(Wi),otherSources:y(Wi),evidence:Iw,truncated:N()}).strict(),B9=m({basis:D("requested-model"),groups:y(P9).max(q9),totalGroups:d().int().nonnegative(),truncated:N()}).strict();m({...sf,comparison:y(m({domain:o(),mentions:d().int().nonnegative()})).optional(),observedNames:y(m({name:o(),answerCount:d().int().nonnegative()})).optional(),window:Td,scope:O9,project:Wi,pinned:y(Wi),observed:y(Wi),otherSources:y(Wi),evidence:Iw,modelComparison:B9.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:Bw,groupKey:o().nullable(),provider:o().nullable(),model:fr.optional(),groupBy:D("model").optional(),queryClass:Pw,location:o().nullable(),runId:o().nullable()}).strict(),truncated:N()}).strict();const cf=m({total:d().int(),checked:d().int(),mentioned:d().int(),cited:d().int(),mentionRate:d().nullable(),citedRate:d().nullable()}),Mw=cf.extend({provider:o(),firstObserved:o(),lastObserved:o()}),I9=cf.extend({queryId:o().nullable(),query:o(),firstObserved:o(),lastObserved:o(),providers:y(Mw).optional()}),M9=m({since:o().nullable(),until:o().nullable(),lastRuns:d().int().nullable(),runCount:d().int()}),V9=j(["provider"]),$h=m({domain:o(),mentions:d().int()}),Vw=m({...sf,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($h)});m({project:o(),groupBy:V9.optional(),window:M9,totals:cf,byProvider:y(Mw).optional(),queries:y(I9),shareOfVoice:Vw.optional()});const L9=j(["within-noise","moved","insufficient-data","model-discontinuous","model-unknown"]),U9=j(["up","down","flat"]),Kv=m({availability:j(["available","no-observations","no-competitive-frame"]),point:d().nullable(),ciLow:d().nullable(),ciHigh:d().nullable(),numerator:d().int(),denominator:d().int()}),G9=j(["mention-share-of-voice","cited-share-of-voice","mention-rate","cited-rate"]),$9=m({key:G9,label:o(),queryClass:j(["all","non-brand","pooled"]),driftRobust:N(),from:Kv,to:Kv,rateRatio:d().nullable(),direction:He([U9,ue()]),verdict:L9}),Hv=m({month:o(),since:o(),until:o(),runCount:d().int(),lowRunCount:N()}),K9=m({queryCount:d().int(),excludedFromOnly:d().int(),excludedToOnly:d().int(),providers:y(o()),excludedProviders:y(o())}),H9=m({provider:o(),fromModels:y(o()),toModels:y(o())}),Q9=j(["included","model-discontinuous","model-unknown"]),F9=m({provider:o(),status:Q9,fromModels:y(o()),toModels:y(o())}),Z9=j(["comparable","model-discontinuous","model-unknown","insufficient-data"]),Y9=m({status:Z9,comparedProviders:y(o()),providers:y(F9)}),X9=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()})}),J9=m({from:m({count:d().int(),of:d().int()}),to:m({count:d().int(),of:d().int()})});m({project:o(),from:Hv,to:Hv,basket:K9,metrics:y($9),queriesMentioned:J9,byProvider:y(X9),modelChanges:y(H9),continuity:Y9,competitors:m({from:y($h),to:y($h)})});j(["json","csv"]);const W9=m({runId:o(),runKind:D("answer-visibility"),runStatus:ca,runTrigger:tf,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:fi,cited:N(),answerMentioned:N().nullable(),mentionState:He([Gl,ue()]),citedDomains:y(o()),citedUrls:y(o()).nullable(),captureStatus:He([yd,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(Ad),searchQueries:y(o())}),eD=m({since:o().nullable(),until:o().nullable(),includeProbes:N()});m({schemaVersion:D("canonry.results-export/v1"),generatedAt:o(),project:m({id:o(),name:o(),displayName:o(),canonicalDomain:o(),country:o(),language:o()}),filters:eD,recordCount:d().int().nonnegative(),records:y(W9)});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 Rd=j(["organic","paid"]);Rd.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 uf=j(["session","first_user","manual_utm"]),tD=m({source:o(),medium:o(),trafficClass:Rd,sessions:d(),users:d().optional(),sourceDimension:uf}),nD=m({source:o(),medium:o(),trafficClass:Rd,sourceDimension:uf,landingPage:o(),sessions:d(),users:d().optional()}),aD=m({source:o(),medium:o(),sessions:d(),users:d(),channelGroup:o()}),_l=m({sessions:d(),sharePct:d(),sharePctDisplay:o()}),iD=m({organic:_l,social:_l,direct:_l,ai:_l,other:_l});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(tD),aiReferralLandingPages:y(nD),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(aD),socialSessions:d(),socialUsers:d().optional(),channelBreakdown:iD,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 sD=m({propertyId:o(),displayName:o(),accountName:o()});m({properties:y(sD)});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:Rd,landingPage:o(),sessions:d(),users:d(),sourceDimension:uf});const oD=m({source:o(),sessions:d(),paidSessions:d(),organicSessions:d()}),rD=m({date:o(),sessions:d(),paidSessions:d(),organicSessions:d(),bySource:y(oD)});m({days:y(rD),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:Ue(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:D("no-runs-yet").optional()});const Lw=j(["claude","openai","gemini","zai","deepinfra"]),lD=m({id:Lw,label:o(),defaultModel:o(),configured:N(),keySource:j(["config","env"]).nullable()});m({providers:y(lD).default([]),defaultProvider:Lw.nullable()});const cD=j(["aero","user","compaction"]);cD.enum;const Uw=128;m({key:o().min(1).max(Uw),value:o().min(1)});m({key:o().min(1).max(Uw)});const gr=j(["commoncrawl","bing-webmaster"]);gr.enum;const df=j(["queued","downloading","querying","ready","failed"]);df.enum;m({id:o(),release:o(),status:df,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 uD=m({linkingDomain:o(),numHosts:d().int(),source:gr}),dD=m({projectId:o(),release:o(),targetDomain:o(),totalLinkingDomains:d().int(),totalHosts:d().int(),top10HostsShare:o(),queriedAt:o(),source:gr,excludedLinkingDomains:d().int().optional(),excludedHosts:d().int().optional()});m({source:gr,summary:dD.nullable(),total:d().int(),rows:y(uD)});m({release:o(),totalLinkingDomains:d().int(),totalHosts:d().int(),top10HostsShare:o(),queriedAt:o(),source:gr});const mD=m({source:gr,connected:N(),hasData:N(),latestRelease:o().nullable(),totalLinkingDomains:d().int(),lastSyncedAt:o().nullable()});m({projectId:o(),targetDomain:o(),sources:y(mD),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:df.nullable(),bytes:d().int(),lastUsedAt:o().nullable()});const mf=j(["positive","caution","negative","neutral"]),Ji=m({label:o(),value:o(),delta:o(),tone:mf,description:o(),tooltip:o().optional(),trend:y(d()),progress:d().optional(),providerCoverage:o().optional()}),Qv=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()}),pD=Ji.extend({breakdown:Qv,scope:j(["non-brand","pooled"]),branded:Qv}),dh=m({gained:d().int().nonnegative(),lost:d().int().nonnegative(),tone:mf,hasPreviousRun:N(),gainedQueries:y(o()).optional(),lostQueries:y(o()).optional()}),hD=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())}),fD=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()}),gD=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:Ue(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:D("no-runs-yet").optional()});m({project:D8,latestRun:wR,health:gD.nullable(),topInsights:y(fD),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:Ji,visibility:Ji,mentionShare:pD,gapQueries:Ji,mentionGaps:Ji,indexCoverage:Ji,competitorPressure:Ji,runStatus:Ji}),movementSummary:dh,citationMovement:dh,mentionMovement:dh,movementComparison:hD,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:mf,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 yD=m({kind:D("snapshot"),id:o(),runId:o(),query:o(),provider:o(),model:o().nullable(),citationState:fi,matchedField:j(["answerText","citedDomains","citedUrls","searchQueries","query"]),snippet:o(),createdAt:o()}),bD=m({kind:D("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()}),vD=Pe("kind",[yD,bD]);m({query:o(),totalHits:d().int().nonnegative(),truncated:N(),hits:y(vD)});const Gw=j(["create","expand","refresh","add-schema"]);Gw.enum;function BQ(e){switch(e){case"create":return"Create";case"expand":return"Expand";case"refresh":return"Refresh";case"add-schema":return"Add schema"}}const $w=j(["gsc","competitor-evidence","both"]);$w.enum;const Kw=j(["high","medium","low"]);Kw.enum;const xD=j(["blog-post","comparison","listicle","how-to","guide","glossary"]);xD.enum;const Hw=j(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);Hw.enum;const pf=j(["ownable","ceded"]);pf.enum;const kD=m({url:o(),gscImpressions:d().nonnegative(),gscClicks:d().nonnegative(),gscAvgPosition:d().nonnegative().nullable(),organicSessions:d().nonnegative()}),wD=m({domain:o(),url:o(),title:o(),citationCount:d().int().nonnegative()}),SD=m({demand:d(),competitor:d(),absence:d(),gapSeverity:d()}),jD=m({actionId:o(),state:Hw,lastUpdated:o()}),Qw=m({targetRef:o(),query:o(),action:Gw,ourBestPage:kD.nullable(),winningCompetitor:wD.nullable(),score:d(),scoreBreakdown:SD,drivers:y(o()),demandSource:$w,actionConfidence:Kw,existingAction:jD.nullable(),winnabilityClass:pf,winnability:d().min(0).max(1).nullable()});m({targets:y(Qw),contextMetrics:m({totalAiReferralSessions:d().int().nonnegative(),latestRunId:o(),runTimestamp:o()})});const AD=m({targetRef:o(),addressedUrl:o().nullable(),note:o().nullable(),dismissedAt:o()});m({dismissals:y(AD)});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 CD=m({targetQuery:o().trim().min(1),winnabilityClass:pf,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:CD,costMillicents:d().int().nonnegative(),generatedAt:o()});const ND=m({domain:o(),competitorType:zd,hits:d().int().nonnegative(),updatedAt:o()});m({classifications:y(ND)});const _D=m({uri:o(),title:o(),domain:o(),isOurDomain:N(),isCompetitor:N(),citationCount:d().int().nonnegative(),providers:y(pt)}),Fw=m({query:o(),groundingSources:y(_D)});m({sources:y(Fw),latestRunId:o()});const Zw=m({query:o(),competitorDomains:y(o()),competitorCount:d().int().nonnegative(),missRate:d().min(0).max(1),lastSeenInRunId:o()});m({gaps:y(Zw),latestRunId:o()});const Yw=j(["ok","warn","fail","skipped"]);Yw.enum;const hf=j(["global","project"]);hf.enum;const Xw=j(["auth","config","providers","integrations","database","schedules","agent"]);Xw.enum;const zD=m({id:o(),category:Xw,scope:hf,title:o(),status:Yw,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:Ue(o(),Rn()).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:hf,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(zD)});function ED(e){return e.trim().toLowerCase()}const TD=m({provider:o(),citationState:fi,cited:N(),mentioned:N(),runId:o(),runCreatedAt:o()}),RD=m({queryId:o(),query:o(),providers:y(TD),citedCount:d().int().nonnegative(),mentionedCount:d().int().nonnegative(),totalProviders:d().int().nonnegative()}),DD=m({queryId:o(),query:o(),provider:o(),citingCompetitors:y(o()),runId:o(),runCreatedAt:o()}),OD=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:OD,byQuery:y(RD),competitorGaps:y(DD),status:j(["ready","no-data"]),reason:j(["no-runs-yet","no-queries"]).optional()});const qD=m({selection:Ok,historyWindow:m({from:o().datetime(),to:o().datetime()}).optional(),populations:y(Dk.pick({queryClass:!0,summary:!0,trend:!0}))}),cn={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 IQ(e){return{branded:"Branded","non-brand":"Non-brand",unknown:"Unclassified"}[e]}function MQ(e){return e.rate===null?cn.notMeasured:`${Number((e.rate*100).toFixed(1))}%`}function VQ(e){if(e.numerator!==null&&e.denominator!==null)return`${e.numerator} of ${e.denominator} answers`;switch(e.reason){case"no-population":return cn.noPopulation;case"not-applicable":return cn.notApplicable;case"identity-ambiguous":return cn.ambiguous;default:return cn.incomplete}}function LQ(e,n=!1){const s=e==="first"?cn.baseline:e==="comparable"?cn.comparable:e==="legacy-unknown"?cn.unknownHistory:cn.changed;return n?`${s} · ${cn.previousOutsideWindow}`:s}function UQ(e){const n=e.selection.measurement.completedAt?.slice(0,10)??cn.notMeasured;return`${cn.latestMeasurement}: ${n}`}function GQ(e){const n=e.historyWindow;return n===void 0?cn.history:`${cn.history} (${n.from.slice(0,10)} – ${n.to.slice(0,10)})`}function $Q(e){const n=e.selection.location;return n.kind==="all"?cn.allLocations:n.kind==="none"?cn.noLocation:`${cn.location}: ${n.value}`}const KQ=[7,14,30,90],HQ=30;He([D(7),D(14),D(30),D(90)]).describe("Report window in days (7, 14, 30, or 90). Defaults to 30 when omitted.");const PD=j(["prompt","request-param","browser-geo","ignored"]),BD=m({label:o(),city:o(),region:o(),country:o(),otherConfiguredLabels:y(o())}),ID=m({provider:o(),treatment:PD,description:o()}),MD=m({generatedAt:o(),project:m({id:o(),name:o(),displayName:o(),canonicalDomain:o(),country:o(),language:o()}),location:BD.nullable(),providerLocationHandling:y(ID),periodStart:o().nullable(),periodEnd:o().nullable(),periodDays:d().int().positive()}),VD=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"])}))}),LD=m({citationState:j(["cited","not-cited","pending"]),answerMentioned:N().nullable(),model:o().nullable()}),UD=m({queries:y(o()),providers:y(o()),matrix:y(y(LD.nullable())),providerRates:y(m({provider:o(),citedCount:d(),mentionedCount:d(),totalCount:d(),citationRate:d(),mentionRate:d()}))}),GD=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())}))}),$D=m({projectCitationCount:d(),competitors:y(GD)}),KD=m({domain:o(),mentionCount:d(),totalCount:d(),pressureLabel:j(["High","Moderate","Low","None"]),mentionedQueries:y(o()),sharePct:d().nullable()}),mh=m({shareOfVoice:Vw.optional(),projectMentionCount:d(),totalAnswerSnapshots:d(),competitors:y(KD)}),HD=mh.extend({scope:j(["non-brand","pooled"]),nonBrand:mh,branded:mh}),QD=m({category:o(),label:o(),count:d(),sharePct:d()}),FD=m({categories:y(QD),topDomains:y(m({domain:o(),count:d(),isCompetitor:N()}))}),ZD=m({query:o(),clicks:d(),impressions:d(),ctr:d(),avgPosition:d(),category:j(["brand","lead-gen","industry","other"])}),YD=m({periodStart:o(),periodEnd:o(),totalClicks:d(),totalImpressions:d(),ctr:d(),avgPosition:d(),topQueries:y(ZD),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())}),XD=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()}))}),JD=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()}))}),WD=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()}))}),eO=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()}))}),tO=m({provider:j(["google","bing"]).nullable(),total:d(),indexed:d(),notIndexed:d(),deindexed:d(),unknown:d(),indexedPct:d()}),nO=m({runId:o(),date:o(),citationRate:d(),citedQueryCount:d(),totalQueryCount:d(),mentionRate:d(),mentionedQueryCount:d(),providerRates:y(m({provider:o(),citationRate:d(),mentionRate:d()}))}),Kh=m({id:o(),type:j(["regression","gain","opportunity"]),severity:j(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),recommendation:o().nullable(),createdAt:o(),instanceCount:d()}),aO=m({horizon:j(["immediate","short-term","medium-term"]),title:o(),rationale:o()}),Ho=m({current:d(),prior:d(),deltaAbs:d(),deltaPct:d().nullable(),direction:j(["up","down","flat"]),window:d().optional()}),iO=m({provider:o(),current:d(),prior:d(),deltaAbs:d(),direction:j(["up","down","flat"])}),sO=m({enoughHistory:N(),headline:o(),citationRate:Ho.nullable(),mentionRate:Ho.nullable(),citedQueryCount:Ho.nullable(),mentionedQueryCount:Ho.nullable(),gscClicksDelta:Ho.nullable(),aiReferralsDelta:Ho.nullable(),comparisonWindowDays:d().int().positive(),providerMovements:y(iO),wins:y(Kh),regressions:y(Kh)});j(["agency","client"]);const oO=j(["agency","client","both"]),rO=j(["immediate","short-term","medium-term"]),lO=j(["high","medium","low"]);j(["positive","caution","negative","neutral"]);const cO=j(["content","competitors","provider","search-demand","indexing","location","monitoring"]),ff=m({audience:oO,priority:d(),horizon:rO,category:cO,title:o(),action:o(),why:y(o()),evidence:y(o()),successMetric:o(),confidence:lO,targetRef:o().optional()}),uO=m({headline:o(),overview:o(),actionItems:y(ff),confidenceNotes:y(o())}),dO=m({title:o(),detail:o(),severity:j(["positive","caution","negative","neutral"]),evidence:y(o())}),mO=m({priorities:y(ff),diagnostics:y(dO)});function QQ(e){return e.horizon==="immediate"?"negative":e.confidence==="high"?"caution":e.confidence==="low"?"neutral":"caution"}function FQ(e){switch(e){case"critical":return"Critical";case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}function ZQ(e){switch(e){case"immediate":return"Immediate";case"short-term":return"Short term";case"medium-term":return"Medium term"}}function YQ(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 XQ(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}m({visibility:qD.optional(),meta:MD,executiveSummary:VD,citationScorecard:UD,competitorLandscape:$D,mentionLandscape:HD,aiSourceOrigin:FD,gsc:YD.nullable(),ga:XD.nullable(),socialReferrals:JD.nullable(),aiReferrals:WD.nullable(),serverActivity:eO.nullable(),indexingHealth:tO.nullable(),citationsTrend:y(nO),whatsChanged:sO,insights:y(Kh),recommendedNextSteps:y(aO),actionPlan:y(ff),clientSummary:uO,agencyDiagnostics:mO,contentOpportunities:y(Qw),contentGaps:y(Zw),groundingSources:y(Fw)});const pO=He([D(60),D(90)]),hO=j(["earliest","middle","prior","latest"]),Qo=m({clicks:d().int().nonnegative(),impressions:d().int().nonnegative()}),Jw=m({name:hO,startDate:o(),endDate:o()}),fO=Jw.extend({totals:Qo}),gO=Jw.extend({organicSessions:d().int().nonnegative()}),ph=m({startDate:o(),endDate:o(),observedDays:d().int().nonnegative()}),zu=m({verified:d().int().nonnegative(),claimedUnverified:d().int().nonnegative(),unknownAiLike:d().int().nonnegative()}),Fv=m({total:d().int().nonnegative(),paid:d().int().nonnegative(),organic:d().int().nonnegative(),unknown:d().int().nonnegative()});m({contractVersion:D("organic-evidence/v1"),periodDays:pO,asOfDate:o().nullable(),coverage:m({gsc:N(),ga4:N(),server:N(),visibility:N()}),sourceCoverage:m({gsc:ph.nullable(),ga4:ph.nullable(),server:ph.nullable(),visibility:m({completedAt:o(),ageDays:d().nonnegative()}).nullable()}),gsc:m({propertyTotals:Qo,namedBrand:Qo,namedNonBrand:Qo,suppressedOrUnreportedResidual:Qo,cohorts:y(fO)}).nullable(),ga4:m({organicSessions:d().int().nonnegative(),cohorts:y(gO)}).nullable(),gaAiReferrals:m({paidSessions:d().int().nonnegative(),organicSessions:d().int().nonnegative()}).nullable(),server:m({crawlerHits:zu,userFetchHits:zu,referralSessions:Fv}).nullable(),visibility:m({runId:o(),completedAt:o(),ageDays:d().nonnegative(),answerPairs:d().int().nonnegative(),mentionedPairs:d().int().nonnegative(),citedPairs:d().int().nonnegative()}).nullable(),measurement:V_,pages:y(m({path:o(),gsc:Qo,ga4OrganicSessions:d().int().nonnegative(),server:m({crawlerHits:zu,userFetchHits:zu,referralSessions:Fv})})),findings:y(m({tone:j(["positive","caution","neutral"]),title:o(),detail:o()})),limitations:y(m({code:o(),detail:o()}))});const yO=j(["claude","codex"]);yO.enum;const bO=j(["claude","codex","all"]);bO.enum;const Ww=m({content:d().int().nonnegative(),sitemap:d().int().nonnegative(),robots:d().int().nonnegative(),asset:d().int().nonnegative(),other:d().int().nonnegative()}),vO=j(["content","sitemap","robots","asset","other"]),gf=j(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);gf.enum;const xO=j(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);xO.enum;const kO=j(["raw-request","aggregate-bucket"]),wO=kO.enum,SO=j(["observed","provider-aggregated","inferred"]),jO=SO.enum,AO=m({type:o().nullable(),labels:Ue(o(),o())}),CO=m({sourceType:gf,evidenceKind:D(wO["raw-request"]),confidence:D(jO.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:AO,providerLabels:Ue(o(),o())});m({events:y(CO),rawEntryCount:d().int().nonnegative(),skippedEntryCount:d().int().nonnegative(),nextPageToken:o().optional(),filter:o()});const eS=j(["connected","paused","error","archived"]),JQ=eS.enum,tS=j(["oauth","service-account"]);tS.enum;const NO=j(["verified","claimed_unverified","unknown_ai_like"]),WQ=NO.enum,_O=m({id:o().min(1),source:o().min(1),version:o().min(1)}),nS=m({manifestId:o().min(1),manifest:_O.nullable(),hits:d().int().nonnegative()});m({gcpProjectId:o().min(1),serviceName:o().nullable().optional(),location:o().nullable().optional(),authMode:tS});m({baseUrl:o().url(),username:o().min(1)});const yf=j(["production","preview"]);yf.enum;m({projectId:o().min(1),teamId:o().min(1),environment:yf});const aS=m({id:o(),projectId:o(),sourceType:gf,displayName:o(),status:eS,lastSyncedAt:o().nullable(),lastCursor:o().nullable(),lastError:o().nullable(),skippedThroughAt:o().nullable(),queueBacklogCount:d().int().nonnegative().nullable(),queueBacklogObservedAt:o().nullable(),archivedAt:o().nullable(),config:Ue(o(),Rn()),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:yf.optional(),displayName:o().min(1).optional()});const zO=j(["direct-push","queue-pull"]),yr=zO.enum,bf=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"),iS=m({schemaVersion:D(1),workerVersion:o().min(1),expectedBotListVersion:o().min(1),zoneId:o().nullable()}),EO=iS.extend({deliveryMode:D(yr["direct-push"]),accountId:o().nullable()}),TO=iS.extend({deliveryMode:D(yr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:bf,retentionSeconds:d().int().min(60).max(1209600)});function sS(e){if(typeof e!="object"||e===null||Array.isArray(e))return e;const n=e;return"deliveryMode"in n?e:{...n,deliveryMode:"direct-push"}}x0(sS,Pe("deliveryMode",[EO,TO]));const oS=m({displayName:o().min(1).optional(),zoneId:o().min(1).optional()}),RO=oS.extend({deliveryMode:D(yr["direct-push"]),accountId:o().min(1).optional()}),DO=oS.extend({deliveryMode:D(yr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:bf,retentionSeconds:d().int().min(60).max(1209600),apiToken:o().min(1)});x0(sS,Pe("deliveryMode",[RO,DO]));const rS=m({sourceId:o().min(1),workerScript:o().min(1),wranglerToml:o().min(1),workerVersion:o().min(1),instructions:o().min(1)}),OO=rS.extend({deliveryMode:D(yr["direct-push"]),activationRequired:N().default(!1)}),qO=rS.extend({deliveryMode:D(yr["queue-pull"]),activationRequired:N().default(!1),accountId:o().min(1),queueId:o().min(1),queueName:bf,retentionSeconds:d().int().min(60).max(1209600)});Pe("deliveryMode",[OO,qO]);const PO=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:D(1),workerVersion:o().min(1),events:y(PO).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:D(!0)});m({sourceId:o(),runId:o(),status:ca,windowStart:o(),windowEnd:o(),daysRequested:d().int().positive(),daysApplied:d().int().positive()});const BO=m({crawlerHits:d().int().nonnegative(),crawlerContentHits:d().int().nonnegative(),crawlerInfraHits:d().int().nonnegative(),crawlerSegments:Ww,aiUserFetchHits:d().int().nonnegative(),aiReferralHits:d().int().nonnegative(),aiReferralLandedHits:d().int().nonnegative(),aiReferralRedirectedHits:d().int().nonnegative(),sampleCount:d().int().nonnegative()});m({sources:y(aS)});const IO=aS.extend({totals24h:BO,latestRun:m({runId:o(),status:ca,startedAt:o().nullable(),finishedAt:o().nullable(),error:o().nullable()}).nullable()});m({sources:y(IO)});const MO=j(["crawler","ai-user-fetch","ai-referral"]),vf=MO.enum,lS=j(["hour","day"]);lS.enum;const VO=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()}),LO=m({kind:D(vf.crawler),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(nS).optional(),verificationUnattributedHits:d().int().nonnegative().optional(),pathNormalized:o(),pathClass:vO,status:d().int(),hits:d().int().nonnegative()}),UO=m({kind:D(vf["ai-user-fetch"]),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(nS).optional(),verificationUnattributedHits:d().int().nonnegative().optional(),pathNormalized:o(),status:d().int(),hits:d().int().nonnegative()}),GO=m({kind:D(vf["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()}),$O=Pe("kind",[LO,UO,GO]);m({windowStart:o(),windowEnd:o(),series:m({granularity:lS,points:y(VO),coverageStart:o().nullable(),trends:m({crawlerContentHits:Qs.nullable(),aiUserFetchHits:Qs.nullable(),aiReferralLandedHits:Qs.nullable()})}),totals:m({crawlerHits:d().int().nonnegative(),crawlerContentHits:d().int().nonnegative(),crawlerInfraHits:d().int().nonnegative(),crawlerSegments:Ww,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($O)});const xf=j(["admin","viewer"]),KO=/^[a-z\d][\w.-]{0,63}$/i,HO=o().regex(KO,"A name may use letters, digits, dots, dashes and underscores, and must start with a letter or digit."),Zv=12,QO=o().min(Zv,`A password must be at least ${Zv} characters.`),cS=m({id:o(),name:o(),role:xf,createdAt:o(),lastLoginAt:o().nullable()});m({users:y(cS)});m({name:HO,password:QO,role:xf});m({name:o().min(1),password:o().min(1)});m({authRequired:N(),user:cS.pick({name:!0,role:!0}).nullable()});const uS=j(["queued","running","completed","partial","failed"]),eF=uS.enum,dS=j(["queued","running","completed","failed"]),tF=dS.enum,FO=20,ZO=20,Hh=50,mS=m({kind:j(["market","property"]),key:me,expectedPlanRevision:d().int().positive().optional()}).strict(),YO=m({kind:j(["market","property"]),key:me,label:o().trim().min(1),planRevision:d().int().positive()}).strict(),pS=o().min(1).max(4e3).refine(e=>e.trim().length>0,"Research queries cannot be blank.");function nF(e){const n=new Set;return e.filter(s=>{const r=ED(s);return!r||n.has(r)?!1:(n.add(r),!0)})}function XO(e,n){const s=e?e.kind==="market"?{market:e.label,submarket:e.label}:{property:e.label,propertyBrand:e.label}:{};return n?{...s,location:n.label}:s}function aF(e,n,s){const r=new Set(e.variables),u=[...e.pattern.matchAll(/\{([^{}]+)\}/g)].map(k=>k[1]),f=[...new Set(u.filter(k=>!r.has(k)))];if(f.length)throw Hb("The selected research template contains undeclared placeholders: "+f.join(", "));const g=XO(n,s),b=e.variables.filter(k=>g[k]===void 0);if(b.length)throw Hb("The selected research template requires unavailable bindings: "+b.join(", "));const v=Object.fromEntries(e.variables.map(k=>[k,g[k]]));return{bindings:v,output:W7(e.pattern,v)}}const hS=m({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),bindingLocation:Xt.nullable().optional()}).strict();m({queries:y(pS).min(1).max(50),provider:o().trim().min(1).optional(),model:o().trim().min(1).max(200).optional(),location:Xt.nullable().optional(),scope:mS.optional(),template:hS.optional(),idempotencyKey:o().trim().min(1).max(128).optional()}).superRefine((e,n)=>{e.model&&!e.provider&&n.addIssue({code:je.custom,path:["provider"],message:"provider is required when model is supplied"})});const JO=mS.extend({expectedPlanRevision:d().int().positive()}).strict(),WO=m({queries:y(pS).min(1).max(Hh),provider:o().trim().min(1),model:o().trim().min(1).max(200),location:Xt.nullable(),scope:JO.optional(),template:hS.optional()}).strict();m({idempotencyKey:o().trim().min(1).max(128),runs:y(WO).min(1).max(ZO)}).strict().superRefine((e,n)=>{e.runs.reduce((r,u)=>r+u.queries.length,0)>Hh&&n.addIssue({code:je.custom,path:["runs"],message:`A research batch may contain at most ${Hh} concrete queries across all destinations`})});const eq=m({kind:j(["api-key","user"]),id:o(),name:o(),role:xf.nullable(),limited:N().optional()}),fS=m({id:o(),projectId:o(),status:uS,provider:o(),requestedModel:o().nullable(),resolvedModel:o(),location:Xt.nullable(),scope:YO.nullable().optional(),template:Pk.nullable().optional(),totalQueries:d().int(),completedQueries:d().int(),failedQueries:d().int(),error:o().nullable(),initiatedBy:eq.nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),tq=m({id:o(),position:d().int(),query:o(),queryClass:ur.nullable().optional(),status:dS,requestedModel:o().nullable(),resolvedModel:o(),servedModel:o().nullable(),answerText:o().nullable(),groundingSources:y(Ad),citedDomains:y(o()),searchQueries:y(o()),namedCompetitors:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),answerMentioned:N().nullable(),citationState:fi.nullable(),error:o().nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),nq=fS.extend({queries:y(tq)});m({runs:y(nq)});const aq=m({name:o(),displayName:o(),modelConfigurable:N(),defaultModel:o(),knownModels:y(m({id:o(),displayName:o()}))});m({runs:y(fS),nextCursor:o().nullable().optional(),providers:y(aq).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 iq=m({id:o(),type:o(),canonicalName:o(),countryCode:o(),name:o(),regionCode:o().nullable()});m({count:d().int().nonnegative(),query:o(),results:y(iq)});const sq=m({id:o(),clientType:o().optional(),name:o().optional(),pixelId:o().optional()});m({pixels:y(sq)});const oq=m({id:o(),name:o().optional()}),rq=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(oq).optional(),archived:N().optional(),version:d().int().nonnegative().optional()});m({eventSettings:y(rq)});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 lq=m({type:o().nullable().optional(),title:o().nullable().optional(),body:o().nullable().optional(),targetUrl:o().nullable().optional(),fileId:o().nullable().optional()}),ec=j(["impressions","clicks"]);ec.enum;const tc=j(["impression","click"]);tc.enum;const cq=m({id:o(),adGroupId:o(),name:o(),status:o(),reviewStatus:o().nullable().optional(),creative:lq.nullable().optional(),upstreamUpdatedAt:d().int().nullable().optional(),syncedAt:o().optional()}),uq=m({id:o(),campaignId:o(),name:o(),description:o().nullable().optional(),status:o(),billingEventType:He([tc,ue()]).optional(),maxBidMicros:d().int().nullable().optional(),contextHints:y(o()).default([]),ads:y(cq).default([]),upstreamUpdatedAt:d().int().nullable().optional(),syncedAt:o().optional()}),dq=m({id:o(),name:o(),description:o().nullable().optional(),status:o(),startTime:d().int().nullable().optional(),endTime:d().int().nullable().optional(),biddingType:He([ec,ue()]).optional(),dailySpendLimitMicros:d().int().nullable().optional(),lifetimeSpendLimitMicros:d().int().nullable().optional(),conversionEventSettingIds:y(o()).default([]),locationIds:y(o()).optional(),adGroups:y(uq).default([]),upstreamUpdatedAt:d().int().nullable().optional(),syncedAt:o().optional()});m({campaigns:y(dq)});const gS=j(["campaign","ad_group"]);gS.enum;const mq=m({level:gS,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(mq),currencyCode:o().nullable().optional()});const yS=m({from:o().nullable(),to:o().nullable(),inProgressDate:o().nullable()}),bS=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:yS,totals:bS});const vS=j(["unavailable","partial","complete"]);vS.enum;const xS=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"]);xS.enum;const kS=j(["unavailable","reported"]);kS.enum;const pq={storedSnapshot:"stored_ads_snapshot"},wS=j(["unavailable","partial_snapshot","metrics_unavailable","observed_activity","no_observed_activity"]);wS.enum;const hq=m({id:o(),name:o(),status:o(),reviewStatus:o().nullable()}),fq=m({id:o(),name:o(),status:o(),billingEventType:He([tc,ue()]),maxBidMicros:d().int().nullable(),contextHints:y(o()),ads:y(hq)}),gq=m({id:o(),name:o(),status:o(),biddingType:He([ec,ue()]),dailySpendLimitMicros:d().int().nullable(),lifetimeSpendLimitMicros:d().int().nullable(),conversionEventSettingIds:y(o()),adGroups:y(fq)});m({snapshot:m({status:vS,issue:He([xS,ue()]),lastSyncedAt:o().nullable(),campaignCount:d().int().nonnegative(),adGroupCount:d().int().nonnegative(),adCount:d().int().nonnegative(),sourceSync:m({runId:o(),status:ca}).nullable()}),historicalCampaignRollups:m({status:kS,window:yS,totals:bS.nullable()}),storedConfiguration:m({basis:D(pq.storedSnapshot),connection:m({status:o().nullable(),reviewStatus:o().nullable(),integrityReviewStatus:o().nullable(),integrityDecision:o().nullable(),conversionTrackingConfigured:N()}).nullable(),campaigns:y(gq)}),assessment:m({state:wS})});const Ua=o().min(8).max(128).regex(/^[\w.:-]+$/,"operationKey may contain letters, numbers, dot, underscore, colon, and hyphen"),Nt=o().min(1).max(200),eo=o().min(3).max(1e3).refine(e=>e.trim().length>0),ir=d().int().min(946684800).max(4102444800),sr=d().int().positive().max(Number.MAX_SAFE_INTEGER),kf=o().regex(/^[a-f0-9]{64}$/),SS=y(Nt).max(100).refine(e=>new Set(e).size===e.length,"conversionEventSettingIds must be unique"),jS=o().url().refine(e=>new URL(e).protocol==="https:",{message:"URL must use https"}),AS=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"]);AS.enum;const CS=j(["pending","reconciling","succeeded","failed","unknown"]),Jo=CS.enum,NS=j(["known_entity","create_fingerprint","manual_only"]);NS.enum;const _S=j([Jo.pending,Jo.unknown,Jo.reconciling]);_S.enum;const zS=j(["active","paused","archived"]);zS.enum;const ES=j(["file","campaign","ad_group","ad"]);ES.enum;const TS=j(["campaign","ad_group","ad"]);TS.enum;const wf=m({id:Nt,expectedUpdatedAt:d().int().nonnegative()}).strict(),yq=wf,Wu=1e3;function bq(e){return 1+e.campaign.adGroups.reduce((n,s)=>n+1+s.ads.length,0)}const vq=wf.extend({ads:y(yq).min(1).max(Wu-1)}).strict(),xq=wf.extend({adGroups:y(vq).min(1).max(Wu-1)}).strict();function kq(e,n){return e<n?-1:e>n?1:0}function Yv(e,n,s){for(let r=1;r<e.length;r+=1)if(kq(e[r-1].id,e[r].id)>=0){s.addIssue({code:"custom",path:n,message:"Activation manifest entities must be uniquely sorted by id"});return}}const RS=m({campaign:xq}).strict().superRefine((e,n)=>{bq(e)>Wu&&n.addIssue({code:"custom",path:["campaign"],message:`Activation manifests may contain at most ${Wu} entities`}),Yv(e.campaign.adGroups,["campaign","adGroups"],n);const r=new Set;for(let u=0;u<e.campaign.adGroups.length;u+=1){const f=e.campaign.adGroups[u];Yv(f.ads,["campaign","adGroups",u,"ads"],n);for(let g=0;g<f.ads.length;g+=1){const b=f.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)}}}),DS=kf,wq=j(["approved","executing","consumed","revoked","expired","unknown"]),hi=wq.enum,Sq=j(["pending","executing","active","failed","rollback_executing","rolled_back","rollback_failed","unknown"]),us=Sq.enum,jq=m({name:eo.optional(),description:o().max(4e3).nullable().optional(),status:zS.optional(),startTime:ir.nullable().optional(),endTime:ir.nullable().optional(),lifetimeSpendLimitMicros:sr.min(1e6).optional(),locationIds:y(Nt).max(100).optional(),biddingType:ec.optional(),conversionEventSettingIds:SS.optional(),campaignId:Nt.optional(),contextHints:y(o().min(1).max(1e3)).max(100).optional(),maxBidMicros:sr.max(1e8).optional(),billingEventType:tc.optional(),adGroupId:Nt.optional(),creativeFingerprint:kf.optional()}).strict();m({operationKey:Ua,imageUrl:jS});m({operationKey:Ua,name:eo,description:o().max(4e3).optional(),startTime:ir.optional(),endTime:ir.optional(),lifetimeSpendLimitMicros:sr.min(1e6),locationIds:y(Nt).min(1).max(100),biddingType:ec.optional(),conversionEventSettingIds:SS.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:Ua,campaignId:Nt,name:eo,description:o().max(4e3).optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100),maxBidMicros:sr.max(1e8),billingEventType:tc.optional()});const OS=m({title:o().min(3).max(50),body:o().min(1).max(100),targetUrl:jS,fileId:Nt});m({operationKey:Ua,adGroupId:Nt,name:eo,creative:OS});function Sf(e){return Object.keys(e).some(n=>n!=="operationKey"&&n!=="expectedUpdatedAt")}m({operationKey:Ua,expectedUpdatedAt:d().int().nonnegative(),name:eo.optional(),description:o().max(4e3).nullable().optional(),startTime:ir.nullable().optional(),endTime:ir.nullable().optional(),lifetimeSpendLimitMicros:sr.min(1e6).optional(),locationIds:y(Nt).min(1).max(100).optional()}).refine(Sf,{message:"At least one campaign field must be updated"});m({operationKey:Ua,expectedUpdatedAt:d().int().nonnegative(),name:eo.optional(),description:o().max(4e3).nullable().optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100).optional(),maxBidMicros:sr.max(1e8).optional()}).refine(Sf,{message:"At least one ad group field must be updated"});m({operationKey:Ua,expectedUpdatedAt:d().int().nonnegative(),name:eo.optional(),creative:OS.optional()}).refine(Sf,{message:"At least one ad field must be updated"});m({operationKey:Ua});m({operationKey:Ua,expectedUpdatedAt:d().int().nonnegative()});const Dd=m({id:o(),adAccountId:o().nullable(),operationKey:o(),kind:AS,state:CS,entityType:He([ES,ue()]),entityId:o().nullable(),upstreamUpdatedAt:d().int().nullable(),errorCode:o().nullable(),errorMessage:o().nullable(),reconcileStrategy:He([NS,ue()]),reconcileParentId:Nt.nullable(),reconcileFingerprint:kf.nullable(),reconcileFields:jq.nullable(),reconcileAttempts:d().int().nonnegative(),lastReconciledAt:o().nullable(),createdAt:o(),updatedAt:o()});m({operation:Dd,replayed:N()});const vt=M2({offset:!0}),br={id:Nt,projectId:Nt,adAccountId:Nt,manifestHash:DS,manifest:RS,executorApiKeyId:Nt,approverApiKeyId:Nt,expiresAt:vt,approvedAt:vt,createdAt:vt,updatedAt:vt,revocationRequestedAt:vt.nullable()},Aq=m({...br,state:D(hi.approved),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),Cq=m({...br,state:D(hi.executing),operationId:Nt,executionStartedAt:vt,consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),Nq=m({...br,state:D(hi.consumed),operationId:Nt,executionStartedAt:vt,consumedAt:vt,revokedAt:ue(),expiredAt:ue()}).strict(),_q=m({...br,state:D(hi.revoked),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:vt,expiredAt:ue()}).strict(),zq=m({...br,state:D(hi.expired),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:ue(),expiredAt:vt}).strict(),Eq=m({...br,state:D(hi.unknown),operationId:Nt,executionStartedAt:vt,consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),qS=Pe("state",[Aq,Cq,Nq,_q,zq,Eq]).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!==hi.executing&&e.state!==hi.unknown&&e.state!==hi.consumed&&n.addIssue({code:"custom",path:["revocationRequestedAt"],message:"Only an executing, cancelled, or unresolved activation can carry a cancellation request"})}),ds={id:Nt,operationId:Nt,ordinal:d().int().nonnegative(),entityType:TS,entityId:Nt,expectedUpdatedAt:d().int().nonnegative(),createdAt:vt,updatedAt:vt},nc={errorCode:ue(),errorMessage:ue()},jf={errorCode:o().min(1).max(100),errorMessage:o().min(1).max(500),remediation:o().min(1).max(500)},Tq=m({...ds,...nc,state:D(us.pending),providerUpdatedAt:ue(),remediation:ue(),startedAt:ue(),finishedAt:ue()}).strict(),Rq=m({...ds,...nc,state:D(us.executing),providerUpdatedAt:ue(),remediation:ue(),startedAt:vt,finishedAt:ue()}).strict(),Dq=m({...ds,...nc,state:D(us.active),providerUpdatedAt:d().int().nonnegative(),remediation:ue(),startedAt:vt,finishedAt:vt}).strict(),Oq=m({...ds,...jf,state:D(us.failed),providerUpdatedAt:He([d().int().nonnegative(),ue()]),startedAt:vt,finishedAt:vt}).strict(),qq=m({...ds,...nc,state:D(us.rollback_executing),providerUpdatedAt:d().int().nonnegative(),remediation:o().min(1).max(500),startedAt:vt,finishedAt:ue()}).strict(),Pq=m({...ds,...nc,state:D(us.rolled_back),providerUpdatedAt:d().int().nonnegative(),remediation:o().min(1).max(500),startedAt:vt,finishedAt:vt}).strict(),Bq=m({...ds,...jf,state:D(us.rollback_failed),providerUpdatedAt:d().int().nonnegative(),startedAt:vt,finishedAt:vt}).strict(),Iq=m({...ds,...jf,state:D(us.unknown),providerUpdatedAt:He([d().int().nonnegative(),ue()]),startedAt:vt,finishedAt:vt}).strict(),Mq=Pe("state",[Tq,Rq,Dq,Oq,qq,Pq,Bq,Iq]),Qh={exact:"exact",refreshSemanticallyUnchanged:"refresh_semantically_unchanged"},Vq=j([Qh.exact,Qh.refreshSemanticallyUnchanged]);m({manifest:RS,executorApiKeyId:Nt,expiresAt:vt,versionPolicy:Vq.default(Qh.exact)}).strict();m({grant:qS}).strict();m({}).strict();m({operationKey:Ua,grantId:Nt,manifestHash:DS}).strict();m({grant:qS,operation:Dd,steps:y(Mq)}).strict();const Lq=[Jo.pending,Jo.unknown,Jo.reconciling];function Uq(e){if(e===void 0||e==="")return Lq;if(Array.isArray(e)){const n=[];for(const s of e)typeof s=="string"?n.push(...s.split(",")):n.push(s);return n}return typeof e=="string"?e.split(",").filter(Boolean):e}m({state:x0(Uq,y(_S).min(1).max(3).refine(e=>new Set(e).size===e.length,"state values must be unique")),limit:k0().int().min(1).max(200).default(100),cursor:o().min(1).max(1e3).optional()});m({operations:y(Dd),count:d().int().nonnegative(),nextCursor:o().nullable()});m({}).strict();m({operation:Dd,resolved:N()});m({campaignId:o().min(1).max(200).optional(),lookbackDays:k0().int().min(1).max(30).default(7)});const PS=j(["campaign","ad_group","ad"]);PS.enum;const BS=j(["both","live-only","stored-only"]);BS.enum;const Gq=D("live-provider-read"),$q=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()}),Xv=m({impressions:d().int(),clicks:d().int(),spendMicros:d().int(),conversions:d().int()}),Kq=m({date:o(),live:Xv.nullable(),stored:Xv.nullable(),drifted:N()}),Hq=m({field:o(),live:o().nullable(),stored:o().nullable()}),Qq=m({name:o().nullable(),status:o(),reviewStatus:o().nullable(),mode:o().nullable(),updatedAt:d().nullable()}),Fq=m({name:o(),status:o(),reviewStatus:o().nullable(),upstreamUpdatedAt:d().nullable(),syncedAt:o()}),Zq=m({entityType:PS,id:o(),parentId:o().nullable(),presence:BS,live:Qq.nullable(),stored:Fq.nullable(),fieldDeltas:y(Hq),liveMetrics:y($q).nullable(),metricDeltas:y(Kq).nullable(),drifted:N()}),Yq=m({surface:o(),entityId:o().nullable(),upstreamStatus:d().int().nullable()});m({basis:Gq,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(Zq),drift:m({entitiesCompared:d().int().nonnegative(),driftedEntities:d().int().nonnegative(),statusDrifted:d().int().nonnegative(),metricsDrifted:d().int().nonnegative()}),errors:y(Yq)});const Xq=m({status:j(["available","unavailable","not-supported"])}),Jv="*",Jq=j(["enabled","configured_disabled","CANONRY_TELEMETRY_DISABLED","DO_NOT_TRACK","CI","NO_CONFIG","CONFIG_UNAVAILABLE"]),Wq=j(["server","local"]);m({enabled:N(),configuredEnabled:N(),reason:Jq,anonymousId:o().regex(/^[0-9a-f]{8}\.\.\.$/i).optional(),target:Wq.optional()}).strict();const it=1,hh=j(["system","project","queries","competitors","run","finish"]),eP=j(["copy_agent_command","connect_server_traffic","connect_search_console","connect_analytics","connect_business_profile","set_schedule","add_notification","open_project","review_page_health"]),fh=j(["0","1","2-3","4-5","6-10","11+"]);function Ma(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 Wv=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"]),tP=j(["wizard","platform","site_health"]),Eu=m({eventId:o().uuid(),flowVersion:D(it),onboardingSessionId:o().uuid(),surface:tP.optional()});Pe("event",[Eu.extend({event:D("onboarding.started"),step:hh,resumed:N()}).strict(),Eu.extend({event:D("onboarding.step_completed"),step:hh,method:j(["existing","inline","manual","generated","skipped","automatic"]),countBucket:fh.optional(),nextAction:eP.optional()}).strict(),Eu.extend({event:D("onboarding.blocked"),step:hh,action:j(["continue","configure_provider","generate_queries","save","launch_run","retry_run"]),reasonCode:Wv}).strict(),Eu.extend({event:D("run.requested"),origin:D("dashboard_setup"),result:j(["queued","rejected"]),kind:j(["answer_visibility","site_health"]).optional(),providerCountBucket:fh,queryCountBucket:fh,reasonCode:Wv.optional()}).strict()]);m({accepted:N()});j(["cli","mcp-stdio","mcp-http","aero","api","dashboard"]);const nP=4;function aP(e){return e.length<nP}const IS=j(["trace","debug","info","warn","error","fatal"]),iP=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(),sP=m({cursor:o().min(1).max(512),ts:o().datetime(),level:IS,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:iP}).strict();m({level:IS.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:k0().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:je.custom,path:["until"],message:'"until" must be on or after "since".'})});m({entries:y(sP),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();const oP={bodySerializer:e=>JSON.stringify(e,(n,s)=>typeof s=="bigint"?s.toString():s)},rP=({onRequest:e,onSseError:n,onSseEvent:s,responseTransformer:r,responseValidator:u,sseDefaultRetryDelay:f,sseMaxRetryAttempts:g,sseMaxRetryDelay:b,sseSleepFn:v,url:k,...S})=>{let A;const z=v??(T=>new Promise(I=>setTimeout(I,T)));return{stream:async function*(){let T=f??3e3,I=0;const X=S.signal??new AbortController().signal;for(;!X.aborted;){I++;const J=S.headers instanceof Headers?S.headers:new Headers(S.headers);A!==void 0&&J.set("Last-Event-ID",A);try{const V={redirect:"follow",...S,body:S.serializedBody,headers:J,signal:X};let le=new Request(k,V);e&&(le=await e(k,V));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 Te=()=>{try{H.cancel()}catch{}};X.addEventListener("abort",Te);try{for(;;){const{done:Qe,value:Fe}=await H.read();if(Qe)break;K+=Fe;const Re=K.split(`
|
|
49
|
+
|
|
50
|
+
`);K=Re.pop()??"";for(const ke of Re){const Be=ke.split(`
|
|
51
|
+
`),be=[];let B;for(const Ce of Be)if(Ce.startsWith("data:"))be.push(Ce.replace(/^data:\s*/,""));else if(Ce.startsWith("event:"))B=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)||(T=W)}let ee,pe=!1;if(be.length){const Ce=be.join(`
|
|
52
|
+
`);try{ee=JSON.parse(Ce),pe=!0}catch{ee=Ce}}pe&&(u&&await u(ee),r&&(ee=await r(ee))),s?.({data:ee,event:B,id:A,retry:T}),be.length&&(yield ee)}}}finally{X.removeEventListener("abort",Te),H.releaseLock()}break}catch(V){if(n?.(V),g!==void 0&&I>=g)break;const le=Math.min(T*2**(I-1),b??3e4);await z(le)}}}()}},lP=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},cP=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},uP=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},MS=({allowReserved:e,explode:n,name:s,style:r,value:u})=>{if(!n){const b=(e?u:u.map(v=>encodeURIComponent(v))).join(cP(r));switch(r){case"label":return`.${b}`;case"matrix":return`;${s}=${b}`;case"simple":return b;default:return`${s}=${b}`}}const f=lP(r),g=u.map(b=>r==="label"||r==="simple"?e?b:encodeURIComponent(b):Od({allowReserved:e,name:s,value:b})).join(f);return r==="label"||r==="matrix"?f+g:g},Od=({allowReserved:e,name:n,value:s})=>{if(s==null)return"";if(typeof s=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${n}=${e?s:encodeURIComponent(s)}`},VS=({allowReserved:e,explode:n,name:s,style:r,value:u,valueOnly:f})=>{if(u instanceof Date)return f?u.toISOString():`${s}=${u.toISOString()}`;if(r!=="deepObject"&&!n){let v=[];Object.entries(u).forEach(([S,A])=>{v=[...v,S,e?A:encodeURIComponent(A)]});const k=v.join(",");switch(r){case"form":return`${s}=${k}`;case"label":return`.${k}`;case"matrix":return`;${s}=${k}`;default:return k}}const g=uP(r),b=Object.entries(u).map(([v,k])=>Od({allowReserved:e,name:r==="deepObject"?`${s}[${v}]`:v,value:k})).join(g);return r==="label"||r==="matrix"?g+b:b},dP=/\{[^{}]+\}/g,mP=({path:e,url:n})=>{let s=n;const r=n.match(dP);if(r)for(const u of r){let f=!1,g=u.substring(1,u.length-1),b="simple";g.endsWith("*")&&(f=!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)){s=s.replace(u,MS({explode:f,name:g,style:b,value:v}));continue}if(typeof v=="object"){s=s.replace(u,VS({explode:f,name:g,style:b,value:v,valueOnly:!0}));continue}if(b==="matrix"){s=s.replace(u,`;${Od({name:g,value:v})}`);continue}const k=encodeURIComponent(b==="label"?`.${v}`:v);s=s.replace(u,k)}return s},pP=({baseUrl:e,path:n,query:s,querySerializer:r,url:u})=>{const f=u.startsWith("/")?u:`/${u}`;let g=(e??"")+f;n&&(g=mP({path:n,url:g}));let b=s?r(s):"";return b.startsWith("?")&&(b=b.substring(1)),b&&(g+=`?${b}`),g};function hP(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 fP=async(e,n)=>{const s=typeof n=="function"?await n(e):n;if(s)return e.scheme==="bearer"?`Bearer ${s}`:e.scheme==="basic"?`Basic ${btoa(s)}`:s},LS=({allowReserved:e,array:n,object:s}={})=>u=>{const f=[];if(u&&typeof u=="object")for(const g in u){const b=u[g];if(b!=null)if(Array.isArray(b)){const v=MS({allowReserved:e,explode:!0,name:g,style:"form",value:b,...n});v&&f.push(v)}else if(typeof b=="object"){const v=VS({allowReserved:e,explode:!0,name:g,style:"deepObject",value:b,...s});v&&f.push(v)}else{const v=Od({allowReserved:e,name:g,value:b});v&&f.push(v)}}return f.join("&")},gP=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(s=>n.startsWith(s)))return"blob";if(n.startsWith("text/"))return"text"}},yP=(e,n)=>n?!!(e.headers.has(n)||e.query?.[n]||e.headers.get("Cookie")?.includes(`${n}=`)):!1,bP=async({security:e,...n})=>{for(const s of e){if(yP(n,s.name))continue;const r=await fP(s,n.auth);if(!r)continue;const u=s.name??"Authorization";switch(s.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}}},ex=e=>pP({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:LS(e.querySerializer),url:e.url}),tx=(e,n)=>{const s={...e,...n};return s.baseUrl?.endsWith("/")&&(s.baseUrl=s.baseUrl.substring(0,s.baseUrl.length-1)),s.headers=US(e.headers,n.headers),s},vP=e=>{const n=[];return e.forEach((s,r)=>{n.push([r,s])}),n},US=(...e)=>{const n=new Headers;for(const s of e){if(!s)continue;const r=s instanceof Headers?vP(s):Object.entries(s);for(const[u,f]of r)if(f===null)n.delete(u);else if(Array.isArray(f))for(const g of f)n.append(u,g);else f!==void 0&&n.set(u,typeof f=="object"?JSON.stringify(f):f)}return n};class gh{fns=[];clear(){this.fns=[]}eject(n){const s=this.getInterceptorIndex(n);this.fns[s]&&(this.fns[s]=null)}exists(n){const s=this.getInterceptorIndex(n);return!!this.fns[s]}getInterceptorIndex(n){return typeof n=="number"?this.fns[n]?n:-1:this.fns.indexOf(n)}update(n,s){const r=this.getInterceptorIndex(n);return this.fns[r]?(this.fns[r]=s,n):!1}use(n){return this.fns.push(n),this.fns.length-1}}const xP=()=>({error:new gh,request:new gh,response:new gh}),kP=LS({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),wP={"Content-Type":"application/json"},GS=(e={})=>({...oP,headers:wP,parseAs:"auto",querySerializer:kP,...e}),$S=(e={})=>{let n=tx(GS(),e);const s=()=>({...n}),r=k=>(n=tx(n,k),s()),u=xP(),f=async k=>{const S={...n,...k,fetch:k.fetch??n.fetch??globalThis.fetch,headers:US(n.headers,k.headers),serializedBody:void 0};S.security&&await bP({...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=ex(S);return{opts:S,url:A}},g=async k=>{const{opts:S,url:A}=await f(k),z={redirect:"follow",...S,body:hP(S)};let C=new Request(A,z);for(const ie of u.request.fns)ie&&(C=await ie(C,S));const F=S.fetch;let T=await F(C);for(const ie of u.response.fns)ie&&(T=await ie(T,C,S));const I={request:C,response:T};if(T.ok){const ie=(S.parseAs==="auto"?gP(T.headers.get("Content-Type")):S.parseAs)??"json";if(T.status===204||T.headers.get("Content-Length")==="0"){let H;switch(ie){case"arrayBuffer":case"blob":case"text":H=await T[ie]();break;case"formData":H=new FormData;break;case"stream":H=T.body;break;default:H={};break}return S.responseStyle==="data"?H:{data:H,...I}}let re;switch(ie){case"arrayBuffer":case"blob":case"formData":case"json":case"text":re=await T[ie]();break;case"stream":return S.responseStyle==="data"?T.body:{data:T.body,...I}}return ie==="json"&&(S.responseValidator&&await S.responseValidator(re),S.responseTransformer&&(re=await S.responseTransformer(re))),S.responseStyle==="data"?re:{data:re,...I}}const X=await T.text();let J;try{J=JSON.parse(X)}catch{}const V=J??X;let le=V;for(const ie of u.error.fns)ie&&(le=await ie(V,T,C,S));if(le=le||{},S.throwOnError)throw le;return S.responseStyle==="data"?void 0:{error:le,...I}},b=k=>S=>g({...S,method:k}),v=k=>async S=>{const{opts:A,url:z}=await f(S);return rP({...A,body:A.body,headers:A.headers,method:k,onRequest:async(C,F)=>{let T=new Request(C,F);for(const I of u.request.fns)I&&(T=await I(T,A));return T},url:z})};return{buildUrl:ex,connect:b("CONNECT"),delete:b("DELETE"),get:b("GET"),getConfig:s,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=$S(GS()),SP=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}}),jP=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e}),AP=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e,headers:{"Content-Type":"application/json",...e.headers}}),CP=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),KS=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),NP=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),_P=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan",...e}),zP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-report",...e}),EP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-setup",...e}),iF=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft",...e}),sF=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}}),oF=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}}),rF=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}}),lF=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}}),cF=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}}),uF=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}}),dF=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}}),mF=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}}),pF=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}}),hF=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}}),fF=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}}),gF=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}}),yF=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}}),bF=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}}),vF=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}}),TP=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}}),xF=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}}),kF=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/compile-preview",...e}),wF=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/diff-preview",...e}),SF=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}}),jF=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/discard",...e}),HS=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-overview",...e}),RP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/visibility-report",...e}),DP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-evidence",...e}),OP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-question-result",...e}),qP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-competitors",...e}),PP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-query-templates",...e}),BP=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}}),IP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs",...e}),MP=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}}),VP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking",...e}),LP=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}}),UP=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}}),GP=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs/{runId}",...e}),$P=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations",...e,headers:{"Content-Type":"application/json",...e.headers}}),KP=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/{label}",...e}),HP=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}}),QP=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),QS=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e}),FP=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),ZP=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),YP=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}}),XP=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),JP=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),WP=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors/{id}",...e}),eB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/competitors",...e}),FS=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e}),tB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),nB=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e}),aB=e=>(e?.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),ZS=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs/{id}",...e}),iB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/apply",...e,headers:{"Content-Type":"application/json",...e.headers}}),sB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/history",...e}),oB=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/history",...e}),rB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/timeline",...e}),lB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/metrics",...e}),cB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/snapshots/diff",...e}),YS=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings",...e}),uB=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/providers/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),dB=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/google",...e,headers:{"Content-Type":"application/json",...e.headers}}),mB=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/keys/self",...e}),pB=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/bing",...e,headers:{"Content-Type":"application/json",...e.headers}}),hB=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/cdp",...e,headers:{"Content-Type":"application/json",...e.headers}}),fB=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),gB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),yB=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e,headers:{"Content-Type":"application/json",...e.headers}}),bB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedules",...e}),vB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e}),xB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e,headers:{"Content-Type":"application/json",...e.headers}}),kB=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}",...e}),wB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}/test",...e}),SB=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e}),jB=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e,headers:{"Content-Type":"application/json",...e.headers}}),AB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry/onboarding",...e,headers:{"Content-Type":"application/json",...e.headers}}),XS=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/cdp/status",...e}),CB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/status",...e}),NB=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}}),_B=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/customers",...e}),zB=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}}),EB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/sync",...e}),TB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/performance",...e}),RB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/snapshots",...e}),DB=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/connection",...e}),OB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/status",...e}),qB=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}}),PB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts",...e}),BB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers",...e}),IB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers/{containerId}/workspaces",...e}),MB=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}}),VB=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/sync",...e}),LB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/snapshots",...e}),UB=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/connection",...e}),GB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/options",...e}),$B=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e}),KB=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}}),HB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts/{contractId}/integrity",...e}),QB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections",...e}),FB=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}}),ZB=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}",...e}),YB=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/properties",...e}),XB=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}}),JB=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}}),WB=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}}),eI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance",...e}),tI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance/daily",...e}),nI=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}}),aI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspections",...e}),iI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/deindexed",...e}),sI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage",...e}),oI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage/history",...e}),rI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps",...e}),lI=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}}),cI=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}}),uI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations",...e}),dI=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}}),mI=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}}),pI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/keywords",...e}),hI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/place-actions",...e}),fI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/lodging",...e}),gI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/places",...e}),yI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/summary",...e}),bI=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}}),vI=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/disconnect",...e}),xI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/status",...e}),kI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/sites",...e}),wI=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}}),SI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/coverage",...e}),jI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspections",...e}),AI=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}}),CI=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}}),NI=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}}),_I=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/performance",...e}),zI=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}}),EI=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/disconnect",...e}),TI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/status",...e}),RI=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}}),DI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/traffic",...e}),OI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/ai-referral-daily",...e}),qI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/social-referral-history",...e}),PI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/session-history",...e}),BI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/insights",...e}),II=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/report",...e}),MI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/health/history",...e}),VI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/citations/visibility",...e}),LI=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}}),UI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/overview",...e}),GI=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/status",...e}),$I=e=>(e?.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/install",...e}),KI=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e}),HI=e=>(e?.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),QI=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs/latest",...e}),FI=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/releases",...e}),ZI=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/latest-release",...e}),YI=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/cache/{release}",...e}),XI=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}}),JI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/summary",...e}),WI=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/domains",...e}),eM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/history",...e}),tM=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}}),nM=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}}),aM=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}}),iM=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}}),sM=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}}),oM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources",...e}),rM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/status",...e}),lM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}",...e}),cM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/events",...e}),uM=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}}),dM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions",...e}),mM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions/{id}",...e}),pM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo",...e}),hM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/pages",...e}),fM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/trend",...e}),gM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl",...e}),yM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/graph",...e}),bM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages/audit",...e}),JS=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages",...e}),vM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/structure",...e}),xM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/internal-links/neighbors",...e}),kM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/dead-links",...e}),wM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e}),SM=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}}),jM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/progress",...e}),AM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/page-health-preview",...e}),CM=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/providers",...e});function NM(e){const n={baseUrl:e.baseUrl,fetch:e.fetch,headers:{...e.headers??{}}};return $S(n)}class gn extends Error{code;statusCode;details;constructor(n,s,r,u){super(n),this.name="ApiError",this.code=r??"UNKNOWN",this.statusCode=s,this.details=u}}function ql(){if(typeof window>"u")return!1;const e=window.__CANONRY_CONFIG__?.demo;return e?.enabled===!0&&e.readOnly===!0&&e.sampleData===!0}function _M(){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 zM(){if(typeof window>"u")return;const e=window.__CANONRY_CONFIG__?.embed?.renderToken;return typeof e=="string"&&e.length>0?e:void 0}function Af(e){const n=zM();if(!n)return e;let s;const r=typeof window<"u"&&window.location?window.location.href:"http://localhost/";try{s=new URL(e,r)}catch{return e}const u=new URL(r).origin;if(s.origin!==u)return e;const g=`${qd().replace(/\/$/,"")}/api/v1`;return s.pathname!==g&&!s.pathname.startsWith(`${g}/`)?e:(s.searchParams.set("token",n),/^[a-z][a-z\d+.-]*:/i.test(e)?s.toString():`${s.pathname}${s.search}${s.hash}`)}function EM(e,n){const s={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&&(s.body=e.body,s.duplex="half"),new Request(n,s)}function WS(){if(typeof window>"u")return null;const e=window.__CANONRY_CONFIG__?.embed;return e?.enabled?e:null}function TM(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showResourceLinks!==!1}function RM(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showAgentBar!==!1}function DM(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showUpdateNotification!==!1}function Us(){return OM(Ne["answer-visibility"])}function OM(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 qM(){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:FO}}function nx(){return qM()?"Analyst":"View only"}function PM(){return WS()!==null}function BM(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const Cf=BM();function IM(){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 qd(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,""):""}function MM(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 VM(e,n){if(e.protocol!=="http:"&&e.protocol!=="https:"||!MM(e.hostname))return;const s=e.port?`:${e.port}`:"",r=n?n.replace(/\/$/,""):"";return`${e.protocol}//localhost${s}${r}`}function AF(e){return`${e.replace(/\/$/,"")}/api/v1/google/callback`}function CF(e){return`${e.replace(/\/$/,"")}/api/v1/google-marketing/callback`}function LM(){if(!(typeof window>"u"))return VM(window.location,qd())}function UM(e){return`${qd()}${e}`}function GM(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 $M(){return""}function KM(){return!!$M()}let e3=null;function ax(e){e3=e}function Nf(){e3?.()}const ae=NM({baseUrl:IM()});ae.interceptors.response.use((e,n)=>(e.status===401&&!n.url.includes("/api/v1/session")&&Nf(),e));ae.interceptors.request.use(e=>{const n=Af(e.url);return n===e.url?e:EM(e,n)});async function ge(e){const n=await e();if(n.error!==void 0&&n.error!==null){const s=n.response.status;let r=`API ${s}: ${n.response.statusText}`,u,f;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&&(f=b.details)}else{const b=n.error;b.message&&(r=b.message),b.code&&(u=b.code),b.details&&(f=b.details)}}else typeof n.error=="string"&&(r=n.error);throw new gn(r,s,u,f)}if(n.response.status!==204)return n.data}async function ms(e,n){const s=n?.body!=null,r=await fetch(Af(`${Cf}${e}`),{...n,credentials:n?.credentials??"same-origin",headers:{...s?{"Content-Type":"application/json"}:{},...n?.headers}});if(!r.ok){const u=await r.text();let f=`API ${r.status}: ${r.statusText}`,g,b;if(u)try{const v=JSON.parse(u);typeof v.error=="string"?f=v.error:v.error?.message?(f=v.error.message,g=v.error.code,b=v.error.details):v.message&&(f=v.message)}catch{f=u}throw r.status===401&&!e.startsWith("/session")&&!e.startsWith("/auth/")&&Nf(),new gn(f,r.status,g,b)}if(r.status!==204)return r.json()}function HM(e){return ge(()=>KS({client:ae,path:{name:e}}))}function NF(e){return ge(()=>FS({client:ae,path:{name:e}}))}function Fh(e){return ge(()=>ZS({client:ae,path:{id:e}}))}function t3(e){return ge(()=>QS({client:ae,path:{name:e}}))}function QM(e,n,s){return ge(()=>rB({client:ae,path:{name:e},query:{location:n,limit:s}}))}function n3(e,n){return ge(()=>UI({client:ae,path:{name:e},query:{location:n?.location,since:n?.since}}))}function a3(e,n){return ge(()=>NP({client:ae,path:{name:e},body:n}))}function FM(e){return ge(()=>AP({client:ae,body:e}))}function ZM(e,n){return ge(()=>ZP({client:ae,path:{name:e},body:{queries:n}}))}function YM(e,n){return ge(()=>FP({client:ae,path:{name:e},body:{queries:n}}))}function _F(e,n){return ge(()=>QP({client:ae,path:{name:e},body:{queries:n}}))}function XM(e,n){return ge(()=>LI({client:ae,path:{name:e},body:n}))}function JM(e,n){return ge(()=>JP({client:ae,path:{name:e},body:{competitors:n}}))}function zF(e,n){return ge(()=>XP({client:ae,path:{name:e},body:{competitors:n}}))}function EF(e,n){return ge(()=>WP({client:ae,path:{name:e,id:n}}))}async function TF(e,n){const s=await HM(e);return a3(e,{displayName:n.displayName??s.displayName??s.name,canonicalDomain:n.canonicalDomain??s.canonicalDomain,ownedDomains:n.ownedDomains??s.ownedDomains,aliases:n.aliases??s.aliases,country:n.country??s.country,language:n.language??s.language,tags:s.tags,labels:s.labels,providers:n.providers??s.providers,providerModels:n.providerModels??s.providerModels??{},locations:n.locations??s.locations,defaultLocation:n.defaultLocation!==void 0?n.defaultLocation:s.defaultLocation,autoExtractBacklinks:s.autoExtractBacklinks})}function WM(e,n){const s={};return n?.location&&(s.location=n.location),n?.allLocations&&(s.allLocations=!0),n?.noLocation&&(s.noLocation=!0),ge(()=>tB({client:ae,path:{name:e},body:s}))}function RF(e,n){return ge(()=>$P({client:ae,path:{name:e},body:n}))}async function DF(e,n){await ge(()=>KP({client:ae,path:{name:e,label:n}}))}function OF(e,n){return ge(()=>HP({client:ae,path:{name:e},body:{label:n}}))}async function qF(e){await ge(()=>CP({client:ae,path:{name:e}}))}function PF(){return ge(()=>YS({client:ae}))}function ix(){return ms("/session")}function eV(e){return ms("/session/setup",{method:"POST",body:JSON.stringify({password:e})})}function tV(e){return ms("/session",{method:"POST",body:JSON.stringify({password:e})})}function nV(e){return ms("/session",{method:"POST",body:JSON.stringify({apiKey:e})})}function aV(){return ms("/session",{method:"DELETE"})}function yh(){return ge(()=>mB({client:ae}))}function sx(){return ms("/auth/session")}function iV(e,n){return ms("/auth/login",{method:"POST",body:JSON.stringify({name:e,password:n})})}function ox(){return ms("/auth/logout",{method:"POST"})}function i3(e,n){return ge(()=>uB({client:ae,path:{name:e},body:n}))}async function _f(e){for(let n=0;n<2;n+=1)try{await ge(()=>AB({client:ae,body:e}));return}catch(s){if(!(!(s instanceof gn)||s.statusCode>=500)||n===1)return}}function BF(e){return ge(()=>dB({client:ae,body:e}))}function IF(e,n){return ge(()=>yB({client:ae,path:{name:e},body:n}))}async function MF(e,n){await ge(()=>fB({client:ae,path:{name:e},query:n===void 0?void 0:{expectedUpdatedAt:n}}))}function VF(e){return ge(()=>vB({client:ae,path:{name:e}}))}function LF(e,n){return ge(()=>xB({client:ae,path:{name:e},body:n}))}async function UF(e,n){await ge(()=>kB({client:ae,path:{name:e,id:n}}))}function GF(e,n){return ge(()=>wB({client:ae,path:{name:e,id:n}}))}function sV(e,n,s){return ge(()=>YP({client:ae,path:{name:e},body:{provider:n,count:s}}))}function oV(e){return ge(()=>iB({client:ae,body:e}))}function rV(e){return ge(()=>aB({client:ae,body:e??{}}))}function $F(e,n){const s=LM();return ge(()=>FB({client:ae,path:{name:e},body:{type:n,...s?{publicUrl:s}:{}}}))}function KF(e,n){return ge(()=>ZB({client:ae,path:{name:e,type:n}}))}function HF(e,n,s){return ge(()=>XB({client:ae,path:{name:e,type:n},body:{propertyId:s}}))}function QF(e,n,s){return ge(()=>JB({client:ae,path:{name:e,type:n},body:{sitemapUrl:s}}))}function lV(e,n){return ge(()=>WB({client:ae,path:{name:e},body:n??{}}))}function FF(e,n){const s={};return n&&n!=="all"&&(s.window=n),ge(()=>lB({client:ae,path:{name:e},query:s}))}function ZF(e,n){return ge(()=>nI({client:ae,path:{name:e},body:{url:n}}))}function cV(e,n){return ge(()=>lI({client:ae,path:{name:e},body:n??{}}))}function YF(e,n){return ge(()=>rI({client:ae,path:{name:e},query:n?{sitemapIndex:n}:void 0}))}function XF(e,n){return ge(()=>SP({client:ae,path:{name:e},body:{sitemapUrls:n}}))}function uV(e,n){return ge(()=>SM({client:ae,path:{name:e},body:n??{}}))}function JF(e,n){return ge(()=>uM({client:ae,path:{name:e},body:n??{}}))}function WF(){return ge(()=>XS({client:ae}))}function eZ(e,n){return ge(()=>hB({client:ae,body:{host:e,port:n}}))}function tZ(e,n){return ge(()=>cI({client:ae,path:{name:e},body:n}))}function nZ(e,n){return ge(()=>bI({client:ae,path:{name:e},body:{apiKey:n}}))}function aZ(e){return ge(()=>vI({client:ae,path:{name:e}}))}function iZ(e,n){return ge(()=>wI({client:ae,path:{name:e},body:{siteUrl:n}}))}function sZ(e,n){return ge(()=>AI({client:ae,path:{name:e},body:{url:n}}))}function oZ(e,n){return ge(()=>CI({client:ae,path:{name:e},body:{}}))}function rZ(e,n){return ge(()=>NI({client:ae,path:{name:e},body:n}))}function lZ(e){return ge(()=>pB({client:ae,body:{apiKey:e}}))}function s3(e){return e?/filename\s*=\s*"?([^";]+)"?/i.exec(e)?.[1]??null:null}async function cZ(e,n="agency",s){const r=new URLSearchParams({audience:n});s!==void 0&&r.set("period",String(s));const u=await fetch(Af(`${Cf}/projects/${encodeURIComponent(e)}/report.html?${r.toString()}`),{credentials:"same-origin",headers:{}});if(!u.ok)throw new gn(`Failed to download report: ${u.status}`,u.status);const f=await u.blob(),g=URL.createObjectURL(f),b=s3(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 uZ(e,n){const s=await fetch(`${Cf}/projects/${encodeURIComponent(e)}/results/export?format=${n}`,{credentials:"same-origin",headers:{}});if(!s.ok)throw new gn(`Failed to download results: ${s.status}`,s.status);const r=await s.blob(),u=URL.createObjectURL(r),f=s3(s.headers.get("Content-Disposition"))??`canonry-results-${e}.${n}`,g=document.createElement("a");g.href=u,g.download=f,document.body.appendChild(g),g.click(),document.body.removeChild(g),URL.revokeObjectURL(u)}function dZ(e,n){return ge(()=>RI({client:ae,path:{name:e},body:{}}))}function mZ(e,n){return ge(()=>zI({client:ae,path:{name:e},body:n}))}function pZ(e){return ge(()=>EI({client:ae,path:{name:e}}))}function hZ(e,n){return ge(()=>tM({client:ae,path:{name:e},body:n}))}function fZ(e,n){return ge(()=>nM({client:ae,path:{name:e},body:n}))}function gZ(e,n){return ge(()=>aM({client:ae,path:{name:e},body:n}))}function yZ(e,n,s){return ge(()=>iM({client:ae,path:{name:e,id:n},body:s??{}}))}function bZ(e,n,s){return ge(()=>sM({client:ae,path:{name:e,id:n},body:{}}))}function vZ(e,n){return ge(()=>BI({client:ae,path:{name:e},query:{runId:n}}))}function dV(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 mV(e,n){const s=UM(e);try{const r=await fetch(s,{credentials:"same-origin"});if(!r.ok)return{label:n,state:"error",detail:`${n} ${r.status}: ${r.statusText}`,statusCode:r.status,hint:GM(e,r.status)};const u=await r.json(),f=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=dV(u.updateAvailable),k=Xq.safeParse(u.mcp),S=[f,g===!1?"database not configured":"database configured",b?`heartbeat ${b}`:void 0].filter(Boolean).join(" · ");return{label:n,state:"ok",detail:S,version:f,databaseConfigured:g,lastHeartbeatAt:b,...v?{updateAvailable:v}:{},...k.success?{mcp:k.data}:{}}}catch(r){return{label:n,state:"error",detail:r instanceof Error?r.message:"unreachable",hint:e==="/health"?`Request failed while checking ${s}. If this instance is served behind a sub-path, verify the dashboard basePath and reverse-proxy rewrites.`:void 0}}}function xZ(){return ge(()=>GI({client:ae}))}function kZ(){return ge(()=>$I({client:ae}))}function wZ(){return ge(()=>QI({client:ae}))}function SZ(){return ge(()=>KI({client:ae}))}function jZ(e){return ge(()=>HI({client:ae,body:e?{release:e}:{}}))}function AZ(){return ge(()=>FI({client:ae}))}function CZ(){return ge(()=>ZI({client:ae}))}function NZ(e){return ge(()=>YI({client:ae,path:{release:e}}))}function _Z(e,n={}){return ge(()=>JI({client:ae,path:{name:e},query:{release:n.release,excludeCrawlers:n.excludeCrawlers?"1":void 0,source:n.source}}))}function zZ(e,n={}){return ge(()=>WI({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 EZ(e,n={}){return ge(()=>eM({client:ae,path:{name:e},query:{source:n.source}}))}function TZ(e,n){return ge(()=>XI({client:ae,path:{name:e},body:{release:void 0}}))}const o3={account:null,canWrite:!0,isAdmin:!0},pV={account:null,canWrite:!1,isAdmin:!1};function hV(e){const n=e.scopes.includes(Jv);return{account:null,canWrite:!e.readOnly&&n,isAdmin:e.projectId===null&&e.scopes.includes(Jv)}}const r3=_.createContext(o3);function fV({account:e,apiKey:n,apiKeyPending:s=!1,children:r}){const u=s?pV:n?hV(n):e?{account:e,canWrite:e.role==="admin",isAdmin:e.role==="admin"}:o3;return c.jsx(r3.Provider,{value:u,children:r})}function ua(){return _.useContext(r3)}const l3="View only — your account cannot change this.";function Zt(e){return(...n)=>{e(...n)}}const gV=6e3,yV=5,bV=180;let fn=[],vV=0;const Zh=new Set,Yh=new Map,Xh=new Map;function ed(){const e=[...fn];for(const n of Zh)n(e)}function zf(e){const n=Yh.get(e);n&&(clearTimeout(n),Yh.delete(e));const s=Xh.get(e);s&&(clearTimeout(s),Xh.delete(e))}function c3(e){zf(e);const n=fn.length;fn=fn.filter(s=>s.id!==e),fn.length!==n&&ed()}function rx(e){zf(e.id),Yh.set(e.id,setTimeout(()=>{Jh(e.id)},e.durationMs))}function xV(e,n,s){return typeof e=="string"?{title:e,tone:n,durationMs:s}:e}function en(e,n="negative",s=gV){const r=xV(e,n,s),u={id:String(++vV),title:r.title,detail:r.detail,tone:r.tone??n,durationMs:r.durationMs??s,dedupeKey:r.dedupeKey,cta:r.cta,state:"open"};if(r.dedupeKey){const f=fn.find(g=>g.dedupeKey===r.dedupeKey);if(f){if((r.dedupeMode??"drop")==="drop")return f.id;const g={...f,title:u.title,detail:u.detail,tone:u.tone,durationMs:u.durationMs,cta:u.cta,state:"open"};return fn=fn.map(b=>b.id===f.id?g:b),ed(),rx(g),f.id}}return fn.length>=yV&&c3(fn[0].id),fn=[...fn,u],ed(),rx(u),u.id}function Jh(e){const n=fn.find(s=>s.id===e);!n||n.state==="closing"||(zf(e),fn=fn.map(s=>s.id===e?{...s,state:"closing"}:s),ed(),Xh.set(e,setTimeout(()=>{c3(e)},bV)))}function kV(e){return Zh.add(e),()=>{Zh.delete(e)}}function lx(){return fn}const wV=5*6e4,Vu=30*6e4,RZ=3e4,DZ=6e4,or=3e4,SV=2e3,jV=3e4;function AV(){return new oA({defaultOptions:{queries:{staleTime:wV,retry:1,refetchOnWindowFocus:!1}},mutationCache:new rA({onError:(n,s,r,u)=>{u.meta?.skipGlobalErrorToast||en({title:n instanceof Error?n.message:"An unexpected error occurred",tone:"negative"})}})})}const CV="modulepreload",NV=function(e,n){return new URL(e,n).href},cx={},yi=function(n,s,r){let u=Promise.resolve();if(s&&s.length>0){let k=function(S){return Promise.all(S.map(A=>Promise.resolve(A).then(z=>({status:"fulfilled",value:z}),z=>({status:"rejected",reason:z}))))};const g=document.getElementsByTagName("link"),b=document.querySelector("meta[property=csp-nonce]"),v=b?.nonce||b?.getAttribute("nonce");u=k(s.map(S=>{if(S=NV(S,r),S in cx)return;cx[S]=!0;const A=S.endsWith(".css"),z=A?'[rel="stylesheet"]':"";if(r)for(let F=g.length-1;F>=0;F--){const T=g[F];if(T.href===S&&(!A||T.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${S}"]${z}`))return;const C=document.createElement("link");if(C.rel=A?"stylesheet":CV,A||(C.as="script"),C.crossOrigin="",C.href=S,v&&C.setAttribute("nonce",v),document.head.appendChild(C),A)return new Promise((F,T)=>{C.addEventListener("load",F),C.addEventListener("error",()=>T(new Error(`Unable to preload CSS for ${S}`)))})}))}function f(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"&&f(b.reason);return n().catch(f)})};var _V=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(_V||{});const OZ={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},qZ={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},zV=nf;function EV(e){const n=[];if(e.message&&n.push(e.message),e.providers)for(const[s,r]of Object.entries(e.providers)){const u=`[${s}] ${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 TV(e){return e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function PZ(e){if(!e)return"—";try{return new Date(e).toLocaleString()}catch{return e}}function BZ(e){return e===null?"Unknown":e?"Pass":"Fail"}function ux(e){return e===0?"12:00 AM":e<12?`${e}:00 AM`:e===12?"12:00 PM":`${e-12}:00 PM`}function IZ(e,n){return e==="twice-daily"?"twice-daily":e.startsWith("weekly@")?`${e}@${n}`:`daily@${n}`}function MZ(e,n){if(!e)return{freq:"custom",hour:6,customCron:n};if(e==="twice-daily")return{freq:"twice-daily",hour:6,customCron:""};const s=e.match(/^daily(?:@(\d+))?$/);if(s)return{freq:"daily",hour:s[1]?parseInt(s[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 VZ(e,n,s){const r=s==="UTC"?"UTC":s.split("/").pop()?.replace(/_/g," ")??s;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 ${ux(g)} · ${r}`}const f=e.match(/^weekly@(mon|tue|wed|thu|fri|sat|sun)(?:@(\d+))?$/);if(f){const g={mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday",sun:"Sunday"},b=f[2]?parseInt(f[2]):6;return`Every ${g[f[1]]} at ${ux(b)} · ${r}`}return`${e} · ${r}`}function RV(e,n){return n&&n!==e?`${e} · ${n}`:e}function LZ(){const e=Intl.DateTimeFormat().resolvedOptions().timeZone,n=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts().find(s=>s.type==="timeZoneName")?.value;return RV(e,n)}function DV(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 OV(e,n){return!n||n.includes(e)}const u3=["overview","search-console","local","report","activity","backlinks","technical-aeo","history","settings"],qV=new Set(u3);function PV(e){const n=e??u3,s=[...new Set(n.filter(r=>qV.has(r)))];return s.length>0?s:["overview"]}function UZ(e){return e?PV(e.projectTabs):void 0}function GZ(e,n){return OV(e,n)||!n?e:n.includes("overview")?"overview":n[0]??"overview"}const dx={bg:"--canonry-embed-bg",fg:"--canonry-embed-fg",accent:"--color-link"},BV=/^(?:#(?:[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 IV(e){const n=e?.mode?.trim();return n==="light"||n==="dark"?n:void 0}function MV(e){if(!e)return{};const n={};for(const[s,r]of Object.entries(e)){const u=Object.hasOwn(dx,s)?dx[s]:void 0;if(!u||typeof r!="string")continue;const f=r.trim();BV.test(f)&&(n[u]=f)}return n}const de=(e,n,s,r)=>{const u={_id:e,baseUrl:n?.baseUrl||(n?.client??O).getConfig().baseUrl};return s&&(u._infinite=s),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]},is=e=>de("getApiV1Projects",e),to=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await jP({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:is(e)}),VV=e=>de("getApiV1ProjectsByName",e),LV=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await KS({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:VV(e)}),UV=e=>de("getApiV1ProjectsByNameMeasurementPlan",e),$Z=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await _P({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:UV(e)}),GV=e=>de("getApiV1ProjectsByNameMeasurementReport",e),KZ=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await zP({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:GV(e)}),$V=e=>de("getApiV1ProjectsByNameMeasurementSetup",e),KV=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await EP({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:$V(e)}),ac=(e,n)=>{const s={...e[0]};return n.body&&(s.body={...e[0].body,...n.body}),n.headers&&(s.headers={...e[0].headers,...n.headers}),n.path&&(s.path={...e[0].path,...n.path}),n.query&&(s.query={...e[0].query,...n.query}),s},HZ=e=>({mutationFn:async s=>{const{data:r}=await TP({...e,...s,throwOnError:!0});return r}}),HV=e=>de("getApiV1ProjectsByNameMeasurementOverview",e),QZ=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await HS({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:HV(e)}),QV=e=>de("getApiV1ProjectsByNameMeasurementOverview",e,!0),FZ=e=>Hl({queryFn:async({pageParam:n,queryKey:s,signal:r})=>{const f=ac(s,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await HS({...e,...f,signal:r,throwOnError:!0});return g},queryKey:QV(e)}),FV=e=>de("getApiV1ProjectsByNameVisibilityReport",e),ZZ=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await RP({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:FV(e)}),ZV=e=>de("getApiV1ProjectsByNameMeasurementPropertyEvidence",e,!0),YZ=e=>Hl({queryFn:async({pageParam:n,queryKey:s,signal:r})=>{const f=ac(s,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await DP({...e,...f,signal:r,throwOnError:!0});return g},queryKey:ZV(e)}),YV=e=>de("getApiV1ProjectsByNameMeasurementQuestionResult",e),XZ=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await OP({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:YV(e)}),XV=e=>de("getApiV1ProjectsByNameMeasurementPropertyCompetitors",e),JZ=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await qP({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:XV(e)}),JV=e=>de("getApiV1ProjectsByNameMeasurementQueryTemplates",e),WZ=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await PP({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:JV(e)}),eY=e=>({mutationFn:async s=>{const{data:r}=await BP({...e,...s,throwOnError:!0});return r}}),WV=e=>de("getApiV1ProjectsByNameResearchRuns",e,!0),tY=e=>Hl({queryFn:async({pageParam:n,queryKey:s,signal:r})=>{const f=ac(s,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await IP({...e,...f,signal:r,throwOnError:!0});return g},queryKey:WV(e)}),nY=e=>({mutationFn:async s=>{const{data:r}=await MP({...e,...s,throwOnError:!0});return r}}),eL=e=>de("getApiV1ProjectsByNameQueryTracking",e),aY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await VP({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:eL(e)}),iY=e=>({mutationFn:async s=>{const{data:r}=await LP({...e,...s,throwOnError:!0});return r}}),sY=e=>({mutationFn:async s=>{const{data:r}=await UP({...e,...s,throwOnError:!0});return r}}),tL=e=>de("getApiV1ProjectsByNameResearchRunsByRunId",e),oY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await GP({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:tL(e)}),d3=e=>de("getApiV1ProjectsByNameQueries",e),rY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await QS({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:d3(e)}),nL=e=>de("getApiV1ProjectsByNameAnalyticsCompetitors",e),lY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await eB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:nL(e)}),aL=e=>de("getApiV1ProjectsByNameRuns",e),m3=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await FS({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:aL(e)}),Ef=e=>de("getApiV1Runs",e),Pd=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await nB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:Ef(e)}),iL=e=>de("getApiV1RunsById",e),Tf=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await ZS({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:iL(e)}),sL=e=>de("getApiV1ProjectsByNameHistory",e),cY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await sB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:sL(e)}),oL=e=>de("getApiV1History",e),uY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await oB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:oL(e)}),rL=e=>de("getApiV1ProjectsByNameSnapshotsDiff",e),dY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await cB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:rL(e)}),lL=e=>de("getApiV1Settings",e),cL=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await YS({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:lL(e)}),uL=e=>de("getApiV1ProjectsByNameSchedule",e),dL=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await gB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:uL(e)}),mL=e=>de("getApiV1ProjectsByNameSchedules",e),mY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await bB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:mL(e)}),p3=e=>de("getApiV1Telemetry",e),pL=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await SB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:p3(e)}),hL=e=>({mutationFn:async s=>{const{data:r}=await jB({...e,...s,throwOnError:!0});return r}}),fL=e=>de("getApiV1CdpStatus",e),gL=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await XS({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:fL(e)}),yL=e=>de("getApiV1ProjectsByNameGoogleAdsStatus",e),pY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await CB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:yL(e)}),hY=e=>({mutationFn:async s=>{const{data:r}=await NB({...e,...s,throwOnError:!0});return r}}),bL=e=>de("getApiV1ProjectsByNameGoogleAdsCustomers",e),fY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await _B({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:bL(e)}),gY=e=>({mutationFn:async s=>{const{data:r}=await zB({...e,...s,throwOnError:!0});return r}}),yY=e=>({mutationFn:async s=>{const{data:r}=await EB({...e,...s,throwOnError:!0});return r}}),vL=e=>de("getApiV1ProjectsByNameGoogleAdsPerformance",e),bY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await TB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:vL(e)}),xL=e=>de("getApiV1ProjectsByNameGoogleAdsSnapshots",e),vY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await RB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:xL(e)}),xY=e=>({mutationFn:async s=>{const{data:r}=await DB({...e,...s,throwOnError:!0});return r}}),kL=e=>de("getApiV1ProjectsByNameGtmStatus",e),kY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await OB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:kL(e)}),wY=e=>({mutationFn:async s=>{const{data:r}=await qB({...e,...s,throwOnError:!0});return r}}),wL=e=>de("getApiV1ProjectsByNameGtmAccounts",e),SY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await PB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:wL(e)}),SL=e=>de("getApiV1ProjectsByNameGtmAccountsByAccountIdContainers",e),jY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await BB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:SL(e)}),jL=e=>de("getApiV1ProjectsByNameGtmAccountsByAccountIdContainersByContainerIdWorkspaces",e),AY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await IB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:jL(e)}),CY=e=>({mutationFn:async s=>{const{data:r}=await MB({...e,...s,throwOnError:!0});return r}}),NY=e=>({mutationFn:async s=>{const{data:r}=await VB({...e,...s,throwOnError:!0});return r}}),AL=e=>de("getApiV1ProjectsByNameGtmSnapshots",e),_Y=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await LB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:AL(e)}),zY=e=>({mutationFn:async s=>{const{data:r}=await UB({...e,...s,throwOnError:!0});return r}}),CL=e=>de("getApiV1ProjectsByNameConversionTrackingOptions",e),EY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await GB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:CL(e)}),NL=e=>de("getApiV1ProjectsByNameConversionTrackingContracts",e),TY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await $B({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:NL(e)}),RY=e=>({mutationFn:async s=>{const{data:r}=await KB({...e,...s,throwOnError:!0});return r}}),_L=e=>de("getApiV1ProjectsByNameConversionTrackingContractsByContractIdIntegrity",e),DY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await HB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:_L(e)}),zL=e=>de("getApiV1ProjectsByNameGoogleConnections",e),OY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await QB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:zL(e)}),EL=e=>de("getApiV1ProjectsByNameGoogleProperties",e),qY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await YB({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:EL(e)}),TL=e=>de("getApiV1ProjectsByNameGoogleGscPerformance",e),PY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await eI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:TL(e)}),RL=e=>de("getApiV1ProjectsByNameGoogleGscPerformanceDaily",e),BY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await tI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:RL(e)}),DL=e=>de("getApiV1ProjectsByNameGoogleGscInspections",e),IY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await aI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:DL(e)}),OL=e=>de("getApiV1ProjectsByNameGoogleGscDeindexed",e),MY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await iI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:OL(e)}),qL=e=>de("getApiV1ProjectsByNameGoogleGscCoverage",e),VY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await sI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:qL(e)}),PL=e=>de("getApiV1ProjectsByNameGoogleGscCoverageHistory",e),LY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await oI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:PL(e)}),UY=e=>de("getApiV1ProjectsByNameGoogleGscSitemaps",e),BL=e=>de("getApiV1ProjectsByNameGbpLocations",e),GY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await uI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:BL(e)}),$Y=e=>({mutationFn:async s=>{const{data:r}=await dI({...e,...s,throwOnError:!0});return r}}),KY=e=>({mutationFn:async s=>{const{data:r}=await mI({...e,...s,throwOnError:!0});return r}}),IL=e=>de("getApiV1ProjectsByNameGbpKeywords",e),HY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await pI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:IL(e)}),ML=e=>de("getApiV1ProjectsByNameGbpPlaceActions",e),QY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await hI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:ML(e)}),VL=e=>de("getApiV1ProjectsByNameGbpLodging",e),FY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await fI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:VL(e)}),LL=e=>de("getApiV1ProjectsByNameGbpPlaces",e),ZY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await gI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:LL(e)}),UL=e=>de("getApiV1ProjectsByNameGbpSummary",e),YY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await yI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:UL(e)}),GL=e=>de("getApiV1ProjectsByNameBingStatus",e),XY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await xI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:GL(e)}),$L=e=>de("getApiV1ProjectsByNameBingSites",e),JY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await kI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:$L(e)}),KL=e=>de("getApiV1ProjectsByNameBingCoverage",e),WY=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await SI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:KL(e)}),HL=e=>de("getApiV1ProjectsByNameBingInspections",e),eX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await jI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:HL(e)}),QL=e=>de("getApiV1ProjectsByNameBingPerformance",e),tX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await _I({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:QL(e)}),FL=e=>de("getApiV1ProjectsByNameGaStatus",e),nX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await TI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:FL(e)}),ZL=e=>de("getApiV1ProjectsByNameGaTraffic",e),aX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await DI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:ZL(e)}),YL=e=>de("getApiV1ProjectsByNameGaAiReferralDaily",e),iX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await OI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:YL(e)}),XL=e=>de("getApiV1ProjectsByNameGaSocialReferralHistory",e),sX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await qI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:XL(e)}),JL=e=>de("getApiV1ProjectsByNameGaSessionHistory",e),oX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await PI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:JL(e)}),WL=e=>de("getApiV1ProjectsByNameReport",e),rX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await II({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:WL(e)}),eU=e=>de("getApiV1ProjectsByNameHealthHistory",e),lX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await MI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:eU(e)}),tU=e=>de("getApiV1ProjectsByNameCitationsVisibility",e),cX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await VI({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:tU(e)}),nU=e=>de("getApiV1ProjectsByNameTrafficSources",e),uX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await oM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:nU(e)}),aU=e=>de("getApiV1ProjectsByNameTrafficStatus",e),dX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await rM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:aU(e)}),iU=e=>de("getApiV1ProjectsByNameTrafficSourcesById",e),mX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await lM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:iU(e)}),sU=e=>de("getApiV1ProjectsByNameTrafficEvents",e),pX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await cM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:sU(e)}),oU=e=>de("getApiV1ProjectsByNameDiscoverSessions",e),hX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await dM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:oU(e)}),rU=e=>de("getApiV1ProjectsByNameDiscoverSessionsById",e),fX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await mM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:rU(e)}),lU=e=>de("getApiV1ProjectsByNameTechnicalAeo",e),cU=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await pM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:lU(e)}),uU=e=>de("getApiV1ProjectsByNameTechnicalAeoPages",e),gX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await hM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:uU(e)}),dU=e=>de("getApiV1ProjectsByNameTechnicalAeoTrend",e),yX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await fM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:dU(e)}),mU=e=>de("getApiV1ProjectsByNameTechnicalAeoCrawl",e),bX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await gM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:mU(e)}),pU=e=>de("getApiV1ProjectsByNameTechnicalAeoGraph",e),vX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await yM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:pU(e)}),hU=e=>de("getApiV1ProjectsByNameTechnicalAeoCrawlPagesAudit",e),xX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await bM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:hU(e)}),fU=e=>de("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e),kX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await JS({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:fU(e)}),gU=e=>de("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e,!0),wX=e=>Hl({queryFn:async({pageParam:n,queryKey:s,signal:r})=>{const f=ac(s,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await JS({...e,...f,signal:r,throwOnError:!0});return g},queryKey:gU(e)}),yU=e=>de("getApiV1ProjectsByNameTechnicalAeoStructure",e,!0),SX=e=>Hl({queryFn:async({pageParam:n,queryKey:s,signal:r})=>{const f=ac(s,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await vM({...e,...f,signal:r,throwOnError:!0});return g},queryKey:yU(e)}),bU=e=>de("getApiV1ProjectsByNameTechnicalAeoInternalLinksNeighbors",e),jX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await xM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:bU(e)}),vU=e=>de("getApiV1ProjectsByNameTechnicalAeoDeadLinks",e),AX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await kM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:vU(e)}),xU=e=>de("getApiV1ProjectsByNameTechnicalAeoRuns",e),CX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await wM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:xU(e)}),kU=e=>de("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdProgress",e),NX=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await jM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:kU(e)}),wU=e=>de("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdPageHealthPreview",e),_X=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await AM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:wU(e)}),SU=e=>de("getApiV1ProjectsByNameAgentProviders",e),jU=e=>he({queryFn:async({queryKey:n,signal:s})=>{const{data:r}=await CM({...e,...n[0],signal:s,throwOnError:!0});return r},queryKey:SU(e)});function mx(e){return e.state==="ok"?"positive":e.state==="checking"||e.state==="disabled"?"neutral":"negative"}function h3(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 zX(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 EX={positive:"text-positive-400",caution:"text-caution-400",negative:"text-negative-400",neutral:"text-secondary"};function AU(e){return e.displayName??e.name.charAt(0).toUpperCase()+e.name.slice(1)}function rr(e){const n=[e.detail,e.hint].filter(Boolean);return n.length>0?n.join(`
|
|
57
|
+
`):void 0}function CU(e,n,s){const r=e.filter(g=>g.id!=="mcp").map(g=>{if(g.id==="api")return{...g,tone:mx(n.apiStatus),detail:n.apiStatus.state==="ok"?"Healthy":"Needs attention",meta:n.apiStatus.detail};if(g.id==="worker")return{...g,tone:mx(n.workerStatus),detail:n.workerStatus.state==="ok"?"Healthy":n.workerStatus.state==="disabled"?"Disabled":"Needs attention",meta:n.workerStatus.detail};const b=s.providerStatuses.filter(A=>A.state==="ready").length,v=s.providerStatuses.length,k=b>0,S=s.providerStatuses.filter(A=>A.state==="ready").map(A=>AU(A)).join(" · ");return{...g,label:"Providers",tone:k?"positive":"caution",detail:`${b} of ${v} configured`,meta:S||"None configured"}}),u=n.apiStatus.mcp,f={id:"mcp",label:"MCP",tone:"neutral",detail:"Unknown",meta:"MCP status is not available from this server."};return n.apiStatus.state==="checking"?(f.detail="Checking",f.meta="Checking MCP availability."):n.apiStatus.state==="ok"&&u&&(u.status==="available"?(f.tone="positive",f.detail="Available",f.meta="MCP is available for agent connections. This checks the server transport, not an individual client connection."):u.status==="unavailable"?(f.tone="negative",f.detail="Unavailable",f.meta="The MCP transport is not fully available. Contact your Canonry team."):(f.detail="Not enabled",f.meta="This server does not provide an MCP endpoint.")),r.splice(Math.max(0,r.findIndex(g=>g.id==="api")+1),0,f),r}function NU(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(s=>s.state==="ready"))return"Launch is blocked until at least one provider is configured."}function _U(e,n,s){const r=NU(n,s),u=structuredClone(e);return u.healthChecks=u.healthChecks.map(f=>{if(f.id==="api")return{...f,detail:n.apiStatus.detail,state:n.apiStatus.state==="ok"?"ready":"attention"};if(f.id==="worker")return{...f,detail:n.workerStatus.detail,state:n.workerStatus.state==="ok"?"ready":"attention"};const g=s.providerStatuses.some(b=>b.state==="ready");return{...f,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 f3="canonry.run-tracker",Wh=new Set;let px=!1,zU=0,Bd={runs:{},batches:{}};function EU(){const e=gi();for(const n of Wh)n(e)}function TU(e){if(!e)return{runs:{},batches:{}};try{const n=JSON.parse(e);return{runs:n.runs??{},batches:n.batches??{}}}catch{return{runs:{},batches:{}}}}function RU(){typeof window>"u"||window.sessionStorage.setItem(f3,JSON.stringify(Bd))}function g3(){px||(px=!0,!(typeof window>"u")&&(Bd=TU(window.sessionStorage.getItem(f3))))}function Id(e){Bd=e,RU(),EU()}function gi(){return g3(),Bd}function y3(e){return g3(),Wh.add(e),()=>{Wh.delete(e)}}function Rf(e){const n=gi();Id({...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 bh(e){const n=gi();if(!n.runs[e])return;const{[e]:s,...r}=n.runs;Id({...n,runs:r})}function DU(e){const n=gi(),s=`batch_${Date.now()}_${++zU}`;return Id({...n,batches:{...n.batches,[s]:{batchId:s,runIds:e.runIds,queuedCount:e.queuedCount,skippedCount:e.skippedCount}}}),s}function OU(e){const n=gi();if(!n.batches[e])return;const{[e]:s,...r}=n.batches;Id({...n,batches:r})}function qU(e){return e==="completed"||e==="partial"||e==="failed"||e==="cancelled"}const PU=10*6e4;function BU(e,n,s,r){return e.filter(u=>!n.has(u.runId)&&s-(u.trackedAt??0)>=r)}function IU(e,n){let s=0,r=0,u=0,f=0,g=0;for(const b of e){const v=n[b]?.status;v==="completed"?s+=1:v==="partial"?r+=1:v==="failed"?u+=1:v==="cancelled"?f+=1:g+=1}return{completed:s,partial:r,failed:u,cancelled:f,pending:g,finished:g===0}}const hx=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,fx=i2,b3=(e,n)=>s=>{var r;if(n?.variants==null)return fx(e,s?.class,s?.className);const{variants:u,defaultVariants:f}=n,g=Object.keys(u).map(k=>{const S=s?.[k],A=f?.[k];if(S===null)return null;const z=hx(S)||hx(A);return u[k][z]}),b=s&&Object.entries(s).reduce((k,S)=>{let[A,z]=S;return z===void 0||(k[A]=z),k},{}),v=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((k,S)=>{let{class:A,className:z,...C}=S;return Object.entries(C).every(F=>{let[T,I]=F;return Array.isArray(I)?I.includes({...f,...b}[T]):{...f,...b}[T]===I})?[...k,A,z]:k},[]);return fx(e,g,v,s?.class,s?.className)},MU=(e,n)=>{const s=new Array(e.length+n.length);for(let r=0;r<e.length;r++)s[r]=e[r];for(let r=0;r<n.length;r++)s[e.length+r]=n[r];return s},VU=(e,n)=>({classGroupId:e,validator:n}),v3=(e=new Map,n=null,s)=>({nextPart:e,validators:n,classGroupId:s}),td="-",gx=[],LU="arbitrary..",UU=e=>{const n=$U(e),{conflictingClassGroups:s,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:g=>{if(g.startsWith("[")&&g.endsWith("]"))return GU(g);const b=g.split(td),v=b[0]===""&&b.length>1?1:0;return x3(b,v,n)},getConflictingClassGroupIds:(g,b)=>{if(b){const v=r[g],k=s[g];return v?k?MU(k,v):v:k||gx}return s[g]||gx}}},x3=(e,n,s)=>{if(e.length-n===0)return s.classGroupId;const u=e[n],f=s.nextPart.get(u);if(f){const k=x3(e,n+1,f);if(k)return k}const g=s.validators;if(g===null)return;const b=n===0?e.join(td):e.slice(n).join(td),v=g.length;for(let k=0;k<v;k++){const S=g[k];if(S.validator(b))return S.classGroupId}},GU=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),s=n.indexOf(":"),r=n.slice(0,s);return r?LU+r:void 0})(),$U=e=>{const{theme:n,classGroups:s}=e;return KU(s,n)},KU=(e,n)=>{const s=v3();for(const r in e){const u=e[r];Df(u,s,r,n)}return s},Df=(e,n,s,r)=>{const u=e.length;for(let f=0;f<u;f++){const g=e[f];HU(g,n,s,r)}},HU=(e,n,s,r)=>{if(typeof e=="string"){QU(e,n,s);return}if(typeof e=="function"){FU(e,n,s,r);return}ZU(e,n,s,r)},QU=(e,n,s)=>{const r=e===""?n:k3(n,e);r.classGroupId=s},FU=(e,n,s,r)=>{if(YU(e)){Df(e(r),n,s,r);return}n.validators===null&&(n.validators=[]),n.validators.push(VU(s,e))},ZU=(e,n,s,r)=>{const u=Object.entries(e),f=u.length;for(let g=0;g<f;g++){const[b,v]=u[g];Df(v,k3(n,b),s,r)}},k3=(e,n)=>{let s=e;const r=n.split(td),u=r.length;for(let f=0;f<u;f++){const g=r[f];let b=s.nextPart.get(g);b||(b=v3(),s.nextPart.set(g,b)),s=b}return s},YU=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,XU=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,s=Object.create(null),r=Object.create(null);const u=(f,g)=>{s[f]=g,n++,n>e&&(n=0,r=s,s=Object.create(null))};return{get(f){let g=s[f];if(g!==void 0)return g;if((g=r[f])!==void 0)return u(f,g),g},set(f,g){f in s?s[f]=g:u(f,g)}}},e0="!",yx=":",JU=[],bx=(e,n,s,r,u)=>({modifiers:e,hasImportantModifier:n,baseClassName:s,maybePostfixModifierPosition:r,isExternal:u}),WU=e=>{const{prefix:n,experimentalParseClassName:s}=e;let r=u=>{const f=[];let g=0,b=0,v=0,k;const S=u.length;for(let T=0;T<S;T++){const I=u[T];if(g===0&&b===0){if(I===yx){f.push(u.slice(v,T)),v=T+1;continue}if(I==="/"){k=T;continue}}I==="["?g++:I==="]"?g--:I==="("?b++:I===")"&&b--}const A=f.length===0?u:u.slice(v);let z=A,C=!1;A.endsWith(e0)?(z=A.slice(0,-1),C=!0):A.startsWith(e0)&&(z=A.slice(1),C=!0);const F=k&&k>v?k-v:void 0;return bx(f,C,z,F)};if(n){const u=n+yx,f=r;r=g=>g.startsWith(u)?f(g.slice(u.length)):bx(JU,!1,g,void 0,!0)}if(s){const u=r;r=f=>s({className:f,parseClassName:u})}return r},eG=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((s,r)=>{n.set(s,1e6+r)}),s=>{const r=[];let u=[];for(let f=0;f<s.length;f++){const g=s[f],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}},tG=e=>({cache:XU(e.cacheSize),parseClassName:WU(e),sortModifiers:eG(e),...UU(e)}),nG=/\s+/,aG=(e,n)=>{const{parseClassName:s,getClassGroupId:r,getConflictingClassGroupIds:u,sortModifiers:f}=n,g=[],b=e.trim().split(nG);let v="";for(let k=b.length-1;k>=0;k-=1){const S=b[k],{isExternal:A,modifiers:z,hasImportantModifier:C,baseClassName:F,maybePostfixModifierPosition:T}=s(S);if(A){v=S+(v.length>0?" "+v:v);continue}let I=!!T,X=r(I?F.substring(0,T):F);if(!X){if(!I){v=S+(v.length>0?" "+v:v);continue}if(X=r(F),!X){v=S+(v.length>0?" "+v:v);continue}I=!1}const J=z.length===0?"":z.length===1?z[0]:f(z).join(":"),V=C?J+e0:J,le=V+X;if(g.indexOf(le)>-1)continue;g.push(le);const ie=u(X,I);for(let re=0;re<ie.length;++re){const H=ie[re];g.push(V+H)}v=S+(v.length>0?" "+v:v)}return v},iG=(...e)=>{let n=0,s,r,u="";for(;n<e.length;)(s=e[n++])&&(r=w3(s))&&(u&&(u+=" "),u+=r);return u},w3=e=>{if(typeof e=="string")return e;let n,s="";for(let r=0;r<e.length;r++)e[r]&&(n=w3(e[r]))&&(s&&(s+=" "),s+=n);return s},sG=(e,...n)=>{let s,r,u,f;const g=v=>{const k=n.reduce((S,A)=>A(S),e());return s=tG(k),r=s.cache.get,u=s.cache.set,f=b,b(v)},b=v=>{const k=r(v);if(k)return k;const S=aG(v,s);return u(v,S),S};return f=g,(...v)=>f(iG(...v))},oG=[],Ft=e=>{const n=s=>s[e]||oG;return n.isThemeGetter=!0,n},S3=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,j3=/^\((?:(\w[\w-]*):)?(.+)\)$/i,rG=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,lG=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,cG=/\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$/,uG=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,dG=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,mG=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Yi=e=>rG.test(e),Ze=e=>!!e&&!Number.isNaN(Number(e)),Xi=e=>!!e&&Number.isInteger(Number(e)),vh=e=>e.endsWith("%")&&Ze(e.slice(0,-1)),mi=e=>lG.test(e),A3=()=>!0,pG=e=>cG.test(e)&&!uG.test(e),Of=()=>!1,hG=e=>dG.test(e),fG=e=>mG.test(e),gG=e=>!xe(e)&&!Se(e),yG=e=>ps(e,_3,Of),xe=e=>S3.test(e),Ls=e=>ps(e,z3,pG),vx=e=>ps(e,AG,Ze),bG=e=>ps(e,T3,A3),vG=e=>ps(e,E3,Of),xx=e=>ps(e,C3,Of),xG=e=>ps(e,N3,fG),Tu=e=>ps(e,R3,hG),Se=e=>j3.test(e),zl=e=>no(e,z3),kG=e=>no(e,E3),kx=e=>no(e,C3),wG=e=>no(e,_3),SG=e=>no(e,N3),Ru=e=>no(e,R3,!0),jG=e=>no(e,T3,!0),ps=(e,n,s)=>{const r=S3.exec(e);return r?r[1]?n(r[1]):s(r[2]):!1},no=(e,n,s=!1)=>{const r=j3.exec(e);return r?r[1]?n(r[1]):s:!1},C3=e=>e==="position"||e==="percentage",N3=e=>e==="image"||e==="url",_3=e=>e==="length"||e==="size"||e==="bg-size",z3=e=>e==="length",AG=e=>e==="number",E3=e=>e==="family-name",T3=e=>e==="number"||e==="weight",R3=e=>e==="shadow",CG=()=>{const e=Ft("color"),n=Ft("font"),s=Ft("text"),r=Ft("font-weight"),u=Ft("tracking"),f=Ft("leading"),g=Ft("breakpoint"),b=Ft("container"),v=Ft("spacing"),k=Ft("radius"),S=Ft("shadow"),A=Ft("inset-shadow"),z=Ft("text-shadow"),C=Ft("drop-shadow"),F=Ft("blur"),T=Ft("perspective"),I=Ft("aspect"),X=Ft("ease"),J=Ft("animate"),V=()=>["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(),Se,xe],re=()=>["auto","hidden","clip","visible","scroll"],H=()=>["auto","contain","none"],K=()=>[Se,xe,v],Te=()=>[Yi,"full","auto",...K()],Qe=()=>[Xi,"none","subgrid",Se,xe],Fe=()=>["auto",{span:["full",Xi,Se,xe]},Xi,Se,xe],Re=()=>[Xi,"auto",Se,xe],ke=()=>["auto","min","max","fr",Se,xe],Be=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],be=()=>["start","end","center","stretch","center-safe","end-safe"],B=()=>["auto",...K()],ee=()=>[Yi,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...K()],pe=()=>[Yi,"screen","full","dvw","lvw","svw","min","max","fit",...K()],Ce=()=>[Yi,"screen","full","lh","dvh","lvh","svh","min","max","fit",...K()],W=()=>[e,Se,xe],De=()=>[...le(),kx,xx,{position:[Se,xe]}],ze=()=>["no-repeat",{repeat:["","x","y","space","round"]}],we=()=>["auto","cover","contain",wG,yG,{size:[Se,xe]}],se=()=>[vh,zl,Ls],U=()=>["","none","full",k,Se,xe],q=()=>["",Ze,zl,Ls],ce=()=>["solid","dashed","dotted","double"],Oe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ye=()=>[Ze,vh,kx,xx],nt=()=>["","none",F,Se,xe],Le=()=>["none",Ze,Se,xe],kt=()=>["none",Ze,Se,xe],oe=()=>[Ze,Se,xe],Ve=()=>[Yi,"full",...K()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[mi],breakpoint:[mi],color:[A3],container:[mi],"drop-shadow":[mi],ease:["in","out","in-out"],font:[gG],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[mi],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[mi],shadow:[mi],spacing:["px",Ze],text:[mi],"text-shadow":[mi],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Yi,xe,Se,I]}],container:["container"],columns:[{columns:[Ze,xe,Se,b]}],"break-after":[{"break-after":V()}],"break-before":[{"break-before":V()}],"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:Te()}],"inset-x":[{"inset-x":Te()}],"inset-y":[{"inset-y":Te()}],start:[{"inset-s":Te(),start:Te()}],end:[{"inset-e":Te(),end:Te()}],"inset-bs":[{"inset-bs":Te()}],"inset-be":[{"inset-be":Te()}],top:[{top:Te()}],right:[{right:Te()}],bottom:[{bottom:Te()}],left:[{left:Te()}],visibility:["visible","invisible","collapse"],z:[{z:[Xi,"auto",Se,xe]}],basis:[{basis:[Yi,"full","auto",b,...K()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ze,Yi,"auto","initial","none",xe]}],grow:[{grow:["",Ze,Se,xe]}],shrink:[{shrink:["",Ze,Se,xe]}],order:[{order:[Xi,"first","last","none",Se,xe]}],"grid-cols":[{"grid-cols":Qe()}],"col-start-end":[{col:Fe()}],"col-start":[{"col-start":Re()}],"col-end":[{"col-end":Re()}],"grid-rows":[{"grid-rows":Qe()}],"row-start-end":[{row:Fe()}],"row-start":[{"row-start":Re()}],"row-end":[{"row-end":Re()}],"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:[...Be(),"normal"]}],"justify-items":[{"justify-items":[...be(),"normal"]}],"justify-self":[{"justify-self":["auto",...be()]}],"align-content":[{content:["normal",...Be()]}],"align-items":[{items:[...be(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...be(),{baseline:["","last"]}]}],"place-content":[{"place-content":Be()}],"place-items":[{"place-items":[...be(),"baseline"]}],"place-self":[{"place-self":["auto",...be()]}],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:B()}],mx:[{mx:B()}],my:[{my:B()}],ms:[{ms:B()}],me:[{me:B()}],mbs:[{mbs:B()}],mbe:[{mbe:B()}],mt:[{mt:B()}],mr:[{mr:B()}],mb:[{mb:B()}],ml:[{ml:B()}],"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",s,zl,Ls]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,jG,bG]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",vh,xe]}],"font-family":[{font:[kG,vG,n]}],"font-features":[{"font-features":[xe]}],"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,Se,xe]}],"line-clamp":[{"line-clamp":[Ze,"none",Se,vx]}],leading:[{leading:[f,...K()]}],"list-image":[{"list-image":["none",Se,xe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Se,xe]}],"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",Se,Ls]}],"text-decoration-color":[{decoration:W()}],"underline-offset":[{"underline-offset":[Ze,"auto",Se,xe]}],"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",Se,xe]}],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",Se,xe]}],"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:ze()}],"bg-size":[{bg:we()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Xi,Se,xe],radial:["",Se,xe],conic:[Xi,Se,xe]},SG,xG]}],"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:U()}],"rounded-s":[{"rounded-s":U()}],"rounded-e":[{"rounded-e":U()}],"rounded-t":[{"rounded-t":U()}],"rounded-r":[{"rounded-r":U()}],"rounded-b":[{"rounded-b":U()}],"rounded-l":[{"rounded-l":U()}],"rounded-ss":[{"rounded-ss":U()}],"rounded-se":[{"rounded-se":U()}],"rounded-ee":[{"rounded-ee":U()}],"rounded-es":[{"rounded-es":U()}],"rounded-tl":[{"rounded-tl":U()}],"rounded-tr":[{"rounded-tr":U()}],"rounded-br":[{"rounded-br":U()}],"rounded-bl":[{"rounded-bl":U()}],"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,Se,xe]}],"outline-w":[{outline:["",Ze,zl,Ls]}],"outline-color":[{outline:W()}],shadow:[{shadow:["","none",S,Ru,Tu]}],"shadow-color":[{shadow:W()}],"inset-shadow":[{"inset-shadow":["none",A,Ru,Tu]}],"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,Ls]}],"ring-offset-color":[{"ring-offset":W()}],"inset-ring-w":[{"inset-ring":q()}],"inset-ring-color":[{"inset-ring":W()}],"text-shadow":[{"text-shadow":["none",z,Ru,Tu]}],"text-shadow-color":[{"text-shadow":W()}],opacity:[{opacity:[Ze,Se,xe]}],"mix-blend":[{"mix-blend":[...Oe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Oe()}],"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":[Se,xe]}],"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:ze()}],"mask-size":[{mask:we()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Se,xe]}],filter:[{filter:["","none",Se,xe]}],blur:[{blur:nt()}],brightness:[{brightness:[Ze,Se,xe]}],contrast:[{contrast:[Ze,Se,xe]}],"drop-shadow":[{"drop-shadow":["","none",C,Ru,Tu]}],"drop-shadow-color":[{"drop-shadow":W()}],grayscale:[{grayscale:["",Ze,Se,xe]}],"hue-rotate":[{"hue-rotate":[Ze,Se,xe]}],invert:[{invert:["",Ze,Se,xe]}],saturate:[{saturate:[Ze,Se,xe]}],sepia:[{sepia:["",Ze,Se,xe]}],"backdrop-filter":[{"backdrop-filter":["","none",Se,xe]}],"backdrop-blur":[{"backdrop-blur":nt()}],"backdrop-brightness":[{"backdrop-brightness":[Ze,Se,xe]}],"backdrop-contrast":[{"backdrop-contrast":[Ze,Se,xe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ze,Se,xe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ze,Se,xe]}],"backdrop-invert":[{"backdrop-invert":["",Ze,Se,xe]}],"backdrop-opacity":[{"backdrop-opacity":[Ze,Se,xe]}],"backdrop-saturate":[{"backdrop-saturate":[Ze,Se,xe]}],"backdrop-sepia":[{"backdrop-sepia":["",Ze,Se,xe]}],"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",Se,xe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ze,"initial",Se,xe]}],ease:[{ease:["linear","initial",X,Se,xe]}],delay:[{delay:[Ze,Se,xe]}],animate:[{animate:["none",J,Se,xe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[T,Se,xe]}],"perspective-origin":[{"perspective-origin":ie()}],rotate:[{rotate:Le()}],"rotate-x":[{"rotate-x":Le()}],"rotate-y":[{"rotate-y":Le()}],"rotate-z":[{"rotate-z":Le()}],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:[Se,xe,"","none","gpu","cpu"]}],"transform-origin":[{origin:ie()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ve()}],"translate-x":[{"translate-x":Ve()}],"translate-y":[{"translate-y":Ve()}],"translate-z":[{"translate-z":Ve()}],"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",Se,xe]}],"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",Se,xe]}],fill:[{fill:["none",...W()]}],"stroke-w":[{stroke:[Ze,zl,Ls,vx]}],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"]}},NG=sG(CG);function da(...e){return NG(i2(e))}const _G=b3("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:s,asChild:r=!1,...u},f)=>{const g=r?fA:"button";return c.jsx(g,{ref:f,className:da(_G({variant:n,size:s,className:e})),...u})});fe.displayName="Button";const zG=b3("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 D3({className:e,variant:n,...s}){return c.jsx("div",{className:da(zG({variant:n}),e),...s})}const EG=220;function wx({compact:e=!1,version:n,updateAvailable:s,onDismissUpdate:r}){const u=!e&&n&&n!=="unknown",[f,g]=_.useState(!1),b=!e&&s&&r,v=()=>{g(!0),window.setTimeout(()=>{r?.(),g(!1)},EG)};return e?c.jsxs($e,{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($e,{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($e,{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 ${f?"brand-update-bubble-closing":""}`,role:"status","aria-live":"polite",children:[c.jsxs("a",{className:"brand-update-bubble-link",href:s.url,target:"_blank",rel:"noopener noreferrer",title:`Open release: ${s.upgradeCommand}`,"aria-label":`New version v${s.latest} available — open release page`,children:[c.jsxs("span",{className:"brand-update-bubble-from",children:["v",s.current]}),c.jsx(Il,{className:"brand-update-bubble-arrow size-3","aria-hidden":"true"}),c.jsxs("span",{className:"brand-update-bubble-to",children:["v",s.latest]})]}),c.jsx("button",{type:"button",className:"brand-update-bubble-dismiss",onClick:v,"aria-label":`Dismiss update notification for v${s.latest}`,children:c.jsx(lr,{className:"size-3","aria-hidden":"true"})})]}):null]})}function TG({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 hn({tone:e,children:n,...s}){const r=e==="positive"?"success":e==="caution"?"warning":e==="negative"?"destructive":"neutral";return c.jsx(D3,{variant:r,...s,children:n})}function qf({status:e}){return c.jsx(hn,{tone:h3(e),children:TV(e)})}const RG=a2,DG=e2,O3=_.forwardRef(({className:e,...n},s)=>c.jsx(r0,{ref:s,className:da("fixed inset-0 z-50 bg-overlay-scrim/70 backdrop-blur-sm",e),...n}));O3.displayName=r0.displayName;const OG=400,qG=1200,PG=720,q3=_.forwardRef(({className:e,children:n,...s},r)=>{const[u,f]=_.useState(PG),g=_.useRef(!1),b=_.useRef(0),v=_.useRef(0),k=_.useCallback(z=>{g.current=!0,b.current=z.clientX,v.current=u,z.target.setPointerCapture(z.pointerId),z.preventDefault()},[u]),S=_.useCallback(z=>{if(!g.current)return;const C=b.current-z.clientX,F=Math.min(qG,Math.max(OG,v.current+C));f(F)},[]),A=_.useCallback(()=>{g.current=!1},[]);return c.jsxs(DG,{children:[c.jsx(O3,{}),c.jsxs(l0,{ref:r,className:da("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)`},...s,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:k,onPointerMove:S,onPointerUp:A}),n,c.jsxs(t2,{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(lr,{className:"size-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]})]})]})});q3.displayName=l0.displayName;const BG=({className:e,...n})=>c.jsx("div",{className:da("flex flex-col gap-1.5 pr-10",e),...n}),P3=_.forwardRef(({className:e,...n},s)=>c.jsx(c0,{ref:s,className:da("text-lg font-medium text-primary",e),...n}));P3.displayName=c0.displayName;const B3=_.forwardRef(({className:e,...n},s)=>c.jsx(n2,{ref:s,className:da("text-sm text-muted",e),...n}));B3.displayName=n2.displayName;function Du({title:e,subtitle:n,children:s,open:r,onClose:u}){return c.jsx(RG,{open:r,onOpenChange:f=>f?void 0:u(),children:c.jsxs(q3,{children:[c.jsxs(BG,{className:"drawer-head",children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:n}),c.jsx(P3,{id:"drawer-title",children:e}),c.jsx(B3,{className:"sr-only",children:n})]}),c.jsx("div",{className:"drawer-body",children:s})]})})}function Gs({text:e}){const[n,s]=_.useState(null),r=_.useRef(null),u=_.useCallback(()=>{if(!r.current)return;const b=r.current.getBoundingClientRect();s({top:b.top,left:b.left+b.width/2})},[]),f=_.useCallback(()=>s(null),[]),g=_.useCallback(()=>{n===null?u():f()},[n,u,f]);return c.jsxs("span",{className:"info-tooltip-wrapper",onMouseEnter:u,onMouseLeave:f,children:[c.jsx("button",{ref:r,type:"button",className:"info-tooltip-trigger","aria-label":e,"aria-expanded":n!==null,onFocus:u,onBlur:f,onClick:g,onKeyDown:b=>{b.key==="Escape"&&f()},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&&lA.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 IG=/[\s\-_]+/;function MG(e){const n=e.split(IG).filter(Boolean);return n.length===0?null:n.map(s=>s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[\\s\\-_]*")}function Sx(e,n){const s=VG(n),r=e.split(/(\*\*[^*]+\*\*)/).filter(Boolean).map(k=>k.startsWith("**")&&k.endsWith("**")?{type:"bold",value:k.slice(2,-2)}:{type:"text",value:k}),u=s.flatMap(k=>k.terms).filter(k=>k.trim().length>1);if(u.length===0)return r.map((k,S)=>k.type==="bold"?$o.createElement("strong",{key:`b-${S}`,className:"text-strong font-semibold"},k.value):k.value).filter(Boolean);const g=[...u].sort((k,S)=>S.length-k.length).map(MG).filter(k=>!!k);if(g.length===0)return r.map((k,S)=>k.type==="bold"?$o.createElement("strong",{key:`b-${S}`,className:"text-strong font-semibold"},k.value):k.value).filter(Boolean);const b=new RegExp(`(${g.join("|")})`,"gi"),v=new Map;for(const k of s)for(const S of k.terms){const A=wa(S);A&&!v.has(A)&&v.set(A,k.className)}return r.flatMap((k,S)=>k.value.split(b).map((z,C)=>{if(!z)return null;if(C%2===1){const T=v.get(wa(z))??"answer-highlight";return k.type==="bold"?$o.createElement("mark",{key:`hl-${S}-${C}`,className:T},$o.createElement("strong",{className:"text-strong font-semibold"},z)):$o.createElement("mark",{key:`hl-${S}-${C}`,className:T},z)}return k.type==="bold"?$o.createElement("strong",{key:`b-${S}-${C}`,className:"text-strong font-semibold"},z):z})).filter(Boolean)}function VG(e){return e.length===0?[]:typeof e[0]=="string"?[{terms:e,className:"answer-highlight"}]:e}function t0(e){const n=(e??"").trim();return n&&(n.startsWith("/")||/^https?:\/\//i.test(n)||/^mailto:/i.test(n))?n:null}function xh(e,n){return{citedCompetitorDomains:[...e.citedCompetitorDomains??n?.citedCompetitorDomains??[]],mentionedCompetitorDomains:[...e.mentionedCompetitorDomains??n?.mentionedCompetitorDomains??[]]}}function kh(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 LG({evidence:e,project:n,onClose:s}){const[r,u]=_.useState(!1),[f,g]=_.useState("mentions"),[b,v]=_.useState(-1),[k,S]=_.useState(null),[A,z]=_.useState(!1),[C,F]=_.useState({}),T=sk(n.project),I=new Set(T.map(Qu)),X=e.runHistory,J=X.length>1,[V,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,Fh(se.runId).then(U=>{const q=U.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,...xh(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&&k!==null,H=re?k:V||{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,...xh(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",Te=K?!1:H.visibilityState!=null?H.visibilityState==="visible":H.answerMentioned!=null?H.answerMentioned:H.citationState===Xu.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,Re=n.project.displayName||n.project.name,ke=[...T.map(Qu),Re,Re.split(" ").slice(0,2).join(" "),...H.matchedTerms].filter(se=>se.trim().length>2),Be=[...H.mentionedCompetitorDomains.flatMap(se=>{const U=tk(se);return U.length>=4?[U]:[]}),...H.recommendedCompetitors].filter(se=>se.trim().length>2),be=[{terms:ke,className:"answer-highlight-brand"},...Be.length>0?[{terms:Be,className:"answer-highlight-competitor"}]:[]],B=K?"pending":H.visibilityTransition==="lost"?"lost":Te?"mentioned":"not-mentioned",ee=_.useRef(0),pe=_.useCallback(async se=>{const U=++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}z(!0);try{const Oe=await Fh(q.runId);if(U!==ee.current)return;const ye=Oe.snapshots?.find(Le=>Le.query===e.query&&Le.provider===e.provider)??Oe.snapshots?.find(Le=>Le.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,...xh(ye),recommendedCompetitors:ye.recommendedCompetitors??[],matchedTerms:ye.matchedTerms??[],groundingSources:ye.groundingSources,searchQueries:ye.searchQueries,evidenceUrls:[],changeLabel:kh(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:kh(q.mentionTransition??q.visibilityTransition,q.mentionState??q.visibilityState),summary:"Snapshot data not available for this run."};F(Le=>({...Le,[ce]:nt})),S(nt)}catch{if(U!==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:kh(q.mentionTransition??q.visibilityTransition,q.mentionState??q.visibilityState),summary:"Failed to load historical run data."})}finally{U===ee.current&&z(!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(" · "):"",ze=Te?{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},we=()=>{if(!H.answerSnippet)return null;const se=H.answerSnippet.split(`
|
|
58
|
+
`),U=[];let q=[],ce=0;const Oe=()=>{if(q.length===0)return;const ye=q.join(" ").trim();ye&&U.push(c.jsx("p",{className:U.length>0?"mt-2.5":"",children:Sx(ye,be)},ce++)),q=[]};for(const ye of se){const nt=ye.trim();if(/^[-\u2013\u2014]{3,}$/.test(nt)){Oe(),U.push(c.jsx("hr",{className:"border-default my-3"},ce++));continue}const Le=nt.match(/^(#{1,3})\s+(\S.*)$/);if(Le){Oe();const kt=Le[1].length,oe=Le[2].replace(/^[\p{Emoji}\p{Emoji_Component}\s]+/u,"").trim()||Le[2],Ve=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";U.push(c.jsx("p",{className:Ve,children:Sx(oe,be)},ce++));continue}if(nt===""){Oe();continue}q.push(nt)}return Oe(),U};return c.jsx(a2,{open:!0,onOpenChange:se=>{se||s()},children:c.jsxs(e2,{children:[c.jsx(r0,{className:"fixed inset-0 z-50 bg-overlay-scrim/80 backdrop-blur-sm"}),c.jsxs(l0,{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(c0,{className:"text-lg font-semibold text-primary truncate",children:e.query})]}),c.jsxs(t2,{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(lr,{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,U)=>{const q=b===-1&&U===X.length-1||b===U,ce=se.visibilityState??(se.answerMentioned?"visible":"not-visible"),Oe=se.visibilityTransition??ce,ye=ce==="visible"?"bg-positive-400":Oe==="emerging"?"bg-caution-400":Oe==="lost"?"bg-negative-400":"bg-mono-600",Le=new Date(se.createdAt).toLocaleDateString(void 0,{month:"short",day:"numeric"}),kt=!!(se.model&&U>0&&X[U-1]?.model&&X[U-1].model!==se.model);return c.jsxs("button",{type:"button",className:`evidence-run-dot ${q?"evidence-run-dot--selected":""}`,onClick:()=>{pe(U===X.length-1?-1:U)},"aria-label":[`Run ${Le}: ${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:Le})]},U)})}),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--${B}`,children:[c.jsx("p",{className:`evidence-position-label evidence-position-label--${B}`,children:ze.label}),c.jsx("p",{className:`evidence-position-title evidence-position-title--${B}`,children:ze.title}),c.jsx("p",{className:"evidence-position-meta",children:ze.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:we()}),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(Gs,{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,U)=>c.jsxs("li",{className:"flex items-start gap-2 text-sm text-neutral",children:[c.jsx(u0,{className:"size-3.5 mt-0.5 shrink-0 text-faint","aria-hidden":"true"}),c.jsx("span",{className:"break-words",children:se})]},`${U}-${se}`))})]}),!re&&e.relatedTechnicalSignals.length>0&&c.jsxs("div",{children:[c.jsx("p",{className:"drawer-section-label",children:Te?"Why you're visible":"What to fix"}),c.jsx("div",{className:"action-items-list",children:e.relatedTechnicalSignals.map((se,U)=>c.jsxs("div",{className:"action-item",children:[c.jsx("svg",{className:`action-item-icon ${Te?"text-positive-400":"text-caution-400"}`,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:Te?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})]},U))})]}),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 ${f==="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 ${f==="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"})]}),f==="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(Gs,{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--${Te?"mentioned":"not-mentioned"}`,children:[c.jsx("span",{className:"mention-status-icon",children:K?"…":Te?"✓":"—"}),c.jsx("span",{className:"mention-status-label",children:K?"Pending":Te?"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&&!Te&&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(Gs,{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\./,"")),U=new Set(se.map(ce=>wa(ce.replace(/\.[^.]+$/,""))));return[...H.recommendedCompetitors.filter(ce=>!U.has(wa(ce))),...se].map(ce=>c.jsx("span",{className:"mention-chip mention-chip--competitor",children:ce},ce))})()})]})]}),f==="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(Gs,{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,U)=>{const q=se.toLowerCase().replace(/^www\./,""),ce=I.has(q),Oe=!ce&&H.citedCompetitorDomains.some(nt=>nt.toLowerCase().replace(/^www\./,"")===q),ye=ce?"you":Oe?"competitor":"other";return c.jsxs("div",{className:`citation-leaderboard-item citation-leaderboard-item--${ye}`,children:[c.jsxs("span",{className:"citation-leaderboard-rank",children:["#",U+1]}),c.jsx("span",{className:"citation-leaderboard-domain",children:se}),ce&&c.jsx("span",{className:"citation-leaderboard-tag",children:"You"}),Oe&&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(Gs,{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,U)=>{const q=t0(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})},U)})})]}),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 U=t0(se);return c.jsx("li",{className:"truncate text-sm",children:U?c.jsx("a",{href:U,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 UG(e){const n=e.match(/^\/projects\/([^/]+)/);if(!n)return null;try{return decodeURIComponent(n[1])}catch{return n[1]}}function GG(e,n){return e?n?.projects.find(r=>r.project.name===e||r.project.id===e)?.project.name??e:null}function $G(e,n){return GG(UG(e),n)}function xa(e){const n=new Date("2026-02-20");return e.map((s,r)=>({runId:`run_mock_${r+1}`,citationState:s,createdAt:new Date(n.getTime()+r*2*24*60*60*1e3).toISOString()}))}const wh=[{id:"project_citypoint",name:"Citypoint Dental NYC",canonicalDomain:"citypointdental.com",ownedDomains:[],aliases:[],country:"US",language:"en",tags:["local intent","priority"],labels:{},providers:[],providerModels:{},measurement:Wp,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:Wp,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:Wp,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1}];function Md(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 KG=Md({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"}),HG=Md({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"}),QG=Md({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"}),FG=Md({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"}),ZG=[{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:xa(["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:xa(["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:xa(["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:xa(["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:xa(["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:xa(["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:xa(["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:xa(["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:xa(["not-cited","not-cited","not-cited","not-cited","not-cited","cited"])}];wh[0],Math.round(1/9*100),Math.round(2/9*100),wh[1],xa(["cited","cited","cited","cited","cited"]),wh[2],Math.round(2/7*100),Math.round(3/7*100),xa(["not-cited","not-cited","not-cited","cited"]);function YG(e,n){return e.runs.find(s=>s.id===n)}function XG(e,n){for(const s of e.projects){const r=s.visibilityEvidence.find(u=>u.id===n);if(r)return{project:s,evidence:r}}}function JG(e,n,s){if(e){const r=e.visibilityEvidence.find(u=>u.id===s);if(r)return{project:e,evidence:r}}if(n)return XG(n,s)}const WG={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"},e$={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"},t$={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"},n$={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 a$(e){return{id:e.id,tone:WG[e.type],title:e.title,detail:e.cause?.details??e.cause?.cause??"",actionLabel:e.recommendation?.action??n$[e.type],actionGroup:e$[e.type],affectedPhrases:[{query:e.query,evidenceId:"",provider:e.provider,citationState:t$[e.type]}]}}function i$(e){return e.filter(n=>!n.dismissed).map(a$)}function I3(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 jx(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}catch{return e}}function s$(e,n){if(!e)return"Waiting";if(!n)return"Running";const s=new Date(n).getTime()-new Date(e).getTime();if(s<1e3)return"<1s";const r=Math.floor(s/1e3);if(r<60)return`${r}s`;const u=Math.floor(r/60),f=r%60;return`${u}m ${f}s`}function M3(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 o$(e){return e===ts.manual?"Manual":e===ts.scheduled?"Scheduled":e===ts["config-apply"]?"Config apply":e}function Vd(e,n){return{id:e.id,projectId:e.projectId,projectName:n,kind:e.kind,kindLabel:M3(e.kind),status:e.status,trigger:e.trigger??"manual",location:e.location??null,createdAt:e.createdAt,startedAt:e.startedAt?jx(e.startedAt):jx(e.createdAt),duration:s$(e.startedAt??null,e.finishedAt??null),statusDetail:e.error?V3(e.error):r$(e),summary:l$(e),triggerLabel:o$(e.trigger)}}function V3(e){const n=nf(e);return n.length>200?n.slice(0,200)+"…":n}function r$(e){switch(e.status){case It.queued:return"Waiting for execution slot.";case It.running:return"Provider queries in progress.";case It.completed:return"All queries checked.";case It.partial:return"Run completed with some queries skipped.";case It.failed:return e.error?V3(e.error):"Run failed.";case It.cancelled:return"Run was cancelled.";default:return""}}function l$(e){const n=M3(e.kind);switch(e.status){case It.queued:return`${n} queued`;case It.running:return`${n} in progress`;case It.completed:return`${n} completed`;case It.partial:return`${n} partially completed`;case It.failed:return`${n} failed`;case It.cancelled:return`${n} cancelled`;default:return e.status}}function c$(e,n,s,r,u){const f=[];let g=0;const b=new Set;if(s.length>0){const v=s.flatMap(T=>T.snapshots??[]),k=new Map;for(const T of v)if(T.query){const I=`${T.query}::${T.provider}::${T.location??""}`;k.set(I,T)}const S=new Set(v.map(T=>T.location??null));S.size===0&&S.add(null);const A=new Set(v.map(T=>T.provider)),z=new Set(n.flatMap(T=>Object.keys(T.providerRuns??{}))),C=[...new Set([...A,...z])].sort(),F=C.length>0?C:["gemini"];for(const T of n){if(T.runs.length===0)continue;b.add(T.query);const I=T.runs.at(-1),X=I?.transition??"not-cited";for(const J of F){const V=[...S].filter(re=>k.has(`${T.query}::${J}::${re??""}`)),le=(T.providerRuns?.[J]?.length??0)>0,ie=V.length>0?V:le?[null]:[];for(const re of ie){const H=re??"",K=k.get(`${T.query}::${J}::${H}`),Te=K?.model??null,Qe=Te?`${J}:${Te}`:null,Fe=T.providerRuns?.[J],Re=Qe?T.modelRuns?.[Qe]:void 0,ke=Ve=>Ve?.filter(Kt=>(Kt.location??null)===re),Be=V.length>0?ke(Fe):Fe,be=V.length>0?ke(Re):Re,B=(Be?.length?Be:null)??(be?.length?be:null),ee=Be?.length?"provider":be?.length?"model":"query",pe=B?B.at(-1).transition:X,Ce=B?B.at(-1).visibilityTransition??(B.at(-1).visibilityState==="visible"?"visible":"not-visible"):I?.visibilityTransition??(I?.visibilityState==="visible"?"visible":"not-visible"),W=B?.at(-1)?.citationState,De=B?.at(-1)?.visibilityState,ze=K?pe==="lost"?"lost":pe==="emerging"?"emerging":K.citationState===Xu.cited?"cited":"not-cited":W===Xu.cited?"cited":"not-cited",we=K?.visibilityState??(De==="visible"?"visible":De==="pending"?"pending":"not-visible"),se=Ax(B||T.runs),U=Cx(B||T.runs),q=u$(T,J),ce=(B??T.runs).map(Ve=>({runId:Ve.runId,citationState:Ve.citationState,createdAt:Ve.createdAt,model:q.get(Ve.runId)??null,answerMentioned:Ve.answerMentioned,visibilityState:Ve.visibilityState,visibilityTransition:Ve.visibilityTransition,mentionState:Ve.mentionState,mentionTransition:Ve.mentionTransition})),Oe=d$(ce),ye=ee==="provider"&&Oe.length<=1?"model":ee,nt=m$(ce),Le=K?.citedCompetitorDomains??[],kt=K?.mentionedCompetitorDomains??[],oe=[...new Set([...Le,...kt,...K?.competitorOverlap??[]])];f.push({id:`evidence_${e}_${g++}`,query:T.query,queryClass:u?.classify(T.query)??null,provider:K?.provider??J,model:K?.model??null,location:K?.location??re,citationState:ze,answerMentioned:K?.answerMentioned,visibilityState:we,visibilityChangeLabel:Nx(Ce,U,{positive:"visible",negative:"not visible",first:"first visibility"}),changeLabel:Nx(pe,se),answerSnippet:K?.answerText??"",citedDomains:K?.citedDomains??[],evidenceUrls:[],citedCompetitorDomains:Le,mentionedCompetitorDomains:kt,competitorDomains:oe,recommendedCompetitors:K?.recommendedCompetitors??[],matchedTerms:K?.matchedTerms??[],relatedTechnicalSignals:[],groundingSources:K?.groundingSources??[],searchQueries:K?.searchQueries??[],summary:p$(we,Ce,T.query),runHistory:ce,historyScope:ye,modelsSeen:Oe,modelTransitions:nt})}}}}for(const v of r)b.has(v.query)||f.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 f}function u$(e,n){const s=new Map,r=`${n}:`;for(const[u,f]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 f)s.set(v.runId,b)}return s}function d$(e){const n=new Set;for(const s of e)s.model&&n.add(s.model);return[...n]}function m$(e){const n=[];let s=null;for(const r of e){const u=r.model??null;u!==s&&s!==null&&n.push({runId:r.runId,createdAt:r.createdAt,fromModel:s,toModel:u}),s=u}return n}function Ax(e){if(e.length===0)return 0;const n=e[e.length-1].citationState;let s=0;for(let r=e.length-1;r>=0&&e[r].citationState===n;r--)s++;return s}function Cx(e){if(e.length===0)return 0;const n=e[e.length-1].visibilityState??"not-visible";let s=0;for(let r=e.length-1;r>=0&&(e[r].visibilityState??"not-visible")===n;r--)s++;return s}function Nx(e,n,s){const r={positive:s?.positive??"cited",negative:s?.negative??"not cited",first:s?.first??"first citation"};switch(e){case"new":return"First observation";case"cited":case"visible":return n<=1?`${El(r.positive)} in latest run`:`${El(r.positive)} for ${n} runs`;case"lost":return"Lost since last run";case"emerging":return El(r.first);case"not-cited":case"not-visible":return n<=1?`${El(r.negative)} in latest run`:`${El(r.negative)} across ${n} runs`;default:return e}}function El(e){return e.charAt(0).toUpperCase()+e.slice(1)}function p$(e,n,s){switch(n){case"lost":return`Mention was lost for "${s}". Your brand no longer appeared in the latest answer.`;case"emerging":return`Your brand started appearing in AI answers for "${s}".`}switch(e){case"visible":return`Your brand or domain is mentioned in AI answers for "${s}".`;case"pending":return`"${s}" has been added but no run has been triggered yet.`;default:return`Your brand or domain was not mentioned in AI answers for "${s}".`}}function L3(e){const n=I3(e.project),s=G8(q8(e.project)),r=c$(n.name,e.timeline,e.latestRunDetails,e.queries,s),f=[...e.runs].sort((g,b)=>b.createdAt.localeCompare(g.createdAt)).map(g=>Vd(g,e.project.displayName||e.project.name));return e.overview?h$(n,e.overview,r,f):f$(n,r,f)}function h$(e,n,s,r){const u=i$(n.topInsights);for(const f of n.attentionItems)f.id.startsWith("insight_")||u.push({id:f.id,tone:f.tone,title:f.title,detail:f.detail,actionLabel:f.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:s,competitors:n.competitors.map(f=>({id:f.id,domain:f.domain,citationCount:f.citationCount,totalQueries:f.totalQueries,pressureLabel:f.pressureLabel,citedQueries:f.citedQueries,movement:"",notes:""})),recentRuns:r.slice(0,5),suggestedQueries:n.suggestedQueries}}function _x(){return{projectMentionSnapshots:0,competitorMentionSnapshots:0,perCompetitor:[],snapshotsWithAnswerText:0,snapshotsTotal:0,score:null}}function f$(e,n,s){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:_x(),branded:_x()},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:s.slice(0,5),suggestedQueries:{rows:[],totalCandidates:0,skippedAlreadyTracked:0}}}function g$(e){const n=I3(e.project),s=[...e.runs].sort((z,C)=>C.createdAt.localeCompare(z.createdAt)),r=s.find(z=>z.kind===Ne["answer-visibility"])??s[0]??e.overview?.latestRun?.run??void 0,u=e.project.displayName||e.project.name,f=r?Vd(r,u):y$(e.project.id,u),g=e.overview;if(!g)return{project:n,hasMeasurement:!1,mentionScore:0,mentionDelta:"No data",mentionTone:"neutral",lastRun:f,insight:"No runs completed yet.",trend:[],competitorPressureLabel:"None"};const b=g.scores.mention,v=b.progress??0,k=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?`${k} of ${S} queries`:"No data",mentionTone:b.tone,providerCoverage:b.providerCoverage,lastRun:f,insight:S>0?`${k} of ${S} queries mentioned across ${A} provider${A===1?"":"s"}.`:"No runs completed yet.",trend:b.trend??[],competitorPressureLabel:g.scores.competitorPressure.value}}function y$(e,n){return{id:"none",projectId:e,projectName:n,kind:Ne["answer-visibility"],kindLabel:"No runs yet",status:It.queued,trigger:ts.manual,createdAt:"",startedAt:"",duration:"",statusDetail:"",summary:"No runs yet",triggerLabel:""}}function b$(e,n){const s=[],r=[],u=[];for(const g of e){r.push(L3(g)),u.push(g$(g));const b=[...g.runs].sort((v,k)=>k.createdAt.localeCompare(v.createdAt));for(const v of b)s.push(Vd(v,g.project.displayName||g.project.name))}s.sort((g,b)=>b.createdAt.localeCompare(g.createdAt));const f=e.length>0;return{portfolioOverview:{projects:u,attentionItems:f?v$(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:s.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"}],...f?{}:{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:s,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:f,ctaLabel:f?"Trigger run":"Create a project first",summary:f?"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 v$(e){const n=[];for(const s of e){const r=s.visibilityEvidence.filter(f=>f.citationState==="lost");r.length>0&&n.push({id:`attention_${s.project.id}_lost`,tone:"negative",title:`${s.project.displayName||s.project.name} lost citations`,detail:`${r.length} quer${r.length>1?"ies":"y"} lost citation.`,actionLabel:"Open project",href:`/projects/${encodeURIComponent(s.project.name)}`});const u=s.recentRuns.filter(f=>f.status===It.running||f.status===It.queued);u.length>0&&n.push({id:`attention_${s.project.id}_active`,tone:"neutral",title:`${s.project.displayName||s.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 U3=_.createContext(null);U3.Provider;function ic(){return _.useContext(U3)}function Ld(e,n={}){const r=ic()?.dashboard??null,u=n.includeSettings??!0,f=n.includeOverviews??!0,g=n.pauseProjectPolling??!1,{isAdmin:b}=ua(),v=xt({...Pd({client:ae,query:{kind:"answer-visibility"}}),enabled:!r,staleTime:or,refetchInterval:V=>V.state.data?.some(re=>re.status==="running"||re.status==="queued")?3e3:or}),k=xt({...to({client:ae}),enabled:!r,refetchInterval:g?!1:V=>{const le=V.state.data,ie=v.data?.some(H=>H.status==="running"||H.status==="queued");return(le?.length??0)===0||!!ie?SV:jV}}),S=xt({...cL({client:ae}),enabled:!r&&u&&b}),A=k.data??[],z=v.data??[],C=cA({queries:A.map(V=>{const le=z.filter(H=>H.projectId===V.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",V.id,re],queryFn:async()=>{const H=await n3(V.name).catch(()=>null);return{project:V,runs:le,queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:H}},enabled:!r&&f&&k.isSuccess&&v.isSuccess,staleTime:Vu}})}),F=!f||C.every(V=>V.isSuccess),T=_.useMemo(()=>{if(r)return r;if(!k.data||!v.data||A.length>0&&!F)return null;const V=f?C.map(le=>le.data?{...le.data,runs:z.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:z.filter(H=>H.projectId===le.id),queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:re?.overview??null}});return b$(V,S.data??null)},[r,k.data,v.data,S.data,f,F,C,A,z]),I=!r&&(k.isError||v.isError),X=!r&&!T&&!I,J=_.useCallback(async()=>{const V=[k.refetch(),v.refetch(),...f?C.map(le=>le.refetch()):[]];u&&V.push(S.refetch()),await Promise.all(V)},[u,f,C,k.refetch,v.refetch,S.refetch]);return{dashboard:T,isLoading:X,isError:I,refetch:J}}function x$(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],[s])=>n.localeCompare(s)))}async function n0(e,n,s="active"){const r=u=>{const f=u.queryKey[0];return f?._id==="getApiV1ProjectsByNameAnalyticsCompetitors"&&f.path?.name===n};return s==="active"&&await e.cancelQueries({predicate:r}),e.invalidateQueries({predicate:r,refetchType:s})}function TX(e,n,s){const r=ra(),u=_.useRef({projectName:e,revision:n,enabled:s});_.useEffect(()=>{const f=u.current;u.current={projectName:e,revision:n,enabled:s},!(!s||!f.enabled||f.projectName!==e||f.revision===n)&&n0(r,e)},[s,e,r,n])}const k$=20;function w$(e,n={}){const s=ra(),r=ic(),u=_.useMemo(()=>!r||!e?null:r.dashboard.projects.find(ie=>ie.project.name===e)??null,[r,e]),f=xt({...LV({client:ae,path:{name:e??""}}),enabled:!!e&&!u,staleTime:Vu,refetchOnWindowFocus:"always"}),g=xt({...m3({client:ae,path:{name:e??""},query:{kind:"answer-visibility"}}),enabled:!!e,staleTime:or,refetchOnWindowFocus:"always",refetchInterval:ie=>ie.state.data?.some(K=>K.projectId===f.data?.id&&(K.status==="running"||K.status==="queued"))?3e3:or}),b=f.data??null,v=_.useMemo(()=>b?(g.data??[]).filter(ie=>ie.projectId===b.id):[],[b,g.data]),{latestRunIds:k,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,Te)=>Te.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]),z=!!b&&!!e&&g.isSuccess,C=xt({queryKey:["project-dashboard-full",b?.id??null,S||"none","overview"],queryFn:async()=>({project:b,overview:await n3(e)}),enabled:z&&n.overview===!0,staleTime:Vu,refetchOnWindowFocus:"always"}),F=xt({queryKey:["project-dashboard-full",b?.id??null,S||"none","evidence"],queryFn:async()=>{const[ie,re,H]=await Promise.all([t3(e),QM(e,void 0,k$),Promise.all(k.map(K=>Fh(K)))]);return{project:b,queries:ie,timeline:re,latestRunDetails:H}},enabled:z&&n.evidence===!0,staleTime:Vu,refetchOnWindowFocus:"always"}),T=_.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=L3(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]),I=_.useCallback(async()=>{await Promise.all([f.refetch(),g.refetch(),s.invalidateQueries({queryKey:["project-dashboard-full",b?.id??null]})])},[f.refetch,g.refetch,s,b?.id]),X=f.isError||g.isError,J=!u&&(f.isLoading||g.isLoading),V=!!e&&n.overview===!0&&!u&&!X&&C.isPending,le=!!e&&n.evidence===!0&&!u&&!X&&F.isPending;return{commandCenter:T,project:b,isLoading:J,isError:X,overviewLoading:V,overviewError:n.overview===!0&&C.isError&&!C.data,evidenceLoading:le,evidenceError:n.evidence===!0&&F.isError&&!F.data,latestVisibilityRevision:A,competitorHistoryRevision:x$(v),refetch:I}}const S$=["health"];async function j$(){const e=await mV("/health","API"),n=ql()&&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 Pf(e,n){return xt({queryKey:S$,queryFn:j$,enabled:e,refetchInterval:15e3,initialData:n})}function A$(e){return xt({...Tf({client:ae,path:{id:e??""}}),enabled:!!e,refetchInterval:n=>{const s=n.state.data?.status;return s==="running"||s==="queued"?3e3:!1}})}function Bf(){const e=ss(),n=Xx({strict:!1}),s=uA({select:v=>v.location.pathname}),r=n.runId??null,u=n.evidenceId??null;return{runId:r,evidenceId:u,openRun:v=>{e({to:s,from:wn.to,search:k=>({...k,runId:v,evidenceId:void 0})})},openEvidence:v=>{e({to:s,from:wn.to,search:k=>({...k,evidenceId:v,runId:void 0})})},closeDrawer:()=>{e({to:s,from:wn.to,search:v=>({...v,runId:void 0,evidenceId:void 0})})}}}const C$={negative:"toast-card-negative",caution:"toast-card-caution",positive:"toast-card-positive",neutral:"toast-card-neutral"};function N$(e){if(e.cta)return`${e.cta.label}: ${e.title}`}function _$(){const e=_.useSyncExternalStore(kV,lx,lx),n=ss(),{openRun:s}=Bf(),r=_.useCallback(f=>{Jh(f)},[]),u=_.useCallback(f=>{f.cta&&(f.cta.intent==="open-run-drawer"?s(f.cta.runId):n({to:"/runs"}),Jh(f.id))},[n,s]);return e.length===0?null:c.jsx("div",{className:"toast-viewport","aria-label":"Notifications",children:e.map(f=>c.jsxs("section",{role:f.tone==="negative"?"alert":"status","aria-live":f.tone==="negative"?"assertive":"polite","data-state":f.state,className:`toast-card ${C$[f.tone]}`,children:[c.jsxs("div",{className:"toast-copy",children:[c.jsx("p",{className:"toast-title",children:f.title}),f.detail?c.jsx("p",{className:"toast-detail",children:f.detail}):null,f.cta?c.jsx("button",{type:"button",className:"toast-action",onClick:()=>u(f),"aria-label":N$(f),children:f.cta.label}):null]}),c.jsx("button",{type:"button",onClick:()=>r(f.id),className:"toast-dismiss","aria-label":"Dismiss",children:c.jsx(lr,{className:"size-3.5"})})]},f.id))})}const z$="https://github.com/Canonry/canonry",E$="https://canonry.ai",zx="Run it from your agent with the MCP server, API, CLI, and plugins for Claude Code and Codex.",T$=[{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 R$(){const e=_.useId();if(!ql())return null;const n=qd(),s=`${e}-new-tab`,r={target:"_blank",rel:"noopener noreferrer","aria-describedby":s};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:zx}),c.jsxs("div",{className:"demo-banner-actions",children:[c.jsxs("a",{className:"demo-banner-primary",href:E$,...r,children:["canonry.ai",c.jsx(gA,{"aria-hidden":"true",size:14})]}),c.jsxs("a",{className:"demo-banner-secondary",href:z$,...r,children:[c.jsx(s2,{"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(od,{"aria-hidden":"true",size:14})]}),c.jsxs("div",{className:"demo-banner-panel",children:[c.jsx("p",{className:"demo-banner-panel-agent",children:zx}),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:T$.map(({title:u,links:f})=>c.jsxs("section",{"aria-label":u,children:[c.jsx("h2",{children:u}),c.jsx("ul",{children:f.map(([g,b])=>c.jsx("li",{children:c.jsx("a",{href:`${n}${b}`,children:g})},b))})]},u))})]})]})]}),c.jsx("span",{id:s,hidden:!0,children:"Opens in a new tab"})]})}function Pl(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 Ex(e){return e==="running"?"Running":e==="queued"?"Queued":e==="partial"?"Partial":e==="completed"?"Completed":e==="failed"?"Failed":e==="cancelled"?"Cancelled":"Starting"}function D$(){const e=_.useSyncExternalStore(y3,gi,gi),n=_.useMemo(()=>Object.values(e.runs),[e.runs]),s=n.length>0,r=xt({...Pd({client:ae}),enabled:s,staleTime:or}),u=_.useMemo(()=>new Map((r.data??[]).map(b=>[b.id,b.status])),[r.data]);if(!s)return null;const f=n.map(b=>({...b,status:u.get(b.runId)??b.lastAnnouncedStatus})),g=f.length===1?Pl(f[0].kind):`${f.length} active tasks`;return c.jsxs("div",{className:"task-center",children:[c.jsxs("p",{className:"sr-only",role:"status","aria-live":"polite",children:[f.length," active ",f.length===1?"task":"tasks","."," ",f.map(b=>`${Pl(b.kind)} ${Ex(b.status)}`).join(". "),"."]}),c.jsxs("details",{className:"task-center-details",children:[c.jsxs("summary",{className:"task-center-trigger",children:[c.jsx(Wo,{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:f.length}),c.jsx(od,{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:f.length})]}),c.jsx("ul",{className:"task-center-list",children:f.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:Pl(b.kind)}),c.jsx("p",{className:"mt-0.5 truncate text-xs text-muted",children:b.projectLabel??b.projectId})]}),c.jsx(hn,{tone:b.status==="failed"?"negative":b.status==="partial"?"caution":"neutral",children:Ex(b.status)})]},b.runId))}),c.jsx($e,{to:"/runs",className:"task-center-footer-link",children:"View all runs"})]})]})]})}function O$(e,n={}){const{threshold:s=80}=n,r=_.useRef(null),u=_.useRef({scrollHeight:0,wasAtEnd:!0});function f(v){return v.scrollHeight-v.scrollTop-v.clientHeight}function g(){const v=r.current;return v?f(v)<=s:!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 k=()=>{u.current.wasAtEnd=f(v)<=s};return v.addEventListener("scroll",k,{passive:!0}),()=>v.removeEventListener("scroll",k)},[s]),_.useLayoutEffect(()=>{const v=r.current;if(!v)return;const k=v.scrollHeight;k>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=k),u.current.scrollHeight=k},e),_.useEffect(()=>{const v=r.current;if(!v||typeof ResizeObserver>"u")return;const k=new ResizeObserver(()=>{const S=v.scrollHeight;S>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=S),u.current.scrollHeight=S});return k.observe(v),v.firstElementChild&&k.observe(v.firstElementChild),()=>k.disconnect()},[]),{ref:r,scrollToEnd:b,isAtEnd:g}}const a0="Sweeps are run by your Canonry team",q$="Scans are run by your Canonry team",Tx="Next sweep unavailable",P$="Sweep running…",B$="Next sweep:";function I$(e,n){try{return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",timeZone:n??"UTC"}).format(new Date(e))}catch{return null}}function M$({projectName:e,kind:n=Ne["answer-visibility"],running:s=!1,loadSchedule:r=!0}){const u=n===Ne["site-audit"],f=xt({...dL({client:ae,path:{name:e},query:{kind:n}}),enabled:r&&!!e,retry:!1,refetchInterval:6e4}),g=f.isError?void 0:f.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"}):I$(b.toISOString(),g?.timezone):null,S=(f.error instanceof gn?f.error.code:f.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:[s&&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"]}):q$]}):s?P$:A?Tx:v&&b?c.jsxs(c.Fragment,{children:[B$," ",c.jsx("time",{dateTime:b.toISOString(),children:v})]}):Tx})}async function If(e){try{return await e.json()}catch{return{}}}function V$(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const Mf=V$();function Vf(e){e===401&&Nf()}async function Rx(e){const n=await fetch(`${Mf}/projects/${encodeURIComponent(e)}/agent/transcript`,{credentials:"include"});if(!n.ok){Vf(n.status);const s=await If(n);throw new gn(s.error?.message??`transcript fetch failed: ${n.status}`,n.status,s.error?.code)}return await n.json()}async function L$(e){const n=await fetch(`${Mf}/projects/${encodeURIComponent(e)}/agent/transcript`,{method:"DELETE",credentials:"include"});if(!n.ok){Vf(n.status);const s=await If(n);throw new gn(s.error?.message??`reset failed: ${n.status}`,n.status,s.error?.code)}}async function U$({project:e,prompt:n,provider:s,modelId:r,scope:u,profile:f,signal:g,onEvent:b}){const v={prompt:n};s&&(v.provider=s),r&&(v.modelId=r),u&&(v.scope=u),f&&(v.profile=f);const k=await fetch(`${Mf}/projects/${encodeURIComponent(e)}/agent/prompt`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(v),signal:g});if(!k.ok||!k.body){Vf(k.status);const F=await If(k);throw new gn(F.error?.message??`prompt failed: ${k.status}`,k.status,F.error?.code)}const S=k.body.getReader(),A=new TextDecoder;let z="";const C=()=>{S.cancel().catch(()=>{})};g?.addEventListener("abort",C,{once:!0});try{for(;;){const{value:F,done:T}=await S.read();if(T)break;z+=A.decode(F,{stream:!0});let I=z.indexOf(`
|
|
59
|
+
|
|
60
|
+
`);for(;I!==-1;){const X=z.slice(0,I);z=z.slice(I+2);for(const J of X.split(`
|
|
61
|
+
`)){if(!J.startsWith("data:"))continue;const V=J.slice(5).trim();if(V)try{b(JSON.parse(V))}catch{}}I=z.indexOf(`
|
|
62
|
+
|
|
63
|
+
`)}}}finally{g?.removeEventListener("abort",C);try{S.releaseLock()}catch{}}}function G3(e){return!e||e.role!=="assistant"?"":e.content.filter(n=>n.type==="text").map(n=>n.text).join("")}const G$=[{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?"}],$$=[{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"}],Ou=e=>`canonry:aero:provider:${e}`,Dx=e=>`canonry:aero:scope:${e}`;function Ox(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}}function qx(e,n){if(!(typeof window>"u"))try{window.localStorage.setItem(e,n)}catch{}}function Px(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}}function K$({projectName:e}){const n=Us(),{canWrite:s}=ua(),[r,u]=_.useState(!1),[f,g]=_.useState(!1),[b,v]=_.useState([]),[k,S]=_.useState(""),[A,z]=_.useState(!1),[C,F]=_.useState([]),[T,I]=_.useState(""),[X,J]=_.useState(null),[V,le]=_.useState(()=>Ox(Ou(e))??null),[ie,re]=_.useState(()=>Ox(Dx(e))==="all"?"all":"read-only"),H=n?"read-only":ie,K=_.useRef(null),{ref:Te}=O$([b,T,C]),Qe=_.useRef(null),[Fe,Re]=_.useState(0),ke=_.useMemo(()=>{const U=k.trimStart();if(!U.startsWith("/"))return[];if(/\s/.test(U))return[];const q=U.toLowerCase();return $$.filter(ce=>(!n||ce.command!=="/run-sweep")&&(ce.command.startsWith(q)||ce.label.toLowerCase().includes(q.slice(1))))},[k,n]);_.useEffect(()=>{Re(U=>ke.length===0?0:Math.min(U,ke.length-1))},[ke.length]);const Be=xt({...jU({client:ae,path:{name:e}}),staleTime:6e4}),be=_.useMemo(()=>{const U=Be.data?.providers??[];if(V){const ce=U.find(Oe=>Oe.id===V&&Oe.configured);if(ce)return ce}const q=Be.data?.defaultProvider;return q?U.find(ce=>ce.id===q)??null:null},[V,Be.data]);_.useEffect(()=>{if(!Be.data||!V)return;Be.data.providers.find(q=>q.id===V&&q.configured)||(le(null),Px(Ou(e)))},[Be.data,V,e]);const B=_.useCallback(U=>{le(U),U?qx(Ou(e),U):Px(Ou(e))},[e]),ee=_.useCallback(()=>{n||re(U=>{const q=U==="all"?"read-only":"all";return qx(Dx(e),q),q})},[e,n]);_.useEffect(()=>{if(!r)return;const U=q=>{q.key==="Escape"&&(f?g(!1):u(!1))};return window.addEventListener("keydown",U),()=>window.removeEventListener("keydown",U)},[r,f]),_.useEffect(()=>{if(!r||!be)return;let U=!1;J(null);const q=()=>{U||A||Rx(e).then(ye=>{U||v(ye.messages)}).catch(ye=>{U||J(ye instanceof Error?ye.message:"Failed to load transcript")})};q();const Oe=window.setInterval(q,15e3);return()=>{U=!0,window.clearInterval(Oe)}},[r,e,A,be]),_.useEffect(()=>()=>{K.current?.abort()},[e]);async function pe(U){const q=U.trim();if(!q||A||!be)return;if(n&&/^\/run-sweep(?:\s|$)/i.test(q)){J(a0);return}J(null),S(""),z(!0),I(""),F([]);const ce={role:"user",content:q,timestamp:Date.now()};v(ye=>[...ye,ce]);const Oe=new AbortController;K.current=Oe;try{await U$({project:e,prompt:q,provider:V??void 0,scope:H,signal:Oe.signal,onEvent:Ce});const ye=await Rx(e);v(ye.messages)}catch(ye){ye.name!=="AbortError"&&J(ye instanceof Error?ye.message:"Prompt failed")}finally{z(!1),I(""),K.current=null}}function Ce(U){switch(U.type){case"message_update":I(G3(U.message));break;case"message_end":U.message.role==="assistant"&&I("");break;case"tool_execution_start":F(q=>[...q,{id:U.toolCallId,name:U.toolName,args:U.args,startedAt:Date.now()}]);break;case"tool_execution_end":F(q=>q.map(ce=>ce.id===U.toolCallId?{...ce,endedAt:Date.now(),isError:U.isError,result:U.result}:ce));break;case"error":J(U.message);break}}async function W(){K.current?.abort();try{await L$(e),v([]),J(null)}catch(U){J(U instanceof Error?U.message:"Reset failed")}}const De=b.length===0;if(Be.isPending)return null;if(Be.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(bu,{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:()=>{Be.refetch()},children:"Try again"})]})});if(!be)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(bu,{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(Gs,{text:"Aero is the built-in AEO analyst. It reads your Canonry data with you once a provider is connected."})]}),s?c.jsx(fe,{asChild:!0,variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",children:c.jsx($e,{to:"/settings",children:"Open Settings"})}):c.jsx("span",{className:"ml-auto text-secondary",children:"Ask an administrator to configure one."})]})});const ze=r&&f?"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",we=f?"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=f?"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:ze,onClick:U=>{f&&U.target===U.currentTarget&&g(!1)},children:c.jsx("div",{className:we,children:r?c.jsxs("div",{className:f?"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(bu,{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(H$,{providers:Be.data?.providers??[],active:be,override:V,onPick:B,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(o2,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),c.jsx("button",{type:"button",onClick:()=>g(U=>!U),className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":f?"Collapse":"Expand",title:f?"Collapse":"Expand",children:f?c.jsx(yA,{className:"h-3.5 w-3.5","aria-hidden":"true"}):c.jsx(bA,{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(lr,{className:"h-4 w-4","aria-hidden":"true"})})]})]}),c.jsxs("div",{ref:Te,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:G$.map(U=>c.jsx("button",{type:"button",onClick:()=>{pe(U.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:U.label},U.label))})]}),X$(b,e,V,H),C.length>0&&c.jsx("div",{className:"mt-3 space-y-1.5",children:C.map(U=>c.jsx($3,{trail:U},U.id))}),A&&T&&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(K3,{content:T})]}),A&&!T&&C.every(U=>U.endedAt!==void 0)&&c.jsx(tK,{})]}),c.jsx(Q$,{projectName:e,activeProvider:be,scope:H,onToggleScope:ee,scopeLocked:n,disabled:A}),c.jsxs("div",{className:"relative",children:[ke.length>0&&c.jsx(F$,{matches:ke,selectedIndex:Fe,onHover:Re,onPick:U=>{S(""),Qe.current?.focus(),U.action==="clear"?W():pe(U.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:U=>{if(U.preventDefault(),ke.length>0){const q=ke[Fe];S(""),q.action==="clear"?W():pe(q.prompt);return}pe(k)},children:[c.jsx("textarea",{ref:Qe,value:k,onChange:U=>S(U.target.value),onKeyDown:U=>{if(ke.length>0){if(U.key==="ArrowDown"){U.preventDefault(),Re(q=>(q+1)%ke.length);return}if(U.key==="ArrowUp"){U.preventDefault(),Re(q=>(q-1+ke.length)%ke.length);return}if(U.key==="Tab"){U.preventDefault();const q=ke[Fe];S(`${q.command} `);return}if(U.key==="Escape"){U.preventDefault(),S("");return}}if(U.key==="Enter"&&!U.shiftKey)if(U.preventDefault(),ke.length>0){const q=ke[Fe];S(""),q.action==="clear"?W():pe(q.prompt)}else pe(k)},placeholder:"Ask Aero, or / for commands…",disabled:A,rows:f?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||!k.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(vA,{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(bu,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),"Ask Aero about ",e,"…"]})})})})}function H$({providers:e,active:n,override:s,onPick:r,disabled:u}){const[f,g]=_.useState(!1),b=_.useRef(null);if(_.useEffect(()=>{if(!f)return;const k=A=>{b.current?.contains(A.target)||g(!1)},S=A=>{A.key==="Escape"&&g(!1)};return window.addEventListener("mousedown",k),window.addEventListener("keydown",S),()=>{window.removeEventListener("mousedown",k),window.removeEventListener("keydown",S)}},[f]),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(k=>!k),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":f,title:n?`${n.label} · ${n.defaultModel}`:"Pick a provider",children:[c.jsx("span",{className:"font-medium text-strong",children:v}),c.jsx(od,{className:"h-3 w-3","aria-hidden":"true"})]}),f&&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(k=>{const S=n?.id===k.id,A=s===k.id;return c.jsx("li",{children:c.jsxs("button",{type:"button",role:"option","aria-selected":S,disabled:!k.configured,onClick:()=>{k.configured&&(r(A?null:k.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:k.configured?k.defaultModel:`Add ${Z$(k.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(rd,{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:k.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"}),!k.configured&&c.jsx("span",{className:"rounded-md border border-base px-2 py-0.5 text-[11px] text-secondary",children:"Needs setup"})]})},k.id)})}),s&&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 Q$({projectName:e,activeProvider:n,scope:s,onToggleScope:r,scopeLocked:u,disabled:f}){const g=n?.label.replace(/\s+\(.+\)$/,"")??null,b=s==="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:f,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 F$({matches:e,selectedIndex:n,onHover:s,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,f)=>{const g=f===n;return c.jsx("li",{children:c.jsxs("button",{type:"button",role:"option","aria-selected":g,onMouseEnter:()=>s(f),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 Z$(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 Y$(e,n){const s=e.timestamp??0;return`${e.role}:${s}:${n}`}function X$(e,n,s,r){const u=[];for(let f=0;f<e.length;f++){const g=e[f],b=Y$(g,f);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(J$,{text:v,projectName:n,providerOverride:s,scope:r},b));continue}if(g.role==="assistant"){const v=new Map;let k=f+1;for(;k<e.length&&e[k].role==="toolResult";){const z=e[k];v.set(z.toolCallId,z),k++}const S=eK(g,v,g.timestamp??0),A=G3(g);u.push(c.jsxs(_.Fragment,{children:[S.length>0&&c.jsx("div",{className:"mt-3 space-y-1.5",children:S.map(z=>c.jsx($3,{trail:z},z.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(K3,{content:A})]})]},b)),f=k-1;continue}}return u}function J$({text:e,projectName:n,providerOverride:s,scope:r}){const[u,f]=_.useState(!1),g=_.useMemo(()=>W$(n,e,s,r),[n,e,s,r]);async function b(){try{await navigator.clipboard.writeText(g),f(!0),window.setTimeout(()=>f(!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(rd,{className:"h-2.5 w-2.5 text-positive-400","aria-hidden":"true"}),"Copied"]}):c.jsxs(c.Fragment,{children:[c.jsx(m0,{className:"h-2.5 w-2.5","aria-hidden":"true"}),"Copy as CLI"]})})]}),c.jsx("div",{className:"whitespace-pre-wrap",children:e})]})}function W$(e,n,s,r){const u=["canonry","agent","ask",Bx(e),Bx(n)];return s&&u.push("--provider",s),r==="read-only"&&u.push("--scope","read-only"),u.join(" ")}function Bx(e){return`'${e.replace(/'/g,"'\\''")}'`}function eK(e,n,s){const r=[];for(const u of e.content){if(u.type!=="toolCall")continue;const f=u,g=n.get(f.id);r.push({id:f.id,name:f.name,args:f.arguments,startedAt:s,endedAt:g?.timestamp,isError:g?.isError,result:g?.content})}return r}function $3({trail:e}){const[n,s]=_.useState(!1),r=e.endedAt===void 0,u=!r&&e.isError===!0,f=e.endedAt!=null?e.endedAt-e.startedAt:null,g=f==null||f<0?null:f<1e3?`${f}ms`:`${(f/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:()=>s(k=>!k),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(Wo,{className:"h-3 w-3 animate-spin text-positive-400","aria-hidden":"true"}):u?c.jsx(r2,{className:"h-3 w-3 text-negative-400","aria-hidden":"true"}):c.jsx(xA,{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(d0,{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:Ix(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:Ix(e.result)})]})]})]})}function Ix(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 K3({content:e}){return c.jsx("div",{className:"text-heading",children:c.jsx(PA,{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,...s})=>c.jsx("code",{...s,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 tK(){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 nK(){const e=Jx(),n=/^\/projects\/([^/]+)/.exec(e.pathname),s=n?decodeURIComponent(n[1]):null,r=xt({...to({client:ae}),enabled:s!==null,staleTime:6e4});if(!s)return null;const u=r.data??[],f=u.find(g=>g.id===s)??u.find(g=>g.name===s);return f?c.jsx(K$,{projectName:f.name},f.name):null}const i0={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 pn(e,n){const s=i0[n];return e.invalidateQueries({predicate:r=>{const u=r.queryKey[0];return typeof u?._id=="string"&&u._id.startsWith(s)}})}function RX(e,n){return e.invalidateQueries({predicate:s=>{const r=s.queryKey[0];return r?.path?.name!==n||typeof r._id!="string"?!1:r._id.startsWith("getApiV1ProjectsByNameMeasurement")||r._id===i0.queryTracking||r._id===i0.visibilityReport||r._id==="getApiV1ProjectsByNameQueries"||r._id==="getApiV1ProjectsByName"}})}function Kl(e,n,s){switch(e.invalidateQueries({queryKey:Ef({client:ae})}),e.invalidateQueries({queryKey:is({client:ae})}),pn(e,"runs"),n){case Ne["answer-visibility"]:n0(e,s,"none"),pn(e,"visibilityReport"),pn(e,"queryTracking");return;case Ne["backlink-extract"]:return;case Ne["site-audit"]:pn(e,"technicalAeo");return;case Ne["gsc-sync"]:case Ne["inspect-sitemap"]:pn(e,"gsc");return;case Ne["ga-sync"]:pn(e,"ga");return;case Ne["traffic-sync"]:pn(e,"ga"),pn(e,"traffic");return;case Ne["bing-inspect"]:case Ne["bing-inspect-sitemap"]:pn(e,"bing");return;case Ne["aeo-discover-seed"]:case Ne["aeo-discover-probe"]:n0(e,s);return;case Ne["gbp-sync"]:pn(e,"gbp");return;case Ne["ads-sync"]:pn(e,"ads");return;case Ne["google-ads-sync"]:pn(e,"googleAds"),pn(e,"conversionTracking");return;case Ne["gtm-sync"]:pn(e,"gtm"),pn(e,"conversionTracking");return;default:return n}}const Mx=[{label:"GitHub",href:"https://github.com/Canonry/canonry",Icon:s2},{label:"Docs",href:"https://github.com/Canonry/canonry/tree/main/docs",Icon:zA},{label:"Changelog",href:"https://github.com/Canonry/canonry/releases",Icon:EA}],Vx=e=>({label:e,state:"checking",detail:"Checking service health"}),aK={apiStatus:Vx("API"),workerStatus:Vx("Worker")};function iK(e){return e==="completed"?"positive":e==="partial"?"caution":"negative"}function sK(e){const n=Pl(e.kind);return e.status==="completed"?`${n} completed`:e.status==="partial"?`${n} completed with partial results`:e.status==="cancelled"?`${n} cancelled`:`${n} failed`}function oK(e,n){return e.error?`${n}: ${nf(e.error)}`:e.location?`${n} · ${e.location}`:n}function Lx(e,n,s){if(n)return n;const r=s.find(u=>u.id===e);return r?.displayName||r?.name||e}function rK(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 lK(e){return e.failed>0||e.cancelled>0?"negative":e.partial>0?"caution":"positive"}function cK(){const e=ra(),n=_.useSyncExternalStore(y3,gi,gi),s=Object.keys(n.runs).length>0||Object.keys(n.batches).length>0,r=xt({...Pd({client:ae}),enabled:s,staleTime:or,refetchInterval:3e3}),u=xt({...to({client:ae}),enabled:s}),f=_.useRef({}),g=_.useCallback(()=>{r.refetch()},[r.refetch]);return _.useEffect(()=>{s&&g()},[s,g]),_.useEffect(()=>{if(!s||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)}},[s,g]),_.useEffect(()=>{const b=r.data??[],v=u.data??[],k=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 z=k[A.runId];if(!z||!qU(z.status)||(f.current[z.id]??A.lastAnnouncedStatus)===z.status)continue;const F=v.find(I=>I.id===z.projectId);if(F&&Kl(e,z.kind,F.name),A.sourceAction==="run-all"){bh(z.id);continue}const T=Lx(z.projectId,A.projectLabel,v);en({title:sK(z),detail:oK(z,T),tone:iK(z.status),dedupeKey:`run:${z.id}`,dedupeMode:"replace",cta:{label:"View run",intent:"open-run-drawer",runId:z.id}}),bh(z.id)}if(r.data!==void 0){const A=new Set(b.map(C=>C.id)),z=BU(Object.values(n.runs),A,Date.now(),PU);for(const C of z){const F=v.find(T=>T.id===C.projectId);F&&Kl(e,C.kind,F.name),C.sourceAction!=="run-all"&&en({title:`${Pl(C.kind)} status unavailable`,detail:Lx(C.projectId,C.projectLabel,v),tone:"neutral",dedupeKey:`run-stale:${C.runId}`,dedupeMode:"replace"}),bh(C.runId)}}for(const A of Object.values(n.batches)){const z=IU(A.runIds,k);z.finished&&(en({title:"Run-all batch finished",detail:rK(z,A.skippedCount),tone:lK(z),dedupeKey:`batch:${A.batchId}`,dedupeMode:"replace",cta:{label:"View runs",intent:"go-to-runs"}}),OU(A.batchId))}f.current=S},[u.data,r.data,n,e]),null}function uK(){const{account:e,isAdmin:n}=ua(),s=ic(),r=_.useMemo(()=>WS(),[]),u=_.useMemo(TM,[]),f=_.useMemo(RM,[]),g=_.useMemo(DM,[]),b=Jx(),{dashboard:v,isLoading:k,refetch:S}=Ld(void 0,{includeSettings:!r,includeOverviews:!1,pauseProjectPolling:b.pathname==="/setup"}),C=Pf(!s,s?.health).data??s?.health??aK,{runId:F,evidenceId:T,closeDrawer:I}=Bf(),[X,J]=_.useState(!1),[V,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,Te=g&&K&&K.latest!==ie,Qe=()=>{if(K){try{window.localStorage.setItem("canonry:dismissedUpdateVersion",K.latest)}catch{}re(K.latest)}},Fe=()=>{const oe=!V;try{oe?window.localStorage.setItem("canonry:sidebarHidden","true"):window.localStorage.removeItem("canonry:sidebarHidden")}catch{}le(oe)},Re=A$(F),ke=Re.data??null,Be=Re.isLoading;_.useEffect(()=>{ke&&ke.status!=="running"&&ke.status!=="queued"&&S()},[ke?.status,S]),_.useEffect(()=>{J(!1)},[b.pathname]),_.useEffect(()=>{if(typeof window>"u"||!F&&!T)return;const oe=Ve=>{Ve.key==="Escape"&&I()};return window.addEventListener("keydown",oe),()=>{window.removeEventListener("keydown",oe)}},[F,T,I]);const be=v??s?.dashboard??null,B=b.pathname==="/setup",ee=B&&be!==null&&be.portfolioOverview.projects.length===0,pe=B&&(b.search.onboarding==="site-health"||b.search.onboarding==="first-run"||b.search.onboarding==="complete"),[Ce,W]=_.useState(ee);_.useEffect(()=>{B?ee&&W(!0):W(!1)},[ee,B]);const ze=B&&(pe||ee||Ce||B&&be===null),we=ze?"app-shell-focus":V?"app-shell-sidebar-hidden":"",se=F?(be?YG(be,F):void 0)??(ke?Vd(ke,be?.projects.find(oe=>oe.project.id===ke.projectId)?.project.displayName??be?.projects.find(oe=>oe.project.id===ke.projectId)?.project.name??"Unknown project"):void 0):void 0,U=_.useMemo(()=>$G(b.pathname,be),[b.pathname,be]),{commandCenter:q,evidenceLoading:ce,evidenceError:Oe,isError:ye,refetch:nt}=w$(T?U:null,{evidence:!0}),Le=_.useMemo(()=>{if(T)return JG(q,be,T)},[T,q,be]),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 Kt=oe.split("/").filter(Boolean)[1];if(Kt&&be){const jn=be.projects.find(ma=>ma.project.id===Kt);if(jn)return jn.project.name}return"Project"}return"Not found"})();if(r){const oe=!r.views||r.views.includes(DV(b.pathname));return c.jsxs("div",{className:"app-shell app-shell-embed","data-theme":IV(r.theme),style:MV(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(jh,{}):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(R$,{}),c.jsxs("div",{className:`app-shell ${we}${ql()?" app-shell-demo":""}`,children:[!ze&&!V&&c.jsxs("aside",{id:"desktop-sidebar",className:"sidebar","aria-label":"Primary navigation",children:[c.jsx("div",{className:"sidebar-brand",children:c.jsx(wx,{version:C.apiStatus.version,updateAvailable:Te?K:null,onDismissUpdate:Qe})}),c.jsxs("nav",{className:"sidebar-nav",children:[c.jsxs($e,{to:"/",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(kA,{className:"sidebar-icon"}),c.jsx("span",{children:"Portfolio"})]}),c.jsxs($e,{to:"/projects",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[c.jsx(wA,{className:"sidebar-icon"}),c.jsx("span",{children:"Projects"})]}),c.jsxs($e,{to:"/runs",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(SA,{className:"sidebar-icon"}),c.jsx("span",{children:"Runs"})]}),c.jsxs($e,{to:"/history",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(jA,{className:"sidebar-icon"}),c.jsx("span",{children:"History"})]}),c.jsxs($e,{to:"/traffic",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[c.jsx(AA,{className:"sidebar-icon"}),c.jsx("span",{children:"Traffic sources"})]}),!ql()&&c.jsxs($e,{to:"/backlinks",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(CA,{className:"sidebar-icon"}),c.jsx("span",{children:"Backlink data"})]}),n&&c.jsxs($e,{to:"/settings",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(NA,{className:"sidebar-icon"}),c.jsx("span",{children:"Settings"})]}),k?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))]}):be&&be.projects.length>0?c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),be.projects.map(oe=>{const Ve=oe.visibilitySummary.tone;return c.jsxs($e,{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-${Ve}`}),c.jsx("span",{children:oe.project.displayName||oe.project.name})]},oe.project.id)})]}):k?null:c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"sidebar-section-title",children:"Resources"}),n&&c.jsxs($e,{to:"/setup",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(_A,{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:nx()}):null]}),c.jsx(fe,{type:"button",variant:"ghost",size:"sm",onClick:Zt(async()=>{await ox(),window.location.reload()}),children:"Sign out"})]}),u?c.jsx("div",{className:"sidebar-footer",children:Mx.map(({label:oe,href:Ve,Icon:Kt})=>c.jsx("a",{className:"sidebar-footer-icon",href:Ve,target:"_blank",rel:"noopener noreferrer",title:oe,"aria-label":oe,children:c.jsx(Kt,{className:"size-4"})},Ve))}):null]}),c.jsxs("div",{className:"main-area",children:[c.jsxs("header",{className:"topbar",children:[c.jsxs("div",{className:"topbar-left",children:[!ze&&c.jsx(fe,{className:"sidebar-privacy-toggle",variant:"ghost",size:"icon",type:"button","aria-label":V?"Show sidebar":"Hide sidebar","aria-controls":V?void 0:"desktop-sidebar","aria-expanded":!V,title:V?"Show sidebar":"Hide sidebar",onClick:Fe,children:V?c.jsx(TA,{className:"size-4"}):c.jsx(RA,{className:"size-4"})}),c.jsx("div",{className:"topbar-brand-mobile",children:c.jsx(wx,{compact:!0})}),c.jsxs("nav",{className:"breadcrumb","aria-label":"Breadcrumb",children:[c.jsx($e,{to:"/",children:"Home"}),c.jsx(d0,{className:"breadcrumb-sep size-3"}),c.jsx("span",{className:"breadcrumb-current",children:kt})]})]}),c.jsxs("div",{className:"topbar-actions",children:[c.jsx(D$,{}),c.jsxs("div",{className:"health-pill-row",children:[c.jsxs("span",{className:`health-pill health-pill-${C.apiStatus.state}`,title:rr(C.apiStatus),children:["API ",C.apiStatus.state==="ok"?"ok":C.apiStatus.state]}),c.jsx("span",{className:`health-pill health-pill-${C.workerStatus.state}`,title:rr(C.workerStatus),children:`Worker ${C.workerStatus.state==="ok"?"ok":C.workerStatus.state}`})]}),ze?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(DA,{className:"size-4"}),c.jsx("span",{className:"sr-only",children:"Open navigation"})]})]})]}),ze?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(lr,{className:"size-5"}),c.jsx("span",{className:"sr-only",children:"Close navigation"})]}),c.jsx($e,{to:"/",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Portfolio"}),c.jsx($e,{to:"/projects",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Projects"}),c.jsx($e,{to:"/runs",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Runs"}),c.jsx($e,{to:"/history",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"History"}),c.jsx($e,{to:"/traffic",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Traffic sources"}),!ql()&&c.jsx($e,{to:"/backlinks",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Backlink data"}),n&&c.jsx($e,{to:"/settings",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Settings"}),be&&be.projects.length>0?c.jsxs("div",{className:"mobile-nav-section",children:[c.jsx("p",{className:"mobile-nav-section-title",children:"Tracked projects"}),be.projects.map(oe=>c.jsx($e,{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:nx()}):null]}),c.jsx(fe,{type:"button",variant:"ghost",size:"sm","data-testid":"mobile-sign-out",onClick:Zt(async()=>{await ox(),window.location.reload()}),children:"Sign out"})]})]})]}),c.jsx("main",{id:"content",className:`page-shell ${f&&U?"pb-20":""}`.trim(),children:k&&!s?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(Ve=>c.jsx("div",{className:"skeleton-text-sm w-full"},Ve))})]},oe))})]}):c.jsx(jh,{})}),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:Mx.map(({label:oe,href:Ve,Icon:Kt})=>c.jsx("a",{href:Ve,target:"_blank",rel:"noopener noreferrer",title:oe,"aria-label":oe,className:"footer-icon",children:c.jsx(Kt,{className:"size-3.5"})},Ve))}):null]})]}),F&&!se&&Be?c.jsx(Du,{open:!0,title:"Loading run details",subtitle:"Fetching the durable run record",onClose:I,children:c.jsx("p",{className:"text-sm text-muted",role:"status",children:"Loading run details…"})}):null,F&&!se&&Re.isError?c.jsx(Du,{open:!0,title:"Run unavailable",subtitle:"The run could not be loaded",onClose:I,children:c.jsx("p",{className:"text-sm text-negative",children:Re.error instanceof Error?Re.error.message:"Run details are unavailable."})}):null,se?c.jsxs(Du,{open:!0,title:se.summary,subtitle:`${se.projectName} · ${se.kindLabel}`,onClose:I,children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-1 text-sm",children:[c.jsx(qf,{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"}),Be?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(TG,{provider:oe.provider}),c.jsx(D3,{variant:oe.citationState===Xu.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((Ve,Kt)=>{const jn=t0(Ve.uri),ma=Ve.title||Ve.uri;return c.jsx("li",{className:"text-xs text-muted truncate",children:jn?c.jsx("a",{href:jn,target:"_blank",rel:"noopener noreferrer",className:"hover:text-neutral",children:ma}):c.jsx("span",{children:ma})},Kt)})})]}),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:EV(ke.error)})]}):c.jsx("p",{className:"text-sm text-muted",children:"No snapshot data available."})]})]}):null,T&&!Le?c.jsx(Du,{open:!0,title:ce?"Loading answer":"Answer unavailable",subtitle:"Query evidence",onClose:I,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:Oe||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,Le?c.jsx(LG,{evidence:Le.evidence,project:Le.project,onClose:I}):null,c.jsx(cK,{}),c.jsx(_$,{}),f?c.jsx(nK,{}):null]})]})}class dK extends _.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,s){console.error("[ErrorBoundary]",n,s.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(r2,{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(o2,{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 sa=_.forwardRef(({className:e,...n},s)=>c.jsx("div",{ref:s,className:da("rounded-xl border border-base bg-bg/75 shadow-[0_0_0_1px_var(--color-shadow-hairline)]",e),...n}));sa.displayName="Card";const Yo=_.forwardRef(({className:e,...n},s)=>c.jsx("div",{ref:s,className:da("flex flex-col gap-1.5 p-5",e),...n}));Yo.displayName="CardHeader";const H3=_.forwardRef(({className:e,...n},s)=>c.jsx("h3",{ref:s,className:da("font-medium tracking-tight text-primary",e),...n}));H3.displayName="CardTitle";const nd=_.forwardRef(({className:e,...n},s)=>c.jsx("p",{ref:s,className:da("text-sm text-muted",e),...n}));nd.displayName="CardDescription";const $s=_.forwardRef(({className:e,...n},s)=>c.jsx("div",{ref:s,className:da("p-5 pt-0",e),...n}));$s.displayName="CardContent";const mK=20,pK=6;function hK({points:e,tone:n}){const s=_.useId();if(e.length===0)return null;const r=42,u=132,f=5,g=u-f*2,b=r-f*2,v=b-pK,k=I=>f+I/Math.max(e.length-1,1)*g,S=aP(e),A=Math.min(...e),z=Math.max(...e),C=Math.max(z-A,mK),F=(z+A)/2-C/2,T=e.map((I,X)=>({x:k(X),y:f+(1-(I-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:s,children:c.jsx("rect",{x:f,y:f,width:g,height:b,rx:"8"})})}),c.jsx("line",{className:"sparkline-guide",x1:f,x2:u-f,y1:r-f,y2:r-f}),T.length===1?c.jsx("circle",{className:"sparkline-point",cx:T[0].x,cy:T[0].y,r:"3"}):c.jsx("polyline",{clipPath:`url(#${s})`,points:T.map(I=>`${I.x},${I.y}`).join(" "),vectorEffect:"non-scaling-stroke"})]})}function fK({project:e}){return c.jsxs($e,{to:"/projects/$projectName",params:{projectName:e.project.name},className:"project-row cursor-pointer",children:[c.jsx("div",{className:"project-row-chart",children:c.jsx(hK,{points:e.trend,tone:h3(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(d0,{className:"h-4 w-4 text-muted"})})]})}function gK(){const{isAdmin:e}=ua(),n=ic(),{dashboard:s,isLoading:r,isError:u,refetch:f}=Ld(),g=s??n?.dashboard,v=Pf(!n,n?.health),{openRun:k}=Bf();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:()=>{f()},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(T=>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"})]},T))})]});const S=g.portfolioOverview,A=S.projects.length>0&&S.projects.every(T=>T.hasMeasurement===!1),z=S.attentionItems.map(T=>A&&T.id==="attention_stable"?{...T,tone:"neutral",title:"Awaiting first measurement",detail:"Visibility results will appear after the first sweep."}:T),C=v.data??n?.health??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},F=CU(S.systemHealth.filter(T=>e||T.id==="api"||T.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(T=>c.jsx(fK,{project:T},T.project.id))}):c.jsxs(sa,{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($e,{to:S.emptyState?.ctaHref==="/setup"||!S.emptyState?.ctaHref?"/setup":"/",children:S.emptyState?.ctaLabel??"Launch setup"})})]}),c.jsxs("div",{className:"overview-secondary-grid",children:[z.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:z.map(T=>T.href?c.jsxs($e,{to:T.href,className:`attention-item attention-item-${T.tone}`,children:[c.jsxs("div",{children:[c.jsx("p",{className:"attention-title",children:T.title}),c.jsx("p",{className:"attention-detail",children:T.detail})]}),T.actionLabel&&c.jsx("span",{className:"attention-action",children:T.actionLabel})]},T.id):c.jsxs("div",{className:`attention-item attention-item-static attention-item-${T.tone}`,children:[c.jsxs("div",{children:[c.jsx("p",{className:"attention-title",children:T.title}),c.jsx("p",{className:"attention-detail",children:T.detail})]}),T.actionLabel&&c.jsx("span",{className:"attention-action",children:T.actionLabel})]},T.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(T=>c.jsxs("button",{className:"compact-run",type:"button",onClick:()=>k(T.id),children:[c.jsxs("div",{children:[c.jsx("p",{className:"compact-run-title",children:T.projectName}),c.jsx("p",{className:"compact-run-detail",children:T.summary})]}),c.jsx(qf,{status:T.status})]},T.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(T=>{const I=T.id==="api"?C.apiStatus:T.id==="worker"?C.workerStatus:void 0,X=I?I.state==="ok"?void 0:rr(I):T.tone==="positive"?void 0:T.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:T.label}),X&&c.jsx("p",{className:"mt-1 text-sm text-secondary",children:X})]}),c.jsx(hn,{tone:T.tone,title:I?rr(I):T.meta,children:T.detail})]},T.id)})})]})]})}const yK='a, button, input, select, textarea, label, [role="button"], [role="link"], [role="checkbox"], [role="menuitem"]';function bK(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(yK))return!1;const s=typeof window<"u"?window.getSelection():null;return!(s&&!s.isCollapsed&&s.toString().trim()!=="")}function vK({onApplied:e}){const{canWrite:n}=ua(),[s,r]=_.useState(""),[u,f]=_.useState(!1),[g,b]=_.useState([]),[v,k]=_.useState([]);if(PM()||!n)return null;const S=async()=>{if(!s.trim())return;f(!0),b([]),k([]);const A=BA(s),z=[],C=[];for(let F=0;F<A.length;F++){const T=A[F];if(T.errors.length>0){z.push(`Document ${F+1}: ${T.errors[0]?.message}`);continue}const I=T.toJSON();if(!(!I||typeof I!="object"))try{const X=await oV(I);C.push(`Applied "${X.displayName||X.name}" (revision ${X.configRevision})`)}catch(X){z.push(`Document ${F+1}: ${E_(X)}`)}}b(C),k(z),f(!1),C.length>0&&(en({title:"YAML applied",detail:`Applied ${C.length} document${C.length===1?"":"s"} successfully.`,tone:z.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:s,onChange:A=>r(A.target.value)}),g.length>0&&c.jsx("ul",{className:"mt-2 space-y-1",children:g.map((A,z)=>c.jsx("li",{className:"text-positive-400 text-sm",children:A},z))}),v.length>0&&c.jsx("ul",{className:"mt-2 space-y-1",children:v.map((A,z)=>c.jsx("li",{className:"text-negative-400 text-sm",children:A},z))}),c.jsx("div",{className:"mt-3",children:c.jsx(fe,{type:"button",disabled:!s.trim()||u,onClick:Zt(S),children:u?"Applying...":"Apply"})})]})}function xK(){const{dashboard:e,isLoading:n,refetch:s}=Ld(),{canWrite:r,isAdmin:u}=ua(),f=ss();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:()=>{f({to:"/setup",search:{experience:"platform"}})},children:[c.jsx(kb,{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:k=>{bK(k)&&f({to:"/projects/$projectName",params:{projectName:b.project.name}})},children:[c.jsxs("td",{children:[c.jsx($e,{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(hn,{tone:b.mentionSummary.tone,children:b.mentionSummary.value})}),c.jsx("td",{className:"text-muted text-sm",children:v?c.jsx(qf,{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(sa,{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:()=>{f({to:"/setup",search:{experience:"platform"}})},children:[c.jsx(kb,{className:"size-4 mr-1.5"}),"Map a site"]}):null]}),r?c.jsx(vK,{onApplied:()=>{s()}}):null]})}const Ux="canonry.onboarding-session.v1",ad="canonry.onboarding-launched-run.v1",Lf="canonry.onboarding-handoff.v1",kK=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,wK=["system","project","queries","competitors","run"];function SK(e){return wK[e]??"system"}function jK(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 AK(e){return e.apiStatus.state!=="checking"&&e.workerStatus.state!=="checking"}const CK={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 Bl(e,n){const s=e&&typeof e=="object"&&"code"in e?String(e.code):"";return CK[s]??n}function Uf(){try{const e=typeof window<"u"?window.sessionStorage.getItem(Ux):null;if(e&&kK.test(e))return e;const n=s0();return typeof window<"u"&&window.sessionStorage.setItem(Ux,n),n}catch{return s0()}}function Gf(){return s0()}function Q3(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 F3(e,n){try{typeof window<"u"&&window.sessionStorage.setItem(ad,JSON.stringify({projectName:e,runId:n,handled:!1}))}catch{}}function Z3(e){if(!e)return null;try{if(typeof window>"u")return null;const n=window.sessionStorage.getItem(ad);if(!n)return null;const s=JSON.parse(n);return!Q3(s)||s.projectName!==e||s.handled?null:s}catch{return null}}function id(e){try{if(typeof window>"u")return;const n=window.sessionStorage.getItem(ad);if(!n)return;const s=JSON.parse(n);if(!Q3(s)||s.runId!==e)return;window.sessionStorage.setItem(ad,JSON.stringify({...s,handled:!0}))}catch{}}function NK(e){try{typeof window<"u"&&window.sessionStorage.setItem(Lf,e)}catch{}}function _K(e){if(!e)return!1;try{return typeof window<"u"&&window.sessionStorage.getItem(Lf)===e}catch{return!1}}function zK(){try{typeof window<"u"&&window.sessionStorage.removeItem(Lf)}catch{}}function s0(){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 s=[...n].map(r=>r.toString(16).padStart(2,"0")).join("");return`${s.slice(0,8)}-${s.slice(8,12)}-${s.slice(12,16)}-${s.slice(16,20)}-${s.slice(20)}`}class EK extends Error{constructor(){super(l3),this.name="ViewOnlyError"}}function TK(e){if(!e.canWrite)throw new EK}function Y3(e){e.invalidateQueries({queryKey:Ef({client:ae})}),e.invalidateQueries({queryKey:is({client:ae})})}function ao(){const e=ua();return()=>{TK(e)}}function RK(e){return e==="gsc-sync"?"GSC sync queued":e==="inspect-sitemap"?"Sitemap inspection queued":"Visibility sweep queued"}function DK(e,n){const s=e??"Project";return n==="gsc-sync"?`${s} will refresh after the sync completes.`:n==="inspect-sitemap"?`${s} will notify you when sitemap inspection finishes.`:`${s} will notify you when the run finishes.`}function $f(e,n){Rf({id:e.id,projectId:e.projectId,kind:e.kind,projectLabel:n.projectLabel,sourceAction:n.sourceAction,lastAnnouncedStatus:"queued"}),en({title:RK(e.kind),detail:DK(n.projectLabel,e.kind),tone:"neutral",dedupeKey:`run:${e.id}`,dedupeMode:"replace"})}function OK(e){const n=e.filter(g=>g.status!=="conflict"&&g.status!=="error"),s=e.filter(g=>g.status==="conflict"),r=e.filter(g=>g.status==="error"),u=s.length+r.length;if(n.length===0){const g=[r.length>0?`${r.length} need provider or query setup`:null,s.length>0?`${s.length} already have an active run`:null].filter(b=>b!==null);en({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)Rf({id:g.id,projectId:g.projectId,kind:g.kind,projectLabel:g.projectName,sourceAction:"run-all",lastAnnouncedStatus:"queued"});const f=DU({runIds:n.map(g=>g.id),queuedCount:n.length,skippedCount:u});en({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:${f}`,dedupeMode:"replace"})}function Ud(e,n){if(e instanceof gn&&e.code==="RUN_IN_PROGRESS"){en({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}en({title:e instanceof Error?e.message:"Failed to queue run",tone:"negative"})}function qK(){const e=ao(),n=ra();return os({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:s,opts:r})=>WM(s,r),onSuccess:(s,r)=>{Y3(n),$f(s,{projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})},onError:(s,r)=>{r.sourceAction!=="setup-launch"&&Ud(s,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})}})}function DX(){const e=ao(),n=ra();return os({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:s=>rV(s),onSuccess:s=>{Y3(n),OK(s)},onError:s=>{en({title:s instanceof Error?s.message:"Failed to queue runs",tone:"negative"})}})}function PK(){const e=ao(),n=ra();return os({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:s,body:r})=>uV(s,r),onSuccess:(s,r)=>{Kl(n,Ne["site-audit"],r.projectName),Rf({id:s.runId,projectId:r.projectId,kind:Ne["site-audit"],projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit",lastAnnouncedStatus:s.status}),en({title:s.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:${s.runId}`,dedupeMode:"replace"})},onError:(s,r)=>{r.suppressErrorToast||Ud(s,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit"})}})}function OX(){const e=ao(),n=ra();return os({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:s,opts:r})=>lV(s,r),onSuccess:(s,r)=>{Kl(n,Ne["gsc-sync"],r.projectName),$f(s,{projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})},onError:(s,r)=>{Ud(s,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})}})}function qX(){const e=ao(),n=ra();return os({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:s,opts:r})=>cV(s,r),onSuccess:(s,r)=>{Kl(n,Ne["inspect-sitemap"],r.projectName),$f(s,{projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})},onError:(s,r)=>{Ud(s,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})}})}function Kf(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 PX(){const e=ao(),n=ra();return os({onMutate:e,mutationFn:({projectName:s,queries:r})=>YM(s,r),onSuccess:()=>{n.invalidateQueries({queryKey:is({client:ae})}),n.invalidateQueries({predicate:Kf})}})}function BX(){const e=ao(),n=ra();return os({onMutate:e,mutationFn:({projectName:s,body:r})=>XM(s,r),onSuccess:()=>{pn(n,"project"),n.invalidateQueries({predicate:Kf})}})}function IX({disabled:e,title:n,...s}){const{canWrite:r}=ua();return r?c.jsx(fe,{disabled:e,title:n,...s}):c.jsx(fe,{...s,disabled:!0,title:l3})}function Hf({title:e,children:n}){const{isAdmin:s}=ua();return s?c.jsx(c.Fragment,{children:n}):c.jsxs(sa,{className:"surface-card mx-auto mt-8 max-w-lg",children:[c.jsxs(Yo,{children:[c.jsxs(H3,{children:[e," is for administrators"]}),c.jsx(nd,{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($s,{children:c.jsx("p",{className:"supporting-copy",children:"If you need to make a change here, ask an administrator on this install."})})]})}const Gx=[{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}],BK={skipped:"Skipped",pending:"In progress",incomplete:"Didn’t finish",unknown:null};function Js({current:e,outcomes:n={}}){const s=Gx.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:Gx.map((r,u)=>{const f=u<s?n[r.id]:void 0,g=u<s&&f===void 0,b=u===s,v=f?BK[f]: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?"✓":f==="skipped"||f==="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&&!f?c.jsx("span",{className:"text-[13px] text-secondary",children:"Optional"}):null,g?c.jsx("span",{className:"sr-only",children:"Complete"}):null]})]},r.id)})})}function IK(){return[{id:"search-console",icon:u0,label:"Search Console",detail:"Compare answer engines with the queries you already rank for.",action:"Connect",to:"/projects/$projectName/search-console"},{id:"analytics",icon:l2,label:"Google Analytics",detail:"See the traffic answer engines actually send you.",action:"Connect",to:"/projects/$projectName/activity"},{id:"schedule",icon:c2,label:"Scheduled sweeps",detail:"Re-measure on a schedule instead of by hand.",action:"Set up",to:"/projects/$projectName/settings"},{id:"notifications",icon:Ah,label:"Notifications",detail:"Send a webhook when a sweep finishes or a score moves.",action:"Set up",to:"/projects/$projectName/settings"},{id:"local",icon:u2,label:"Local presence",detail:"Track the Google Business Profile behind local answers.",action:"Open",to:"/projects/$projectName/local"},{id:"agent",icon:OA,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 MK({projectName:e}){const n=IK();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:s,icon:r,label:u,detail:f,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:f}),b?c.jsxs($e,{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]})]})]},s))})]})}function VK({providerName:e,keyUrl:n,modelHint:s,compact:r=!1,leadingField:u,secondaryActions:f,onSaved:g}){const b=e.toLowerCase()==="local",v=r&&e.toLowerCase()==="gemini"&&!!n,[k,S]=_.useState(""),[A,z]=_.useState(""),[C,F]=_.useState(""),[T,I]=_.useState(""),[X,J]=_.useState(""),[V,le]=_.useState(""),[ie,re]=_.useState(!1),[H,K]=_.useState(null),[Te,Qe]=_.useState(!1),Fe=b?A.trim().length>0:k.trim().length>0;async function Re(){if(Fe){re(!0),K(null),Qe(!1);try{const W=U=>{const q=parseInt(U.trim(),10);return Number.isFinite(q)&&q>0?q:void 0},De={},ze=W(T);ze!==void 0&&(De.maxConcurrency=ze);const we=W(X);we!==void 0&&(De.maxRequestsPerMinute=we);const se=W(V);se!==void 0&&(De.maxRequestsPerDay=se),await i3(e.toLowerCase(),{...k.trim()?{apiKey:k.trim()}:{},...A.trim()?{baseUrl:A.trim()}:{},...C.trim()?{model:C.trim()}:{},...Object.keys(De).length>0?{quota:De}:{}}),S(""),z(""),F(""),I(""),J(""),le(""),Qe(!0),en({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=s??"Use default model",Be=r?"block text-sm font-medium text-secondary":"text-sm text-secondary",be=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",B=c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:r?"space-y-1.5":void 0,children:[c.jsx("label",{className:Be,htmlFor:`model-${e}`,children:"Model (optional)"}),c.jsx("input",{id:`model-${e}`,type:"text",className:be,placeholder:ke,value:C,onChange:W=>F(W.target.value)})]}),c.jsxs("div",{children:[c.jsx("label",{className:Be,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:T,onChange:W=>I(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:V,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:Be,htmlFor:`base-url-${e}`,children:"Base URL"}),c.jsx("input",{id:`base-url-${e}`,type:"text",className:be,placeholder:"http://localhost:11434/v1",value:A,onChange:W=>z(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:Be,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:be,placeholder:b?"Optional. Most local servers do not need one.":`Enter ${e} API key`,value:k,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(Re),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:B})]}):B,H&&c.jsx("p",{role:"alert",className:"text-sm text-negative-400",children:H}),Te&&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,f]}):Ce]})}const sd="cdp:chatgpt";function Ks(e){return e.trim().toLowerCase()}function LK({projectProviders:e,configuredApiProviders:n,cdpConfigured:s}){const r=e.map(Ks),u=new Set(r),f=r.length===0||r.some(k=>k!==sd),g=r.length===0||u.has(sd);if(f&&n!==void 0&&n.map(Ks).some(S=>r.length===0||u.has(S))||g&&s===!0)return!0;if(!(f&&n===void 0||g&&s===void 0))return!1}const UK=[{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"}],GK=[{label:"Queries"},{label:"First sweep"}];function $x(e,n){return(e==="completed"||e==="partial")&&n>0}function Kx(e){return e.launchReady?e.hasProject?e.queryCount===0?2:e.competitorCount===0&&!e.hasRunAttempt?3:4:1:0}function X3(e){return e.queryCounts.total>0}function $K(e,n){return n?e.find(s=>s.project.name===n)??null:e.find(s=>!X3(s))??e.at(0)??null}function KK({current:e,labels:n}){return c.jsx("div",{className:"setup-steps",role:"list","aria-label":"Setup progress",children:n.map((s,r)=>{const u=r<e,f=r===e;return c.jsxs("div",{className:`setup-step ${u?"setup-step-done":""} ${f?"setup-step-active":""}`,role:"listitem","aria-current":f?"step":void 0,children:[c.jsx("span",{className:"setup-step-number",children:u?"✓":r+1}),c.jsx("span",{children:s.label})]},s.label)})})}function HK({visibilityProjectName:e,siteHealthOnboarding:n=!1,onboardingFinish:s=n}={}){const{canWrite:r}=ua();return e&&r?c.jsx(Hx,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:s}):c.jsx(Hf,{title:e?"Set up AI Visibility":"Setup",children:c.jsx(Hx,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:s})})}function Hx({visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:s}){const r=ic(),{isAdmin:u}=ua(),{dashboard:f,isLoading:g,refetch:b}=Ld(void 0,{pauseProjectPolling:!0,includeSettings:u}),v=f??r?.dashboard,k=ss(),S=_.useCallback(z=>{z&&e&&z.focus()},[e]),A=()=>{if(!e){k({to:"/",replace:!0});return}if(s){k({to:"/setup",search:{onboarding:"complete",setupProject:e,skipped:"visibility"},replace:!0});return}k({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(z=>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"})]},z))})]})]}):e&&!v.projects.some(z=>z.project.name===e)?c.jsxs("div",{className:"page-container",children:[n?c.jsx(Js,{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(sa,{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($e,{to:"/projects",children:"View projects"})})]})]})]}):c.jsx(QK,{dashboard:v,initialHealth:r?.health,enableLiveStatus:!r,refetch:b,visibilityProjectName:e,visibilityHeadingRef:S,siteHealthOnboarding:n,onboardingFinish:s})}function QK({dashboard:e,initialHealth:n,enableLiveStatus:s,refetch:r,visibilityProjectName:u,visibilityHeadingRef:f,siteHealthOnboarding:g,onboardingFinish:b}){const v=e.settings,{isAdmin:k}=ua(),A=Pf(s,n).data??n??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},z=_U(e.setup,A,v),C=!!u,F=ss(),T=ra(),I=_.useRef(Uf()).current,X=_.useRef(new Set),J=_.useCallback((G,Me)=>{if(Me){if(X.current.has(Me))return;X.current.add(Me)}_f({surface:"wizard",...G,eventId:Gf()})},[]),V=$K(e.projects,u),le=V?e.runs.filter(G=>G.projectId===V.project.id).sort((G,Me)=>Me.createdAt.localeCompare(G.createdAt)):[],ie=V?.queryCounts.total??0,re=V?.project.name,H=xt({queryKey:["setup","resume-queries",re],queryFn:()=>re?t3(re):Promise.resolve([]),enabled:!!re}),K=H.data??[],Te=H.data?.length??ie,Qe=V?.competitors.map(G=>G.domain)??[],Fe=le.at(0)??null,Re=!!V&&X3(V),ke=!!V&&H.isPending,Be=C?2:Kx({launchReady:z.launchState.enabled,hasProject:!!V,queryCount:Te,competitorCount:Qe.length,hasRunAttempt:le.length>0||Re}),be=Kx({launchReady:!0,hasProject:!!V,queryCount:Te,competitorCount:Qe.length,hasRunAttempt:le.length>0||Re}),[B,ee]=_.useState(Be),[pe,Ce]=_.useState(!ke),W=C&&(ke||!pe),[De,ze]=_.useState(V?.project.name??""),[we,se]=_.useState(V?.project.displayName??""),[U,q]=_.useState(V?.project.canonicalDomain??""),[ce,Oe]=_.useState(V?.project.country??"US"),[ye,nt]=_.useState(V?.project.language??"en"),[Le,kt]=_.useState(V?.project.autoExtractBacklinks??!1),[oe,Ve]=_.useState(V?.project.name??null),[Kt,jn]=_.useState(null),[ma,hs]=_.useState(!1),Ie=()=>{if(!oe){F({to:"/",replace:!!u});return}F({to:g?"/projects/$projectName/technical-aeo":"/projects/$projectName",params:{projectName:oe},replace:!!u})},lt=(G=!1)=>{if(!b||!oe){Ie();return}F({to:"/setup",search:{onboarding:"complete",setupProject:oe,...G?{skipped:"visibility"}:{}},replace:!0})},Jt=()=>lt(!0),[bi,vr]=_.useState(K.map(G=>G.query).join(`
|
|
73
|
+
`)),[tn,xr]=_.useState(Te>0),[kr,wr]=_.useState(null),[fs,sc]=_.useState(!1),[oc,Kd]=_.useState(!1),rc=v.providerStatuses.filter(G=>G.state==="ready"),yn=V?.project.providers.map(Ks)??[],wt=rc.filter(G=>yn.length===0||yn.includes(Ks(G.name))),Na=rc.map(G=>Ks(G.name)),bn=wt.length>0,Sr=yn.length===0||yn.includes(sd),Ga=C&&!k,_a=xt({...KV({client:ae,path:{name:re??""}}),enabled:Ga&&!!re,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:"always",retry:!1}),gs=_a.data?.answerVisibilityProviderReady,vi=Ga&&(_a.isError||_a.isSuccess&&typeof gs!="boolean"),$a=xt({...gL({client:ae}),enabled:!Ga&&Sr&&!bn,staleTime:6e4,retry:!1}),Hn=Sr?$a.isSuccess?typeof $a.data.browserVersion=="string":$a.isError?!1:void 0:!1,Ht=Ga?_a.isSuccess&&_a.isFetchedAfterMount&&!_a.isFetching?gs:void 0:LK({projectProviders:yn,configuredApiProviders:Na,cdpConfigured:Hn}),Ka=wt.length+(Hn===!0?1:0),[xi,ys]=_.useState(wt[0]?.name??""),[io,bs]=_.useState(5),[lc,jr]=_.useState(!1),[Ar,Cr]=_.useState(null),[Nr,_r]=_.useState(""),so=_.useRef(!1),cc=_.useCallback(G=>{!G||!so.current||(so.current=!1,G.focus({preventScroll:!0}))},[]),[Qn,Mt]=_.useState(!1),[un,ki]=_.useState(!1),[oo,uc]=_.useState(!1),ro=v.providerStatuses.filter(G=>Ks(G.name)!==sd&&(yn.length===0||yn.includes(Ks(G.name)))),On=ro.find(G=>G.name===Nr)??ro.find(G=>G.state!=="ready")??ro.at(0),wi=`Help me choose AI Visibility queries for Canonry project ${JSON.stringify(oe??De)} (${U}).
|
|
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.`,zr=async()=>{uc(!1);try{await navigator.clipboard.writeText(wi),ki(!0)}catch{uc(!0)}},[Ha,Si]=_.useState(Qe.join(`
|
|
77
|
+
`)),[ji,Ai]=_.useState(Qe.length>0),[qt,Er]=_.useState(null),[Tr,za]=_.useState(!1),Rr=_.useRef(Z3(re)).current?.runId??null,Dr=_.useRef(Rr),[Ea,Hd]=_.useState(!!Rr||!!Fe&&!Re),[Qa,xs]=_.useState(!1),[nn,dn]=_.useState(null),[Ci,Qd]=_.useState(Rr??(Re?null:Fe?.id??null)),Or=qK(),Ta=xt({...Tf({client:ae,path:{id:Ci??""}}),enabled:!!Ci,refetchInterval:({state:G})=>{const Me=G.data?.status;return Me==="completed"||Me==="partial"||Me==="failed"||Me==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}),[Ni,dc]=_.useState(""),[mn,lo]=_.useState(!1),[qr,co]=_.useState(null),An=De.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),qn=bi.split(`
|
|
78
|
+
`).map(G=>G.trim()).filter(Boolean),Fa=Ha.split(`
|
|
79
|
+
`).map(G=>G.trim()).filter(Boolean),Fn=Math.max(Te,tn?qn.length:0),Zn=jK({apiReady:A.apiStatus.state==="ok",databaseConfigured:A.apiStatus.databaseConfigured,workerReady:A.workerStatus.state==="ok",providerReady:Ht!==!1}),Ra=(Zn&&Zn!=="no_provider"?z.launchState.blockedReason:vi?"Provider readiness could not be checked. Try again.":Ht===void 0?"Checking provider readiness before launch.":Zn==="no_provider"?"Launch is blocked until a provider allowed by this project is configured.":void 0)??(oe?Fn===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(Be),K.length>0&&(vr(K.map(G=>G.query).join(`
|
|
80
|
+
`)),xr(!0)),Ce(!0))},[K,Be,C,pe,ke]),_.useEffect(()=>{if(wt.length===0){ys("");return}wt.some(G=>G.name===xi)||ys(wt[0].name)},[wt,xi]),_.useEffect(()=>{pe&&(J({flowVersion:it,onboardingSessionId:I,event:"onboarding.started",step:SK(Be),resumed:!!V},"onboarding.started"),!V&&Be>0&&J({flowVersion:it,onboardingSessionId:I,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"))},[J,Be,I,pe,V]),_.useEffect(()=>{C||!AK(A)||!Zn||J({flowVersion:it,onboardingSessionId:I,event:"onboarding.blocked",step:"system",action:Zn==="no_provider"?"configure_provider":"continue",reasonCode:Zn},`onboarding.blocked:system:${Zn}`)},[J,A,C,I,Zn]);const pa=Ta.data?.status,uo=Ta.data?.snapshots?.length??0;_.useEffect(()=>{if(!Ea||!pa)return;const G=Dr.current;if(!G||G!==Ci)return;if($x(pa,uo)){J({flowVersion:it,onboardingSessionId:I,event:"onboarding.step_completed",step:"run",method:"automatic",countBucket:Ma(uo)},"onboarding.step_completed:run"),id(G);return}const Me=pa==="cancelled"?"run_cancelled":pa==="failed"||(pa==="completed"||pa==="partial")&&uo===0?"run_failed":void 0;Me&&(J({flowVersion:it,onboardingSessionId:I,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Me},`onboarding.blocked:run:${Me}`),id(G))},[J,Ci,I,pa,uo,Ea]);const Zd=async()=>{if(!(!An||!U)){hs(!0),jn(null);try{const G=await a3(An,{displayName:we||De,canonicalDomain:U,country:ce,language:ye,autoExtractBacklinks:Le});Ve(An),en({title:"Project created",detail:`${G.displayName||G.name} is ready for setup.`,tone:"positive",dedupeKey:`project:create:${G.name}`,dedupeMode:"drop"}),await r(),J({flowVersion:it,onboardingSessionId:I,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),ee(2)}catch(G){jn(G instanceof Error?G.message:"Failed to create project"),J({flowVersion:it,onboardingSessionId:I,event:"onboarding.blocked",step:"project",action:"save",reasonCode:"project_create_failed"},"onboarding.blocked:project:project_create_failed")}finally{hs(!1)}}},mo=async()=>{if(!oe)return;const G=qn;if(G.length!==0){sc(!0),wr(null);try{await ZM(oe,G),xr(!0),C?await Promise.all([T.invalidateQueries({queryKey:d3({client:ae,path:{name:oe}})}),T.invalidateQueries({predicate:Kf}),T.invalidateQueries({queryKey:["setup","resume-queries",oe]})]):await r(),J({flowVersion:it,onboardingSessionId:I,event:"onboarding.step_completed",step:"queries",method:oc?"generated":"manual",countBucket:Ma(G.length)},"onboarding.step_completed:queries"),ee(C?4:3)}catch(Me){wr(Me instanceof Error?Me.message:"Failed to save queries"),J({flowVersion:it,onboardingSessionId:I,event:"onboarding.blocked",step:"queries",action:"save",reasonCode:"query_save_failed"},"onboarding.blocked:queries:query_save_failed")}finally{sc(!1)}}},ha=async()=>{if(!(!oe||!xi)){jr(!0),Cr(null);try{const G=await sV(oe,xi,io);if(G.queries.length>0){const Me=bi?bi.trimEnd()+`
|
|
81
|
+
`+G.queries.join(`
|
|
82
|
+
`):G.queries.join(`
|
|
83
|
+
`);vr(Me),Kd(!0)}}catch(G){Cr(G instanceof Error?G.message:"Failed to generate queries"),J({flowVersion:it,onboardingSessionId:I,event:"onboarding.blocked",step:"queries",action:"generate_queries",reasonCode:Bl(G,"unknown")},"onboarding.blocked:queries:generate")}finally{jr(!1)}}},Pr=async()=>{if(!oe)return;const G=Fa;if(G.length!==0){za(!0),Er(null);try{await JM(oe,G),Ai(!0),await r(),J({flowVersion:it,onboardingSessionId:I,event:"onboarding.step_completed",step:"competitors",method:"manual",countBucket:Ma(G.length)},"onboarding.step_completed:competitors"),ee(4)}catch(Me){Er(Me instanceof Error?Me.message:"Failed to save competitors"),J({flowVersion:it,onboardingSessionId:I,event:"onboarding.blocked",step:"competitors",action:"save",reasonCode:"unknown"},"onboarding.blocked:competitors:save")}finally{za(!1)}}},Br=async()=>{const G=Ni.trim();if(G){lo(!0),co(null);try{await i3("gemini",{apiKey:G}),en({title:"Gemini configured",detail:"Provider is ready — continuing setup.",tone:"positive",dedupeKey:"setup:gemini:configured",dedupeMode:"drop"}),dc(""),await r(),ys(v.providerStatuses.find(Me=>Me.name.toLowerCase()==="gemini")?.name??"gemini"),J({flowVersion:it,onboardingSessionId:I,event:"onboarding.step_completed",step:"system",method:"inline"},"onboarding.step_completed:system")}catch(Me){co(Me instanceof Error?Me.message:"Failed to save Gemini key"),J({flowVersion:it,onboardingSessionId:I,event:"onboarding.blocked",step:"system",action:"configure_provider",reasonCode:"provider_save_failed"},"onboarding.blocked:system:provider_save_failed")}finally{lo(!1)}}},Za=async()=>{if(!Us()){if(!oe||Ra){dn(Ra??"Complete setup before launching the first sweep.");const G=Zn??(oe?Fn===0?"no_queries":"run_rejected":"unknown");Ga||J({flowVersion:it,onboardingSessionId:I,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:Ma(Ka),queryCountBucket:Ma(Fn),reasonCode:G});return}xs(!0),dn(null);try{const G=await Or.mutateAsync({projectName:oe,projectLabel:we||De||oe,sourceAction:"setup-launch"});Qd(G.id),Hd(!0),F3(oe,G.id),Dr.current=G.id,Ga||J({flowVersion:it,onboardingSessionId:I,event:"run.requested",origin:"dashboard_setup",result:"queued",providerCountBucket:Ma(Ka),queryCountBucket:Ma(Fn)}),await r()}catch(G){dn(G instanceof Error?G.message:"Failed to queue the visibility sweep. Retry when the instance is ready."),Ga||J({flowVersion:it,onboardingSessionId:I,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:Ma(Ka),queryCountBucket:Ma(Fn),reasonCode:Bl(G,"run_rejected")})}finally{xs(!1)}}},vn=()=>ee(G=>C?2:Math.max(0,G-1)),po=(G,Me,Ya)=>{J({flowVersion:it,onboardingSessionId:I,event:"onboarding.step_completed",step:G,method:"existing",...Ya===void 0?{}:{countBucket:Ma(Ya)}},`onboarding.step_completed:${G}`),ee(Me)},Ir=()=>{if(J({flowVersion:it,onboardingSessionId:I,event:"onboarding.step_completed",step:"queries",method:"skipped",countBucket:"0"},"onboarding.step_completed:queries"),C){Jt();return}ee(3)},mc=()=>{J({flowVersion:it,onboardingSessionId:I,event:"onboarding.step_completed",step:"competitors",method:"skipped",countBucket:"0"},"onboarding.step_completed:competitors"),ee(4)},ks=C?"section":sa,Yn=Ht!==!0||Hn===!0?c.jsx(fe,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",onClick:()=>{r(),Sr&&$a.refetch()},children:"Check again"}):null,Mr=(Ht===!1||Qn)&&!!On,ws=C&&(B===2||B===4)?k?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(hn,{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?wt.length>0?`${wt.map(G=>G.displayName??G.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||Qn?On?c.jsx("div",{children:c.jsx(VK,{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:cc,id:"setup-provider",className:"setup-input",value:On.name,onChange:G=>{G.target.value!==On.name&&(so.current=document.activeElement===G.currentTarget,_r(G.target.value))},children:ro.map(G=>c.jsx("option",{value:G.name,children:G.displayName??G.name},G.name))})]}),secondaryActions:Yn,providerName:On.name,keyUrl:On.keyUrl,modelHint:On.modelHint,onSaved:()=>{Mt(!1),r()}},On.name)}):c.jsx("p",{className:"max-w-prose text-sm text-secondary",children:yn.length>0?`This project's provider selection is ${yn.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&&!Qn&&On?c.jsx(fe,{type:"button",variant:"outline",size:"sm",onClick:()=>Mt(!0),children:"Configure a provider"}):null,!On||Hn===!0?c.jsx(fe,{type:"button",variant:"outline",size:"sm",asChild:!0,children:c.jsx($e,{to:"/settings",target:"_blank",rel:"noopener noreferrer",children:"Open provider settings"})}):null,Mr?null:Yn]})]}):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."}),vi?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:_a.isFetching,onClick:()=>{_a.refetch()},children:vi?"Retry provider check":"Check again"})]}):null,Da=(()=>{switch(B){case 0:return c.jsxs(sa,{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:z.healthChecks.map(G=>c.jsxs("div",{className:"health-check-row",children:[c.jsxs("div",{children:[c.jsx("p",{className:"run-row-title",children:G.label}),c.jsx("p",{className:"supporting-copy",children:G.detail}),G.id==="provider"&&G.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:Ni,onChange:Me=>dc(Me.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:mn}),c.jsx(fe,{type:"button",size:"sm",disabled:mn||!Ni.trim(),onClick:Zt(Br),children:mn?"Saving...":"Save"})]}),qr&&c.jsxs("div",{role:"alert",className:"space-y-1 text-xs text-negative",children:[c.jsx("p",{children:qr}),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($e,{to:"/settings",className:"text-link hover:underline",children:"Settings"}),"."]})]})]}),c.jsx(hn,{tone:G.state==="ready"?"positive":"caution",title:G.id==="api"?rr(A.apiStatus):G.id==="worker"?rr(A.workerStatus):G.detail,children:G.state==="ready"?"Ready":"Attention"})]},G.id))}),c.jsxs("div",{className:"setup-nav",children:[z.launchState.blockedReason?c.jsx("p",{role:"status",className:"supporting-copy text-negative",children:z.launchState.blockedReason}):c.jsx("span",{}),c.jsx(fe,{type:"button",disabled:!z.launchState.enabled,title:z.launchState.blockedReason,onClick:()=>{J({flowVersion:it,onboardingSessionId:I,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"),ee(be)},children:"Continue"})]})]});case 1:return c.jsxs(sa,{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(hn,{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:vn,children:"Back"}),c.jsx(fe,{type:"button",onClick:()=>po("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:G=>ze(G.target.value)}),An&&An!==De?c.jsxs("p",{className:"supporting-copy",children:["Slug: ",An]}):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:we,onChange:G=>se(G.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:U,onChange:G=>q(G.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:G=>Oe(G.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:G=>nt(G.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:Le,onChange:G=>kt(G.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($e,{to:"/backlinks",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"Manage backlinks"})]})]})]}),Kt?c.jsx("p",{className:"text-negative-400 text-sm",children:Kt}):null,c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:vn,children:"Back"}),c.jsx(fe,{type:"button",disabled:!An||!U||ma,onClick:Zt(Zd),children:ma?"Creating...":"Create project"})]})]})]});case 2:return c.jsxs(ks,{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(hn,{tone:"neutral",children:"Loading"}):H.isError?c.jsx(hn,{tone:"negative",children:"Load failed"}):tn?c.jsxs(hn,{tone:"positive",children:[qn.length," saved"]}):c.jsxs(hn,{tone:"neutral",children:[qn.length," quer",qn.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(zr),children:un?"Research prompt copied":"Copy research prompt"})]}),c.jsxs("details",{open:oo||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:wi})]}),oo?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?Ie:vn,children:"Back"}),c.jsx(fe,{type:"button",onClick:()=>{H.refetch()},children:"Retry loading queries"})]})]}):tn?c.jsxs("div",{className:"compact-stack",children:[c.jsx("ul",{className:"detail-list",children:qn.map(G=>c.jsx("li",{children:G},G))}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:C?Ie:vn,children:"Back"}),c.jsx(fe,{type:"button",variant:"outline",onClick:()=>xr(!1),children:"Edit queries"}),c.jsx(fe,{type:"button",onClick:()=>po("queries",C?4:3,qn.length),children:"Continue"})]})]}):c.jsxs("div",{className:"compact-stack",children:[wt.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:xi,onChange:G=>ys(G.target.value),children:wt.map(G=>c.jsxs("option",{value:G.name,children:[G.displayName??G.name,G.model?` (${G.model})`:""]},G.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:io,onChange:G=>bs(Number(G.target.value)),children:[3,5,10,15,20].map(G=>c.jsx("option",{value:G,children:G},G))})]}),c.jsx(fe,{type:"button",variant:"outline",disabled:lc||!xi,onClick:Zt(ha),children:lc?"Analyzing site...":"Generate"})]}),Ar?c.jsx("p",{className:"text-negative-400 text-sm",children:Ar}):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:bi,onChange:G=>vr(G.target.value)})]}),kr?c.jsx("p",{className:"text-negative-400 text-sm",children:kr}):null,c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:C?Ie:vn,children:"Back"}),c.jsx(fe,{type:"button",variant:"ghost",onClick:Ir,children:C?"Finish without AI Visibility":"Skip for now"}),c.jsx(fe,{type:"button",disabled:qn.length===0||fs,onClick:Zt(mo),children:fs?"Saving...":`Save ${qn.length} quer${qn.length!==1?"ies":"y"}`})]})]})]});case 3:return c.jsxs(sa,{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"})]}),ji?c.jsx(hn,{tone:"positive",children:"Saved"}):null]}),c.jsx("p",{className:"supporting-copy",children:"Domains that compete for the same queries. One per line."}),ji?c.jsxs("div",{className:"compact-stack",children:[c.jsx("ul",{className:"detail-list",children:Fa.map(G=>c.jsx("li",{children:G},G))}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:vn,children:"Back"}),c.jsx(fe,{type:"button",onClick:()=>po("competitors",4,Fa.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:Ha,onChange:G=>Si(G.target.value)})]}),qt?c.jsx("p",{className:"text-negative-400 text-sm",children:qt}):null,c.jsxs("div",{className:"setup-nav",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:vn,children:"Back"}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(fe,{type:"button",variant:"outline",onClick:mc,children:"Skip"}),c.jsx(fe,{type:"button",disabled:Fa.length===0||Tr,onClick:Zt(Pr),children:Tr?"Saving...":`Save ${Fa.length} competitor${Fa.length!==1?"s":""}`})]})]})]})]});case 4:{const G=Ta.data,Me=G?.status??(Ci===Fe?.id?Fe.status:void 0),Ya=Me==="completed"||Me==="partial"||Me==="failed"||Me==="cancelled",fa=G?.snapshots??[],ho=fa.filter(ga=>ga.citationState==="cited").length,pc=fa.filter(ga=>ga.answerMentioned===!0).length,an=new Set(fa.map(ga=>ga.query).filter(ga=>!!ga)).size,Oa=Me?$x(Me,fa.length):!1,Ss=Re&&!Ea,js=nn??(G?.error?zV(G.error):Me==="cancelled"?"The sweep was cancelled before it produced a baseline.":(Me==="completed"||Me==="partial")&&fa.length===0?"The sweep finished without producing any snapshots.":Fe?.statusDetail||"The sweep did not produce a baseline.");let As=null;return Ss||Oa?As=c.jsx(hn,{tone:"positive",children:"Complete"}):nn&&!Ea?As=c.jsx(hn,{tone:"negative",children:"Failed"}):Ya?As=c.jsx(hn,{tone:"negative",children:Me==="cancelled"?"Cancelled":"Failed"}):Ea&&(As=c.jsx(hn,{tone:"caution",children:"Running"})),c.jsxs(sa,{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:Us()?"AI Visibility":"Launch first run"})]}),As]}),Ss?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 →"})]})]}):!Ea&&Us()?c.jsxs("div",{className:"compact-stack",children:[oe?c.jsx(M$,{projectName:oe}):c.jsx("p",{className:"text-sm text-secondary",children:a0}),nn&&c.jsx("p",{role:"alert",className:"text-sm text-negative",children:nn}),c.jsxs("div",{className:"setup-nav",children:[c.jsx("span",{}),c.jsx(fe,{type:"button",onClick:Ie,children:"Open project dashboard →"})]})]}):Ea?Ya?Oa?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:[pc,c.jsxs("span",{className:"text-faint text-lg",children:[" / ",an]})]}),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:[ho,c.jsxs("span",{className:"text-faint text-lg",children:[" / ",an]})]}),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:fa.length}),c.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"completed engine checks"})]})]}),!b&&oe?c.jsx(MK,{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:js}),c.jsx("p",{className:"mt-1 text-xs text-secondary",children:Us()?a0:k?"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:[k&&!Us()?c.jsx(fe,{type:"button",variant:"outline",asChild:!0,children:c.jsx($e,{to:"/settings",children:"Configure providers"})}):c.jsx("span",{}),Us()||!k?c.jsx(fe,{type:"button",onClick:Ie,children:"Open project dashboard →"}):c.jsx(fe,{type:"button",disabled:Qa||!!Ra,onClick:Zt(Za),children:Qa?"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:Me??"queued"})]})}),Ta.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:Ta.error instanceof Error?Ta.error.message:"Could not refresh the sweep status."}),c.jsx(fe,{type:"button",variant:"outline",size:"sm",className:"mt-2",onClick:()=>{Ta.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():Ie,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."]}),(Ra||nn)&&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:nn??Ra}),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:vn,children:"Back"}),c.jsx(fe,{type:"button",variant:"ghost",onClick:Jt,children:"Finish without running"}),Zn==="no_provider"&&!C?c.jsx(fe,{type:"button",asChild:!0,children:c.jsx($e,{to:"/settings",children:"Configure a provider"})}):c.jsx(fe,{type:"button",disabled:Qa||!!Ra,title:Ra,onClick:Zt(Za),children:Qa?"Launching...":nn?"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(Js,{current:"visibility"}):null,c.jsxs("div",{className:"page-header",children:[c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{ref:u?f: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:Jt,children:"Skip AI Visibility"})}):null]}),g?null:c.jsx(KK,{current:C?B===4?1:0:B,labels:C?GK:UK}),c.jsxs("section",{className:"setup-wizard",children:[ws,Da]})]})}const Sh="canonry mcp install --client claude-code",FK="https://github.com/Canonry/canonry/blob/main/docs/mcp.md";function ZK(){const e=_.useRef(Uf()).current,n=_.useRef(new Set),s=_.useCallback((r,u)=>{n.current.has(r)||(n.current.add(r),_f({...u,flowVersion:it,onboardingSessionId:e,surface:"platform",eventId:Gf()}))},[e]);return _.useEffect(()=>{s("started",{event:"onboarding.started",step:"finish",resumed:!1})},[s]),_.useCallback(r=>{s(`action:${r}`,{event:"onboarding.step_completed",step:"finish",method:"manual",nextAction:r})},[s])}const Gd=_.createContext(()=>{});function YK({projectName:e,skippedVisibility:n=!1}){const s=xt({...cU({client:ae,path:{name:e}}),retry:!1}),r=s.data?.hasData?s.data:null,u=ZK(),f=Qx(e,Ne["site-audit"]),g=Qx(e,Ne["answer-visibility"]),b={...f?{site:f,fixes:f}:{},...XK(g,n)};return c.jsx(Gd.Provider,{value:u,children:c.jsxs("div",{className:"page-container max-w-6xl py-8 md:py-10",children:[c.jsx(Js,{current:"done",outcomes:b}),c.jsxs("header",{className:"relative mx-auto mt-12 max-w-2xl text-center md:mt-16",children:[c.jsx(JK,{}),c.jsx("p",{className:"onb-reveal mt-6 text-sm font-medium text-positive",style:oa(250),children:"Setup complete"}),c.jsx("h1",{className:"onb-reveal mt-2 text-5xl font-semibold tracking-tight text-heading md:text-6xl",style:oa(350),children:"You’re set."}),c.jsxs("p",{className:"onb-reveal mx-auto mt-4 max-w-xl text-lg text-secondary",style:oa(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(qu,{className:"md:col-span-4 md:row-span-2",delayMs:600,labelledBy:"onb-agent-heading",children:c.jsx(tH,{projectName:e})}),c.jsx(qu,{className:"md:col-span-2 md:row-span-2",delayMs:700,labelledBy:"onb-data-heading",children:c.jsx(iH,{projectName:e})}),c.jsx(qu,{className:"md:col-span-3",delayMs:800,labelledBy:"onb-schedule-heading",children:c.jsx(rH,{projectName:e})}),c.jsx(qu,{className:"md:col-span-3",delayMs:900,labelledBy:"onb-alerts-heading",children:c.jsx(lH,{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:oa(1e3),children:[c.jsx(fe,{asChild:!0,className:"h-11 rounded-full px-6 text-base md:h-11",children:c.jsxs($e,{to:"/projects/$projectName",params:{projectName:e},replace:!0,onClick:()=>u("open_project"),children:["Open ",e,c.jsx(Il,{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($e,{to:"/projects/$projectName/technical-aeo",params:{projectName:e},replace:!0,onClick:()=>u("review_page_health"),children:"Review page health"})})]})]})})}function Qx(e,n){const s=xt({...m3({client:ae,path:{name:e},query:{kind:n,limit:20}}),retry:!1,refetchInterval:r=>Fx(r.state.status==="success"?{isSuccess:!0,data:r.state.data}:{isSuccess:!1})==="pending"?5e3:!1});return Fx(s)}function XK(e,n){return e===void 0?{}:n?{visibility:"skipped"}:{visibility:e}}function Fx(e){if(!e.isSuccess||!e.data)return"unknown";const n=e.data.filter(s=>s.trigger!==ts.probe);if(!n.some(s=>s.status===It.completed||s.status===It.partial))return n.some(s=>s.status===It.queued||s.status===It.running)?"pending":n.length>0?"incomplete":"skipped"}function oa(e){return{"--onb-delay":`${e}ms`}}function JK(){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 qu({className:e="",delayMs:n,labelledBy:s,children:r}){return c.jsx("section",{"aria-labelledby":s,className:`onb-reveal onb-tile flex flex-col overflow-hidden rounded-2xl border border-default bg-surface p-6 md:p-7 ${e}`,style:oa(n),children:r})}function $d({id:e,eyebrow:n,title:s,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:s}),c.jsx("p",{className:"mt-2 text-sm text-secondary",children:r})]})}const Pu=[{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."}],WK=9e3;function eH(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function tH({projectName:e}){const n=_.useContext(Gd),[s,r]=_.useState(0),[u,f]=_.useState(!1),[g,b]=_.useState(!1);_.useEffect(()=>{if(u||eH())return;const S=window.setTimeout(()=>r(A=>(A+1)%Pu.length),WK);return()=>window.clearTimeout(S)},[s,u]);const v=async()=>{try{await navigator.clipboard.writeText(Sh),n("copy_agent_command"),b(!0),window.setTimeout(()=>b(!1),1800)}catch{en({tone:"negative",title:"Could not copy the command",detail:`Run ${Sh} in your terminal.`})}},k=Pu[s]??Pu[0];return c.jsxs(c.Fragment,{children:[c.jsxs($d,{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:()=>f(!0),onMouseLeave:()=>f(!1),onFocus:()=>f(!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:[Pu.map((S,A)=>c.jsx("button",{type:"button",role:"tab","aria-selected":A===s,onClick:()=>{r(A),f(!0)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${A===s?"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":`${k.label} example`,className:"flex-1 p-4 font-mono text-[13px] leading-relaxed",children:[c.jsxs("p",{className:"onb-type text-heading",style:oa(150),children:[c.jsx("span",{className:"text-muted",children:"> "}),k.prompt]}),k.calls.map((S,A)=>c.jsxs("p",{className:"onb-line mt-1 text-muted first:mt-3",style:oa(1300+A*450),children:[c.jsx("span",{className:"text-positive",children:"●"})," ",S]},S)),c.jsx("p",{className:"onb-line mt-3 text-secondary",style:oa(1500+k.calls.length*450),children:k.reply}),c.jsx("span",{className:"onb-caret mt-2 inline-block h-4 w-2 bg-current align-middle text-secondary",style:oa(1900+k.calls.length*450),"aria-hidden":"true"})]},k.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:Sh}),c.jsxs(fe,{type:"button",variant:"secondary",size:"sm",className:"h-9 md:h-9",onClick:()=>{v()},children:[g?c.jsx(rd,{className:"size-4","aria-hidden":"true"}):c.jsx(m0,{className:"size-4","aria-hidden":"true"}),g?"Copied":"Copy"]}),c.jsx("a",{href:FK,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:"Other clients"})]})]})}const nH=[{icon:u0,label:"Search Console",action:"connect_search_console",to:"/projects/$projectName/search-console"},{icon:l2,label:"Google Analytics",action:"connect_analytics",to:"/projects/$projectName/activity"},{icon:u2,label:"Business Profile",action:"connect_business_profile",to:"/projects/$projectName/local"}],aH=["GPTBot","ClaudeBot","PerplexityBot"];function iH({projectName:e}){const n=_.useContext(Gd);return c.jsxs(c.Fragment,{children:[c.jsx($d,{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(sH,{}),c.jsxs($e,{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(d2,{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(Il,{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:nH.map(({icon:s,label:r,action:u,to:f})=>c.jsx("li",{children:c.jsxs($e,{to:f,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(s,{className:"size-4 text-muted","aria-hidden":"true"}),c.jsx("span",{className:"flex-1",children:r}),c.jsx(Il,{className:"size-3.5 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})},r))})]})}function sH(){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,s)=>c.jsx("path",{className:"onb-flow",style:oa(s*400),d:`M20 ${n} C 100 ${n}, 118 70, 170 70`,fill:"none",strokeWidth:"1.5"},n))}),aH.map((n,s)=>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[s]??70)/140*100}%`,...oa(s*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(d2,{className:"size-5"})})]})}const oH=["M","T","W","T","F","S","S"];function rH({projectName:e}){return c.jsxs(c.Fragment,{children:[c.jsx($d,{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:oH.map((n,s)=>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:oa(s*500)}),c.jsx("span",{className:"text-xs text-muted",children:n})]},s))}),c.jsx(J3,{projectName:e,to:"/projects/$projectName/settings",icon:c2,label:"Set a schedule",action:"set_schedule"})]})}function lH({projectName:e,score:n}){return c.jsxs(c.Fragment,{children:[c.jsx($d,{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(Ah,{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(J3,{projectName:e,to:"/projects/$projectName/settings",icon:Ah,label:"Add a notification",action:"add_notification"})]})}function J3({projectName:e,to:n,icon:s,label:r,action:u}){const f=_.useContext(Gd);return c.jsxs($e,{to:n,params:{projectName:e},onClick:()=>f(u),className:"group mt-6 inline-flex items-center gap-2 self-start text-sm font-medium text-link",children:[c.jsx(s,{className:"size-4","aria-hidden":"true"}),r,c.jsx(Il,{className:"size-3.5 transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})}const cH=_.lazy(async()=>({default:(await yi(()=>import("./SiteHealthSection-DuSY6jzY.js").then(n=>n.d),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).SiteHealthSection})),uH=`Public pages only, crawled from this computer and stored locally. The first scan reads up to ${Dw} pages, then stops.`,dH=1800,mH="https://github.com/Canonry/canonry#or-use-any-shell-capable-coding-agent",pH="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 hH(e,n){return e==="legacy"?"legacy":e==="platform"?"platform":n.state==="success"?n.projectCount===0?"platform":"legacy":n.state==="error"?"retry":"loading"}const fH="2000-01-01T00:00:00.000Z",gH=5e3;function yH(e,n){const s=new Set,r=new Map;for(const g of n)g.trigger!==ts.probe&&(r.has(g.projectId)||r.set(g.projectId,g.id),(g.status===It.completed||g.status===It.partial)&&s.add(g.projectId));const f=(e.every(g=>g.createdAt)?[...e].sort((g,b)=>(g.createdAt??"").localeCompare(b.createdAt??"")||g.name.localeCompare(b.name)):e).find(g=>!s.has(g.id));return f?{projectName:f.name,runId:r.get(f.id)}:null}const W3=[{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"}],ej=[{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 bH(e,n){try{const s=new Intl.DisplayNames(["en"],{type:"region"}),r=new Intl.DisplayNames(["en"],{type:"language"}),u=e.length===2?s.of(e.toUpperCase()):void 0,f=n?r.of(n.toLowerCase()):void 0;return`${u??(e||"Country")} · ${f??(n||"Language")}`}catch{return`${e||"Country"} · ${n||"Language"}`}}function vH(e,n){const s=e.trim().toUpperCase(),r=n.trim().toLowerCase();return{countryValid:W3.some(u=>u.value===s),languageValid:ej.some(u=>u.value===r)}}function xH(e){const n=e.replace(/^\[|\]$/g,"");return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(n)||n.includes(":")}function kH(e){const n=e.trim();if(!n)return null;const s=/^[a-z][a-z\d+.-]*:\/\//i.test(n)?n:`https://${n}`;let r;try{r=new URL(s)}catch{return null}if(r.protocol!=="http:"&&r.protocol!=="https:")return null;const u=r.hostname.toLowerCase().replace(/^www\./,"");if(!u||u==="localhost"||xH(u)||!u.includes("."))return null;const f=u.replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");return f?{canonicalDomain:u,projectName:f,displayName:u}:null}async function wH(e,n=dH){let s;const r=new Promise(f=>{s=setTimeout(()=>f({state:"timed-out"}),n)}),u=await Promise.race([e.then(f=>({state:"queued",run:f})),r]);return s&&clearTimeout(s),u}function SH(e,n){e.catch(()=>{en({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 tj(e){const n=_.useRef(Uf()).current,s=_.useRef(new Set),r=_.useCallback((u,f)=>{if(f){if(s.current.has(f))return;s.current.add(f)}_f({...u,surface:e,eventId:Gf()})},[e]);return{onboardingSessionId:n,emit:r}}function Zx(e,n){return e instanceof gn&&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 o0(){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(Wo,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading projects…"]})]})}function jH({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 AH({projectName:e,initialRunId:n}){return c.jsx(Hf,{title:"Site Health setup",children:c.jsx(CH,{projectName:e,initialRunId:n})})}function CH({projectName:e,initialRunId:n}){const s=ss(),r=xt({...to({client:ae}),enabled:!!e,retry:!1,refetchOnMount:"always"}),{onboardingSessionId:u,emit:f}=tj("site_health"),[g]=_.useState(()=>_K(n));_.useEffect(()=>{g&&zK()},[g]),_.useEffect(()=>{e&&f({flowVersion:it,onboardingSessionId:u,event:"onboarding.started",step:"run",resumed:!!n&&!g},"onboarding.started")},[f,g,n,u,e]),_.useEffect(()=>{!e||!n||Z3(e)?.runId!==n&&F3(e,n)},[n,e]);const v=xt({...Tf({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"){f({flowVersion:it,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"automatic"},"onboarding.step_completed:run"),id(n);return}if(v!=="failed"&&v!=="cancelled")return;const C=v==="cancelled"?"run_cancelled":"run_failed";f({flowVersion:it,onboardingSessionId:u,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:C},`onboarding.blocked:run:${C}`),id(n)},[f,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:()=>{s({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(Js,{current:"site"}),c.jsxs("div",{className:"mt-8 flex items-center gap-3 text-sm text-secondary",role:"status",children:[c.jsx(Wo,{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 k=r.data.find(C=>C.name===e);if(!k)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:()=>{s({to:"/projects"})},children:"View projects"})]});const S=()=>{s({to:"/setup",search:{onboarding:"site-health",setupProject:k.name},replace:!0})},A=()=>{s({to:"/setup",search:{experience:"legacy",onboarding:"site-health",setupProject:k.name},replace:!0})},z=()=>{f({flowVersion:it,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"skipped"},"onboarding.step_completed:run"),s({to:"/setup",search:{onboarding:"complete",setupProject:k.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(Js,{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(Wo,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health…"]})]}),children:c.jsx(cH,{projectName:k.name,projectId:k.id,initialRunId:n,onReleaseInitialRun:S,showOnboardingActions:!0,onContinueOnboarding:A,onSkipOnboarding:z})})]})}function NH(){const e=Xx({from:"/setup"}),n=e.onboarding==="site-health"&&!e.setupProject,s=e.onboarding==="site-health"&&e.experience!=="legacy",r=_M(),u=e.experience==="legacy"?"legacy":e.experience==="platform"?"platform":r,[f,g]=_.useState(!1),[b,v]=_.useState(void 0),k=xt({...to({client:ae}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),S=xt({...Pd({client:ae,query:{kind:Ne["site-audit"],since:fH,limit:gH}}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),A=u==="auto"&&k.isSuccess&&k.isFetchedAfterMount&&k.data.length===0;_.useEffect(()=>{A&&g(!0)},[A]);const z=u!=="auto"?{state:"idle"}:k.isSuccess&&k.isFetchedAfterMount?{state:"success",projectCount:k.data.length}:k.isError?{state:"error"}:{state:"loading"},C=u==="legacy"?"legacy":f||A?"platform":hH(u,z);if(e.onboarding==="complete"&&e.setupProject)return c.jsx(YK,{projectName:e.setupProject,skippedVisibility:e.skipped==="visibility"});if(n||s)return c.jsx(AH,{projectName:e.setupProject,initialRunId:e.siteHealthRunId});const F=u==="auto"&&C==="legacy"&&!e.setupProject&&k.isSuccess;if(F&&b===void 0)return S.isError?v(null):S.isSuccess&&S.isFetchedAfterMount&&v(yH(k.data,S.data)),c.jsx(o0,{});const T=F?b:null;return T?c.jsx(_H,{projectName:T.projectName,runId:T.runId}):C==="legacy"?c.jsx(HK,{visibilityProjectName:e.setupProject,siteHealthOnboarding:e.onboarding==="site-health",onboardingFinish:e.onboarding==="site-health"||e.onboarding==="first-run"}):C==="loading"?c.jsx(o0,{}):C==="retry"?c.jsx(jH,{onRetry:()=>{k.refetch()}}):c.jsx(zH,{onActivationStarted:()=>g(!0),skipSiteScan:e.siteScan==="skip"})}function _H({projectName:e,runId:n}){const s=ss();return _.useEffect(()=>{s({to:"/setup",search:{onboarding:"site-health",setupProject:e,...n?{siteHealthRunId:n}:{}},replace:!0})},[s,e,n]),c.jsx(o0,{})}function zH({onActivationStarted:e,skipSiteScan:n}){return c.jsx(Hf,{title:"Site Health setup",children:c.jsx(EH,{onActivationStarted:e,skipSiteScan:n})})}function EH({onActivationStarted:e,skipSiteScan:n}){const s=ss(),r=ra(),u=PK(),f=xt({...pL({client:ae}),retry:!1}),g=os(hL()),[b,v]=_.useState(""),[k,S]=_.useState(""),[A,z]=_.useState(""),[C,F]=_.useState("US"),[T,I]=_.useState("en"),[X,J]=_.useState(!1),[V,le]=_.useState("idle"),[ie,re]=_.useState(null),[H,K]=_.useState(null),[Te,Qe]=_.useState(!1),[Fe,Re]=_.useState(null),[ke,Be]=_.useState(!1),be=f.isError?void 0:f.data,B=typeof be?.enabled=="boolean"?be.enabled:null,ee=g.isPending?g.variables.body.enabled:B,[pe,Ce]=_.useState(null),W=_.useRef(null),{onboardingSessionId:De,emit:ze}=tj("platform");_.useEffect(()=>{ze({flowVersion:it,onboardingSessionId:De,event:"onboarding.started",step:"project",resumed:!1},"onboarding.started")},[ze,De]);const we=kH(b),se=k||we?.projectName||"",U=A||we?.displayName||"",q=V==="creating"||V==="dispatching",ce=H??Fe,Oe=bH(C,T),{countryValid:ye,languageValid:nt}=vH(C,T),Le=ye&&nt;_.useEffect(()=>{ce&&W.current?.focus()},[ce]);const kt=(Ie,lt)=>s({to:"/setup",search:{...lt?{siteHealthRunId:lt}:{},onboarding:"site-health",setupProject:Ie.name},replace:!0}),oe=async Ie=>{le("dispatching"),Re(null);try{const lt=u.mutateAsync({projectName:Ie.name,projectId:Ie.id,projectLabel:Ie.displayName||Ie.name,suppressErrorToast:!0,body:{checkDeadLinks:!0,maxPages:Dw}}),Jt=await wH(lt);if(Jt.state==="queued"){ze({flowVersion:it,onboardingSessionId:De,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"}),NK(Jt.run.runId),await kt(Ie,Jt.run.runId);return}lt.then(()=>{ze({flowVersion:it,onboardingSessionId:De,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"})},bi=>{ze({flowVersion:it,onboardingSessionId:De,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:Bl(bi,"run_rejected")})}),SH(lt,Ie.id),await kt(Ie)}catch(lt){le("recovery"),Re(Zx(lt,"The project was created, but the Site Health scan could not be started."));const Jt=Bl(lt,"run_rejected");ze({flowVersion:it,onboardingSessionId:De,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:Jt}),ze({flowVersion:it,onboardingSessionId:De,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Jt},`onboarding.blocked:run:${Jt}`)}},Ve=async Ie=>{if(Ie.preventDefault(),!(!we||!n&&!X||!Le||q)){le("creating"),K(null),Qe(!1),Re(null);try{const lt=await FM({name:se,displayName:U,canonicalDomain:we.canonicalDomain,country:C,language:T});if(e(),re(lt),ze({flowVersion:it,onboardingSessionId:De,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),await r.invalidateQueries({queryKey:is({client:ae})}),n){await s({to:"/setup",search:{experience:"legacy",onboarding:"first-run",setupProject:lt.name},replace:!0});return}await oe(lt)}catch(lt){le("idle");const Jt=lt instanceof gn&<.statusCode===409;Qe(Jt),K(Zx(lt,"Could not create the project. Try again.")),ze({flowVersion:it,onboardingSessionId:De,event:"onboarding.blocked",step:"project",action:"save",reasonCode:Bl(lt,"project_create_failed")},"onboarding.blocked:project"),Jt&&(e(),r.invalidateQueries({queryKey:is({client:ae})}))}}},Kt=()=>{ie&&!q&&oe(ie)},jn=()=>{q||s({to:"/projects"})},ma=async()=>{try{await navigator.clipboard.writeText(pH),Be(!0)}catch{en({tone:"negative",title:"Could not copy setup request",detail:"Open the agent quickstart to continue with the CLI instead."})}},hs=async Ie=>{Ce(null);try{const lt=await g.mutateAsync({client:ae,body:{enabled:Ie}});r.setQueryData(p3({client:ae}),lt),lt.enabled!==Ie&&Ce(`The server kept telemetry ${lt.enabled?"on":"off"}. Check its telemetry settings.`)}catch{Ce("Could not update telemetry. Try again.")}};return ie&&V==="recovery"?c.jsxs("div",{className:"page-container max-w-3xl",children:[c.jsx(Js,{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:Kt,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(Js,{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(Ve),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&&!we),"aria-describedby":b&&!we?"launchpad-domain-hint launchpad-domain-error":"launchpad-domain-hint",placeholder:"https://example.com",value:b,onChange:Ie=>{v(Ie.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($e,{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($e,{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&&!we?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:[Oe,c.jsx(od,{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:[we?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:Ie=>S(Ie.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:U,onChange:Ie=>z(Ie.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:Ie=>F(Ie.target.value),children:W3.map(Ie=>c.jsx("option",{value:Ie.value,children:Ie.label},Ie.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:T,onChange:Ie=>I(Ie.target.value),children:ej.map(Ie=>c.jsx("option",{value:Ie.value,children:Ie.label},Ie.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:Ie=>J(Ie.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(Gs,{text:uH})]})]}),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}),Te?c.jsx(fe,{type:"button",variant:"secondary",size:"sm",className:"mt-3",onClick:jn,children:"View projects"}):null]}):null,c.jsxs("div",{className:"grid gap-2",children:[c.jsx(fe,{className:"h-11 w-full",type:"submit",disabled:!we||!n&&!X||!Le||q,children:V==="creating"||V==="dispatching"?c.jsxs(c.Fragment,{children:[c.jsx(Wo,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"})," ",n?"Creating project…":"Mapping site…"]}):n?"Create project":"Scan site"}),V==="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(ma),children:[ke?c.jsx(rd,{className:"size-3.5","aria-hidden":"true"}):c.jsx(m0,{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:mH,target:"_blank",rel:"noopener noreferrer",children:["Agent quickstart",c.jsx(qA,{className:"size-3.5","aria-hidden":"true"}),c.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})})]})]}),B!==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:Ie=>{hs(Ie.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 TH(){return c.jsx("div",{className:"page-container",children:c.jsx("section",{className:"page-section",children:c.jsxs(sa,{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($e,{to:"/",children:"Return to overview"})})]})})})}const Kn=rs(()=>yi(()=>import("./ProjectPage-BbpGgwgd.js"),__vite__mapDeps([5,1,6,2,7,8,0,3,4,9,10,11,12]),import.meta.url),"ProjectPage"),RH=rs(()=>yi(()=>import("./RunsPage-BXyqLNMQ.js"),__vite__mapDeps([13,1,8,11,4,2,7,12]),import.meta.url),"RunsPage"),DH=rs(()=>yi(()=>import("./HistoryPage-D9e6cGrq.js"),__vite__mapDeps([14,1,10,11,4,2,7,12]),import.meta.url),"HistoryPage"),OH=rs(()=>yi(()=>import("./SettingsPage-DKmzGwx3.js"),__vite__mapDeps([15,1,11,4,2,7,12]),import.meta.url),"SettingsPage"),qH=rs(()=>yi(()=>import("./BacklinksPage-COtLVzT8.js"),__vite__mapDeps([16,1,2,11,4,7,12]),import.meta.url),"BacklinksPage"),PH=rs(()=>yi(()=>import("./TrafficPage-Bc9NGm4L.js"),__vite__mapDeps([17,1,9,2,11,4,7,12]),import.meta.url),"TrafficPage"),BH=rs(()=>yi(()=>import("./TrafficSourceDetailPage-Bw8PCVl9.js"),__vite__mapDeps([18,1,9,3,4,2,11,7,12]),import.meta.url),"TrafficSourceDetailPage"),IH=rs(()=>yi(()=>import("./MeasurementPropertyPage-BSs4ba4N.js"),__vite__mapDeps([19,1,3,4,6,2,7,11,12]),import.meta.url),"MeasurementPropertyPage");function MH(){return c.jsx(dK,{children:c.jsx(uK,{})})}const wn=dA()({component:MH,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]))})}),VH=At({getParentRoute:()=>wn,path:"/",component:gK,beforeLoad:async({context:e})=>{let n=e.queryClient.getQueryData(is({client:ae}));if(n===void 0)try{n=await e.queryClient.ensureQueryData(to({client:ae}))}catch{return}if(n.length===0)throw Wx({to:"/setup"})}}),LH=At({getParentRoute:()=>wn,path:"/projects",component:xK}),UH=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Sn=At({getParentRoute:()=>wn,path:"/projects/$projectName",component:()=>c.jsx(jh,{}),beforeLoad:async({context:e,params:n,location:s})=>{const r=n.projectName;if(!UH.test(r))return;let u=e.queryClient.getQueryData(is({client:ae}));if(!u)try{u=await e.queryClient.ensureQueryData(to({client:ae}))}catch{return}const f=u.find(g=>g.id===r);if(f)throw Wx({to:s.pathname.replace(`/projects/${r}`,`/projects/${encodeURIComponent(f.name)}`),replace:!0})}}),GH=At({getParentRoute:()=>Sn,path:"/",component:()=>c.jsx(Kn,{tab:"overview"})}),$H=At({getParentRoute:()=>Sn,path:"/portfolio",component:()=>c.jsx(Kn,{tab:"portfolio"})}),KH=At({getParentRoute:()=>Sn,path:"/search-console",component:()=>c.jsx(Kn,{tab:"search-console"})}),HH=At({getParentRoute:()=>Sn,path:"/conversions",component:()=>c.jsx(Kn,{tab:"conversions"})}),QH=At({getParentRoute:()=>Sn,path:"/local",component:()=>c.jsx(Kn,{tab:"local"})}),FH=At({getParentRoute:()=>Sn,path:"/discovery",component:()=>c.jsx(Kn,{tab:"discovery"})}),ZH=At({getParentRoute:()=>Sn,path:"/queries",component:()=>c.jsx(Kn,{tab:"queries"})}),YH=At({getParentRoute:()=>Sn,path:"/properties/$targetKey",component:()=>c.jsx(IH,{})}),XH=At({getParentRoute:()=>Sn,path:"/report",component:()=>c.jsx(Kn,{tab:"report"})}),JH=At({getParentRoute:()=>Sn,path:"/activity",component:()=>c.jsx(Kn,{tab:"activity"})}),WH=At({getParentRoute:()=>Sn,path:"/backlinks",component:()=>c.jsx(Kn,{tab:"backlinks"})}),eQ=At({getParentRoute:()=>Sn,path:"/technical-aeo",component:()=>c.jsx(Kn,{tab:"technical-aeo"})}),tQ=At({getParentRoute:()=>Sn,path:"/history",component:()=>c.jsx(Kn,{tab:"history"})}),nQ=At({getParentRoute:()=>Sn,path:"/settings",component:()=>c.jsx(Kn,{tab:"settings"})}),aQ=At({getParentRoute:()=>wn,path:"/runs",component:RH}),iQ=At({getParentRoute:()=>wn,path:"/history",component:DH}),sQ=At({getParentRoute:()=>wn,path:"/settings",component:OH,beforeLoad:({context:e})=>{}}),oQ=At({getParentRoute:()=>wn,path:"/setup",component:NH}),rQ=At({getParentRoute:()=>wn,path:"/backlinks",component:qH}),lQ=At({getParentRoute:()=>wn,path:"/traffic",component:PH}),cQ=At({getParentRoute:()=>wn,path:"/traffic/$projectName/$sourceId",component:BH}),uQ=At({getParentRoute:()=>wn,path:"*",component:TH}),dQ=wn.addChildren([VH,LH,Sn.addChildren([GH,$H,KH,HH,QH,FH,ZH,YH,XH,JH,WH,eQ,tQ,nQ]),aQ,iQ,sQ,oQ,rQ,lQ,cQ,uQ]);function mQ(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const Yx=mQ(),pQ=Yx==="/"?"":Yx.replace(/\/$/,"");function hQ(e,n){return mA({routeTree:dQ,basepath:pQ||"/",context:{queryClient:e},...n?.initialEntries})}const fQ=6e4;function gQ(){const e=_.useRef(KM()).current,[n,s]=_.useState(e?"ready":"checking"),[r,u]=_.useState(null),[f,g]=_.useState(null),[b,v]=_.useState(e),[k,S]=_.useState(!1),[A,z]=_.useState(""),[C,F]=_.useState(""),[T,I]=_.useState(""),[X,J]=_.useState(!1),[V,le]=_.useState("password"),[ie,re]=_.useState(null),[H,K]=_.useState(!1),[Te,Qe]=_.useState(!1),Fe=_.useRef(null),Re=_.useRef(null),ke=_.useRef(null),Be=()=>{const q=r?`${r.name}:${r.role}`:e?"api-key:explicit":f?`api-key:${f.id}`:"no-accounts";if(!Fe.current||ke.current!==q){Re.current?.clear();const ce=AV();Re.current=ce,Fe.current=hQ(ce),ke.current=q}return{queryClient:Re.current,router:Fe.current}},be=q=>q.authRequired?(S(!0),u(q.user),g(null),v(!1),s(q.user?"ready":"account-login"),!0):!1;_.useEffect(()=>{let q=!1;const ce=async(Oe,ye=!1)=>{try{const nt=await yh();if(q)return;g(nt),v(!1),s("ready")}catch(nt){if(q)return;if(ye&&nt instanceof gn&&nt.statusCode===401)return aV().then(()=>{q||(re(null),g(null),v(!1),Qe(!0),s("login"))}).catch(Le=>{q||(re(Le instanceof Error?Le.message:"Could not clear the invalid session"),s(Oe))});re(nt instanceof Error?nt.message:"Could not verify API key access"),s(Oe)}};return e?(ce("api-key-error"),()=>{q=!0}):(Promise.allSettled([sx(),ix()]).then(([Oe,ye])=>{if(q||Oe.status==="fulfilled"&&be(Oe.value))return;if(ye.status==="rejected"){const Le=ye.reason;re(Le instanceof Error?Le.message:"Failed to reach the Canonry API"),s("login");return}const nt=ye.value;nt.authenticated?(v(!0),ce("api-key-error",!0)):(g(null),v(!1),s(nt.setupRequired?"setup":"login"))}),()=>{q=!0})},[]),_.useEffect(()=>{if(n!=="ready"||e)return;const q=setInterval(()=>{if(k){sx().then(ce=>{ce.authRequired&&!ce.user&&(Qe(!0),u(null),g(null),s("account-login"))}).catch(()=>{});return}ix().then(ce=>{ce.authenticated||(Qe(!0),g(null),s(ce.setupRequired?"setup":"login"))}).catch(()=>{})},fQ);return ax(()=>{Qe(!0),u(null),g(null),v(!1),s(k?"account-login":"login")}),()=>{clearInterval(q),ax(null)}},[n,k,e]);const B=async q=>{if(q.preventDefault(),!C.trim()||C.trim().length<8){re("Password must be at least 8 characters");return}if(C!==T){re("Passwords do not match");return}K(!0),re(null);try{if(!(await eV(C.trim())).authenticated){re("Setup failed");return}F(""),I(""),J(!1),Qe(!1),g(null),v(!0),s("checking");try{const Oe=await yh();g(Oe),v(!1),s("ready")}catch(Oe){re(Oe instanceof Error?Oe.message:"Could not verify API key access"),s("api-key-error")}}catch(ce){re(ce instanceof gn||ce instanceof Error?ce.message:"Setup failed")}finally{K(!1)}},ee=q=>{F(q),re(null)},pe=q=>{I(q),re(null)},Ce=async q=>{if(q.preventDefault(),!!C.trim()){K(!0),re(null);try{if(!(V==="api-key"?await nV(C.trim()):await tV(C.trim())).authenticated){re(V==="api-key"?"Invalid API key":"Incorrect password");return}const Oe=await yh();g(Oe),v(!1),F(""),J(!1),Qe(!1),s("ready")}catch(ce){re(ce instanceof gn||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 iV(A.trim(),C);if(!ce.user){re("Incorrect name or password.");return}F(""),Qe(!1),u(ce.user),g(null),v(!1),s("ready")}catch(ce){re(ce instanceof gn?ce.message:"Incorrect name or password.")}finally{K(!1)}}};if(n==="ready"){const{queryClient:q,router:ce}=Be();return c.jsx(fV,{account:r,apiKey:f,apiKeyPending:b,children:c.jsx(pA,{client:q,children:c.jsx(hA,{router:ce})})})}const ze=C.trim(),we=C.length>0&&ze.length<8,se=T.length>0&&C!==T,U=ze.length>=8&&C===T;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(sa,{className:"surface-card w-full",children:n==="checking"?c.jsx($s,{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(Yo,{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($s,{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(Yo,{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($s,{children:[Te?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=>{z(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(Yo,{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(nd,{children:"This password protects the dashboard on this computer."})]}),c.jsx($s,{children:c.jsxs("form",{className:"space-y-4",onSubmit:Zt(B),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":we,"aria-describedby":"dashboard-password-new-help"}),c.jsx("span",{id:"dashboard-password-new-help","aria-live":"polite",className:we?"block text-sm text-negative-400":"block text-sm text-secondary",children:we?"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:T,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||!U,children:H?"Creating password…":"Create password and continue"})]})})]}):c.jsxs(c.Fragment,{children:[c.jsxs(Yo,{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(nd,{children:V==="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($s,{children:[Te?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:V==="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:V==="api-key"?"apiKey":"password",autoComplete:V==="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)}),V==="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(V==="api-key"?"password":"api-key"),children:V==="api-key"?"Use dashboard password instead":"Forgot password? Use API key"})]})]})]})})]})})}const nj=document.getElementById("root");if(!nj)throw new Error("Expected #root element for web app bootstrap.");UA.createRoot(nj).render(c.jsx(_.StrictMode,{children:c.jsx(gQ,{})}));export{MY as $,PZ as A,fe as B,Xu as C,OZ as D,BZ as E,PF as F,DZ as G,OY as H,Gs as I,BY as J,PY as K,KF as L,EX as M,$F as N,tZ as O,TG as P,en as Q,VY as R,_V as S,hn as T,LY as U,YF as V,UY as W,XF as X,QF as Y,ZF as Z,IY as _,zX as a,JF as a$,qY as a0,HF as a1,GY as a2,YY as a3,HY as a4,FY as a5,QY as a6,ZY as a7,vZ as a8,Rf as a9,SQ as aA,wV as aB,ZZ as aC,cn as aD,LV as aE,cL as aF,tY as aG,oY as aH,nY as aI,eF as aJ,nF as aK,ZO as aL,aF as aM,JV as aN,eY as aO,XO as aP,Hh as aQ,tF as aR,qM as aS,aY as aT,WZ as aU,eL as aV,iY as aW,RX as aX,sY as aY,hX as aZ,fX as a_,Ne as aa,KY as ab,y3 as ac,gi as ad,$Y as ae,IX as af,eR as ag,tR as ah,AQ as ai,jQ as aj,wZ as ak,_Z as al,zZ as am,gn as an,EZ as ao,NF as ap,zV as aq,qU as ar,Fh as as,TZ as at,Vu as au,cX as av,E_ as aw,a0 as ax,Us as ay,FF as az,c9 as b,QQ as b$,Ef as b0,lX as b1,m3 as b2,dY as b3,pY as b4,kY as b5,TY as b6,EY as b7,vY as b8,_Y as b9,fF as bA,lF as bB,cF as bC,hF as bD,pF as bE,mF as bF,uF as bG,dF as bH,rF as bI,oF as bJ,sF as bK,iF as bL,EP as bM,UQ as bN,IQ as bO,MQ as bP,VQ as bQ,GQ as bR,LQ as bS,HQ as bT,rX as bU,$Q as bV,KQ as bW,cZ as bX,PQ as bY,BX as bZ,ZQ as b_,DY as ba,fY as bb,SY as bc,jY as bd,AY as be,hY as bf,wY as bg,gY as bh,CY as bi,yY as bj,NY as bk,xY as bl,zY as bm,RY as bn,TK as bo,bY as bp,ge as bq,jF as br,SF as bs,wF as bt,kF as bu,bF as bv,yF as bw,xF as bx,vF as by,gF as bz,tk as c,eX as c$,YQ as c0,XQ as c1,BQ as c2,FQ as c3,OF as c4,DF as c5,RF as c6,uZ as c7,mL as c8,mY as c9,PX as cA,qK as cB,rY as cC,$Z as cD,FZ as cE,KZ as cF,lY as cG,TX as cH,HZ as cI,It as cJ,CX as cK,QM as cL,OV as cM,M$ as cN,_F as cO,YM as cP,zF as cQ,EF as cR,TF as cS,is as cT,VV as cU,$V as cV,qF as cW,XY as cX,lV as cY,oZ as cZ,WY as c_,VZ as ca,ux as cb,IF as cc,MF as cd,IZ as ce,MZ as cf,VF as cg,LF as ch,GF as ci,UF as cj,ic as ck,to as cl,WS as cm,GZ as cn,UZ as co,w$ as cp,RG as cq,q3 as cr,BG as cs,P3 as ct,B3 as cu,KV as cv,Ks as cw,sd as cx,gL as cy,LK as cz,RZ as d,PK as d$,tX as d0,JY as d1,qZ as d2,nZ as d3,aZ as d4,iZ as d5,rZ as d6,sZ as d7,or as d8,Pd as d9,bZ as dA,mX as dB,bK as dC,WQ as dD,vf as dE,LZ as dF,uX as dG,pX as dH,yZ as dI,JQ as dJ,fZ as dK,gZ as dL,hZ as dM,dX as dN,u7 as dO,YZ as dP,QZ as dQ,JZ as dR,XZ as dS,_Q as dT,yi as dU,da as dV,NQ as dW,OM as dX,cU as dY,yX as dZ,gX as d_,DX as da,Vd as db,qf as dc,cY as dd,uY as de,VM as df,AF as dg,CF as dh,BF as di,WF as dj,eZ as dk,Hf as dl,Ld as dm,Pf as dn,VK as dp,lZ as dq,rr as dr,mx as ds,xZ as dt,SZ as du,AZ as dv,CZ as dw,kZ as dx,jZ as dy,NZ as dz,iX as e,xX as e0,q$ as e1,OQ as e2,zQ as e3,NX as e4,_X as e5,bX as e6,vX as e7,CQ as e8,wX as e9,AX as ea,kX as eb,jX as ec,Js as ed,Dw as ee,EQ as ef,DQ as eg,SX as eh,IR as ei,RQ as ej,TQ as ek,sa as f,nX as g,Sx as h,ae as i,PM as j,ql as k,pn as l,Zt as m,aX as n,oX as o,sX as p,dZ as q,pZ as r,qQ as s,TV as t,Bf as u,mZ as v,ua as w,OX as x,qX as y,t0 as z};
|