diff --git a/petri/logview_new/dist/assets/index-BPzcTUT-.css b/petri/logview_new/dist/assets/index-BPzcTUT-.css new file mode 100644 index 0000000000..2f7b22b9c2 --- /dev/null +++ b/petri/logview_new/dist/assets/index-BPzcTUT-.css @@ -0,0 +1,9 @@ +/* Copyright (c) Microsoft Corporation. + Licensed under the MIT License. + +//////////////////////////////// +// THIS FILE IS AUTOGENERATED // +// DO NOT MANUALLY EDIT // +//////////////////////////////*/ + +html,body{margin:0;padding:0;box-sizing:border-box}.common-page-display{padding:0rem 1rem;margin:0 auto;display:flex;flex-direction:column;position:sticky;top:0}.common-page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:1rem;position:sticky;background-color:#fff;z-index:997;top:0;height:4rem;min-width:56rem}.common-header-filter-buttons{display:flex;gap:.5rem;align-items:center}.common-header-filter-btn{font-size:.87rem;padding:.45rem 1rem;border:none;background:transparent;color:#747474;cursor:pointer;border-radius:8px;font-weight:600;-webkit-user-select:none;user-select:none;position:relative;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;align-items:center}.common-header-filter-btn:hover{background-color:#f8f9fa;color:#222;box-shadow:none}.common-header-filter-btn.active{background-color:#eee;color:#505050;box-shadow:none}.common-header-filter-btn.active:hover{background-color:#eee;color:#000}.common-header-path{color:#000;text-decoration:none;font-weight:600}.common-header-path:hover{text-decoration:underline}.common-header-path-long{color:#000;text-decoration:none;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:6rem;flex-shrink:2;max-width:100%}.common-header-path-long:hover{text-decoration:underline}.common-sub-header{flex-shrink:.3;color:#888;font-size:.6em;font-weight:400;margin-left:.4rem;line-height:1.1;padding-left:.4rem;overflow:hidden;text-overflow:ellipsis}.common-status-cell{text-align:center}.common-status-pass{display:inline-block;width:.8rem;height:.8rem;background-color:#27ae60;border-radius:50%}.common-status-fail{display:inline-block;width:.8rem;height:.8rem;background-color:#e74c3c;border-radius:50%}.common-header-left{display:flex;flex-direction:row;align-items:center;align-self:center;flex-wrap:nowrap;gap:1rem}.common-header-title{color:#000;font-size:1.44rem;font-weight:600;vertical-align:center;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;display:flex;align-items:center;gap:.15rem}.common-header-right{display:flex;align-items:center;gap:1rem}.common-result-count{font-size:1rem;color:#666;white-space:nowrap;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.common-no-data{padding:20px;text-align:center;font-style:italic;color:#888;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:14px;position:relative}.common-search-clear-btn{position:relative;left:-17px;top:1px;background:none;border:none;font-size:16px;color:#888;cursor:pointer;padding:0;line-height:1}.common-search-input{padding:.4rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;width:220px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.common-search-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 1px #1976d21a}.common-table-link{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;color:#1976d2;text-decoration:none;border-radius:4px;font-size:1rem;word-break:break-word}.common-table-link:hover{text-decoration:underline}.common-failed-count,.common-total-count{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1rem;color:#000;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.header-loading-indicator{display:flex;align-items:center;gap:.75rem;margin-left:1rem}.header-loading-spinner{width:15px;height:15px;border:3px solid #f3f3f3;border-top:3px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header-loading-text{font-size:.87rem;font-weight:600;color:#555;text-wrap:nowrap;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.common-architecture-name{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1rem;color:#000;word-break:break-word}.created-date{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1rem;color:#000;align-items:center}.branch-name{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-weight:400;font-size:1rem;color:#000;overflow:hidden;white-space:pre-wrap;display:block}.pr-cell{min-width:10px}.pr-link{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1rem;color:#1976d2;text-decoration:none;display:block;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-link:hover{text-decoration:underline}.no-pr{color:#9e9e9e;font-style:italic}.menu-trigger{background:#fff;border:none;cursor:pointer;padding:.7rem .75rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s ease-in-out;box-shadow:none;margin-right:.5rem}.menu-trigger:hover,.menu-trigger:focus-visible{background:#f2f2f2;outline:none}.menu-lines{display:inline-flex;flex-direction:column;gap:3px}.menu-lines span{width:16px;height:2px;background:#222;display:block;border-radius:1px}.menu-overlay{position:fixed;inset:0;background:#00000040;z-index:5000}.menu-drawer{position:fixed;top:0;left:0;width:250px;max-width:100%;height:100vh;background:#444;box-shadow:2px 0 12px #00000026;transform:translate(-100%);transition:transform .18s ease-out;z-index:5001;display:flex;flex-direction:column;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.menu-drawer.open{transform:translate(0)}.menu-drawer-header{font-size:1.25rem;font-weight:700;letter-spacing:.5px;padding:1.15rem 1.25rem 1rem;border-bottom:1px solid #555;background:#444;color:#fff;font-family:Arial,sans-serif}.menu-nav-list{list-style:none;margin:0;padding:.75rem .85rem 1rem;flex:1;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;display:flex;flex-direction:column;gap:.4rem}.drawer-link{width:100%;text-align:left;background:transparent;border:none;padding:.9rem 1rem;font-size:.96rem;cursor:pointer;color:#efefef;display:flex;align-items:center;gap:.55rem;text-decoration:none;transition:background .12s ease,color .12s ease;font-weight:600;border-radius:10px;box-sizing:border-box}.drawer-link:hover{background:#525252;color:#fff}.drawer-link.active{background:#5a5a5a;color:#fff}.drawer-link.external:after{content:"↗";font-size:.7rem;opacity:.6;margin-left:.25rem}.drawer-separator{margin:.8rem 0;border-top:1px solid #555;height:0}.sort-indicator{margin-left:.5rem;font-weight:400;color:#6c757d;font-size:.74rem;opacity:.7;flex:0 0 auto}.virtualized-table-header-container{position:sticky;top:4rem;z-index:999;box-shadow:0 1px #0000001a}.virtualized-table{border-collapse:collapse;min-width:56rem;position:sticky;top:0;width:100%;table-layout:fixed}.virtualized-table-row:hover td{background-color:#f3f4f6}.virtualized-table th{color:#000;text-align:left;border-bottom:1px solid #dee2e6;background:#fff;box-sizing:border-box;text-transform:uppercase;padding:6px 8px;font-weight:600;font-size:.83rem}.virtualized-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1;position:sticky;top:4rem}.virtualized-table th.sortable:hover{background-color:#e9ecef;position:sticky;top:4rem}.virtualized-table-header-content{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;min-width:0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;position:sticky;top:4rem}.virtualized-table-body{background:#fff;overflow:auto;position:relative;width:100%;min-width:56rem}.virtualized-table-row{background:#fff!important;border-bottom:1px solid #e0e0e0;box-sizing:border-box}.virtualized-table-row table{border-collapse:collapse}.virtualized-table-row td{padding:.7rem .5rem;vertical-align:middle;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.9rem} diff --git a/petri/logview_new/dist/assets/index-Bd-NkgY8.css b/petri/logview_new/dist/assets/index-Bd-NkgY8.css deleted file mode 100644 index a809ea6df0..0000000000 --- a/petri/logview_new/dist/assets/index-Bd-NkgY8.css +++ /dev/null @@ -1,9 +0,0 @@ -/* Copyright (c) Microsoft Corporation. - Licensed under the MIT License. - -//////////////////////////////// -// THIS FILE IS AUTOGENERATED // -// DO NOT MANUALLY EDIT // -//////////////////////////////*/ - -html,body{margin:0;padding:0;box-sizing:border-box}.common-page-display{padding:0rem 1rem;margin:0 auto;display:flex;flex-direction:column;position:sticky;top:0}.common-page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:1rem;position:sticky;background-color:#fff;z-index:997;top:0;height:4rem;min-width:56rem}.common-header-filter-buttons{display:flex;gap:.5rem;align-items:center}.common-header-filter-btn{font-size:.87rem;padding:.45rem 1rem;border:none;background:transparent;color:#747474;cursor:pointer;border-radius:8px;font-weight:600;-webkit-user-select:none;user-select:none;position:relative;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;align-items:center}.common-header-filter-btn:hover{background-color:#f8f9fa;color:#222;box-shadow:none}.common-header-filter-btn.active{background-color:#eee;color:#505050;box-shadow:none}.common-header-filter-btn.active:hover{background-color:#eee;color:#000}.common-header-path{color:#000;text-decoration:none;font-weight:600}.common-header-path:hover{text-decoration:underline}.common-header-path-long{color:#000;text-decoration:none;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:6rem;flex-shrink:2;max-width:100%}.common-header-path-long:hover{text-decoration:underline}.common-sub-header{flex-shrink:.3;color:#888;font-size:.6em;font-weight:400;margin-left:.4rem;line-height:1.1;padding-left:.4rem;overflow:hidden;text-overflow:ellipsis}.common-status-cell{text-align:center}.common-status-pass{display:inline-block;width:.8rem;height:.8rem;background-color:#27ae60;border-radius:50%}.common-status-fail{display:inline-block;width:.8rem;height:.8rem;background-color:#e74c3c;border-radius:50%}.common-header-left{display:flex;flex-direction:row;align-items:center;align-self:center;flex-wrap:nowrap;gap:1rem}.common-header-title{color:#000;font-size:1.44rem;font-weight:600;vertical-align:center;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;display:flex;align-items:center;gap:.15rem}.common-header-right{display:flex;align-items:center;gap:1rem}.common-result-count{font-size:1rem;color:#666;white-space:nowrap;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.common-no-data{padding:20px;text-align:center;font-style:italic;color:#888;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:14px;position:relative}.common-search-clear-btn{position:relative;left:-17px;top:1px;background:none;border:none;font-size:16px;color:#888;cursor:pointer;padding:0;line-height:1}.common-search-input{padding:.4rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;width:220px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.common-search-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 1px #1976d21a}.common-table-link{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;color:#1976d2;text-decoration:none;border-radius:4px;font-size:1rem;word-break:break-word}.common-table-link:hover{text-decoration:underline}.common-failed-count,.common-total-count{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1rem;color:#000;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.header-loading-indicator{display:flex;align-items:center;gap:.75rem;margin-left:1rem}.header-loading-spinner{width:15px;height:15px;border:3px solid #f3f3f3;border-top:3px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header-loading-text{font-size:.87rem;font-weight:600;color:#555;text-wrap:nowrap;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.created-date{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1rem;color:#000;align-items:center}.branch-name{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-weight:400;font-size:1rem;color:#000;overflow:hidden;white-space:pre-wrap;display:block}.pr-cell{min-width:10px}.pr-link{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1rem;color:#1976d2;text-decoration:none;display:block;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-link:hover{text-decoration:underline}.no-pr{color:#9e9e9e;font-style:italic}.menu-trigger{background:#fff;border:none;cursor:pointer;padding:.7rem .75rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s ease-in-out;box-shadow:none;margin-right:.5rem}.menu-trigger:hover,.menu-trigger:focus-visible{background:#f2f2f2;outline:none}.menu-lines{display:inline-flex;flex-direction:column;gap:3px}.menu-lines span{width:16px;height:2px;background:#222;display:block;border-radius:1px}.menu-overlay{position:fixed;inset:0;background:#00000040;z-index:5000}.menu-drawer{position:fixed;top:0;left:0;width:250px;max-width:100%;height:100vh;background:#444;box-shadow:2px 0 12px #00000026;transform:translate(-100%);transition:transform .18s ease-out;z-index:5001;display:flex;flex-direction:column;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.menu-drawer.open{transform:translate(0)}.menu-drawer-header{font-size:1.25rem;font-weight:700;letter-spacing:.5px;padding:1.15rem 1.25rem 1rem;border-bottom:1px solid #555;background:#444;color:#fff;font-family:Arial,sans-serif}.menu-nav-list{list-style:none;margin:0;padding:.75rem .85rem 1rem;flex:1;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;display:flex;flex-direction:column;gap:.4rem}.drawer-link{width:100%;text-align:left;background:transparent;border:none;padding:.9rem 1rem;font-size:.96rem;cursor:pointer;color:#efefef;display:flex;align-items:center;gap:.55rem;text-decoration:none;transition:background .12s ease,color .12s ease;font-weight:600;border-radius:10px;box-sizing:border-box}.drawer-link:hover{background:#525252;color:#fff}.drawer-link.active{background:#5a5a5a;color:#fff}.drawer-link.external:after{content:"↗";font-size:.7rem;opacity:.6;margin-left:.25rem}.drawer-separator{margin:.8rem 0;border-top:1px solid #555;height:0}.sort-indicator{margin-left:.5rem;font-weight:400;color:#6c757d;font-size:.74rem;opacity:.7;flex:0 0 auto}.virtualized-table-header-container{position:sticky;top:4rem;z-index:999;box-shadow:0 1px #0000001a}.virtualized-table{border-collapse:collapse;min-width:56rem;position:sticky;top:0;width:100%;table-layout:fixed}.virtualized-table-row:hover td{background-color:#f3f4f6}.virtualized-table th{color:#000;text-align:left;border-bottom:1px solid #dee2e6;background:#fff;box-sizing:border-box;text-transform:uppercase;padding:6px 8px;font-weight:600;font-size:.83rem}.virtualized-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1;position:sticky;top:4rem}.virtualized-table th.sortable:hover{background-color:#e9ecef;position:sticky;top:4rem}.virtualized-table-header-content{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;min-width:0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;position:sticky;top:4rem}.virtualized-table-body{background:#fff;overflow:auto;position:relative;width:100%;min-width:56rem}.virtualized-table-row{background:#fff!important;border-bottom:1px solid #e0e0e0;box-sizing:border-box}.virtualized-table-row table{border-collapse:collapse}.virtualized-table-row td{padding:.7rem .5rem;vertical-align:middle;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.9rem}.architecture-name{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1rem;color:#000;word-break:break-word} diff --git a/petri/logview_new/dist/assets/index-Bs6kvTlV.js b/petri/logview_new/dist/assets/index-Bs6kvTlV.js deleted file mode 100644 index c1a1e06fac..0000000000 --- a/petri/logview_new/dist/assets/index-Bs6kvTlV.js +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -//////////////////////////////// -// THIS FILE IS AUTOGENERATED // -// DO NOT MANUALLY EDIT // -//////////////////////////////// - -(function(){const u=document.createElement("link").relList;if(u&&u.supports&&u.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))s(c);new MutationObserver(c=>{for(const f of c)if(f.type==="childList")for(const h of f.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&s(h)}).observe(document,{childList:!0,subtree:!0});function i(c){const f={};return c.integrity&&(f.integrity=c.integrity),c.referrerPolicy&&(f.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?f.credentials="include":c.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function s(c){if(c.ep)return;c.ep=!0;const f=i(c);fetch(c.href,f)}})();function wg(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var Wr={exports:{}},Za={};/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Kh;function qv(){if(Kh)return Za;Kh=1;var l=Symbol.for("react.transitional.element"),u=Symbol.for("react.fragment");function i(s,c,f){var h=null;if(f!==void 0&&(h=""+f),c.key!==void 0&&(h=""+c.key),"key"in c){f={};for(var g in c)g!=="key"&&(f[g]=c[g])}else f=c;return c=f.ref,{$$typeof:l,type:s,key:h,ref:c!==void 0?c:null,props:f}}return Za.Fragment=u,Za.jsx=i,Za.jsxs=i,Za}var Jh;function Gv(){return Jh||(Jh=1,Wr.exports=qv()),Wr.exports}var G=Gv(),eo={exports:{}},te={};/** - * @license React - * react.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Ph;function Fv(){if(Ph)return te;Ph=1;var l=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),h=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),R=Symbol.iterator;function S(_){return _===null||typeof _!="object"?null:(_=R&&_[R]||_["@@iterator"],typeof _=="function"?_:null)}var T={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,N={};function H(_,q,Y){this.props=_,this.context=q,this.refs=N,this.updater=Y||T}H.prototype.isReactComponent={},H.prototype.setState=function(_,q){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,q,"setState")},H.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function j(){}j.prototype=H.prototype;function F(_,q,Y){this.props=_,this.context=q,this.refs=N,this.updater=Y||T}var ne=F.prototype=new j;ne.constructor=F,w(ne,H.prototype),ne.isPureReactComponent=!0;var ee=Array.isArray;function pe(){}var K={H:null,A:null,T:null,S:null},fe=Object.prototype.hasOwnProperty;function ye(_,q,Y){var X=Y.ref;return{$$typeof:l,type:_,key:q,ref:X!==void 0?X:null,props:Y}}function Ae(_,q){return ye(_.type,q,_.props)}function He(_){return typeof _=="object"&&_!==null&&_.$$typeof===l}function tt(_){var q={"=":"=0",":":"=2"};return"$"+_.replace(/[=:]/g,function(Y){return q[Y]})}var Fn=/\/+/g;function $t(_,q){return typeof _=="object"&&_!==null&&_.key!=null?tt(""+_.key):q.toString(36)}function Nt(_){switch(_.status){case"fulfilled":return _.value;case"rejected":throw _.reason;default:switch(typeof _.status=="string"?_.then(pe,pe):(_.status="pending",_.then(function(q){_.status==="pending"&&(_.status="fulfilled",_.value=q)},function(q){_.status==="pending"&&(_.status="rejected",_.reason=q)})),_.status){case"fulfilled":return _.value;case"rejected":throw _.reason}}throw _}function V(_,q,Y,X,le){var ue=typeof _;(ue==="undefined"||ue==="boolean")&&(_=null);var ve=!1;if(_===null)ve=!0;else switch(ue){case"bigint":case"string":case"number":ve=!0;break;case"object":switch(_.$$typeof){case l:case u:ve=!0;break;case y:return ve=_._init,V(ve(_._payload),q,Y,X,le)}}if(ve)return le=le(_),ve=X===""?"."+$t(_,0):X,ee(le)?(Y="",ve!=null&&(Y=ve.replace(Fn,"$&/")+"/"),V(le,q,Y,"",function(ea){return ea})):le!=null&&(He(le)&&(le=Ae(le,Y+(le.key==null||_&&_.key===le.key?"":(""+le.key).replace(Fn,"$&/")+"/")+ve)),q.push(le)),1;ve=0;var We=X===""?".":X+":";if(ee(_))for(var Ue=0;Ue<_.length;Ue++)X=_[Ue],ue=We+$t(X,Ue),ve+=V(X,q,Y,ue,le);else if(Ue=S(_),typeof Ue=="function")for(_=Ue.call(_),Ue=0;!(X=_.next()).done;)X=X.value,ue=We+$t(X,Ue++),ve+=V(X,q,Y,ue,le);else if(ue==="object"){if(typeof _.then=="function")return V(Nt(_),q,Y,X,le);throw q=String(_),Error("Objects are not valid as a React child (found: "+(q==="[object Object]"?"object with keys {"+Object.keys(_).join(", ")+"}":q)+"). If you meant to render a collection of children, use an array instead.")}return ve}function Q(_,q,Y){if(_==null)return _;var X=[],le=0;return V(_,X,"","",function(ue){return q.call(Y,ue,le++)}),X}function W(_){if(_._status===-1){var q=_._result;q=q(),q.then(function(Y){(_._status===0||_._status===-1)&&(_._status=1,_._result=Y)},function(Y){(_._status===0||_._status===-1)&&(_._status=2,_._result=Y)}),_._status===-1&&(_._status=0,_._result=q)}if(_._status===1)return _._result.default;throw _._result}var Ce=typeof reportError=="function"?reportError:function(_){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof _=="object"&&_!==null&&typeof _.message=="string"?String(_.message):String(_),error:_});if(!window.dispatchEvent(q))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",_);return}console.error(_)},Me={map:Q,forEach:function(_,q,Y){Q(_,function(){q.apply(this,arguments)},Y)},count:function(_){var q=0;return Q(_,function(){q++}),q},toArray:function(_){return Q(_,function(q){return q})||[]},only:function(_){if(!He(_))throw Error("React.Children.only expected to receive a single React element child.");return _}};return te.Activity=b,te.Children=Me,te.Component=H,te.Fragment=i,te.Profiler=c,te.PureComponent=F,te.StrictMode=s,te.Suspense=p,te.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=K,te.__COMPILER_RUNTIME={__proto__:null,c:function(_){return K.H.useMemoCache(_)}},te.cache=function(_){return function(){return _.apply(null,arguments)}},te.cacheSignal=function(){return null},te.cloneElement=function(_,q,Y){if(_==null)throw Error("The argument must be a React element, but you passed "+_+".");var X=w({},_.props),le=_.key;if(q!=null)for(ue in q.key!==void 0&&(le=""+q.key),q)!fe.call(q,ue)||ue==="key"||ue==="__self"||ue==="__source"||ue==="ref"&&q.ref===void 0||(X[ue]=q[ue]);var ue=arguments.length-2;if(ue===1)X.children=Y;else if(1>>1,Me=V[Ce];if(0>>1;Ce<_;){var q=2*(Ce+1)-1,Y=V[q],X=q+1,le=V[X];if(0>c(Y,W))Xc(le,Y)?(V[Ce]=le,V[X]=W,Ce=X):(V[Ce]=Y,V[q]=W,Ce=q);else if(Xc(le,W))V[Ce]=le,V[X]=W,Ce=X;else break e}}return Q}function c(V,Q){var W=V.sortIndex-Q.sortIndex;return W!==0?W:V.id-Q.id}if(l.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;l.unstable_now=function(){return f.now()}}else{var h=Date,g=h.now();l.unstable_now=function(){return h.now()-g}}var p=[],m=[],y=1,b=null,R=3,S=!1,T=!1,w=!1,N=!1,H=typeof setTimeout=="function"?setTimeout:null,j=typeof clearTimeout=="function"?clearTimeout:null,F=typeof setImmediate<"u"?setImmediate:null;function ne(V){for(var Q=i(m);Q!==null;){if(Q.callback===null)s(m);else if(Q.startTime<=V)s(m),Q.sortIndex=Q.expirationTime,u(p,Q);else break;Q=i(m)}}function ee(V){if(w=!1,ne(V),!T)if(i(p)!==null)T=!0,pe||(pe=!0,tt());else{var Q=i(m);Q!==null&&Nt(ee,Q.startTime-V)}}var pe=!1,K=-1,fe=5,ye=-1;function Ae(){return N?!0:!(l.unstable_now()-yeV&&Ae());){var Ce=b.callback;if(typeof Ce=="function"){b.callback=null,R=b.priorityLevel;var Me=Ce(b.expirationTime<=V);if(V=l.unstable_now(),typeof Me=="function"){b.callback=Me,ne(V),Q=!0;break t}b===i(p)&&s(p),ne(V)}else s(p);b=i(p)}if(b!==null)Q=!0;else{var _=i(m);_!==null&&Nt(ee,_.startTime-V),Q=!1}}break e}finally{b=null,R=W,S=!1}Q=void 0}}finally{Q?tt():pe=!1}}}var tt;if(typeof F=="function")tt=function(){F(He)};else if(typeof MessageChannel<"u"){var Fn=new MessageChannel,$t=Fn.port2;Fn.port1.onmessage=He,tt=function(){$t.postMessage(null)}}else tt=function(){H(He,0)};function Nt(V,Q){K=H(function(){V(l.unstable_now())},Q)}l.unstable_IdlePriority=5,l.unstable_ImmediatePriority=1,l.unstable_LowPriority=4,l.unstable_NormalPriority=3,l.unstable_Profiling=null,l.unstable_UserBlockingPriority=2,l.unstable_cancelCallback=function(V){V.callback=null},l.unstable_forceFrameRate=function(V){0>V||125Ce?(V.sortIndex=W,u(m,V),i(p)===null&&V===i(m)&&(w?(j(K),K=-1):w=!0,Nt(ee,W-Ce))):(V.sortIndex=Me,u(p,V),T||S||(T=!0,pe||(pe=!0,tt()))),V},l.unstable_shouldYield=Ae,l.unstable_wrapCallback=function(V){var Q=R;return function(){var W=R;R=Q;try{return V.apply(this,arguments)}finally{R=W}}}})(lo)),lo}var Wh;function $v(){return Wh||(Wh=1,no.exports=Yv()),no.exports}var ao={exports:{}},ke={};/** - * @license React - * react-dom.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var eg;function Xv(){if(eg)return ke;eg=1;var l=Oo();function u(p){var m="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(u){console.error(u)}}return l(),ao.exports=Xv(),ao.exports}/** - * @license React - * react-dom-client.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var ng;function Zv(){if(ng)return Ka;ng=1;var l=$v(),u=Oo(),i=zg();function s(e){var t="https://react.dev/errors/"+e;if(1Me||(e.current=Ce[Me],Ce[Me]=null,Me--)}function Y(e,t){Me++,Ce[Me]=e.current,e.current=t}var X=_(null),le=_(null),ue=_(null),ve=_(null);function We(e,t){switch(Y(ue,t),Y(le,e),Y(X,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?vh(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=vh(t),e=yh(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}q(X),Y(X,e)}function Ue(){q(X),q(le),q(ue)}function ea(e){e.memoizedState!==null&&Y(ve,e);var t=X.current,n=yh(t,e.type);t!==n&&(Y(le,e),Y(X,n))}function ai(e){le.current===e&&(q(X),q(le)),ve.current===e&&(q(ve),Qa._currentValue=W)}var Uu,Xo;function Qn(e){if(Uu===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Uu=t&&t[1]||"",Xo=-1)":-1r||C[a]!==O[r]){var U=` -`+C[a].replace(" at new "," at ");return e.displayName&&U.includes("")&&(U=U.replace("",e.displayName)),U}while(1<=a&&0<=r);break}}}finally{ju=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Qn(n):""}function vm(e,t){switch(e.tag){case 26:case 27:case 5:return Qn(e.type);case 16:return Qn("Lazy");case 13:return e.child!==t&&t!==null?Qn("Suspense Fallback"):Qn("Suspense");case 19:return Qn("SuspenseList");case 0:case 15:return Vu(e.type,!1);case 11:return Vu(e.type.render,!1);case 1:return Vu(e.type,!0);case 31:return Qn("Activity");default:return""}}function Zo(e){try{var t="",n=null;do t+=vm(e,n),n=e,e=e.return;while(e);return t}catch(a){return` -Error generating stack: `+a.message+` -`+a.stack}}var Lu=Object.prototype.hasOwnProperty,Bu=l.unstable_scheduleCallback,qu=l.unstable_cancelCallback,ym=l.unstable_shouldYield,Sm=l.unstable_requestPaint,ct=l.unstable_now,Rm=l.unstable_getCurrentPriorityLevel,Ko=l.unstable_ImmediatePriority,Jo=l.unstable_UserBlockingPriority,ii=l.unstable_NormalPriority,Cm=l.unstable_LowPriority,Po=l.unstable_IdlePriority,bm=l.log,Em=l.unstable_setDisableYieldValue,ta=null,ft=null;function gn(e){if(typeof bm=="function"&&Em(e),ft&&typeof ft.setStrictMode=="function")try{ft.setStrictMode(ta,e)}catch{}}var dt=Math.clz32?Math.clz32:Tm,_m=Math.log,Mm=Math.LN2;function Tm(e){return e>>>=0,e===0?32:31-(_m(e)/Mm|0)|0}var ui=256,si=262144,ri=4194304;function Yn(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function oi(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var r=0,o=e.suspendedLanes,d=e.pingedLanes;e=e.warmLanes;var v=a&134217727;return v!==0?(a=v&~o,a!==0?r=Yn(a):(d&=v,d!==0?r=Yn(d):n||(n=v&~e,n!==0&&(r=Yn(n))))):(v=a&~o,v!==0?r=Yn(v):d!==0?r=Yn(d):n||(n=a&~e,n!==0&&(r=Yn(n)))),r===0?0:t!==0&&t!==r&&(t&o)===0&&(o=r&-r,n=t&-t,o>=n||o===32&&(n&4194048)!==0)?t:r}function na(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function wm(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ko(){var e=ri;return ri<<=1,(ri&62914560)===0&&(ri=4194304),e}function Gu(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function la(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function zm(e,t,n,a,r,o){var d=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var v=e.entanglements,C=e.expirationTimes,O=e.hiddenUpdates;for(n=d&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Hm=/[\n"\\]/g;function Et(e){return e.replace(Hm,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Zu(e,t,n,a,r,o,d,v){e.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.type=d:e.removeAttribute("type"),t!=null?d==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+bt(t)):e.value!==""+bt(t)&&(e.value=""+bt(t)):d!=="submit"&&d!=="reset"||e.removeAttribute("value"),t!=null?Ku(e,d,bt(t)):n!=null?Ku(e,d,bt(n)):a!=null&&e.removeAttribute("value"),r==null&&o!=null&&(e.defaultChecked=!!o),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"?e.name=""+bt(v):e.removeAttribute("name")}function cc(e,t,n,a,r,o,d,v){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||n!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){Xu(e);return}n=n!=null?""+bt(n):"",t=t!=null?""+bt(t):n,v||t===e.value||(e.value=t),e.defaultValue=t}a=a??r,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=v?e.checked:!!a,e.defaultChecked=!!a,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.name=d),Xu(e)}function Ku(e,t,n){t==="number"&&di(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function pl(e,t,n,a){if(e=e.options,t){t={};for(var r=0;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Wu=!1;if(Kt)try{var sa={};Object.defineProperty(sa,"passive",{get:function(){Wu=!0}}),window.addEventListener("test",sa,sa),window.removeEventListener("test",sa,sa)}catch{Wu=!1}var pn=null,es=null,gi=null;function vc(){if(gi)return gi;var e,t=es,n=t.length,a,r="value"in pn?pn.value:pn.textContent,o=r.length;for(e=0;e=ca),Ec=" ",_c=!1;function Mc(e,t){switch(e){case"keyup":return rp.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Tc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Rl=!1;function cp(e,t){switch(e){case"compositionend":return Tc(t);case"keypress":return t.which!==32?null:(_c=!0,Ec);case"textInput":return e=t.data,e===Ec&&_c?null:e;default:return null}}function fp(e,t){if(Rl)return e==="compositionend"||!is&&Mc(e,t)?(e=vc(),gi=es=pn=null,Rl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Hc(n)}}function jc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?jc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Vc(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=di(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=di(e.document)}return t}function rs(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Sp=Kt&&"documentMode"in document&&11>=document.documentMode,Cl=null,os=null,ga=null,cs=!1;function Lc(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;cs||Cl==null||Cl!==di(a)||(a=Cl,"selectionStart"in a&&rs(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),ga&&ha(ga,a)||(ga=a,a=su(os,"onSelect"),0>=d,r-=d,qt=1<<32-dt(t)+r|n<ie?(ce=Z,Z=null):ce=Z.sibling;var ge=A(M,Z,x[ie],L);if(ge===null){Z===null&&(Z=ce);break}e&&Z&&ge.alternate===null&&t(M,Z),E=o(ge,E,ie),he===null?J=ge:he.sibling=ge,he=ge,Z=ce}if(ie===x.length)return n(M,Z),de&&Pt(M,ie),J;if(Z===null){for(;ieie?(ce=Z,Z=null):ce=Z.sibling;var Ln=A(M,Z,ge.value,L);if(Ln===null){Z===null&&(Z=ce);break}e&&Z&&Ln.alternate===null&&t(M,Z),E=o(Ln,E,ie),he===null?J=Ln:he.sibling=Ln,he=Ln,Z=ce}if(ge.done)return n(M,Z),de&&Pt(M,ie),J;if(Z===null){for(;!ge.done;ie++,ge=x.next())ge=B(M,ge.value,L),ge!==null&&(E=o(ge,E,ie),he===null?J=ge:he.sibling=ge,he=ge);return de&&Pt(M,ie),J}for(Z=a(Z);!ge.done;ie++,ge=x.next())ge=D(Z,M,ie,ge.value,L),ge!==null&&(e&&ge.alternate!==null&&Z.delete(ge.key===null?ie:ge.key),E=o(ge,E,ie),he===null?J=ge:he.sibling=ge,he=ge);return e&&Z.forEach(function(Bv){return t(M,Bv)}),de&&Pt(M,ie),J}function _e(M,E,x,L){if(typeof x=="object"&&x!==null&&x.type===w&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case S:e:{for(var J=x.key;E!==null;){if(E.key===J){if(J=x.type,J===w){if(E.tag===7){n(M,E.sibling),L=r(E,x.props.children),L.return=M,M=L;break e}}else if(E.elementType===J||typeof J=="object"&&J!==null&&J.$$typeof===fe&&tl(J)===E.type){n(M,E.sibling),L=r(E,x.props),Ra(L,x),L.return=M,M=L;break e}n(M,E);break}else t(M,E);E=E.sibling}x.type===w?(L=Pn(x.props.children,M.mode,L,x.key),L.return=M,M=L):(L=_i(x.type,x.key,x.props,null,M.mode,L),Ra(L,x),L.return=M,M=L)}return d(M);case T:e:{for(J=x.key;E!==null;){if(E.key===J)if(E.tag===4&&E.stateNode.containerInfo===x.containerInfo&&E.stateNode.implementation===x.implementation){n(M,E.sibling),L=r(E,x.children||[]),L.return=M,M=L;break e}else{n(M,E);break}else t(M,E);E=E.sibling}L=vs(x,M.mode,L),L.return=M,M=L}return d(M);case fe:return x=tl(x),_e(M,E,x,L)}if(Nt(x))return $(M,E,x,L);if(tt(x)){if(J=tt(x),typeof J!="function")throw Error(s(150));return x=J.call(x),P(M,E,x,L)}if(typeof x.then=="function")return _e(M,E,Ai(x),L);if(x.$$typeof===F)return _e(M,E,wi(M,x),L);Di(M,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,E!==null&&E.tag===6?(n(M,E.sibling),L=r(E,x),L.return=M,M=L):(n(M,E),L=ps(x,M.mode,L),L.return=M,M=L),d(M)):n(M,E)}return function(M,E,x,L){try{Sa=0;var J=_e(M,E,x,L);return Dl=null,J}catch(Z){if(Z===Al||Z===xi)throw Z;var he=gt(29,Z,null,M.mode);return he.lanes=L,he.return=M,he}finally{}}}var ll=rf(!0),of=rf(!1),Cn=!1;function xs(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Os(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function bn(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function En(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(me&2)!==0){var r=a.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),a.pending=t,t=Ei(e),$c(e,null,n),t}return bi(e,a,t,n),Ei(e)}function Ca(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Wo(e,n)}}function As(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var r=null,o=null;if(n=n.firstBaseUpdate,n!==null){do{var d={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};o===null?r=o=d:o=o.next=d,n=n.next}while(n!==null);o===null?r=o=t:o=o.next=t}else r=o=t;n={baseState:a.baseState,firstBaseUpdate:r,lastBaseUpdate:o,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ds=!1;function ba(){if(Ds){var e=Ol;if(e!==null)throw e}}function Ea(e,t,n,a){Ds=!1;var r=e.updateQueue;Cn=!1;var o=r.firstBaseUpdate,d=r.lastBaseUpdate,v=r.shared.pending;if(v!==null){r.shared.pending=null;var C=v,O=C.next;C.next=null,d===null?o=O:d.next=O,d=C;var U=e.alternate;U!==null&&(U=U.updateQueue,v=U.lastBaseUpdate,v!==d&&(v===null?U.firstBaseUpdate=O:v.next=O,U.lastBaseUpdate=C))}if(o!==null){var B=r.baseState;d=0,U=O=C=null,v=o;do{var A=v.lane&-536870913,D=A!==v.lane;if(D?(oe&A)===A:(a&A)===A){A!==0&&A===xl&&(Ds=!0),U!==null&&(U=U.next={lane:0,tag:v.tag,payload:v.payload,callback:null,next:null});e:{var $=e,P=v;A=t;var _e=n;switch(P.tag){case 1:if($=P.payload,typeof $=="function"){B=$.call(_e,B,A);break e}B=$;break e;case 3:$.flags=$.flags&-65537|128;case 0:if($=P.payload,A=typeof $=="function"?$.call(_e,B,A):$,A==null)break e;B=b({},B,A);break e;case 2:Cn=!0}}A=v.callback,A!==null&&(e.flags|=64,D&&(e.flags|=8192),D=r.callbacks,D===null?r.callbacks=[A]:D.push(A))}else D={lane:A,tag:v.tag,payload:v.payload,callback:v.callback,next:null},U===null?(O=U=D,C=B):U=U.next=D,d|=A;if(v=v.next,v===null){if(v=r.shared.pending,v===null)break;D=v,v=D.next,D.next=null,r.lastBaseUpdate=D,r.shared.pending=null}}while(!0);U===null&&(C=B),r.baseState=C,r.firstBaseUpdate=O,r.lastBaseUpdate=U,o===null&&(r.shared.lanes=0),zn|=d,e.lanes=d,e.memoizedState=B}}function cf(e,t){if(typeof e!="function")throw Error(s(191,e));e.call(t)}function ff(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;eo?o:8;var d=V.T,v={};V.T=v,ks(e,!1,t,n);try{var C=r(),O=V.S;if(O!==null&&O(v,C),C!==null&&typeof C=="object"&&typeof C.then=="function"){var U=zp(C,a);Ta(e,t,U,St(e))}else Ta(e,t,a,St(e))}catch(B){Ta(e,t,{then:function(){},status:"rejected",reason:B},St())}finally{Q.p=o,d!==null&&v.types!==null&&(d.types=v.types),V.T=d}}function Hp(){}function Js(e,t,n,a){if(e.tag!==5)throw Error(s(476));var r=Qf(e).queue;Ff(e,r,t,W,n===null?Hp:function(){return Yf(e),n(a)})}function Qf(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:W,baseState:W,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:en,lastRenderedState:W},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:en,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Yf(e){var t=Qf(e);t.next===null&&(t=e.alternate.memoizedState),Ta(e,t.next.queue,{},St())}function Ps(){return Ze(Qa)}function $f(){return Ve().memoizedState}function Xf(){return Ve().memoizedState}function Up(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=St();e=bn(n);var a=En(t,e,n);a!==null&&(rt(a,t,n),Ca(a,t,n)),t={cache:Ms()},e.payload=t;return}t=t.return}}function jp(e,t,n){var a=St();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Fi(e)?Kf(t,n):(n=gs(e,t,n,a),n!==null&&(rt(n,e,a),Jf(n,t,a)))}function Zf(e,t,n){var a=St();Ta(e,t,n,a)}function Ta(e,t,n,a){var r={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Fi(e))Kf(t,r);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var d=t.lastRenderedState,v=o(d,n);if(r.hasEagerState=!0,r.eagerState=v,ht(v,d))return bi(e,t,r,0),Te===null&&Ci(),!1}catch{}finally{}if(n=gs(e,t,r,a),n!==null)return rt(n,e,a),Jf(n,t,a),!0}return!1}function ks(e,t,n,a){if(a={lane:2,revertLane:xr(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Fi(e)){if(t)throw Error(s(479))}else t=gs(e,n,a,2),t!==null&&rt(t,e,2)}function Fi(e){var t=e.alternate;return e===ae||t!==null&&t===ae}function Kf(e,t){Hl=Ui=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Jf(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Wo(e,n)}}var wa={readContext:Ze,use:Li,useCallback:De,useContext:De,useEffect:De,useImperativeHandle:De,useLayoutEffect:De,useInsertionEffect:De,useMemo:De,useReducer:De,useRef:De,useState:De,useDebugValue:De,useDeferredValue:De,useTransition:De,useSyncExternalStore:De,useId:De,useHostTransitionStatus:De,useFormState:De,useActionState:De,useOptimistic:De,useMemoCache:De,useCacheRefresh:De};wa.useEffectEvent=De;var Pf={readContext:Ze,use:Li,useCallback:function(e,t){return et().memoizedState=[e,t===void 0?null:t],e},useContext:Ze,useEffect:Nf,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,qi(4194308,4,Vf.bind(null,t,e),n)},useLayoutEffect:function(e,t){return qi(4194308,4,e,t)},useInsertionEffect:function(e,t){qi(4,2,e,t)},useMemo:function(e,t){var n=et();t=t===void 0?null:t;var a=e();if(al){gn(!0);try{e()}finally{gn(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=et();if(n!==void 0){var r=n(t);if(al){gn(!0);try{n(t)}finally{gn(!1)}}}else r=t;return a.memoizedState=a.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},a.queue=e,e=e.dispatch=jp.bind(null,ae,e),[a.memoizedState,e]},useRef:function(e){var t=et();return e={current:e},t.memoizedState=e},useState:function(e){e=Ys(e);var t=e.queue,n=Zf.bind(null,ae,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Zs,useDeferredValue:function(e,t){var n=et();return Ks(n,e,t)},useTransition:function(){var e=Ys(!1);return e=Ff.bind(null,ae,e.queue,!0,!1),et().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=ae,r=et();if(de){if(n===void 0)throw Error(s(407));n=n()}else{if(n=t(),Te===null)throw Error(s(349));(oe&127)!==0||vf(a,t,n)}r.memoizedState=n;var o={value:n,getSnapshot:t};return r.queue=o,Nf(Sf.bind(null,a,o,e),[e]),a.flags|=2048,jl(9,{destroy:void 0},yf.bind(null,a,o,n,t),null),n},useId:function(){var e=et(),t=Te.identifierPrefix;if(de){var n=Gt,a=qt;n=(a&~(1<<32-dt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=ji++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof a.is=="string"?d.createElement("select",{is:a.is}):d.createElement("select"),a.multiple?o.multiple=!0:a.size&&(o.size=a.size);break;default:o=typeof a.is=="string"?d.createElement(r,{is:a.is}):d.createElement(r)}}o[$e]=t,o[nt]=a;e:for(d=t.child;d!==null;){if(d.tag===5||d.tag===6)o.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===t)break e;for(;d.sibling===null;){if(d.return===null||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}t.stateNode=o;e:switch(Je(o,r,a),r){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&nn(t)}}return ze(t),fr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&nn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(s(166));if(e=ue.current,wl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,r=Xe,r!==null)switch(r.tag){case 27:case 5:a=r.memoizedProps}e[$e]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||mh(e.nodeValue,n)),e||Sn(t,!0)}else e=ru(e).createTextNode(a),e[$e]=t,t.stateNode=e}return ze(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=wl(t),n!==null){if(e===null){if(!a)throw Error(s(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(557));e[$e]=t}else kn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ze(t),e=!1}else n=Cs(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(pt(t),t):(pt(t),null);if((t.flags&128)!==0)throw Error(s(558))}return ze(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=wl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!r)throw Error(s(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(s(317));r[$e]=t}else kn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ze(t),r=!1}else r=Cs(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return t.flags&256?(pt(t),t):(pt(t),null)}return pt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,r=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(r=a.alternate.memoizedState.cachePool.pool),o=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(o=a.memoizedState.cachePool.pool),o!==r&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Zi(t,t.updateQueue),ze(t),null);case 4:return Ue(),e===null&&Nr(t.stateNode.containerInfo),ze(t),null;case 10:return It(t.type),ze(t),null;case 19:if(q(je),a=t.memoizedState,a===null)return ze(t),null;if(r=(t.flags&128)!==0,o=a.rendering,o===null)if(r)xa(a,!1);else{if(Ne!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=Hi(e),o!==null){for(t.flags|=128,xa(a,!1),e=o.updateQueue,t.updateQueue=e,Zi(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Xc(n,e),n=n.sibling;return Y(je,je.current&1|2),de&&Pt(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&ct()>Ii&&(t.flags|=128,r=!0,xa(a,!1),t.lanes=4194304)}else{if(!r)if(e=Hi(o),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,Zi(t,e),xa(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!de)return ze(t),null}else 2*ct()-a.renderingStartTime>Ii&&n!==536870912&&(t.flags|=128,r=!0,xa(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(e=a.last,e!==null?e.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=ct(),e.sibling=null,n=je.current,Y(je,r?n&1|2:n&1),de&&Pt(t,a.treeForkCount),e):(ze(t),null);case 22:case 23:return pt(t),Hs(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(ze(t),t.subtreeFlags&6&&(t.flags|=8192)):ze(t),n=t.updateQueue,n!==null&&Zi(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&q(el),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),It(Le),ze(t),null;case 25:return null;case 30:return null}throw Error(s(156,t.tag))}function Gp(e,t){switch(Ss(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return It(Le),Ue(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ai(t),null;case 31:if(t.memoizedState!==null){if(pt(t),t.alternate===null)throw Error(s(340));kn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(pt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));kn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return q(je),null;case 4:return Ue(),null;case 10:return It(t.type),null;case 22:case 23:return pt(t),Hs(),e!==null&&q(el),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return It(Le),null;case 25:return null;default:return null}}function Rd(e,t){switch(Ss(t),t.tag){case 3:It(Le),Ue();break;case 26:case 27:case 5:ai(t);break;case 4:Ue();break;case 31:t.memoizedState!==null&&pt(t);break;case 13:pt(t);break;case 19:q(je);break;case 10:It(t.type);break;case 22:case 23:pt(t),Hs(),e!==null&&q(el);break;case 24:It(Le)}}function Oa(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var r=a.next;n=r;do{if((n.tag&e)===e){a=void 0;var o=n.create,d=n.inst;a=o(),d.destroy=a}n=n.next}while(n!==r)}}catch(v){Re(t,t.return,v)}}function Tn(e,t,n){try{var a=t.updateQueue,r=a!==null?a.lastEffect:null;if(r!==null){var o=r.next;a=o;do{if((a.tag&e)===e){var d=a.inst,v=d.destroy;if(v!==void 0){d.destroy=void 0,r=t;var C=n,O=v;try{O()}catch(U){Re(r,C,U)}}}a=a.next}while(a!==o)}}catch(U){Re(t,t.return,U)}}function Cd(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{ff(t,n)}catch(a){Re(e,e.return,a)}}}function bd(e,t,n){n.props=il(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){Re(e,t,a)}}function Aa(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(r){Re(e,t,r)}}function Ft(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(r){Re(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(r){Re(e,t,r)}else n.current=null}function Ed(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(r){Re(e,e.return,r)}}function dr(e,t,n){try{var a=e.stateNode;ov(a,e.type,n,t),a[nt]=t}catch(r){Re(e,e.return,r)}}function _d(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Nn(e.type)||e.tag===4}function hr(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||_d(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Nn(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function gr(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Zt));else if(a!==4&&(a===27&&Nn(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(gr(e,t,n),e=e.sibling;e!==null;)gr(e,t,n),e=e.sibling}function Ki(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Nn(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Ki(e,t,n),e=e.sibling;e!==null;)Ki(e,t,n),e=e.sibling}function Md(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);Je(t,a,n),t[$e]=e,t[nt]=n}catch(o){Re(e,e.return,o)}}var ln=!1,Ge=!1,mr=!1,Td=typeof WeakSet=="function"?WeakSet:Set,Ye=null;function Fp(e,t){if(e=e.containerInfo,jr=mu,e=Vc(e),rs(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var r=a.anchorOffset,o=a.focusNode;a=a.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var d=0,v=-1,C=-1,O=0,U=0,B=e,A=null;t:for(;;){for(var D;B!==n||r!==0&&B.nodeType!==3||(v=d+r),B!==o||a!==0&&B.nodeType!==3||(C=d+a),B.nodeType===3&&(d+=B.nodeValue.length),(D=B.firstChild)!==null;)A=B,B=D;for(;;){if(B===e)break t;if(A===n&&++O===r&&(v=d),A===o&&++U===a&&(C=d),(D=B.nextSibling)!==null)break;B=A,A=B.parentNode}B=D}n=v===-1||C===-1?null:{start:v,end:C}}else n=null}n=n||{start:0,end:0}}else n=null;for(Vr={focusedElem:e,selectionRange:n},mu=!1,Ye=t;Ye!==null;)if(t=Ye,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ye=e;else for(;Ye!==null;){switch(t=Ye,o=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),Je(o,a,n),o[$e]=e,Qe(o),a=o;break e;case"link":var d=Dh("link","href",r).get(a+(n.href||""));if(d){for(var v=0;v_e&&(d=_e,_e=P,P=d);var M=Uc(v,P),E=Uc(v,_e);if(M&&E&&(D.rangeCount!==1||D.anchorNode!==M.node||D.anchorOffset!==M.offset||D.focusNode!==E.node||D.focusOffset!==E.offset)){var x=B.createRange();x.setStart(M.node,M.offset),D.removeAllRanges(),P>_e?(D.addRange(x),D.extend(E.node,E.offset)):(x.setEnd(E.node,E.offset),D.addRange(x))}}}}for(B=[],D=v;D=D.parentNode;)D.nodeType===1&&B.push({element:D,left:D.scrollLeft,top:D.scrollTop});for(typeof v.focus=="function"&&v.focus(),v=0;vn?32:n,V.T=null,n=br,br=null;var o=On,d=on;if(Fe=0,Gl=On=null,on=0,(me&6)!==0)throw Error(s(331));var v=me;if(me|=4,Vd(o.current),Hd(o,o.current,d,n),me=v,Va(0,!1),ft&&typeof ft.onPostCommitFiberRoot=="function")try{ft.onPostCommitFiberRoot(ta,o)}catch{}return!0}finally{Q.p=r,V.T=a,th(e,t)}}function lh(e,t,n){t=Mt(n,t),t=tr(e.stateNode,t,2),e=En(e,t,2),e!==null&&(la(e,2),Qt(e))}function Re(e,t,n){if(e.tag===3)lh(e,e,n);else for(;t!==null;){if(t.tag===3){lh(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(xn===null||!xn.has(a))){e=Mt(n,e),n=ad(2),a=En(t,n,2),a!==null&&(id(n,a,t,e),la(a,2),Qt(a));break}}t=t.return}}function Tr(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new $p;var r=new Set;a.set(t,r)}else r=a.get(t),r===void 0&&(r=new Set,a.set(t,r));r.has(n)||(yr=!0,r.add(n),e=Pp.bind(null,e,t,n),t.then(e,e))}function Pp(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Te===e&&(oe&n)===n&&(Ne===4||Ne===3&&(oe&62914560)===oe&&300>ct()-ki?(me&2)===0&&Fl(e,0):Sr|=n,ql===oe&&(ql=0)),Qt(e)}function ah(e,t){t===0&&(t=ko()),e=Jn(e,t),e!==null&&(la(e,t),Qt(e))}function kp(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ah(e,n)}function Ip(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,r=e.memoizedState;r!==null&&(n=r.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(s(314))}a!==null&&a.delete(t),ah(e,n)}function Wp(e,t){return Bu(e,t)}var au=null,Yl=null,wr=!1,iu=!1,zr=!1,Dn=0;function Qt(e){e!==Yl&&e.next===null&&(Yl===null?au=Yl=e:Yl=Yl.next=e),iu=!0,wr||(wr=!0,tv())}function Va(e,t){if(!zr&&iu){zr=!0;do for(var n=!1,a=au;a!==null;){if(e!==0){var r=a.pendingLanes;if(r===0)var o=0;else{var d=a.suspendedLanes,v=a.pingedLanes;o=(1<<31-dt(42|e)+1)-1,o&=r&~(d&~v),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(n=!0,rh(a,o))}else o=oe,o=oi(a,a===Te?o:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(o&3)===0||na(a,o)||(n=!0,rh(a,o));a=a.next}while(n);zr=!1}}function ev(){ih()}function ih(){iu=wr=!1;var e=0;Dn!==0&&fv()&&(e=Dn);for(var t=ct(),n=null,a=au;a!==null;){var r=a.next,o=uh(a,t);o===0?(a.next=null,n===null?au=r:n.next=r,r===null&&(Yl=n)):(n=a,(e!==0||(o&3)!==0)&&(iu=!0)),a=r}Fe!==0&&Fe!==5||Va(e),Dn!==0&&(Dn=0)}function uh(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,r=e.expirationTimes,o=e.pendingLanes&-62914561;0v)break;var U=C.transferSize,B=C.initiatorType;U&&ph(B)&&(C=C.responseEnd,d+=U*(C"u"?null:document;function zh(e,t,n){var a=$l;if(a&&typeof t=="string"&&t){var r=Et(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof n=="string"&&(r+='[crossorigin="'+n+'"]'),wh.has(r)||(wh.add(r),e={rel:e,crossOrigin:n,href:t},a.querySelector(r)===null&&(t=a.createElement("link"),Je(t,"link",e),Qe(t),a.head.appendChild(t)))}}function Rv(e){cn.D(e),zh("dns-prefetch",e,null)}function Cv(e,t){cn.C(e,t),zh("preconnect",e,t)}function bv(e,t,n){cn.L(e,t,n);var a=$l;if(a&&e&&t){var r='link[rel="preload"][as="'+Et(t)+'"]';t==="image"&&n&&n.imageSrcSet?(r+='[imagesrcset="'+Et(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(r+='[imagesizes="'+Et(n.imageSizes)+'"]')):r+='[href="'+Et(e)+'"]';var o=r;switch(t){case"style":o=Xl(e);break;case"script":o=Zl(e)}At.has(o)||(e=b({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),At.set(o,e),a.querySelector(r)!==null||t==="style"&&a.querySelector(Ga(o))||t==="script"&&a.querySelector(Fa(o))||(t=a.createElement("link"),Je(t,"link",e),Qe(t),a.head.appendChild(t)))}}function Ev(e,t){cn.m(e,t);var n=$l;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+Et(a)+'"][href="'+Et(e)+'"]',o=r;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=Zl(e)}if(!At.has(o)&&(e=b({rel:"modulepreload",href:e},t),At.set(o,e),n.querySelector(r)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Fa(o)))return}a=n.createElement("link"),Je(a,"link",e),Qe(a),n.head.appendChild(a)}}}function _v(e,t,n){cn.S(e,t,n);var a=$l;if(a&&e){var r=gl(a).hoistableStyles,o=Xl(e);t=t||"default";var d=r.get(o);if(!d){var v={loading:0,preload:null};if(d=a.querySelector(Ga(o)))v.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":t},n),(n=At.get(o))&&Yr(e,n);var C=d=a.createElement("link");Qe(C),Je(C,"link",e),C._p=new Promise(function(O,U){C.onload=O,C.onerror=U}),C.addEventListener("load",function(){v.loading|=1}),C.addEventListener("error",function(){v.loading|=2}),v.loading|=4,cu(d,t,a)}d={type:"stylesheet",instance:d,count:1,state:v},r.set(o,d)}}}function Mv(e,t){cn.X(e,t);var n=$l;if(n&&e){var a=gl(n).hoistableScripts,r=Zl(e),o=a.get(r);o||(o=n.querySelector(Fa(r)),o||(e=b({src:e,async:!0},t),(t=At.get(r))&&$r(e,t),o=n.createElement("script"),Qe(o),Je(o,"link",e),n.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},a.set(r,o))}}function Tv(e,t){cn.M(e,t);var n=$l;if(n&&e){var a=gl(n).hoistableScripts,r=Zl(e),o=a.get(r);o||(o=n.querySelector(Fa(r)),o||(e=b({src:e,async:!0,type:"module"},t),(t=At.get(r))&&$r(e,t),o=n.createElement("script"),Qe(o),Je(o,"link",e),n.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},a.set(r,o))}}function xh(e,t,n,a){var r=(r=ue.current)?ou(r):null;if(!r)throw Error(s(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Xl(n.href),n=gl(r).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Xl(n.href);var o=gl(r).hoistableStyles,d=o.get(e);if(d||(r=r.ownerDocument||r,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,d),(o=r.querySelector(Ga(e)))&&!o._p&&(d.instance=o,d.state.loading=5),At.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},At.set(e,n),o||wv(r,e,n,d.state))),t&&a===null)throw Error(s(528,""));return d}if(t&&a!==null)throw Error(s(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Zl(n),n=gl(r).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,e))}}function Xl(e){return'href="'+Et(e)+'"'}function Ga(e){return'link[rel="stylesheet"]['+e+"]"}function Oh(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function wv(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Je(t,"link",n),Qe(t),e.head.appendChild(t))}function Zl(e){return'[src="'+Et(e)+'"]'}function Fa(e){return"script[async]"+e}function Ah(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+Et(n.href)+'"]');if(a)return t.instance=a,Qe(a),a;var r=b({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),Qe(a),Je(a,"style",r),cu(a,n.precedence,e),t.instance=a;case"stylesheet":r=Xl(n.href);var o=e.querySelector(Ga(r));if(o)return t.state.loading|=4,t.instance=o,Qe(o),o;a=Oh(n),(r=At.get(r))&&Yr(a,r),o=(e.ownerDocument||e).createElement("link"),Qe(o);var d=o;return d._p=new Promise(function(v,C){d.onload=v,d.onerror=C}),Je(o,"link",a),t.state.loading|=4,cu(o,n.precedence,e),t.instance=o;case"script":return o=Zl(n.src),(r=e.querySelector(Fa(o)))?(t.instance=r,Qe(r),r):(a=n,(r=At.get(o))&&(a=b({},n),$r(a,r)),e=e.ownerDocument||e,r=e.createElement("script"),Qe(r),Je(r,"link",a),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(s(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,cu(a,n.precedence,e));return t.instance}function cu(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=a.length?a[a.length-1]:null,o=r,d=0;d title"):null)}function zv(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Hh(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function xv(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var r=Xl(a.href),o=t.querySelector(Ga(r));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=du.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=o,Qe(o);return}o=t.ownerDocument||t,a=Oh(a),(r=At.get(r))&&Yr(a,r),o=o.createElement("link"),Qe(o);var d=o;d._p=new Promise(function(v,C){d.onload=v,d.onerror=C}),Je(o,"link",a),n.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=du.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var Xr=0;function Ov(e,t){return e.stylesheets&&e.count===0&&gu(e,e.stylesheets),0Xr?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(r)}}:null}function du(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)gu(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var hu=null;function gu(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,hu=new Map,t.forEach(Av,e),hu=null,du.call(e))}function Av(e,t){if(!(t.state.loading&4)){var n=hu.get(e);if(n)var a=n.get(null);else{n=new Map,hu.set(e,n);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(u){console.error(u)}}return l(),to.exports=Zv(),to.exports}var Jv=Kv();const Pv=wg(Jv);/** - * react-router v7.9.4 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */var ag="popstate";function kv(l={}){function u(c,f){let{pathname:h="/",search:g="",hash:p=""}=cl(c.location.hash.substring(1));return!h.startsWith("/")&&!h.startsWith(".")&&(h="/"+h),mo("",{pathname:h,search:g,hash:p},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function i(c,f){let h=c.document.querySelector("base"),g="";if(h&&h.getAttribute("href")){let p=c.location.href,m=p.indexOf("#");g=m===-1?p:p.slice(0,m)}return g+"#"+(typeof f=="string"?f:Ia(f))}function s(c,f){Rt(c.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(f)})`)}return Wv(u,i,s,l)}function Oe(l,u){if(l===!1||l===null||typeof l>"u")throw new Error(u)}function Rt(l,u){if(!l){typeof console<"u"&&console.warn(u);try{throw new Error(u)}catch{}}}function Iv(){return Math.random().toString(36).substring(2,10)}function ig(l,u){return{usr:l.state,key:l.key,idx:u}}function mo(l,u,i=null,s){return{pathname:typeof l=="string"?l:l.pathname,search:"",hash:"",...typeof u=="string"?cl(u):u,state:i,key:u&&u.key||s||Iv()}}function Ia({pathname:l="/",search:u="",hash:i=""}){return u&&u!=="?"&&(l+=u.charAt(0)==="?"?u:"?"+u),i&&i!=="#"&&(l+=i.charAt(0)==="#"?i:"#"+i),l}function cl(l){let u={};if(l){let i=l.indexOf("#");i>=0&&(u.hash=l.substring(i),l=l.substring(0,i));let s=l.indexOf("?");s>=0&&(u.search=l.substring(s),l=l.substring(0,s)),l&&(u.pathname=l)}return u}function Wv(l,u,i,s={}){let{window:c=document.defaultView,v5Compat:f=!1}=s,h=c.history,g="POP",p=null,m=y();m==null&&(m=0,h.replaceState({...h.state,idx:m},""));function y(){return(h.state||{idx:null}).idx}function b(){g="POP";let N=y(),H=N==null?null:N-m;m=N,p&&p({action:g,location:w.location,delta:H})}function R(N,H){g="PUSH";let j=mo(w.location,N,H);i&&i(j,N),m=y()+1;let F=ig(j,m),ne=w.createHref(j);try{h.pushState(F,"",ne)}catch(ee){if(ee instanceof DOMException&&ee.name==="DataCloneError")throw ee;c.location.assign(ne)}f&&p&&p({action:g,location:w.location,delta:1})}function S(N,H){g="REPLACE";let j=mo(w.location,N,H);i&&i(j,N),m=y();let F=ig(j,m),ne=w.createHref(j);h.replaceState(F,"",ne),f&&p&&p({action:g,location:w.location,delta:0})}function T(N){return ey(N)}let w={get action(){return g},get location(){return l(c,h)},listen(N){if(p)throw new Error("A history only accepts one active listener");return c.addEventListener(ag,b),p=N,()=>{c.removeEventListener(ag,b),p=null}},createHref(N){return u(c,N)},createURL:T,encodeLocation(N){let H=T(N);return{pathname:H.pathname,search:H.search,hash:H.hash}},push:R,replace:S,go(N){return h.go(N)}};return w}function ey(l,u=!1){let i="http://localhost";typeof window<"u"&&(i=window.location.origin!=="null"?window.location.origin:window.location.href),Oe(i,"No window.location.(origin|href) available to create URL");let s=typeof l=="string"?l:Ia(l);return s=s.replace(/ $/,"%20"),!u&&s.startsWith("//")&&(s=i+s),new URL(s,i)}function xg(l,u,i="/"){return ty(l,u,i,!1)}function ty(l,u,i,s){let c=typeof u=="string"?cl(u):u,f=hn(c.pathname||"/",i);if(f==null)return null;let h=Og(l);ny(h);let g=null;for(let p=0;g==null&&p{let y={relativePath:m===void 0?h.path||"":m,caseSensitive:h.caseSensitive===!0,childrenIndex:g,route:h};if(y.relativePath.startsWith("/")){if(!y.relativePath.startsWith(s)&&p)return;Oe(y.relativePath.startsWith(s),`Absolute route path "${y.relativePath}" nested under path "${s}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),y.relativePath=y.relativePath.slice(s.length)}let b=dn([s,y.relativePath]),R=i.concat(y);h.children&&h.children.length>0&&(Oe(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),Og(h.children,u,R,b,p)),!(h.path==null&&!h.index)&&u.push({path:b,score:oy(b,h.index),routesMeta:R})};return l.forEach((h,g)=>{if(h.path===""||!h.path?.includes("?"))f(h,g);else for(let p of Ag(h.path))f(h,g,!0,p)}),u}function Ag(l){let u=l.split("/");if(u.length===0)return[];let[i,...s]=u,c=i.endsWith("?"),f=i.replace(/\?$/,"");if(s.length===0)return c?[f,""]:[f];let h=Ag(s.join("/")),g=[];return g.push(...h.map(p=>p===""?f:[f,p].join("/"))),c&&g.push(...h),g.map(p=>l.startsWith("/")&&p===""?"/":p)}function ny(l){l.sort((u,i)=>u.score!==i.score?i.score-u.score:cy(u.routesMeta.map(s=>s.childrenIndex),i.routesMeta.map(s=>s.childrenIndex)))}var ly=/^:[\w-]+$/,ay=3,iy=2,uy=1,sy=10,ry=-2,ug=l=>l==="*";function oy(l,u){let i=l.split("/"),s=i.length;return i.some(ug)&&(s+=ry),u&&(s+=iy),i.filter(c=>!ug(c)).reduce((c,f)=>c+(ly.test(f)?ay:f===""?uy:sy),s)}function cy(l,u){return l.length===u.length&&l.slice(0,-1).every((s,c)=>s===u[c])?l[l.length-1]-u[u.length-1]:0}function fy(l,u,i=!1){let{routesMeta:s}=l,c={},f="/",h=[];for(let g=0;g{if(y==="*"){let T=g[R]||"";h=f.slice(0,f.length-T.length).replace(/(.)\/+$/,"$1")}const S=g[R];return b&&!S?m[y]=void 0:m[y]=(S||"").replace(/%2F/g,"/"),m},{}),pathname:f,pathnameBase:h,pattern:l}}function dy(l,u=!1,i=!0){Rt(l==="*"||!l.endsWith("*")||l.endsWith("/*"),`Route path "${l}" will be treated as if it were "${l.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${l.replace(/\*$/,"/*")}".`);let s=[],c="^"+l.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,g,p)=>(s.push({paramName:g,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return l.endsWith("*")?(s.push({paramName:"*"}),c+=l==="*"||l==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?c+="\\/*$":l!==""&&l!=="/"&&(c+="(?:(?=\\/|$))"),[new RegExp(c,u?void 0:"i"),s]}function hy(l){try{return l.split("/").map(u=>decodeURIComponent(u).replace(/\//g,"%2F")).join("/")}catch(u){return Rt(!1,`The URL path "${l}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${u}).`),l}}function hn(l,u){if(u==="/")return l;if(!l.toLowerCase().startsWith(u.toLowerCase()))return null;let i=u.endsWith("/")?u.length-1:u.length,s=l.charAt(i);return s&&s!=="/"?null:l.slice(i)||"/"}function gy(l,u="/"){let{pathname:i,search:s="",hash:c=""}=typeof l=="string"?cl(l):l;return{pathname:i?i.startsWith("/")?i:my(i,u):u,search:yy(s),hash:Sy(c)}}function my(l,u){let i=u.replace(/\/+$/,"").split("/");return l.split("/").forEach(c=>{c===".."?i.length>1&&i.pop():c!=="."&&i.push(c)}),i.length>1?i.join("/"):"/"}function io(l,u,i,s){return`Cannot include a '${l}' character in a manually specified \`to.${u}\` field [${JSON.stringify(s)}]. Please separate it out to the \`to.${i}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function py(l){return l.filter((u,i)=>i===0||u.route.path&&u.route.path.length>0)}function Ao(l){let u=py(l);return u.map((i,s)=>s===u.length-1?i.pathname:i.pathnameBase)}function Do(l,u,i,s=!1){let c;typeof l=="string"?c=cl(l):(c={...l},Oe(!c.pathname||!c.pathname.includes("?"),io("?","pathname","search",c)),Oe(!c.pathname||!c.pathname.includes("#"),io("#","pathname","hash",c)),Oe(!c.search||!c.search.includes("#"),io("#","search","hash",c)));let f=l===""||c.pathname==="",h=f?"/":c.pathname,g;if(h==null)g=i;else{let b=u.length-1;if(!s&&h.startsWith("..")){let R=h.split("/");for(;R[0]==="..";)R.shift(),b-=1;c.pathname=R.join("/")}g=b>=0?u[b]:"/"}let p=gy(c,g),m=h&&h!=="/"&&h.endsWith("/"),y=(f||h===".")&&i.endsWith("/");return!p.pathname.endsWith("/")&&(m||y)&&(p.pathname+="/"),p}var dn=l=>l.join("/").replace(/\/\/+/g,"/"),vy=l=>l.replace(/\/+$/,"").replace(/^\/*/,"/"),yy=l=>!l||l==="?"?"":l.startsWith("?")?l:"?"+l,Sy=l=>!l||l==="#"?"":l.startsWith("#")?l:"#"+l;function Ry(l){return l!=null&&typeof l.status=="number"&&typeof l.statusText=="string"&&typeof l.internal=="boolean"&&"data"in l}var Dg=["POST","PUT","PATCH","DELETE"];new Set(Dg);var Cy=["GET",...Dg];new Set(Cy);var kl=z.createContext(null);kl.displayName="DataRouter";var Du=z.createContext(null);Du.displayName="DataRouterState";z.createContext(!1);var Ng=z.createContext({isTransitioning:!1});Ng.displayName="ViewTransition";var by=z.createContext(new Map);by.displayName="Fetchers";var Ey=z.createContext(null);Ey.displayName="Await";var Lt=z.createContext(null);Lt.displayName="Navigation";var ti=z.createContext(null);ti.displayName="Location";var Bt=z.createContext({outlet:null,matches:[],isDataRoute:!1});Bt.displayName="Route";var No=z.createContext(null);No.displayName="RouteError";function _y(l,{relative:u}={}){Oe(Il(),"useHref() may be used only in the context of a component.");let{basename:i,navigator:s}=z.useContext(Lt),{hash:c,pathname:f,search:h}=ni(l,{relative:u}),g=f;return i!=="/"&&(g=f==="/"?i:dn([i,f])),s.createHref({pathname:g,search:h,hash:c})}function Il(){return z.useContext(ti)!=null}function Yt(){return Oe(Il(),"useLocation() may be used only in the context of a component."),z.useContext(ti).location}var Hg="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ug(l){z.useContext(Lt).static||z.useLayoutEffect(l)}function Wl(){let{isDataRoute:l}=z.useContext(Bt);return l?Ly():My()}function My(){Oe(Il(),"useNavigate() may be used only in the context of a component.");let l=z.useContext(kl),{basename:u,navigator:i}=z.useContext(Lt),{matches:s}=z.useContext(Bt),{pathname:c}=Yt(),f=JSON.stringify(Ao(s)),h=z.useRef(!1);return Ug(()=>{h.current=!0}),z.useCallback((p,m={})=>{if(Rt(h.current,Hg),!h.current)return;if(typeof p=="number"){i.go(p);return}let y=Do(p,JSON.parse(f),c,m.relative==="path");l==null&&u!=="/"&&(y.pathname=y.pathname==="/"?u:dn([u,y.pathname])),(m.replace?i.replace:i.push)(y,m.state,m)},[u,i,f,c,l])}z.createContext(null);function Ty(){let{matches:l}=z.useContext(Bt),u=l[l.length-1];return u?u.params:{}}function ni(l,{relative:u}={}){let{matches:i}=z.useContext(Bt),{pathname:s}=Yt(),c=JSON.stringify(Ao(i));return z.useMemo(()=>Do(l,JSON.parse(c),s,u==="path"),[l,c,s,u])}function wy(l,u){return jg(l,u)}function jg(l,u,i,s,c){Oe(Il(),"useRoutes() may be used only in the context of a component.");let{navigator:f}=z.useContext(Lt),{matches:h}=z.useContext(Bt),g=h[h.length-1],p=g?g.params:{},m=g?g.pathname:"/",y=g?g.pathnameBase:"/",b=g&&g.route;{let j=b&&b.path||"";Vg(m,!b||j.endsWith("*")||j.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${m}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. - -Please change the parent to .`)}let R=Yt(),S;if(u){let j=typeof u=="string"?cl(u):u;Oe(y==="/"||j.pathname?.startsWith(y),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${y}" but pathname "${j.pathname}" was given in the \`location\` prop.`),S=j}else S=R;let T=S.pathname||"/",w=T;if(y!=="/"){let j=y.replace(/^\//,"").split("/");w="/"+T.replace(/^\//,"").split("/").slice(j.length).join("/")}let N=xg(l,{pathname:w});Rt(b||N!=null,`No routes matched location "${S.pathname}${S.search}${S.hash}" `),Rt(N==null||N[N.length-1].route.element!==void 0||N[N.length-1].route.Component!==void 0||N[N.length-1].route.lazy!==void 0,`Matched leaf route at location "${S.pathname}${S.search}${S.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let H=Dy(N&&N.map(j=>Object.assign({},j,{params:Object.assign({},p,j.params),pathname:dn([y,f.encodeLocation?f.encodeLocation(j.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:j.pathname]),pathnameBase:j.pathnameBase==="/"?y:dn([y,f.encodeLocation?f.encodeLocation(j.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:j.pathnameBase])})),h,i,s,c);return u&&H?z.createElement(ti.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...S},navigationType:"POP"}},H):H}function zy(){let l=Vy(),u=Ry(l)?`${l.status} ${l.statusText}`:l instanceof Error?l.message:JSON.stringify(l),i=l instanceof Error?l.stack:null,s="rgba(200,200,200, 0.5)",c={padding:"0.5rem",backgroundColor:s},f={padding:"2px 4px",backgroundColor:s},h=null;return console.error("Error handled by React Router default ErrorBoundary:",l),h=z.createElement(z.Fragment,null,z.createElement("p",null,"💿 Hey developer 👋"),z.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",z.createElement("code",{style:f},"ErrorBoundary")," or"," ",z.createElement("code",{style:f},"errorElement")," prop on your route.")),z.createElement(z.Fragment,null,z.createElement("h2",null,"Unexpected Application Error!"),z.createElement("h3",{style:{fontStyle:"italic"}},u),i?z.createElement("pre",{style:c},i):null,h)}var xy=z.createElement(zy,null),Oy=class extends z.Component{constructor(l){super(l),this.state={location:l.location,revalidation:l.revalidation,error:l.error}}static getDerivedStateFromError(l){return{error:l}}static getDerivedStateFromProps(l,u){return u.location!==l.location||u.revalidation!=="idle"&&l.revalidation==="idle"?{error:l.error,location:l.location,revalidation:l.revalidation}:{error:l.error!==void 0?l.error:u.error,location:u.location,revalidation:l.revalidation||u.revalidation}}componentDidCatch(l,u){this.props.unstable_onError?this.props.unstable_onError(l,u):console.error("React Router caught the following error during render",l)}render(){return this.state.error!==void 0?z.createElement(Bt.Provider,{value:this.props.routeContext},z.createElement(No.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Ay({routeContext:l,match:u,children:i}){let s=z.useContext(kl);return s&&s.static&&s.staticContext&&(u.route.errorElement||u.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=u.route.id),z.createElement(Bt.Provider,{value:l},i)}function Dy(l,u=[],i=null,s=null,c=null){if(l==null){if(!i)return null;if(i.errors)l=i.matches;else if(u.length===0&&!i.initialized&&i.matches.length>0)l=i.matches;else return null}let f=l,h=i?.errors;if(h!=null){let m=f.findIndex(y=>y.route.id&&h?.[y.route.id]!==void 0);Oe(m>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(h).join(",")}`),f=f.slice(0,Math.min(f.length,m+1))}let g=!1,p=-1;if(i)for(let m=0;m=0?f=f.slice(0,p+1):f=[f[0]];break}}}return f.reduceRight((m,y,b)=>{let R,S=!1,T=null,w=null;i&&(R=h&&y.route.id?h[y.route.id]:void 0,T=y.route.errorElement||xy,g&&(p<0&&b===0?(Vg("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),S=!0,w=null):p===b&&(S=!0,w=y.route.hydrateFallbackElement||null)));let N=u.concat(f.slice(0,b+1)),H=()=>{let j;return R?j=T:S?j=w:y.route.Component?j=z.createElement(y.route.Component,null):y.route.element?j=y.route.element:j=m,z.createElement(Ay,{match:y,routeContext:{outlet:m,matches:N,isDataRoute:i!=null},children:j})};return i&&(y.route.ErrorBoundary||y.route.errorElement||b===0)?z.createElement(Oy,{location:i.location,revalidation:i.revalidation,component:T,error:R,children:H(),routeContext:{outlet:null,matches:N,isDataRoute:!0},unstable_onError:s}):H()},null)}function Ho(l){return`${l} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ny(l){let u=z.useContext(kl);return Oe(u,Ho(l)),u}function Hy(l){let u=z.useContext(Du);return Oe(u,Ho(l)),u}function Uy(l){let u=z.useContext(Bt);return Oe(u,Ho(l)),u}function Uo(l){let u=Uy(l),i=u.matches[u.matches.length-1];return Oe(i.route.id,`${l} can only be used on routes that contain a unique "id"`),i.route.id}function jy(){return Uo("useRouteId")}function Vy(){let l=z.useContext(No),u=Hy("useRouteError"),i=Uo("useRouteError");return l!==void 0?l:u.errors?.[i]}function Ly(){let{router:l}=Ny("useNavigate"),u=Uo("useNavigate"),i=z.useRef(!1);return Ug(()=>{i.current=!0}),z.useCallback(async(c,f={})=>{Rt(i.current,Hg),i.current&&(typeof c=="number"?l.navigate(c):await l.navigate(c,{fromRouteId:u,...f}))},[l,u])}var sg={};function Vg(l,u,i){!u&&!sg[l]&&(sg[l]=!0,Rt(!1,i))}z.memo(By);function By({routes:l,future:u,state:i,unstable_onError:s}){return jg(l,void 0,i,s,u)}function qy({to:l,replace:u,state:i,relative:s}){Oe(Il()," may be used only in the context of a component.");let{static:c}=z.useContext(Lt);Rt(!c," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:f}=z.useContext(Bt),{pathname:h}=Yt(),g=Wl(),p=Do(l,Ao(f),h,s==="path"),m=JSON.stringify(p);return z.useEffect(()=>{g(JSON.parse(m),{replace:u,state:i,relative:s})},[g,m,s,u,i]),null}function wu(l){Oe(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Gy({basename:l="/",children:u=null,location:i,navigationType:s="POP",navigator:c,static:f=!1}){Oe(!Il(),"You cannot render a inside another . You should never have more than one in your app.");let h=l.replace(/^\/*/,"/"),g=z.useMemo(()=>({basename:h,navigator:c,static:f,future:{}}),[h,c,f]);typeof i=="string"&&(i=cl(i));let{pathname:p="/",search:m="",hash:y="",state:b=null,key:R="default"}=i,S=z.useMemo(()=>{let T=hn(p,h);return T==null?null:{location:{pathname:T,search:m,hash:y,state:b,key:R},navigationType:s}},[h,p,m,y,b,R,s]);return Rt(S!=null,` is not able to match the URL "${p}${m}${y}" because it does not start with the basename, so the won't render anything.`),S==null?null:z.createElement(Lt.Provider,{value:g},z.createElement(ti.Provider,{children:u,value:S}))}function Fy({children:l,location:u}){return wy(po(l),u)}function po(l,u=[]){let i=[];return z.Children.forEach(l,(s,c)=>{if(!z.isValidElement(s))return;let f=[...u,c];if(s.type===z.Fragment){i.push.apply(i,po(s.props.children,f));return}Oe(s.type===wu,`[${typeof s.type=="string"?s.type:s.type.name}] is not a component. All component children of must be a or `),Oe(!s.props.index||!s.props.children,"An index route cannot have child routes.");let h={id:s.props.id||f.join("-"),caseSensitive:s.props.caseSensitive,element:s.props.element,Component:s.props.Component,index:s.props.index,path:s.props.path,middleware:s.props.middleware,loader:s.props.loader,action:s.props.action,hydrateFallbackElement:s.props.hydrateFallbackElement,HydrateFallback:s.props.HydrateFallback,errorElement:s.props.errorElement,ErrorBoundary:s.props.ErrorBoundary,hasErrorBoundary:s.props.hasErrorBoundary===!0||s.props.ErrorBoundary!=null||s.props.errorElement!=null,shouldRevalidate:s.props.shouldRevalidate,handle:s.props.handle,lazy:s.props.lazy};s.props.children&&(h.children=po(s.props.children,f)),i.push(h)}),i}var zu="get",xu="application/x-www-form-urlencoded";function Nu(l){return l!=null&&typeof l.tagName=="string"}function Qy(l){return Nu(l)&&l.tagName.toLowerCase()==="button"}function Yy(l){return Nu(l)&&l.tagName.toLowerCase()==="form"}function $y(l){return Nu(l)&&l.tagName.toLowerCase()==="input"}function Xy(l){return!!(l.metaKey||l.altKey||l.ctrlKey||l.shiftKey)}function Zy(l,u){return l.button===0&&(!u||u==="_self")&&!Xy(l)}function vo(l=""){return new URLSearchParams(typeof l=="string"||Array.isArray(l)||l instanceof URLSearchParams?l:Object.keys(l).reduce((u,i)=>{let s=l[i];return u.concat(Array.isArray(s)?s.map(c=>[i,c]):[[i,s]])},[]))}function Ky(l,u){let i=vo(l);return u&&u.forEach((s,c)=>{i.has(c)||u.getAll(c).forEach(f=>{i.append(c,f)})}),i}var bu=null;function Jy(){if(bu===null)try{new FormData(document.createElement("form"),0),bu=!1}catch{bu=!0}return bu}var Py=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function uo(l){return l!=null&&!Py.has(l)?(Rt(!1,`"${l}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${xu}"`),null):l}function ky(l,u){let i,s,c,f,h;if(Yy(l)){let g=l.getAttribute("action");s=g?hn(g,u):null,i=l.getAttribute("method")||zu,c=uo(l.getAttribute("enctype"))||xu,f=new FormData(l)}else if(Qy(l)||$y(l)&&(l.type==="submit"||l.type==="image")){let g=l.form;if(g==null)throw new Error('Cannot submit a diff --git a/petri/logview_new/src/styles/common.css b/petri/logview_new/src/styles/common.css index 1a0985672f..a23ad29436 100644 --- a/petri/logview_new/src/styles/common.css +++ b/petri/logview_new/src/styles/common.css @@ -264,3 +264,10 @@ text-wrap: nowrap; font-family: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace; } + +.common-architecture-name { + font-family: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace; + font-size: 1rem; + color: #000000; + word-break: break-word; +} \ No newline at end of file diff --git a/petri/logview_new/src/styles/run_details.css b/petri/logview_new/src/styles/run_details.css deleted file mode 100644 index a086eee5ee..0000000000 --- a/petri/logview_new/src/styles/run_details.css +++ /dev/null @@ -1,9 +0,0 @@ -/* Copyright (c) Microsoft Corporation. */ -/* Licensed under the MIT License. */ - -.architecture-name { - font-family: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace; - font-size: 1rem; - color: #000000; - word-break: break-word; -} diff --git a/petri/logview_new/src/table_defs/run_details.tsx b/petri/logview_new/src/table_defs/run_details.tsx index 1212bb7a6b..9c10c10812 100644 --- a/petri/logview_new/src/table_defs/run_details.tsx +++ b/petri/logview_new/src/table_defs/run_details.tsx @@ -4,7 +4,6 @@ import { ColumnDef } from "@tanstack/react-table"; import { Link } from "react-router-dom"; import { TestResult } from "../data_defs"; -import "../styles/run_details.css"; export const defaultSorting = [ { id: "status", desc: false }, // Sort by status ascending, failed tests first @@ -42,7 +41,7 @@ export const createColumns = (runId: string): ColumnDef[] => [ return parts.length > 1 ? parts[0] : "Other"; }, cell: (info) => ( -
{info.getValue() as string}
+
{info.getValue() as string}
), enableSorting: true, }, diff --git a/petri/logview_new/src/table_defs/tests.tsx b/petri/logview_new/src/table_defs/tests.tsx new file mode 100644 index 0000000000..c1a1b814d6 --- /dev/null +++ b/petri/logview_new/src/table_defs/tests.tsx @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { ColumnDef } from '@tanstack/react-table'; +import { Link } from 'react-router-dom'; +import { TestData } from '../data_defs'; +import '../styles/common.css'; + +export const defaultSorting = [ + { id: 'failedCount', desc: true } +]; + +export const columnWidthMap = { + architecture: 300, + failedCount: 80, + totalCount: 80, + status: 60 +}; + +// Define the columns for the tests table +export const createColumns = (): ColumnDef[] => { + return [ + { + id: 'status', + header: 'Status', + enableSorting: true, + accessorFn: (row) => row.failedCount === 0 ? 'passed' : 'failed', + cell: (info) => { + const status = info.getValue(); + return ( +
+
+
+
+ ); + }, + }, + { + accessorKey: 'failedCount', + header: 'Failed', + enableSorting: true, + cell: (info) => ( +
{info.getValue()}
+ ), + }, + { + accessorKey: 'totalCount', + header: 'Total', + enableSorting: true, + cell: (info) => ( +
{info.getValue()}
+ ), + }, + { + id: 'architecture', + accessorKey: 'architecture', + header: 'Architecture', + enableSorting: true, + cell: (info) => ( +
+ {info.getValue() as string} +
+ ), + sortingFn: (rowA, rowB, columnId) => { + const a = rowA.getValue(columnId) as string; + const b = rowB.getValue(columnId) as string; + return a.localeCompare(b); + }, + }, + { + accessorKey: 'name', + header: 'Test Name', + enableSorting: true, + cell: (info) => { + const name = info.getValue() as string; + const architecture = info.row.original.architecture; + const encodedArchitecture = encodeURIComponent(architecture); + const encodedTestName = encodeURIComponent(name); + return ( + + {name} + + ); + }, + sortingFn: (rowA, rowB, columnId) => { + const a = rowA.getValue(columnId) as string; + const b = rowB.getValue(columnId) as string; + return a.localeCompare(b); + }, + }, + ]; +}; diff --git a/petri/logview_new/src/tests.tsx b/petri/logview_new/src/tests.tsx new file mode 100644 index 0000000000..2e638edd38 --- /dev/null +++ b/petri/logview_new/src/tests.tsx @@ -0,0 +1,180 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import './styles/common.css'; +import React, { useState, useEffect, useMemo, useRef } from 'react'; +import { SortingState } from '@tanstack/react-table'; +import { useQueryClient } from '@tanstack/react-query'; +import { fetchTestAnalysis, convertToTestData } from './fetch/fetch_runs_data'; +import { TestData } from './data_defs'; +import { Menu } from './menu.tsx'; +import { VirtualizedTable } from './virtualized_table.tsx'; +import { Link, useSearchParams } from 'react-router-dom'; +import { SearchInput } from './search'; +import { createColumns, defaultSorting, columnWidthMap } from './table_defs/tests'; + +// Concurrency settings when fetching test results +const CONCURRENCY_FOREGROUND = 15; +const CONCURRENCY_BACKGROUND = 5; + +export function Tests(): React.JSX.Element { + const [searchParams, setSearchParams] = useSearchParams(); + const branchFromUrl = searchParams.get('branchFilter') || 'main'; + const [branchFilter, setBranchFilterState] = useState(branchFromUrl); + const [searchFilter, setSearchFilter] = useState(''); + const [tableData, setTableData] = useState([]); + const [fetchedCount, setFetchedCount] = useState(0); + const [totalToFetch, setTotalToFetch] = useState(null); + const queryClient = useQueryClient(); + + // Track component mount state for dynamic concurrency control + const concurrencyRef = useRef(CONCURRENCY_FOREGROUND); + + // Update concurrency based on mount state + useEffect(() => { + concurrencyRef.current = CONCURRENCY_FOREGROUND; + return () => { + concurrencyRef.current = CONCURRENCY_BACKGROUND; + }; + }, []); + + // Sync state with URL on mount and when URL changes + useEffect(() => { + setBranchFilterState(branchFromUrl); + }, [branchFromUrl]); + + // Update both state and URL when branch filter changes + const setBranchFilter = (branch: string) => { + setBranchFilterState(branch); + const newParams = new URLSearchParams(searchParams); + newParams.set('branchFilter', branch); + setSearchParams(newParams, { replace: true }); + }; + + // Fetch run details for the selected branch + useEffect(() => { + setFetchedCount(0); + + // Fetch test analysis (which returns the test mapping) + fetchTestAnalysis( + branchFilter, + queryClient, + (fetched, total) => { + setFetchedCount(fetched); + setTotalToFetch(total); + }, + () => concurrencyRef.current // Dynamic concurrency + ).then(testMapping => { + setTableData(convertToTestData(testMapping)); + }).catch(err => { + console.error('Error fetching test analysis:', err); + }); + }, [branchFilter, queryClient]); + + // Get the table definition (columns and default sorting) + const [sorting, setSorting] = useState(defaultSorting); + const columns = useMemo(() => createColumns(), []); + const filteredTableData = useMemo(() => filterTests(tableData, searchFilter), [tableData, searchFilter]); + + return ( +
+
+ +
+ +
+ ); +} + +interface TestsHeaderProps { + branchFilter: string; + setBranchFilter: (branch: string) => void; + searchFilter: string; + setSearchFilter: (filter: string) => void; + resultCount: number; + fetchedCount: number; + totalToFetch: number | null; +} + +export function TestsHeader({ + branchFilter, + setBranchFilter, + searchFilter, + setSearchFilter, + resultCount, + fetchedCount, + totalToFetch, +}: TestsHeaderProps): React.JSX.Element { + return ( + <> +
+
+ + Tests +
+
+ +
+ {totalToFetch === null && ( +
+
+
+ Fetching runs ... +
+
+ )} + {(fetchedCount !== totalToFetch) && (totalToFetch !== null) && ( +
+
+
+ Analyzed {fetchedCount}/{totalToFetch} +
+
+ )} +
+
+ + + {resultCount} tests + +
+ + ); +} + +/** + * filterTests filters the list of tests based on search terms. + * + * - Search string is split into terms (by whitespace), and each test is checked + * to see if ALL terms are present. + * - The searchable fields include: architecture and test name. + * - The filtering is case-insensitive. + */ +function filterTests(tests: TestData[], searchFilter: string): TestData[] { + const terms = searchFilter.trim().toLowerCase().split(/\s+/).filter(Boolean); + if (terms.length === 0) return tests; + return tests.filter(test => { + // Search in architecture and name fields + const haystack = `${test.architecture} ${test.name}`.toLowerCase(); + return terms.every(term => haystack.includes(term)); + }); +}