jutell 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/assets/default-config.json +26 -0
- package/assets/local-admin/assets/index-CVml-p-C.css +1 -0
- package/assets/local-admin/assets/index-Gxd8X8ii.js +60 -0
- package/assets/local-admin/index.html +14 -0
- package/assets/local-admin-server.js +1391 -0
- package/assets/mcp-server/config/bridge-config.js +72 -0
- package/assets/mcp-server/index.js +42 -0
- package/assets/mcp-server/tools/bridge-tools.js +64 -0
- package/assets/mcp-server/tools/catalog.js +25 -0
- package/assets/mcp-server/tools/usage-counters.js +97 -0
- package/assets/skill/SKILL.md +135 -0
- package/assets/skill/references/explained-diff-format.md +117 -0
- package/assets/skill/references/feature-registry.md +29 -0
- package/assets/skill/references/glossary-ko.md +302 -0
- package/assets/skill/references/report-format.md +176 -0
- package/assets/skill/references/risk-level-guide.md +85 -0
- package/assets/templates/request-builder/BUG_REPORT_REQUEST.md +100 -0
- package/assets/templates/request-builder/CODE_REVIEW_REQUEST.md +93 -0
- package/assets/templates/request-builder/DESIGN_REQUEST.md +111 -0
- package/assets/templates/request-builder/FEATURE_REQUEST.md +93 -0
- package/assets/templates/request-builder/MANUAL_EDIT_GUIDE.md +95 -0
- package/assets/templates/request-builder/NEXT_AGENT_HANDOFF.md +106 -0
- package/assets/templates/request-builder/PROJECT_PLANNING_REQUEST.md +106 -0
- package/assets/templates/request-builder/README.md +48 -0
- package/assets/version.json +6 -0
- package/dist/cli.js +82 -0
- package/dist/commands/dashboard.js +81 -0
- package/dist/commands/default.js +103 -0
- package/dist/commands/lifecycle.js +166 -0
- package/dist/commands/migrate.js +159 -0
- package/dist/commands/provider.js +135 -0
- package/dist/commands/session/add-work.js +43 -0
- package/dist/commands/session/create-page.js +53 -0
- package/dist/commands/session/finish-session.js +28 -0
- package/dist/commands/session/index.js +76 -0
- package/dist/commands/session/move-page.js +37 -0
- package/dist/commands/session/new-session.js +24 -0
- package/dist/commands/session/operator-storage.js +126 -0
- package/dist/commands/session/prompt.js +77 -0
- package/dist/commands/session/storage-command.js +74 -0
- package/dist/commands/session/storage.js +212 -0
- package/dist/commands/session/types.js +1 -0
- package/dist/commands/status.js +208 -0
- package/dist/commands/upgrade.js +113 -0
- package/dist/commands/use.js +180 -0
- package/dist/compat.js +5 -0
- package/dist/config/managed.js +257 -0
- package/dist/config/paths.js +100 -0
- package/dist/index.js +4 -0
- package/dist/installer/agents.js +42 -0
- package/dist/installer/claude.js +160 -0
- package/dist/installer/config.js +45 -0
- package/dist/installer/opencode.js +237 -0
- package/dist/installer/providers.js +15 -0
- package/dist/installer/skill.js +94 -0
- package/dist/output/format.js +187 -0
- package/dist/process/mcpProbe.js +122 -0
- package/dist/process/system.js +34 -0
- package/dist/types.js +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=n(l);fetch(l.href,i)}})();function kc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var cu={exports:{}},yl={},du={exports:{}},M={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react.production.min.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var fr=Symbol.for("react.element"),Sc=Symbol.for("react.portal"),Cc=Symbol.for("react.fragment"),Nc=Symbol.for("react.strict_mode"),Ec=Symbol.for("react.profiler"),Pc=Symbol.for("react.provider"),_c=Symbol.for("react.context"),Tc=Symbol.for("react.forward_ref"),Lc=Symbol.for("react.suspense"),Fc=Symbol.for("react.memo"),zc=Symbol.for("react.lazy"),Zs=Symbol.iterator;function Oc(e){return e===null||typeof e!="object"?null:(e=Zs&&e[Zs]||e["@@iterator"],typeof e=="function"?e:null)}var fu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pu=Object.assign,mu={};function kn(e,t,n){this.props=e,this.context=t,this.refs=mu,this.updater=n||fu}kn.prototype.isReactComponent={};kn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};kn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function hu(){}hu.prototype=kn.prototype;function rs(e,t,n){this.props=e,this.context=t,this.refs=mu,this.updater=n||fu}var ls=rs.prototype=new hu;ls.constructor=rs;pu(ls,kn.prototype);ls.isPureReactComponent=!0;var qs=Array.isArray,vu=Object.prototype.hasOwnProperty,is={current:null},gu={key:!0,ref:!0,__self:!0,__source:!0};function yu(e,t,n){var r,l={},i=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(i=""+t.key),t)vu.call(t,r)&&!gu.hasOwnProperty(r)&&(l[r]=t[r]);var a=arguments.length-2;if(a===1)l.children=n;else if(1<a){for(var u=Array(a),c=0;c<a;c++)u[c]=arguments[c+2];l.children=u}if(e&&e.defaultProps)for(r in a=e.defaultProps,a)l[r]===void 0&&(l[r]=a[r]);return{$$typeof:fr,type:e,key:i,ref:o,props:l,_owner:is.current}}function Rc(e,t){return{$$typeof:fr,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function ss(e){return typeof e=="object"&&e!==null&&e.$$typeof===fr}function Ac(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var bs=/\/+/g;function Rl(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Ac(""+e.key):t.toString(36)}function Mr(e,t,n,r,l){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case fr:case Sc:o=!0}}if(o)return o=e,l=l(o),e=r===""?"."+Rl(o,0):r,qs(l)?(n="",e!=null&&(n=e.replace(bs,"$&/")+"/"),Mr(l,t,n,"",function(c){return c})):l!=null&&(ss(l)&&(l=Rc(l,n+(!l.key||o&&o.key===l.key?"":(""+l.key).replace(bs,"$&/")+"/")+e)),t.push(l)),1;if(o=0,r=r===""?".":r+":",qs(e))for(var a=0;a<e.length;a++){i=e[a];var u=r+Rl(i,a);o+=Mr(i,t,n,u,l)}else if(u=Oc(e),typeof u=="function")for(e=u.call(e),a=0;!(i=e.next()).done;)i=i.value,u=r+Rl(i,a++),o+=Mr(i,t,n,u,l);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function yr(e,t,n){if(e==null)return e;var r=[],l=0;return Mr(e,r,"","",function(i){return t.call(n,i,l++)}),r}function Mc(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var me={current:null},Ir={transition:null},Ic={ReactCurrentDispatcher:me,ReactCurrentBatchConfig:Ir,ReactCurrentOwner:is};function xu(){throw Error("act(...) is not supported in production builds of React.")}M.Children={map:yr,forEach:function(e,t,n){yr(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return yr(e,function(){t++}),t},toArray:function(e){return yr(e,function(t){return t})||[]},only:function(e){if(!ss(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};M.Component=kn;M.Fragment=Cc;M.Profiler=Ec;M.PureComponent=rs;M.StrictMode=Nc;M.Suspense=Lc;M.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ic;M.act=xu;M.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=pu({},e.props),l=e.key,i=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,o=is.current),t.key!==void 0&&(l=""+t.key),e.type&&e.type.defaultProps)var a=e.type.defaultProps;for(u in t)vu.call(t,u)&&!gu.hasOwnProperty(u)&&(r[u]=t[u]===void 0&&a!==void 0?a[u]:t[u])}var u=arguments.length-2;if(u===1)r.children=n;else if(1<u){a=Array(u);for(var c=0;c<u;c++)a[c]=arguments[c+2];r.children=a}return{$$typeof:fr,type:e.type,key:l,ref:i,props:r,_owner:o}};M.createContext=function(e){return e={$$typeof:_c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Pc,_context:e},e.Consumer=e};M.createElement=yu;M.createFactory=function(e){var t=yu.bind(null,e);return t.type=e,t};M.createRef=function(){return{current:null}};M.forwardRef=function(e){return{$$typeof:Tc,render:e}};M.isValidElement=ss;M.lazy=function(e){return{$$typeof:zc,_payload:{_status:-1,_result:e},_init:Mc}};M.memo=function(e,t){return{$$typeof:Fc,type:e,compare:t===void 0?null:t}};M.startTransition=function(e){var t=Ir.transition;Ir.transition={};try{e()}finally{Ir.transition=t}};M.unstable_act=xu;M.useCallback=function(e,t){return me.current.useCallback(e,t)};M.useContext=function(e){return me.current.useContext(e)};M.useDebugValue=function(){};M.useDeferredValue=function(e){return me.current.useDeferredValue(e)};M.useEffect=function(e,t){return me.current.useEffect(e,t)};M.useId=function(){return me.current.useId()};M.useImperativeHandle=function(e,t,n){return me.current.useImperativeHandle(e,t,n)};M.useInsertionEffect=function(e,t){return me.current.useInsertionEffect(e,t)};M.useLayoutEffect=function(e,t){return me.current.useLayoutEffect(e,t)};M.useMemo=function(e,t){return me.current.useMemo(e,t)};M.useReducer=function(e,t,n){return me.current.useReducer(e,t,n)};M.useRef=function(e){return me.current.useRef(e)};M.useState=function(e){return me.current.useState(e)};M.useSyncExternalStore=function(e,t,n){return me.current.useSyncExternalStore(e,t,n)};M.useTransition=function(){return me.current.useTransition()};M.version="18.3.1";du.exports=M;var R=du.exports;const Dc=kc(R);/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react-jsx-runtime.production.min.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var Uc=R,$c=Symbol.for("react.element"),Vc=Symbol.for("react.fragment"),Bc=Object.prototype.hasOwnProperty,Hc=Uc.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Wc={key:!0,ref:!0,__self:!0,__source:!0};function ju(e,t,n){var r,l={},i=null,o=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(o=t.ref);for(r in t)Bc.call(t,r)&&!Wc.hasOwnProperty(r)&&(l[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)l[r]===void 0&&(l[r]=t[r]);return{$$typeof:$c,type:e,key:i,ref:o,props:l,_owner:Hc.current}}yl.Fragment=Vc;yl.jsx=ju;yl.jsxs=ju;cu.exports=yl;var s=cu.exports,ci={},wu={exports:{}},_e={},ku={exports:{}},Su={};/**
|
|
18
|
+
* @license React
|
|
19
|
+
* scheduler.production.min.js
|
|
20
|
+
*
|
|
21
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
|
+
*
|
|
23
|
+
* This source code is licensed under the MIT license found in the
|
|
24
|
+
* LICENSE file in the root directory of this source tree.
|
|
25
|
+
*/(function(e){function t(_,z){var A=_.length;_.push(z);e:for(;0<A;){var Q=A-1>>>1,q=_[Q];if(0<l(q,z))_[Q]=z,_[A]=q,A=Q;else break e}}function n(_){return _.length===0?null:_[0]}function r(_){if(_.length===0)return null;var z=_[0],A=_.pop();if(A!==z){_[0]=A;e:for(var Q=0,q=_.length,ft=q>>>1;Q<ft;){var Ie=2*(Q+1)-1,Nn=_[Ie],w=Ie+1,O=_[w];if(0>l(Nn,A))w<q&&0>l(O,Nn)?(_[Q]=O,_[w]=A,Q=w):(_[Q]=Nn,_[Ie]=A,Q=Ie);else if(w<q&&0>l(O,A))_[Q]=O,_[w]=A,Q=w;else break e}}return z}function l(_,z){var A=_.sortIndex-z.sortIndex;return A!==0?A:_.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,a=o.now();e.unstable_now=function(){return o.now()-a}}var u=[],c=[],h=1,g=null,m=3,x=!1,k=!1,C=!1,I=typeof setTimeout=="function"?setTimeout:null,d=typeof clearTimeout=="function"?clearTimeout:null,f=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function p(_){for(var z=n(c);z!==null;){if(z.callback===null)r(c);else if(z.startTime<=_)r(c),z.sortIndex=z.expirationTime,t(u,z);else break;z=n(c)}}function y(_){if(C=!1,p(_),!k)if(n(u)!==null)k=!0,Me(S);else{var z=n(c);z!==null&&Ge(y,z.startTime-_)}}function S(_,z){k=!1,C&&(C=!1,d(N),N=-1),x=!0;var A=m;try{for(p(z),g=n(u);g!==null&&(!(g.expirationTime>z)||_&&!P());){var Q=g.callback;if(typeof Q=="function"){g.callback=null,m=g.priorityLevel;var q=Q(g.expirationTime<=z);z=e.unstable_now(),typeof q=="function"?g.callback=q:g===n(u)&&r(u),p(z)}else r(u);g=n(u)}if(g!==null)var ft=!0;else{var Ie=n(c);Ie!==null&&Ge(y,Ie.startTime-z),ft=!1}return ft}finally{g=null,m=A,x=!1}}var v=!1,E=null,N=-1,$=5,F=-1;function P(){return!(e.unstable_now()-F<$)}function L(){if(E!==null){var _=e.unstable_now();F=_;var z=!0;try{z=E(!0,_)}finally{z?de():(v=!1,E=null)}}else v=!1}var de;if(typeof f=="function")de=function(){f(L)};else if(typeof MessageChannel<"u"){var ve=new MessageChannel,dt=ve.port2;ve.port1.onmessage=L,de=function(){dt.postMessage(null)}}else de=function(){I(L,0)};function Me(_){E=_,v||(v=!0,de())}function Ge(_,z){N=I(function(){_(e.unstable_now())},z)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(_){_.callback=null},e.unstable_continueExecution=function(){k||x||(k=!0,Me(S))},e.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):$=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_getFirstCallbackNode=function(){return n(u)},e.unstable_next=function(_){switch(m){case 1:case 2:case 3:var z=3;break;default:z=m}var A=m;m=z;try{return _()}finally{m=A}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,z){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var A=m;m=_;try{return z()}finally{m=A}},e.unstable_scheduleCallback=function(_,z,A){var Q=e.unstable_now();switch(typeof A=="object"&&A!==null?(A=A.delay,A=typeof A=="number"&&0<A?Q+A:Q):A=Q,_){case 1:var q=-1;break;case 2:q=250;break;case 5:q=1073741823;break;case 4:q=1e4;break;default:q=5e3}return q=A+q,_={id:h++,callback:z,priorityLevel:_,startTime:A,expirationTime:q,sortIndex:-1},A>Q?(_.sortIndex=A,t(c,_),n(u)===null&&_===n(c)&&(C?(d(N),N=-1):C=!0,Ge(y,A-Q))):(_.sortIndex=q,t(u,_),k||x||(k=!0,Me(S))),_},e.unstable_shouldYield=P,e.unstable_wrapCallback=function(_){var z=m;return function(){var A=m;m=z;try{return _.apply(this,arguments)}finally{m=A}}}})(Su);ku.exports=Su;var Qc=ku.exports;/**
|
|
26
|
+
* @license React
|
|
27
|
+
* react-dom.production.min.js
|
|
28
|
+
*
|
|
29
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
30
|
+
*
|
|
31
|
+
* This source code is licensed under the MIT license found in the
|
|
32
|
+
* LICENSE file in the root directory of this source tree.
|
|
33
|
+
*/var Gc=R,Pe=Qc;function j(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Cu=new Set,Jn={};function Qt(e,t){mn(e,t),mn(e+"Capture",t)}function mn(e,t){for(Jn[e]=t,e=0;e<t.length;e++)Cu.add(t[e])}var lt=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),di=Object.prototype.hasOwnProperty,Kc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,eo={},to={};function Yc(e){return di.call(to,e)?!0:di.call(eo,e)?!1:Kc.test(e)?to[e]=!0:(eo[e]=!0,!1)}function Jc(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Xc(e,t,n,r){if(t===null||typeof t>"u"||Jc(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function he(e,t,n,r,l,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var se={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){se[e]=new he(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];se[t]=new he(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){se[e]=new he(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){se[e]=new he(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){se[e]=new he(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){se[e]=new he(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){se[e]=new he(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){se[e]=new he(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){se[e]=new he(e,5,!1,e.toLowerCase(),null,!1,!1)});var os=/[\-:]([a-z])/g;function us(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(os,us);se[t]=new he(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(os,us);se[t]=new he(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(os,us);se[t]=new he(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){se[e]=new he(e,1,!1,e.toLowerCase(),null,!1,!1)});se.xlinkHref=new he("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){se[e]=new he(e,1,!1,e.toLowerCase(),null,!0,!0)});function as(e,t,n,r){var l=se.hasOwnProperty(t)?se[t]:null;(l!==null?l.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Xc(t,n,l,r)&&(n=null),r||l===null?Yc(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):l.mustUseProperty?e[l.propertyName]=n===null?l.type===3?!1:"":n:(t=l.attributeName,r=l.attributeNamespace,n===null?e.removeAttribute(t):(l=l.type,n=l===3||l===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var at=Gc.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,xr=Symbol.for("react.element"),Jt=Symbol.for("react.portal"),Xt=Symbol.for("react.fragment"),cs=Symbol.for("react.strict_mode"),fi=Symbol.for("react.profiler"),Nu=Symbol.for("react.provider"),Eu=Symbol.for("react.context"),ds=Symbol.for("react.forward_ref"),pi=Symbol.for("react.suspense"),mi=Symbol.for("react.suspense_list"),fs=Symbol.for("react.memo"),mt=Symbol.for("react.lazy"),Pu=Symbol.for("react.offscreen"),no=Symbol.iterator;function En(e){return e===null||typeof e!="object"?null:(e=no&&e[no]||e["@@iterator"],typeof e=="function"?e:null)}var Y=Object.assign,Al;function Mn(e){if(Al===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Al=t&&t[1]||""}return`
|
|
34
|
+
`+Al+e}var Ml=!1;function Il(e,t){if(!e||Ml)return"";Ml=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&typeof c.stack=="string"){for(var l=c.stack.split(`
|
|
35
|
+
`),i=r.stack.split(`
|
|
36
|
+
`),o=l.length-1,a=i.length-1;1<=o&&0<=a&&l[o]!==i[a];)a--;for(;1<=o&&0<=a;o--,a--)if(l[o]!==i[a]){if(o!==1||a!==1)do if(o--,a--,0>a||l[o]!==i[a]){var u=`
|
|
37
|
+
`+l[o].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),u}while(1<=o&&0<=a);break}}}finally{Ml=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Mn(e):""}function Zc(e){switch(e.tag){case 5:return Mn(e.type);case 16:return Mn("Lazy");case 13:return Mn("Suspense");case 19:return Mn("SuspenseList");case 0:case 2:case 15:return e=Il(e.type,!1),e;case 11:return e=Il(e.type.render,!1),e;case 1:return e=Il(e.type,!0),e;default:return""}}function hi(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Xt:return"Fragment";case Jt:return"Portal";case fi:return"Profiler";case cs:return"StrictMode";case pi:return"Suspense";case mi:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Eu:return(e.displayName||"Context")+".Consumer";case Nu:return(e._context.displayName||"Context")+".Provider";case ds:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case fs:return t=e.displayName||null,t!==null?t:hi(e.type)||"Memo";case mt:t=e._payload,e=e._init;try{return hi(e(t))}catch{}}return null}function qc(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return hi(t);case 8:return t===cs?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function _t(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function _u(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function bc(e){var t=_u(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function jr(e){e._valueTracker||(e._valueTracker=bc(e))}function Tu(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=_u(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Yr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function vi(e,t){var n=t.checked;return Y({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function ro(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=_t(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Lu(e,t){t=t.checked,t!=null&&as(e,"checked",t,!1)}function gi(e,t){Lu(e,t);var n=_t(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?yi(e,t.type,n):t.hasOwnProperty("defaultValue")&&yi(e,t.type,_t(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function lo(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function yi(e,t,n){(t!=="number"||Yr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var In=Array.isArray;function un(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&r&&(e[n].defaultSelected=!0)}else{for(n=""+_t(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,r&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function xi(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(j(91));return Y({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function io(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(j(92));if(In(n)){if(1<n.length)throw Error(j(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:_t(n)}}function Fu(e,t){var n=_t(t.value),r=_t(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function so(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function zu(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ji(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?zu(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var wr,Ou=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,l){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,l)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(wr=wr||document.createElement("div"),wr.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=wr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Xn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var $n={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ed=["Webkit","ms","Moz","O"];Object.keys($n).forEach(function(e){ed.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),$n[t]=$n[e]})});function Ru(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||$n.hasOwnProperty(e)&&$n[e]?(""+t).trim():t+"px"}function Au(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=Ru(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var td=Y({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function wi(e,t){if(t){if(td[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(j(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(j(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(j(61))}if(t.style!=null&&typeof t.style!="object")throw Error(j(62))}}function ki(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Si=null;function ps(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ci=null,an=null,cn=null;function oo(e){if(e=hr(e)){if(typeof Ci!="function")throw Error(j(280));var t=e.stateNode;t&&(t=Sl(t),Ci(e.stateNode,e.type,t))}}function Mu(e){an?cn?cn.push(e):cn=[e]:an=e}function Iu(){if(an){var e=an,t=cn;if(cn=an=null,oo(e),t)for(e=0;e<t.length;e++)oo(t[e])}}function Du(e,t){return e(t)}function Uu(){}var Dl=!1;function $u(e,t,n){if(Dl)return e(t,n);Dl=!0;try{return Du(e,t,n)}finally{Dl=!1,(an!==null||cn!==null)&&(Uu(),Iu())}}function Zn(e,t){var n=e.stateNode;if(n===null)return null;var r=Sl(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(j(231,t,typeof n));return n}var Ni=!1;if(lt)try{var Pn={};Object.defineProperty(Pn,"passive",{get:function(){Ni=!0}}),window.addEventListener("test",Pn,Pn),window.removeEventListener("test",Pn,Pn)}catch{Ni=!1}function nd(e,t,n,r,l,i,o,a,u){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(h){this.onError(h)}}var Vn=!1,Jr=null,Xr=!1,Ei=null,rd={onError:function(e){Vn=!0,Jr=e}};function ld(e,t,n,r,l,i,o,a,u){Vn=!1,Jr=null,nd.apply(rd,arguments)}function id(e,t,n,r,l,i,o,a,u){if(ld.apply(this,arguments),Vn){if(Vn){var c=Jr;Vn=!1,Jr=null}else throw Error(j(198));Xr||(Xr=!0,Ei=c)}}function Gt(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Vu(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function uo(e){if(Gt(e)!==e)throw Error(j(188))}function sd(e){var t=e.alternate;if(!t){if(t=Gt(e),t===null)throw Error(j(188));return t!==e?null:e}for(var n=e,r=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(r=l.return,r!==null){n=r;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return uo(l),e;if(i===r)return uo(l),t;i=i.sibling}throw Error(j(188))}if(n.return!==r.return)n=l,r=i;else{for(var o=!1,a=l.child;a;){if(a===n){o=!0,n=l,r=i;break}if(a===r){o=!0,r=l,n=i;break}a=a.sibling}if(!o){for(a=i.child;a;){if(a===n){o=!0,n=i,r=l;break}if(a===r){o=!0,r=i,n=l;break}a=a.sibling}if(!o)throw Error(j(189))}}if(n.alternate!==r)throw Error(j(190))}if(n.tag!==3)throw Error(j(188));return n.stateNode.current===n?e:t}function Bu(e){return e=sd(e),e!==null?Hu(e):null}function Hu(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Hu(e);if(t!==null)return t;e=e.sibling}return null}var Wu=Pe.unstable_scheduleCallback,ao=Pe.unstable_cancelCallback,od=Pe.unstable_shouldYield,ud=Pe.unstable_requestPaint,Z=Pe.unstable_now,ad=Pe.unstable_getCurrentPriorityLevel,ms=Pe.unstable_ImmediatePriority,Qu=Pe.unstable_UserBlockingPriority,Zr=Pe.unstable_NormalPriority,cd=Pe.unstable_LowPriority,Gu=Pe.unstable_IdlePriority,xl=null,Xe=null;function dd(e){if(Xe&&typeof Xe.onCommitFiberRoot=="function")try{Xe.onCommitFiberRoot(xl,e,void 0,(e.current.flags&128)===128)}catch{}}var Be=Math.clz32?Math.clz32:md,fd=Math.log,pd=Math.LN2;function md(e){return e>>>=0,e===0?32:31-(fd(e)/pd|0)|0}var kr=64,Sr=4194304;function Dn(e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function qr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=n&268435455;if(o!==0){var a=o&~l;a!==0?r=Dn(a):(i&=o,i!==0&&(r=Dn(i)))}else o=n&~l,o!==0?r=Dn(o):i!==0&&(r=Dn(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-Be(t),l=1<<n,r|=e[n],t&=~l;return r}function hd(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function vd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes;0<i;){var o=31-Be(i),a=1<<o,u=l[o];u===-1?(!(a&n)||a&r)&&(l[o]=hd(a,t)):u<=t&&(e.expiredLanes|=a),i&=~a}}function Pi(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Ku(){var e=kr;return kr<<=1,!(kr&4194240)&&(kr=64),e}function Ul(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function pr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Be(t),e[t]=n}function gd(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var l=31-Be(n),i=1<<l;t[l]=0,r[l]=-1,e[l]=-1,n&=~i}}function hs(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Be(n),l=1<<r;l&t|e[r]&t&&(e[r]|=t),n&=~l}}var U=0;function Yu(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Ju,vs,Xu,Zu,qu,_i=!1,Cr=[],jt=null,wt=null,kt=null,qn=new Map,bn=new Map,vt=[],yd="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function co(e,t){switch(e){case"focusin":case"focusout":jt=null;break;case"dragenter":case"dragleave":wt=null;break;case"mouseover":case"mouseout":kt=null;break;case"pointerover":case"pointerout":qn.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":bn.delete(t.pointerId)}}function _n(e,t,n,r,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[l]},t!==null&&(t=hr(t),t!==null&&vs(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function xd(e,t,n,r,l){switch(t){case"focusin":return jt=_n(jt,e,t,n,r,l),!0;case"dragenter":return wt=_n(wt,e,t,n,r,l),!0;case"mouseover":return kt=_n(kt,e,t,n,r,l),!0;case"pointerover":var i=l.pointerId;return qn.set(i,_n(qn.get(i)||null,e,t,n,r,l)),!0;case"gotpointercapture":return i=l.pointerId,bn.set(i,_n(bn.get(i)||null,e,t,n,r,l)),!0}return!1}function bu(e){var t=At(e.target);if(t!==null){var n=Gt(t);if(n!==null){if(t=n.tag,t===13){if(t=Vu(n),t!==null){e.blockedOn=t,qu(e.priority,function(){Xu(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Dr(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Ti(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Si=r,n.target.dispatchEvent(r),Si=null}else return t=hr(n),t!==null&&vs(t),e.blockedOn=n,!1;t.shift()}return!0}function fo(e,t,n){Dr(e)&&n.delete(t)}function jd(){_i=!1,jt!==null&&Dr(jt)&&(jt=null),wt!==null&&Dr(wt)&&(wt=null),kt!==null&&Dr(kt)&&(kt=null),qn.forEach(fo),bn.forEach(fo)}function Tn(e,t){e.blockedOn===t&&(e.blockedOn=null,_i||(_i=!0,Pe.unstable_scheduleCallback(Pe.unstable_NormalPriority,jd)))}function er(e){function t(l){return Tn(l,e)}if(0<Cr.length){Tn(Cr[0],e);for(var n=1;n<Cr.length;n++){var r=Cr[n];r.blockedOn===e&&(r.blockedOn=null)}}for(jt!==null&&Tn(jt,e),wt!==null&&Tn(wt,e),kt!==null&&Tn(kt,e),qn.forEach(t),bn.forEach(t),n=0;n<vt.length;n++)r=vt[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<vt.length&&(n=vt[0],n.blockedOn===null);)bu(n),n.blockedOn===null&&vt.shift()}var dn=at.ReactCurrentBatchConfig,br=!0;function wd(e,t,n,r){var l=U,i=dn.transition;dn.transition=null;try{U=1,gs(e,t,n,r)}finally{U=l,dn.transition=i}}function kd(e,t,n,r){var l=U,i=dn.transition;dn.transition=null;try{U=4,gs(e,t,n,r)}finally{U=l,dn.transition=i}}function gs(e,t,n,r){if(br){var l=Ti(e,t,n,r);if(l===null)Jl(e,t,r,el,n),co(e,r);else if(xd(l,e,t,n,r))r.stopPropagation();else if(co(e,r),t&4&&-1<yd.indexOf(e)){for(;l!==null;){var i=hr(l);if(i!==null&&Ju(i),i=Ti(e,t,n,r),i===null&&Jl(e,t,r,el,n),i===l)break;l=i}l!==null&&r.stopPropagation()}else Jl(e,t,r,null,n)}}var el=null;function Ti(e,t,n,r){if(el=null,e=ps(r),e=At(e),e!==null)if(t=Gt(e),t===null)e=null;else if(n=t.tag,n===13){if(e=Vu(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return el=e,null}function ea(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(ad()){case ms:return 1;case Qu:return 4;case Zr:case cd:return 16;case Gu:return 536870912;default:return 16}default:return 16}}var yt=null,ys=null,Ur=null;function ta(){if(Ur)return Ur;var e,t=ys,n=t.length,r,l="value"in yt?yt.value:yt.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===l[i-r];r++);return Ur=l.slice(e,1<r?1-r:void 0)}function $r(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Nr(){return!0}function po(){return!1}function Te(e){function t(n,r,l,i,o){this._reactName=n,this._targetInst=l,this.type=r,this.nativeEvent=i,this.target=o,this.currentTarget=null;for(var a in e)e.hasOwnProperty(a)&&(n=e[a],this[a]=n?n(i):i[a]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?Nr:po,this.isPropagationStopped=po,this}return Y(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Nr)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Nr)},persist:function(){},isPersistent:Nr}),t}var Sn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},xs=Te(Sn),mr=Y({},Sn,{view:0,detail:0}),Sd=Te(mr),$l,Vl,Ln,jl=Y({},mr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:js,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Ln&&(Ln&&e.type==="mousemove"?($l=e.screenX-Ln.screenX,Vl=e.screenY-Ln.screenY):Vl=$l=0,Ln=e),$l)},movementY:function(e){return"movementY"in e?e.movementY:Vl}}),mo=Te(jl),Cd=Y({},jl,{dataTransfer:0}),Nd=Te(Cd),Ed=Y({},mr,{relatedTarget:0}),Bl=Te(Ed),Pd=Y({},Sn,{animationName:0,elapsedTime:0,pseudoElement:0}),_d=Te(Pd),Td=Y({},Sn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Ld=Te(Td),Fd=Y({},Sn,{data:0}),ho=Te(Fd),zd={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Od={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Rd={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Ad(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Rd[e])?!!t[e]:!1}function js(){return Ad}var Md=Y({},mr,{key:function(e){if(e.key){var t=zd[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=$r(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Od[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:js,charCode:function(e){return e.type==="keypress"?$r(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?$r(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Id=Te(Md),Dd=Y({},jl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),vo=Te(Dd),Ud=Y({},mr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:js}),$d=Te(Ud),Vd=Y({},Sn,{propertyName:0,elapsedTime:0,pseudoElement:0}),Bd=Te(Vd),Hd=Y({},jl,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Wd=Te(Hd),Qd=[9,13,27,32],ws=lt&&"CompositionEvent"in window,Bn=null;lt&&"documentMode"in document&&(Bn=document.documentMode);var Gd=lt&&"TextEvent"in window&&!Bn,na=lt&&(!ws||Bn&&8<Bn&&11>=Bn),go=" ",yo=!1;function ra(e,t){switch(e){case"keyup":return Qd.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function la(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Zt=!1;function Kd(e,t){switch(e){case"compositionend":return la(t);case"keypress":return t.which!==32?null:(yo=!0,go);case"textInput":return e=t.data,e===go&&yo?null:e;default:return null}}function Yd(e,t){if(Zt)return e==="compositionend"||!ws&&ra(e,t)?(e=ta(),Ur=ys=yt=null,Zt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return na&&t.locale!=="ko"?null:t.data;default:return null}}var Jd={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function xo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Jd[e.type]:t==="textarea"}function ia(e,t,n,r){Mu(r),t=tl(t,"onChange"),0<t.length&&(n=new xs("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Hn=null,tr=null;function Xd(e){va(e,0)}function wl(e){var t=en(e);if(Tu(t))return e}function Zd(e,t){if(e==="change")return t}var sa=!1;if(lt){var Hl;if(lt){var Wl="oninput"in document;if(!Wl){var jo=document.createElement("div");jo.setAttribute("oninput","return;"),Wl=typeof jo.oninput=="function"}Hl=Wl}else Hl=!1;sa=Hl&&(!document.documentMode||9<document.documentMode)}function wo(){Hn&&(Hn.detachEvent("onpropertychange",oa),tr=Hn=null)}function oa(e){if(e.propertyName==="value"&&wl(tr)){var t=[];ia(t,tr,e,ps(e)),$u(Xd,t)}}function qd(e,t,n){e==="focusin"?(wo(),Hn=t,tr=n,Hn.attachEvent("onpropertychange",oa)):e==="focusout"&&wo()}function bd(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return wl(tr)}function ef(e,t){if(e==="click")return wl(t)}function tf(e,t){if(e==="input"||e==="change")return wl(t)}function nf(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var We=typeof Object.is=="function"?Object.is:nf;function nr(e,t){if(We(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var l=n[r];if(!di.call(t,l)||!We(e[l],t[l]))return!1}return!0}function ko(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function So(e,t){var n=ko(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ko(n)}}function ua(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ua(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function aa(){for(var e=window,t=Yr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Yr(e.document)}return t}function ks(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")}function rf(e){var t=aa(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&ua(n.ownerDocument.documentElement,n)){if(r!==null&&ks(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=So(n,i);var o=So(n,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var lf=lt&&"documentMode"in document&&11>=document.documentMode,qt=null,Li=null,Wn=null,Fi=!1;function Co(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Fi||qt==null||qt!==Yr(r)||(r=qt,"selectionStart"in r&&ks(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Wn&&nr(Wn,r)||(Wn=r,r=tl(Li,"onSelect"),0<r.length&&(t=new xs("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=qt)))}function Er(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var bt={animationend:Er("Animation","AnimationEnd"),animationiteration:Er("Animation","AnimationIteration"),animationstart:Er("Animation","AnimationStart"),transitionend:Er("Transition","TransitionEnd")},Ql={},ca={};lt&&(ca=document.createElement("div").style,"AnimationEvent"in window||(delete bt.animationend.animation,delete bt.animationiteration.animation,delete bt.animationstart.animation),"TransitionEvent"in window||delete bt.transitionend.transition);function kl(e){if(Ql[e])return Ql[e];if(!bt[e])return e;var t=bt[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in ca)return Ql[e]=t[n];return e}var da=kl("animationend"),fa=kl("animationiteration"),pa=kl("animationstart"),ma=kl("transitionend"),ha=new Map,No="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Lt(e,t){ha.set(e,t),Qt(t,[e])}for(var Gl=0;Gl<No.length;Gl++){var Kl=No[Gl],sf=Kl.toLowerCase(),of=Kl[0].toUpperCase()+Kl.slice(1);Lt(sf,"on"+of)}Lt(da,"onAnimationEnd");Lt(fa,"onAnimationIteration");Lt(pa,"onAnimationStart");Lt("dblclick","onDoubleClick");Lt("focusin","onFocus");Lt("focusout","onBlur");Lt(ma,"onTransitionEnd");mn("onMouseEnter",["mouseout","mouseover"]);mn("onMouseLeave",["mouseout","mouseover"]);mn("onPointerEnter",["pointerout","pointerover"]);mn("onPointerLeave",["pointerout","pointerover"]);Qt("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qt("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qt("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qt("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qt("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qt("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Un="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),uf=new Set("cancel close invalid load scroll toggle".split(" ").concat(Un));function Eo(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,id(r,t,void 0,e),e.currentTarget=null}function va(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],l=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var o=r.length-1;0<=o;o--){var a=r[o],u=a.instance,c=a.currentTarget;if(a=a.listener,u!==i&&l.isPropagationStopped())break e;Eo(l,a,c),i=u}else for(o=0;o<r.length;o++){if(a=r[o],u=a.instance,c=a.currentTarget,a=a.listener,u!==i&&l.isPropagationStopped())break e;Eo(l,a,c),i=u}}}if(Xr)throw e=Ei,Xr=!1,Ei=null,e}function B(e,t){var n=t[Mi];n===void 0&&(n=t[Mi]=new Set);var r=e+"__bubble";n.has(r)||(ga(t,e,2,!1),n.add(r))}function Yl(e,t,n){var r=0;t&&(r|=4),ga(n,e,r,t)}var Pr="_reactListening"+Math.random().toString(36).slice(2);function rr(e){if(!e[Pr]){e[Pr]=!0,Cu.forEach(function(n){n!=="selectionchange"&&(uf.has(n)||Yl(n,!1,e),Yl(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Pr]||(t[Pr]=!0,Yl("selectionchange",!1,t))}}function ga(e,t,n,r){switch(ea(t)){case 1:var l=wd;break;case 4:l=kd;break;default:l=gs}n=l.bind(null,t,n,e),l=void 0,!Ni||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),r?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function Jl(e,t,n,r,l){var i=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var a=r.stateNode.containerInfo;if(a===l||a.nodeType===8&&a.parentNode===l)break;if(o===4)for(o=r.return;o!==null;){var u=o.tag;if((u===3||u===4)&&(u=o.stateNode.containerInfo,u===l||u.nodeType===8&&u.parentNode===l))return;o=o.return}for(;a!==null;){if(o=At(a),o===null)return;if(u=o.tag,u===5||u===6){r=i=o;continue e}a=a.parentNode}}r=r.return}$u(function(){var c=i,h=ps(n),g=[];e:{var m=ha.get(e);if(m!==void 0){var x=xs,k=e;switch(e){case"keypress":if($r(n)===0)break e;case"keydown":case"keyup":x=Id;break;case"focusin":k="focus",x=Bl;break;case"focusout":k="blur",x=Bl;break;case"beforeblur":case"afterblur":x=Bl;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":x=mo;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":x=Nd;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":x=$d;break;case da:case fa:case pa:x=_d;break;case ma:x=Bd;break;case"scroll":x=Sd;break;case"wheel":x=Wd;break;case"copy":case"cut":case"paste":x=Ld;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":x=vo}var C=(t&4)!==0,I=!C&&e==="scroll",d=C?m!==null?m+"Capture":null:m;C=[];for(var f=c,p;f!==null;){p=f;var y=p.stateNode;if(p.tag===5&&y!==null&&(p=y,d!==null&&(y=Zn(f,d),y!=null&&C.push(lr(f,y,p)))),I)break;f=f.return}0<C.length&&(m=new x(m,k,null,n,h),g.push({event:m,listeners:C}))}}if(!(t&7)){e:{if(m=e==="mouseover"||e==="pointerover",x=e==="mouseout"||e==="pointerout",m&&n!==Si&&(k=n.relatedTarget||n.fromElement)&&(At(k)||k[it]))break e;if((x||m)&&(m=h.window===h?h:(m=h.ownerDocument)?m.defaultView||m.parentWindow:window,x?(k=n.relatedTarget||n.toElement,x=c,k=k?At(k):null,k!==null&&(I=Gt(k),k!==I||k.tag!==5&&k.tag!==6)&&(k=null)):(x=null,k=c),x!==k)){if(C=mo,y="onMouseLeave",d="onMouseEnter",f="mouse",(e==="pointerout"||e==="pointerover")&&(C=vo,y="onPointerLeave",d="onPointerEnter",f="pointer"),I=x==null?m:en(x),p=k==null?m:en(k),m=new C(y,f+"leave",x,n,h),m.target=I,m.relatedTarget=p,y=null,At(h)===c&&(C=new C(d,f+"enter",k,n,h),C.target=p,C.relatedTarget=I,y=C),I=y,x&&k)t:{for(C=x,d=k,f=0,p=C;p;p=Kt(p))f++;for(p=0,y=d;y;y=Kt(y))p++;for(;0<f-p;)C=Kt(C),f--;for(;0<p-f;)d=Kt(d),p--;for(;f--;){if(C===d||d!==null&&C===d.alternate)break t;C=Kt(C),d=Kt(d)}C=null}else C=null;x!==null&&Po(g,m,x,C,!1),k!==null&&I!==null&&Po(g,I,k,C,!0)}}e:{if(m=c?en(c):window,x=m.nodeName&&m.nodeName.toLowerCase(),x==="select"||x==="input"&&m.type==="file")var S=Zd;else if(xo(m))if(sa)S=tf;else{S=bd;var v=qd}else(x=m.nodeName)&&x.toLowerCase()==="input"&&(m.type==="checkbox"||m.type==="radio")&&(S=ef);if(S&&(S=S(e,c))){ia(g,S,n,h);break e}v&&v(e,m,c),e==="focusout"&&(v=m._wrapperState)&&v.controlled&&m.type==="number"&&yi(m,"number",m.value)}switch(v=c?en(c):window,e){case"focusin":(xo(v)||v.contentEditable==="true")&&(qt=v,Li=c,Wn=null);break;case"focusout":Wn=Li=qt=null;break;case"mousedown":Fi=!0;break;case"contextmenu":case"mouseup":case"dragend":Fi=!1,Co(g,n,h);break;case"selectionchange":if(lf)break;case"keydown":case"keyup":Co(g,n,h)}var E;if(ws)e:{switch(e){case"compositionstart":var N="onCompositionStart";break e;case"compositionend":N="onCompositionEnd";break e;case"compositionupdate":N="onCompositionUpdate";break e}N=void 0}else Zt?ra(e,n)&&(N="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(N="onCompositionStart");N&&(na&&n.locale!=="ko"&&(Zt||N!=="onCompositionStart"?N==="onCompositionEnd"&&Zt&&(E=ta()):(yt=h,ys="value"in yt?yt.value:yt.textContent,Zt=!0)),v=tl(c,N),0<v.length&&(N=new ho(N,e,null,n,h),g.push({event:N,listeners:v}),E?N.data=E:(E=la(n),E!==null&&(N.data=E)))),(E=Gd?Kd(e,n):Yd(e,n))&&(c=tl(c,"onBeforeInput"),0<c.length&&(h=new ho("onBeforeInput","beforeinput",null,n,h),g.push({event:h,listeners:c}),h.data=E))}va(g,t)})}function lr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function tl(e,t){for(var n=t+"Capture",r=[];e!==null;){var l=e,i=l.stateNode;l.tag===5&&i!==null&&(l=i,i=Zn(e,n),i!=null&&r.unshift(lr(e,i,l)),i=Zn(e,t),i!=null&&r.push(lr(e,i,l))),e=e.return}return r}function Kt(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Po(e,t,n,r,l){for(var i=t._reactName,o=[];n!==null&&n!==r;){var a=n,u=a.alternate,c=a.stateNode;if(u!==null&&u===r)break;a.tag===5&&c!==null&&(a=c,l?(u=Zn(n,i),u!=null&&o.unshift(lr(n,u,a))):l||(u=Zn(n,i),u!=null&&o.push(lr(n,u,a)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var af=/\r\n?/g,cf=/\u0000|\uFFFD/g;function _o(e){return(typeof e=="string"?e:""+e).replace(af,`
|
|
38
|
+
`).replace(cf,"")}function _r(e,t,n){if(t=_o(t),_o(e)!==t&&n)throw Error(j(425))}function nl(){}var zi=null,Oi=null;function Ri(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Ai=typeof setTimeout=="function"?setTimeout:void 0,df=typeof clearTimeout=="function"?clearTimeout:void 0,To=typeof Promise=="function"?Promise:void 0,ff=typeof queueMicrotask=="function"?queueMicrotask:typeof To<"u"?function(e){return To.resolve(null).then(e).catch(pf)}:Ai;function pf(e){setTimeout(function(){throw e})}function Xl(e,t){var n=t,r=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"){if(r===0){e.removeChild(l),er(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=l}while(n);er(t)}function St(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Lo(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Cn=Math.random().toString(36).slice(2),Je="__reactFiber$"+Cn,ir="__reactProps$"+Cn,it="__reactContainer$"+Cn,Mi="__reactEvents$"+Cn,mf="__reactListeners$"+Cn,hf="__reactHandles$"+Cn;function At(e){var t=e[Je];if(t)return t;for(var n=e.parentNode;n;){if(t=n[it]||n[Je]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Lo(e);e!==null;){if(n=e[Je])return n;e=Lo(e)}return t}e=n,n=e.parentNode}return null}function hr(e){return e=e[Je]||e[it],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function en(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(j(33))}function Sl(e){return e[ir]||null}var Ii=[],tn=-1;function Ft(e){return{current:e}}function H(e){0>tn||(e.current=Ii[tn],Ii[tn]=null,tn--)}function V(e,t){tn++,Ii[tn]=e.current,e.current=t}var Tt={},ce=Ft(Tt),xe=Ft(!1),$t=Tt;function hn(e,t){var n=e.type.contextTypes;if(!n)return Tt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function je(e){return e=e.childContextTypes,e!=null}function rl(){H(xe),H(ce)}function Fo(e,t,n){if(ce.current!==Tt)throw Error(j(168));V(ce,t),V(xe,n)}function ya(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(j(108,qc(e)||"Unknown",l));return Y({},n,r)}function ll(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Tt,$t=ce.current,V(ce,e),V(xe,xe.current),!0}function zo(e,t,n){var r=e.stateNode;if(!r)throw Error(j(169));n?(e=ya(e,t,$t),r.__reactInternalMemoizedMergedChildContext=e,H(xe),H(ce),V(ce,e)):H(xe),V(xe,n)}var et=null,Cl=!1,Zl=!1;function xa(e){et===null?et=[e]:et.push(e)}function vf(e){Cl=!0,xa(e)}function zt(){if(!Zl&&et!==null){Zl=!0;var e=0,t=U;try{var n=et;for(U=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}et=null,Cl=!1}catch(l){throw et!==null&&(et=et.slice(e+1)),Wu(ms,zt),l}finally{U=t,Zl=!1}}return null}var nn=[],rn=0,il=null,sl=0,Le=[],Fe=0,Vt=null,tt=1,nt="";function Ot(e,t){nn[rn++]=sl,nn[rn++]=il,il=e,sl=t}function ja(e,t,n){Le[Fe++]=tt,Le[Fe++]=nt,Le[Fe++]=Vt,Vt=e;var r=tt;e=nt;var l=32-Be(r)-1;r&=~(1<<l),n+=1;var i=32-Be(t)+l;if(30<i){var o=l-l%5;i=(r&(1<<o)-1).toString(32),r>>=o,l-=o,tt=1<<32-Be(t)+l|n<<l|r,nt=i+e}else tt=1<<i|n<<l|r,nt=e}function Ss(e){e.return!==null&&(Ot(e,1),ja(e,1,0))}function Cs(e){for(;e===il;)il=nn[--rn],nn[rn]=null,sl=nn[--rn],nn[rn]=null;for(;e===Vt;)Vt=Le[--Fe],Le[Fe]=null,nt=Le[--Fe],Le[Fe]=null,tt=Le[--Fe],Le[Fe]=null}var Ee=null,Ne=null,W=!1,Ve=null;function wa(e,t){var n=ze(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function Oo(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Ee=e,Ne=St(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Ee=e,Ne=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Vt!==null?{id:tt,overflow:nt}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=ze(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,Ee=e,Ne=null,!0):!1;default:return!1}}function Di(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Ui(e){if(W){var t=Ne;if(t){var n=t;if(!Oo(e,t)){if(Di(e))throw Error(j(418));t=St(n.nextSibling);var r=Ee;t&&Oo(e,t)?wa(r,n):(e.flags=e.flags&-4097|2,W=!1,Ee=e)}}else{if(Di(e))throw Error(j(418));e.flags=e.flags&-4097|2,W=!1,Ee=e}}}function Ro(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Ee=e}function Tr(e){if(e!==Ee)return!1;if(!W)return Ro(e),W=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Ri(e.type,e.memoizedProps)),t&&(t=Ne)){if(Di(e))throw ka(),Error(j(418));for(;t;)wa(e,t),t=St(t.nextSibling)}if(Ro(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(j(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){Ne=St(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}Ne=null}}else Ne=Ee?St(e.stateNode.nextSibling):null;return!0}function ka(){for(var e=Ne;e;)e=St(e.nextSibling)}function vn(){Ne=Ee=null,W=!1}function Ns(e){Ve===null?Ve=[e]:Ve.push(e)}var gf=at.ReactCurrentBatchConfig;function Fn(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(j(309));var r=n.stateNode}if(!r)throw Error(j(147,e));var l=r,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=function(o){var a=l.refs;o===null?delete a[i]:a[i]=o},t._stringRef=i,t)}if(typeof e!="string")throw Error(j(284));if(!n._owner)throw Error(j(290,e))}return e}function Lr(e,t){throw e=Object.prototype.toString.call(t),Error(j(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Ao(e){var t=e._init;return t(e._payload)}function Sa(e){function t(d,f){if(e){var p=d.deletions;p===null?(d.deletions=[f],d.flags|=16):p.push(f)}}function n(d,f){if(!e)return null;for(;f!==null;)t(d,f),f=f.sibling;return null}function r(d,f){for(d=new Map;f!==null;)f.key!==null?d.set(f.key,f):d.set(f.index,f),f=f.sibling;return d}function l(d,f){return d=Pt(d,f),d.index=0,d.sibling=null,d}function i(d,f,p){return d.index=p,e?(p=d.alternate,p!==null?(p=p.index,p<f?(d.flags|=2,f):p):(d.flags|=2,f)):(d.flags|=1048576,f)}function o(d){return e&&d.alternate===null&&(d.flags|=2),d}function a(d,f,p,y){return f===null||f.tag!==6?(f=li(p,d.mode,y),f.return=d,f):(f=l(f,p),f.return=d,f)}function u(d,f,p,y){var S=p.type;return S===Xt?h(d,f,p.props.children,y,p.key):f!==null&&(f.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===mt&&Ao(S)===f.type)?(y=l(f,p.props),y.ref=Fn(d,f,p),y.return=d,y):(y=Kr(p.type,p.key,p.props,null,d.mode,y),y.ref=Fn(d,f,p),y.return=d,y)}function c(d,f,p,y){return f===null||f.tag!==4||f.stateNode.containerInfo!==p.containerInfo||f.stateNode.implementation!==p.implementation?(f=ii(p,d.mode,y),f.return=d,f):(f=l(f,p.children||[]),f.return=d,f)}function h(d,f,p,y,S){return f===null||f.tag!==7?(f=Ut(p,d.mode,y,S),f.return=d,f):(f=l(f,p),f.return=d,f)}function g(d,f,p){if(typeof f=="string"&&f!==""||typeof f=="number")return f=li(""+f,d.mode,p),f.return=d,f;if(typeof f=="object"&&f!==null){switch(f.$$typeof){case xr:return p=Kr(f.type,f.key,f.props,null,d.mode,p),p.ref=Fn(d,null,f),p.return=d,p;case Jt:return f=ii(f,d.mode,p),f.return=d,f;case mt:var y=f._init;return g(d,y(f._payload),p)}if(In(f)||En(f))return f=Ut(f,d.mode,p,null),f.return=d,f;Lr(d,f)}return null}function m(d,f,p,y){var S=f!==null?f.key:null;if(typeof p=="string"&&p!==""||typeof p=="number")return S!==null?null:a(d,f,""+p,y);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case xr:return p.key===S?u(d,f,p,y):null;case Jt:return p.key===S?c(d,f,p,y):null;case mt:return S=p._init,m(d,f,S(p._payload),y)}if(In(p)||En(p))return S!==null?null:h(d,f,p,y,null);Lr(d,p)}return null}function x(d,f,p,y,S){if(typeof y=="string"&&y!==""||typeof y=="number")return d=d.get(p)||null,a(f,d,""+y,S);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case xr:return d=d.get(y.key===null?p:y.key)||null,u(f,d,y,S);case Jt:return d=d.get(y.key===null?p:y.key)||null,c(f,d,y,S);case mt:var v=y._init;return x(d,f,p,v(y._payload),S)}if(In(y)||En(y))return d=d.get(p)||null,h(f,d,y,S,null);Lr(f,y)}return null}function k(d,f,p,y){for(var S=null,v=null,E=f,N=f=0,$=null;E!==null&&N<p.length;N++){E.index>N?($=E,E=null):$=E.sibling;var F=m(d,E,p[N],y);if(F===null){E===null&&(E=$);break}e&&E&&F.alternate===null&&t(d,E),f=i(F,f,N),v===null?S=F:v.sibling=F,v=F,E=$}if(N===p.length)return n(d,E),W&&Ot(d,N),S;if(E===null){for(;N<p.length;N++)E=g(d,p[N],y),E!==null&&(f=i(E,f,N),v===null?S=E:v.sibling=E,v=E);return W&&Ot(d,N),S}for(E=r(d,E);N<p.length;N++)$=x(E,d,N,p[N],y),$!==null&&(e&&$.alternate!==null&&E.delete($.key===null?N:$.key),f=i($,f,N),v===null?S=$:v.sibling=$,v=$);return e&&E.forEach(function(P){return t(d,P)}),W&&Ot(d,N),S}function C(d,f,p,y){var S=En(p);if(typeof S!="function")throw Error(j(150));if(p=S.call(p),p==null)throw Error(j(151));for(var v=S=null,E=f,N=f=0,$=null,F=p.next();E!==null&&!F.done;N++,F=p.next()){E.index>N?($=E,E=null):$=E.sibling;var P=m(d,E,F.value,y);if(P===null){E===null&&(E=$);break}e&&E&&P.alternate===null&&t(d,E),f=i(P,f,N),v===null?S=P:v.sibling=P,v=P,E=$}if(F.done)return n(d,E),W&&Ot(d,N),S;if(E===null){for(;!F.done;N++,F=p.next())F=g(d,F.value,y),F!==null&&(f=i(F,f,N),v===null?S=F:v.sibling=F,v=F);return W&&Ot(d,N),S}for(E=r(d,E);!F.done;N++,F=p.next())F=x(E,d,N,F.value,y),F!==null&&(e&&F.alternate!==null&&E.delete(F.key===null?N:F.key),f=i(F,f,N),v===null?S=F:v.sibling=F,v=F);return e&&E.forEach(function(L){return t(d,L)}),W&&Ot(d,N),S}function I(d,f,p,y){if(typeof p=="object"&&p!==null&&p.type===Xt&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case xr:e:{for(var S=p.key,v=f;v!==null;){if(v.key===S){if(S=p.type,S===Xt){if(v.tag===7){n(d,v.sibling),f=l(v,p.props.children),f.return=d,d=f;break e}}else if(v.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===mt&&Ao(S)===v.type){n(d,v.sibling),f=l(v,p.props),f.ref=Fn(d,v,p),f.return=d,d=f;break e}n(d,v);break}else t(d,v);v=v.sibling}p.type===Xt?(f=Ut(p.props.children,d.mode,y,p.key),f.return=d,d=f):(y=Kr(p.type,p.key,p.props,null,d.mode,y),y.ref=Fn(d,f,p),y.return=d,d=y)}return o(d);case Jt:e:{for(v=p.key;f!==null;){if(f.key===v)if(f.tag===4&&f.stateNode.containerInfo===p.containerInfo&&f.stateNode.implementation===p.implementation){n(d,f.sibling),f=l(f,p.children||[]),f.return=d,d=f;break e}else{n(d,f);break}else t(d,f);f=f.sibling}f=ii(p,d.mode,y),f.return=d,d=f}return o(d);case mt:return v=p._init,I(d,f,v(p._payload),y)}if(In(p))return k(d,f,p,y);if(En(p))return C(d,f,p,y);Lr(d,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,f!==null&&f.tag===6?(n(d,f.sibling),f=l(f,p),f.return=d,d=f):(n(d,f),f=li(p,d.mode,y),f.return=d,d=f),o(d)):n(d,f)}return I}var gn=Sa(!0),Ca=Sa(!1),ol=Ft(null),ul=null,ln=null,Es=null;function Ps(){Es=ln=ul=null}function _s(e){var t=ol.current;H(ol),e._currentValue=t}function $i(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function fn(e,t){ul=e,Es=ln=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(ye=!0),e.firstContext=null)}function Re(e){var t=e._currentValue;if(Es!==e)if(e={context:e,memoizedValue:t,next:null},ln===null){if(ul===null)throw Error(j(308));ln=e,ul.dependencies={lanes:0,firstContext:e}}else ln=ln.next=e;return t}var Mt=null;function Ts(e){Mt===null?Mt=[e]:Mt.push(e)}function Na(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,Ts(t)):(n.next=l.next,l.next=n),t.interleaved=n,st(e,r)}function st(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var ht=!1;function Ls(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ea(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function rt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ct(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,D&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,st(e,n)}return l=r.interleaved,l===null?(t.next=t,Ts(r)):(t.next=l.next,l.next=t),r.interleaved=t,st(e,n)}function Vr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,hs(e,n)}}function Mo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function al(e,t,n,r){var l=e.updateQueue;ht=!1;var i=l.firstBaseUpdate,o=l.lastBaseUpdate,a=l.shared.pending;if(a!==null){l.shared.pending=null;var u=a,c=u.next;u.next=null,o===null?i=c:o.next=c,o=u;var h=e.alternate;h!==null&&(h=h.updateQueue,a=h.lastBaseUpdate,a!==o&&(a===null?h.firstBaseUpdate=c:a.next=c,h.lastBaseUpdate=u))}if(i!==null){var g=l.baseState;o=0,h=c=u=null,a=i;do{var m=a.lane,x=a.eventTime;if((r&m)===m){h!==null&&(h=h.next={eventTime:x,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var k=e,C=a;switch(m=t,x=n,C.tag){case 1:if(k=C.payload,typeof k=="function"){g=k.call(x,g,m);break e}g=k;break e;case 3:k.flags=k.flags&-65537|128;case 0:if(k=C.payload,m=typeof k=="function"?k.call(x,g,m):k,m==null)break e;g=Y({},g,m);break e;case 2:ht=!0}}a.callback!==null&&a.lane!==0&&(e.flags|=64,m=l.effects,m===null?l.effects=[a]:m.push(a))}else x={eventTime:x,lane:m,tag:a.tag,payload:a.payload,callback:a.callback,next:null},h===null?(c=h=x,u=g):h=h.next=x,o|=m;if(a=a.next,a===null){if(a=l.shared.pending,a===null)break;m=a,a=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);if(h===null&&(u=g),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=h,t=l.shared.interleaved,t!==null){l=t;do o|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);Ht|=o,e.lanes=o,e.memoizedState=g}}function Io(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],l=r.callback;if(l!==null){if(r.callback=null,r=n,typeof l!="function")throw Error(j(191,l));l.call(r)}}}var vr={},Ze=Ft(vr),sr=Ft(vr),or=Ft(vr);function It(e){if(e===vr)throw Error(j(174));return e}function Fs(e,t){switch(V(or,t),V(sr,e),V(Ze,vr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ji(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=ji(t,e)}H(Ze),V(Ze,t)}function yn(){H(Ze),H(sr),H(or)}function Pa(e){It(or.current);var t=It(Ze.current),n=ji(t,e.type);t!==n&&(V(sr,e),V(Ze,n))}function zs(e){sr.current===e&&(H(Ze),H(sr))}var G=Ft(0);function cl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ql=[];function Os(){for(var e=0;e<ql.length;e++)ql[e]._workInProgressVersionPrimary=null;ql.length=0}var Br=at.ReactCurrentDispatcher,bl=at.ReactCurrentBatchConfig,Bt=0,K=null,ee=null,ne=null,dl=!1,Qn=!1,ur=0,yf=0;function oe(){throw Error(j(321))}function Rs(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!We(e[n],t[n]))return!1;return!0}function As(e,t,n,r,l,i){if(Bt=i,K=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Br.current=e===null||e.memoizedState===null?kf:Sf,e=n(r,l),Qn){i=0;do{if(Qn=!1,ur=0,25<=i)throw Error(j(301));i+=1,ne=ee=null,t.updateQueue=null,Br.current=Cf,e=n(r,l)}while(Qn)}if(Br.current=fl,t=ee!==null&&ee.next!==null,Bt=0,ne=ee=K=null,dl=!1,t)throw Error(j(300));return e}function Ms(){var e=ur!==0;return ur=0,e}function Ye(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ne===null?K.memoizedState=ne=e:ne=ne.next=e,ne}function Ae(){if(ee===null){var e=K.alternate;e=e!==null?e.memoizedState:null}else e=ee.next;var t=ne===null?K.memoizedState:ne.next;if(t!==null)ne=t,ee=e;else{if(e===null)throw Error(j(310));ee=e,e={memoizedState:ee.memoizedState,baseState:ee.baseState,baseQueue:ee.baseQueue,queue:ee.queue,next:null},ne===null?K.memoizedState=ne=e:ne=ne.next=e}return ne}function ar(e,t){return typeof t=="function"?t(e):t}function ei(e){var t=Ae(),n=t.queue;if(n===null)throw Error(j(311));n.lastRenderedReducer=e;var r=ee,l=r.baseQueue,i=n.pending;if(i!==null){if(l!==null){var o=l.next;l.next=i.next,i.next=o}r.baseQueue=l=i,n.pending=null}if(l!==null){i=l.next,r=r.baseState;var a=o=null,u=null,c=i;do{var h=c.lane;if((Bt&h)===h)u!==null&&(u=u.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),r=c.hasEagerState?c.eagerState:e(r,c.action);else{var g={lane:h,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};u===null?(a=u=g,o=r):u=u.next=g,K.lanes|=h,Ht|=h}c=c.next}while(c!==null&&c!==i);u===null?o=r:u.next=a,We(r,t.memoizedState)||(ye=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=u,n.lastRenderedState=r}if(e=n.interleaved,e!==null){l=e;do i=l.lane,K.lanes|=i,Ht|=i,l=l.next;while(l!==e)}else l===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function ti(e){var t=Ae(),n=t.queue;if(n===null)throw Error(j(311));n.lastRenderedReducer=e;var r=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var o=l=l.next;do i=e(i,o.action),o=o.next;while(o!==l);We(i,t.memoizedState)||(ye=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function _a(){}function Ta(e,t){var n=K,r=Ae(),l=t(),i=!We(r.memoizedState,l);if(i&&(r.memoizedState=l,ye=!0),r=r.queue,Is(za.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||ne!==null&&ne.memoizedState.tag&1){if(n.flags|=2048,cr(9,Fa.bind(null,n,r,l,t),void 0,null),re===null)throw Error(j(349));Bt&30||La(n,t,l)}return l}function La(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=K.updateQueue,t===null?(t={lastEffect:null,stores:null},K.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Fa(e,t,n,r){t.value=n,t.getSnapshot=r,Oa(t)&&Ra(e)}function za(e,t,n){return n(function(){Oa(t)&&Ra(e)})}function Oa(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!We(e,n)}catch{return!0}}function Ra(e){var t=st(e,1);t!==null&&He(t,e,1,-1)}function Do(e){var t=Ye();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ar,lastRenderedState:e},t.queue=e,e=e.dispatch=wf.bind(null,K,e),[t.memoizedState,e]}function cr(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=K.updateQueue,t===null?(t={lastEffect:null,stores:null},K.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function Aa(){return Ae().memoizedState}function Hr(e,t,n,r){var l=Ye();K.flags|=e,l.memoizedState=cr(1|t,n,void 0,r===void 0?null:r)}function Nl(e,t,n,r){var l=Ae();r=r===void 0?null:r;var i=void 0;if(ee!==null){var o=ee.memoizedState;if(i=o.destroy,r!==null&&Rs(r,o.deps)){l.memoizedState=cr(t,n,i,r);return}}K.flags|=e,l.memoizedState=cr(1|t,n,i,r)}function Uo(e,t){return Hr(8390656,8,e,t)}function Is(e,t){return Nl(2048,8,e,t)}function Ma(e,t){return Nl(4,2,e,t)}function Ia(e,t){return Nl(4,4,e,t)}function Da(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ua(e,t,n){return n=n!=null?n.concat([e]):null,Nl(4,4,Da.bind(null,t,e),n)}function Ds(){}function $a(e,t){var n=Ae();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Rs(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Va(e,t){var n=Ae();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Rs(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Ba(e,t,n){return Bt&21?(We(n,t)||(n=Ku(),K.lanes|=n,Ht|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,ye=!0),e.memoizedState=n)}function xf(e,t){var n=U;U=n!==0&&4>n?n:4,e(!0);var r=bl.transition;bl.transition={};try{e(!1),t()}finally{U=n,bl.transition=r}}function Ha(){return Ae().memoizedState}function jf(e,t,n){var r=Et(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Wa(e))Qa(t,n);else if(n=Na(e,t,n,r),n!==null){var l=pe();He(n,e,r,l),Ga(n,t,r)}}function wf(e,t,n){var r=Et(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Wa(e))Qa(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,a=i(o,n);if(l.hasEagerState=!0,l.eagerState=a,We(a,o)){var u=t.interleaved;u===null?(l.next=l,Ts(t)):(l.next=u.next,u.next=l),t.interleaved=l;return}}catch{}finally{}n=Na(e,t,l,r),n!==null&&(l=pe(),He(n,e,r,l),Ga(n,t,r))}}function Wa(e){var t=e.alternate;return e===K||t!==null&&t===K}function Qa(e,t){Qn=dl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ga(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,hs(e,n)}}var fl={readContext:Re,useCallback:oe,useContext:oe,useEffect:oe,useImperativeHandle:oe,useInsertionEffect:oe,useLayoutEffect:oe,useMemo:oe,useReducer:oe,useRef:oe,useState:oe,useDebugValue:oe,useDeferredValue:oe,useTransition:oe,useMutableSource:oe,useSyncExternalStore:oe,useId:oe,unstable_isNewReconciler:!1},kf={readContext:Re,useCallback:function(e,t){return Ye().memoizedState=[e,t===void 0?null:t],e},useContext:Re,useEffect:Uo,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Hr(4194308,4,Da.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Hr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Hr(4,2,e,t)},useMemo:function(e,t){var n=Ye();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ye();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=jf.bind(null,K,e),[r.memoizedState,e]},useRef:function(e){var t=Ye();return e={current:e},t.memoizedState=e},useState:Do,useDebugValue:Ds,useDeferredValue:function(e){return Ye().memoizedState=e},useTransition:function(){var e=Do(!1),t=e[0];return e=xf.bind(null,e[1]),Ye().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=K,l=Ye();if(W){if(n===void 0)throw Error(j(407));n=n()}else{if(n=t(),re===null)throw Error(j(349));Bt&30||La(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Uo(za.bind(null,r,i,e),[e]),r.flags|=2048,cr(9,Fa.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ye(),t=re.identifierPrefix;if(W){var n=nt,r=tt;n=(r&~(1<<32-Be(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=ur++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=yf++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},Sf={readContext:Re,useCallback:$a,useContext:Re,useEffect:Is,useImperativeHandle:Ua,useInsertionEffect:Ma,useLayoutEffect:Ia,useMemo:Va,useReducer:ei,useRef:Aa,useState:function(){return ei(ar)},useDebugValue:Ds,useDeferredValue:function(e){var t=Ae();return Ba(t,ee.memoizedState,e)},useTransition:function(){var e=ei(ar)[0],t=Ae().memoizedState;return[e,t]},useMutableSource:_a,useSyncExternalStore:Ta,useId:Ha,unstable_isNewReconciler:!1},Cf={readContext:Re,useCallback:$a,useContext:Re,useEffect:Is,useImperativeHandle:Ua,useInsertionEffect:Ma,useLayoutEffect:Ia,useMemo:Va,useReducer:ti,useRef:Aa,useState:function(){return ti(ar)},useDebugValue:Ds,useDeferredValue:function(e){var t=Ae();return ee===null?t.memoizedState=e:Ba(t,ee.memoizedState,e)},useTransition:function(){var e=ti(ar)[0],t=Ae().memoizedState;return[e,t]},useMutableSource:_a,useSyncExternalStore:Ta,useId:Ha,unstable_isNewReconciler:!1};function Ue(e,t){if(e&&e.defaultProps){t=Y({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function Vi(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Y({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var El={isMounted:function(e){return(e=e._reactInternals)?Gt(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=pe(),l=Et(e),i=rt(r,l);i.payload=t,n!=null&&(i.callback=n),t=Ct(e,i,l),t!==null&&(He(t,e,l,r),Vr(t,e,l))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=pe(),l=Et(e),i=rt(r,l);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Ct(e,i,l),t!==null&&(He(t,e,l,r),Vr(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=pe(),r=Et(e),l=rt(n,r);l.tag=2,t!=null&&(l.callback=t),t=Ct(e,l,r),t!==null&&(He(t,e,r,n),Vr(t,e,r))}};function $o(e,t,n,r,l,i,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,i,o):t.prototype&&t.prototype.isPureReactComponent?!nr(n,r)||!nr(l,i):!0}function Ka(e,t,n){var r=!1,l=Tt,i=t.contextType;return typeof i=="object"&&i!==null?i=Re(i):(l=je(t)?$t:ce.current,r=t.contextTypes,i=(r=r!=null)?hn(e,l):Tt),t=new t(n,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=El,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=l,e.__reactInternalMemoizedMaskedChildContext=i),t}function Vo(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&El.enqueueReplaceState(t,t.state,null)}function Bi(e,t,n,r){var l=e.stateNode;l.props=n,l.state=e.memoizedState,l.refs={},Ls(e);var i=t.contextType;typeof i=="object"&&i!==null?l.context=Re(i):(i=je(t)?$t:ce.current,l.context=hn(e,i)),l.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(Vi(e,t,i,n),l.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof l.getSnapshotBeforeUpdate=="function"||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(t=l.state,typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount(),t!==l.state&&El.enqueueReplaceState(l,l.state,null),al(e,n,l,r),l.state=e.memoizedState),typeof l.componentDidMount=="function"&&(e.flags|=4194308)}function xn(e,t){try{var n="",r=t;do n+=Zc(r),r=r.return;while(r);var l=n}catch(i){l=`
|
|
39
|
+
Error generating stack: `+i.message+`
|
|
40
|
+
`+i.stack}return{value:e,source:t,stack:l,digest:null}}function ni(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Hi(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Nf=typeof WeakMap=="function"?WeakMap:Map;function Ya(e,t,n){n=rt(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){ml||(ml=!0,bi=r),Hi(e,t)},n}function Ja(e,t,n){n=rt(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=t.value;n.payload=function(){return r(l)},n.callback=function(){Hi(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){Hi(e,t),typeof r!="function"&&(Nt===null?Nt=new Set([this]):Nt.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function Bo(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Nf;var l=new Set;r.set(t,l)}else l=r.get(t),l===void 0&&(l=new Set,r.set(t,l));l.has(n)||(l.add(n),e=Uf.bind(null,e,t,n),t.then(e,e))}function Ho(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Wo(e,t,n,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=rt(-1,1),t.tag=2,Ct(n,t,1))),n.lanes|=1),e)}var Ef=at.ReactCurrentOwner,ye=!1;function fe(e,t,n,r){t.child=e===null?Ca(t,null,n,r):gn(t,e.child,n,r)}function Qo(e,t,n,r,l){n=n.render;var i=t.ref;return fn(t,l),r=As(e,t,n,r,i,l),n=Ms(),e!==null&&!ye?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,ot(e,t,l)):(W&&n&&Ss(t),t.flags|=1,fe(e,t,r,l),t.child)}function Go(e,t,n,r,l){if(e===null){var i=n.type;return typeof i=="function"&&!Gs(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,Xa(e,t,i,r,l)):(e=Kr(n.type,null,r,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&l)){var o=i.memoizedProps;if(n=n.compare,n=n!==null?n:nr,n(o,r)&&e.ref===t.ref)return ot(e,t,l)}return t.flags|=1,e=Pt(i,r),e.ref=t.ref,e.return=t,t.child=e}function Xa(e,t,n,r,l){if(e!==null){var i=e.memoizedProps;if(nr(i,r)&&e.ref===t.ref)if(ye=!1,t.pendingProps=r=i,(e.lanes&l)!==0)e.flags&131072&&(ye=!0);else return t.lanes=e.lanes,ot(e,t,l)}return Wi(e,t,n,r,l)}function Za(e,t,n){var r=t.pendingProps,l=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},V(on,Se),Se|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,V(on,Se),Se|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,V(on,Se),Se|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,V(on,Se),Se|=r;return fe(e,t,l,n),t.child}function qa(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Wi(e,t,n,r,l){var i=je(n)?$t:ce.current;return i=hn(t,i),fn(t,l),n=As(e,t,n,r,i,l),r=Ms(),e!==null&&!ye?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,ot(e,t,l)):(W&&r&&Ss(t),t.flags|=1,fe(e,t,n,l),t.child)}function Ko(e,t,n,r,l){if(je(n)){var i=!0;ll(t)}else i=!1;if(fn(t,l),t.stateNode===null)Wr(e,t),Ka(t,n,r),Bi(t,n,r,l),r=!0;else if(e===null){var o=t.stateNode,a=t.memoizedProps;o.props=a;var u=o.context,c=n.contextType;typeof c=="object"&&c!==null?c=Re(c):(c=je(n)?$t:ce.current,c=hn(t,c));var h=n.getDerivedStateFromProps,g=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";g||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==r||u!==c)&&Vo(t,o,r,c),ht=!1;var m=t.memoizedState;o.state=m,al(t,r,o,l),u=t.memoizedState,a!==r||m!==u||xe.current||ht?(typeof h=="function"&&(Vi(t,n,h,r),u=t.memoizedState),(a=ht||$o(t,n,a,r,m,u,c))?(g||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=u),o.props=r,o.state=u,o.context=c,r=a):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,Ea(e,t),a=t.memoizedProps,c=t.type===t.elementType?a:Ue(t.type,a),o.props=c,g=t.pendingProps,m=o.context,u=n.contextType,typeof u=="object"&&u!==null?u=Re(u):(u=je(n)?$t:ce.current,u=hn(t,u));var x=n.getDerivedStateFromProps;(h=typeof x=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==g||m!==u)&&Vo(t,o,r,u),ht=!1,m=t.memoizedState,o.state=m,al(t,r,o,l);var k=t.memoizedState;a!==g||m!==k||xe.current||ht?(typeof x=="function"&&(Vi(t,n,x,r),k=t.memoizedState),(c=ht||$o(t,n,c,r,m,k,u)||!1)?(h||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,k,u),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,k,u)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=k),o.props=r,o.state=k,o.context=u,r=c):(typeof o.componentDidUpdate!="function"||a===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),r=!1)}return Qi(e,t,n,r,i,l)}function Qi(e,t,n,r,l,i){qa(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return l&&zo(t,n,!1),ot(e,t,i);r=t.stateNode,Ef.current=t;var a=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=gn(t,e.child,null,i),t.child=gn(t,null,a,i)):fe(e,t,a,i),t.memoizedState=r.state,l&&zo(t,n,!0),t.child}function ba(e){var t=e.stateNode;t.pendingContext?Fo(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Fo(e,t.context,!1),Fs(e,t.containerInfo)}function Yo(e,t,n,r,l){return vn(),Ns(l),t.flags|=256,fe(e,t,n,r),t.child}var Gi={dehydrated:null,treeContext:null,retryLane:0};function Ki(e){return{baseLanes:e,cachePool:null,transitions:null}}function ec(e,t,n){var r=t.pendingProps,l=G.current,i=!1,o=(t.flags&128)!==0,a;if((a=o)||(a=e!==null&&e.memoizedState===null?!1:(l&2)!==0),a?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),V(G,l&1),e===null)return Ui(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,i?(r=t.mode,i=t.child,o={mode:"hidden",children:o},!(r&1)&&i!==null?(i.childLanes=0,i.pendingProps=o):i=Tl(o,r,0,null),e=Ut(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Ki(n),t.memoizedState=Gi,e):Us(t,o));if(l=e.memoizedState,l!==null&&(a=l.dehydrated,a!==null))return Pf(e,t,o,r,a,l,n);if(i){i=r.fallback,o=t.mode,l=e.child,a=l.sibling;var u={mode:"hidden",children:r.children};return!(o&1)&&t.child!==l?(r=t.child,r.childLanes=0,r.pendingProps=u,t.deletions=null):(r=Pt(l,u),r.subtreeFlags=l.subtreeFlags&14680064),a!==null?i=Pt(a,i):(i=Ut(i,o,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,o=e.child.memoizedState,o=o===null?Ki(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},i.memoizedState=o,i.childLanes=e.childLanes&~n,t.memoizedState=Gi,r}return i=e.child,e=i.sibling,r=Pt(i,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Us(e,t){return t=Tl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Fr(e,t,n,r){return r!==null&&Ns(r),gn(t,e.child,null,n),e=Us(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Pf(e,t,n,r,l,i,o){if(n)return t.flags&256?(t.flags&=-257,r=ni(Error(j(422))),Fr(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,l=t.mode,r=Tl({mode:"visible",children:r.children},l,0,null),i=Ut(i,l,o,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,t.mode&1&&gn(t,e.child,null,o),t.child.memoizedState=Ki(o),t.memoizedState=Gi,i);if(!(t.mode&1))return Fr(e,t,o,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var a=r.dgst;return r=a,i=Error(j(419)),r=ni(i,r,void 0),Fr(e,t,o,r)}if(a=(o&e.childLanes)!==0,ye||a){if(r=re,r!==null){switch(o&-o){case 4:l=2;break;case 16:l=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|o)?0:l,l!==0&&l!==i.retryLane&&(i.retryLane=l,st(e,l),He(r,e,l,-1))}return Qs(),r=ni(Error(j(421))),Fr(e,t,o,r)}return l.data==="$?"?(t.flags|=128,t.child=e.child,t=$f.bind(null,e),l._reactRetry=t,null):(e=i.treeContext,Ne=St(l.nextSibling),Ee=t,W=!0,Ve=null,e!==null&&(Le[Fe++]=tt,Le[Fe++]=nt,Le[Fe++]=Vt,tt=e.id,nt=e.overflow,Vt=t),t=Us(t,r.children),t.flags|=4096,t)}function Jo(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),$i(e.return,t,n)}function ri(e,t,n,r,l){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=l)}function tc(e,t,n){var r=t.pendingProps,l=r.revealOrder,i=r.tail;if(fe(e,t,r.children,n),r=G.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Jo(e,n,t);else if(e.tag===19)Jo(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(V(G,r),!(t.mode&1))t.memoizedState=null;else switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&cl(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),ri(t,!1,l,n,i);break;case"backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&cl(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}ri(t,!0,n,null,i);break;case"together":ri(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Wr(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ot(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Ht|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(j(153));if(t.child!==null){for(e=t.child,n=Pt(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Pt(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function _f(e,t,n){switch(t.tag){case 3:ba(t),vn();break;case 5:Pa(t);break;case 1:je(t.type)&&ll(t);break;case 4:Fs(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,l=t.memoizedProps.value;V(ol,r._currentValue),r._currentValue=l;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(V(G,G.current&1),t.flags|=128,null):n&t.child.childLanes?ec(e,t,n):(V(G,G.current&1),e=ot(e,t,n),e!==null?e.sibling:null);V(G,G.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return tc(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),V(G,G.current),r)break;return null;case 22:case 23:return t.lanes=0,Za(e,t,n)}return ot(e,t,n)}var nc,Yi,rc,lc;nc=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Yi=function(){};rc=function(e,t,n,r){var l=e.memoizedProps;if(l!==r){e=t.stateNode,It(Ze.current);var i=null;switch(n){case"input":l=vi(e,l),r=vi(e,r),i=[];break;case"select":l=Y({},l,{value:void 0}),r=Y({},r,{value:void 0}),i=[];break;case"textarea":l=xi(e,l),r=xi(e,r),i=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=nl)}wi(n,r);var o;n=null;for(c in l)if(!r.hasOwnProperty(c)&&l.hasOwnProperty(c)&&l[c]!=null)if(c==="style"){var a=l[c];for(o in a)a.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Jn.hasOwnProperty(c)?i||(i=[]):(i=i||[]).push(c,null));for(c in r){var u=r[c];if(a=l!=null?l[c]:void 0,r.hasOwnProperty(c)&&u!==a&&(u!=null||a!=null))if(c==="style")if(a){for(o in a)!a.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in u)u.hasOwnProperty(o)&&a[o]!==u[o]&&(n||(n={}),n[o]=u[o])}else n||(i||(i=[]),i.push(c,n)),n=u;else c==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,a=a?a.__html:void 0,u!=null&&a!==u&&(i=i||[]).push(c,u)):c==="children"?typeof u!="string"&&typeof u!="number"||(i=i||[]).push(c,""+u):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(Jn.hasOwnProperty(c)?(u!=null&&c==="onScroll"&&B("scroll",e),i||a===u||(i=[])):(i=i||[]).push(c,u))}n&&(i=i||[]).push("style",n);var c=i;(t.updateQueue=c)&&(t.flags|=4)}};lc=function(e,t,n,r){n!==r&&(t.flags|=4)};function zn(e,t){if(!W)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ue(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Tf(e,t,n){var r=t.pendingProps;switch(Cs(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ue(t),null;case 1:return je(t.type)&&rl(),ue(t),null;case 3:return r=t.stateNode,yn(),H(xe),H(ce),Os(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Tr(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ve!==null&&(ns(Ve),Ve=null))),Yi(e,t),ue(t),null;case 5:zs(t);var l=It(or.current);if(n=t.type,e!==null&&t.stateNode!=null)rc(e,t,n,r,l),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(j(166));return ue(t),null}if(e=It(Ze.current),Tr(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[Je]=t,r[ir]=i,e=(t.mode&1)!==0,n){case"dialog":B("cancel",r),B("close",r);break;case"iframe":case"object":case"embed":B("load",r);break;case"video":case"audio":for(l=0;l<Un.length;l++)B(Un[l],r);break;case"source":B("error",r);break;case"img":case"image":case"link":B("error",r),B("load",r);break;case"details":B("toggle",r);break;case"input":ro(r,i),B("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},B("invalid",r);break;case"textarea":io(r,i),B("invalid",r)}wi(n,i),l=null;for(var o in i)if(i.hasOwnProperty(o)){var a=i[o];o==="children"?typeof a=="string"?r.textContent!==a&&(i.suppressHydrationWarning!==!0&&_r(r.textContent,a,e),l=["children",a]):typeof a=="number"&&r.textContent!==""+a&&(i.suppressHydrationWarning!==!0&&_r(r.textContent,a,e),l=["children",""+a]):Jn.hasOwnProperty(o)&&a!=null&&o==="onScroll"&&B("scroll",r)}switch(n){case"input":jr(r),lo(r,i,!0);break;case"textarea":jr(r),so(r);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(r.onclick=nl)}r=l,t.updateQueue=r,r!==null&&(t.flags|=4)}else{o=l.nodeType===9?l:l.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=zu(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Je]=t,e[ir]=r,nc(e,t,!1,!1),t.stateNode=e;e:{switch(o=ki(n,r),n){case"dialog":B("cancel",e),B("close",e),l=r;break;case"iframe":case"object":case"embed":B("load",e),l=r;break;case"video":case"audio":for(l=0;l<Un.length;l++)B(Un[l],e);l=r;break;case"source":B("error",e),l=r;break;case"img":case"image":case"link":B("error",e),B("load",e),l=r;break;case"details":B("toggle",e),l=r;break;case"input":ro(e,r),l=vi(e,r),B("invalid",e);break;case"option":l=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},l=Y({},r,{value:void 0}),B("invalid",e);break;case"textarea":io(e,r),l=xi(e,r),B("invalid",e);break;default:l=r}wi(n,l),a=l;for(i in a)if(a.hasOwnProperty(i)){var u=a[i];i==="style"?Au(e,u):i==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,u!=null&&Ou(e,u)):i==="children"?typeof u=="string"?(n!=="textarea"||u!=="")&&Xn(e,u):typeof u=="number"&&Xn(e,""+u):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(Jn.hasOwnProperty(i)?u!=null&&i==="onScroll"&&B("scroll",e):u!=null&&as(e,i,u,o))}switch(n){case"input":jr(e),lo(e,r,!1);break;case"textarea":jr(e),so(e);break;case"option":r.value!=null&&e.setAttribute("value",""+_t(r.value));break;case"select":e.multiple=!!r.multiple,i=r.value,i!=null?un(e,!!r.multiple,i,!1):r.defaultValue!=null&&un(e,!!r.multiple,r.defaultValue,!0);break;default:typeof l.onClick=="function"&&(e.onclick=nl)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return ue(t),null;case 6:if(e&&t.stateNode!=null)lc(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(j(166));if(n=It(or.current),It(Ze.current),Tr(t)){if(r=t.stateNode,n=t.memoizedProps,r[Je]=t,(i=r.nodeValue!==n)&&(e=Ee,e!==null))switch(e.tag){case 3:_r(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&_r(r.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[Je]=t,t.stateNode=r}return ue(t),null;case 13:if(H(G),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(W&&Ne!==null&&t.mode&1&&!(t.flags&128))ka(),vn(),t.flags|=98560,i=!1;else if(i=Tr(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(j(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(j(317));i[Je]=t}else vn(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ue(t),i=!1}else Ve!==null&&(ns(Ve),Ve=null),i=!0;if(!i)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||G.current&1?te===0&&(te=3):Qs())),t.updateQueue!==null&&(t.flags|=4),ue(t),null);case 4:return yn(),Yi(e,t),e===null&&rr(t.stateNode.containerInfo),ue(t),null;case 10:return _s(t.type._context),ue(t),null;case 17:return je(t.type)&&rl(),ue(t),null;case 19:if(H(G),i=t.memoizedState,i===null)return ue(t),null;if(r=(t.flags&128)!==0,o=i.rendering,o===null)if(r)zn(i,!1);else{if(te!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=cl(e),o!==null){for(t.flags|=128,zn(i,!1),r=o.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)i=n,e=r,i.flags&=14680066,o=i.alternate,o===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=o.childLanes,i.lanes=o.lanes,i.child=o.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=o.memoizedProps,i.memoizedState=o.memoizedState,i.updateQueue=o.updateQueue,i.type=o.type,e=o.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return V(G,G.current&1|2),t.child}e=e.sibling}i.tail!==null&&Z()>jn&&(t.flags|=128,r=!0,zn(i,!1),t.lanes=4194304)}else{if(!r)if(e=cl(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),zn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!W)return ue(t),null}else 2*Z()-i.renderingStartTime>jn&&n!==1073741824&&(t.flags|=128,r=!0,zn(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(n=i.last,n!==null?n.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Z(),t.sibling=null,n=G.current,V(G,r?n&1|2:n&1),t):(ue(t),null);case 22:case 23:return Ws(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Se&1073741824&&(ue(t),t.subtreeFlags&6&&(t.flags|=8192)):ue(t),null;case 24:return null;case 25:return null}throw Error(j(156,t.tag))}function Lf(e,t){switch(Cs(t),t.tag){case 1:return je(t.type)&&rl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return yn(),H(xe),H(ce),Os(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return zs(t),null;case 13:if(H(G),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(j(340));vn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return H(G),null;case 4:return yn(),null;case 10:return _s(t.type._context),null;case 22:case 23:return Ws(),null;case 24:return null;default:return null}}var zr=!1,ae=!1,Ff=typeof WeakSet=="function"?WeakSet:Set,T=null;function sn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){X(e,t,r)}else n.current=null}function Ji(e,t,n){try{n()}catch(r){X(e,t,r)}}var Xo=!1;function zf(e,t){if(zi=br,e=aa(),ks(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,a=-1,u=-1,c=0,h=0,g=e,m=null;t:for(;;){for(var x;g!==n||l!==0&&g.nodeType!==3||(a=o+l),g!==i||r!==0&&g.nodeType!==3||(u=o+r),g.nodeType===3&&(o+=g.nodeValue.length),(x=g.firstChild)!==null;)m=g,g=x;for(;;){if(g===e)break t;if(m===n&&++c===l&&(a=o),m===i&&++h===r&&(u=o),(x=g.nextSibling)!==null)break;g=m,m=g.parentNode}g=x}n=a===-1||u===-1?null:{start:a,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(Oi={focusedElem:e,selectionRange:n},br=!1,T=t;T!==null;)if(t=T,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,T=e;else for(;T!==null;){t=T;try{var k=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(k!==null){var C=k.memoizedProps,I=k.memoizedState,d=t.stateNode,f=d.getSnapshotBeforeUpdate(t.elementType===t.type?C:Ue(t.type,C),I);d.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(j(163))}}catch(y){X(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,T=e;break}T=t.return}return k=Xo,Xo=!1,k}function Gn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Ji(t,n,i)}l=l.next}while(l!==r)}}function Pl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Xi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function ic(e){var t=e.alternate;t!==null&&(e.alternate=null,ic(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Je],delete t[ir],delete t[Mi],delete t[mf],delete t[hf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function sc(e){return e.tag===5||e.tag===3||e.tag===4}function Zo(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||sc(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.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 Zi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=nl));else if(r!==4&&(e=e.child,e!==null))for(Zi(e,t,n),e=e.sibling;e!==null;)Zi(e,t,n),e=e.sibling}function qi(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(qi(e,t,n),e=e.sibling;e!==null;)qi(e,t,n),e=e.sibling}var le=null,$e=!1;function pt(e,t,n){for(n=n.child;n!==null;)oc(e,t,n),n=n.sibling}function oc(e,t,n){if(Xe&&typeof Xe.onCommitFiberUnmount=="function")try{Xe.onCommitFiberUnmount(xl,n)}catch{}switch(n.tag){case 5:ae||sn(n,t);case 6:var r=le,l=$e;le=null,pt(e,t,n),le=r,$e=l,le!==null&&($e?(e=le,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):le.removeChild(n.stateNode));break;case 18:le!==null&&($e?(e=le,n=n.stateNode,e.nodeType===8?Xl(e.parentNode,n):e.nodeType===1&&Xl(e,n),er(e)):Xl(le,n.stateNode));break;case 4:r=le,l=$e,le=n.stateNode.containerInfo,$e=!0,pt(e,t,n),le=r,$e=l;break;case 0:case 11:case 14:case 15:if(!ae&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&Ji(n,t,o),l=l.next}while(l!==r)}pt(e,t,n);break;case 1:if(!ae&&(sn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){X(n,t,a)}pt(e,t,n);break;case 21:pt(e,t,n);break;case 22:n.mode&1?(ae=(r=ae)||n.memoizedState!==null,pt(e,t,n),ae=r):pt(e,t,n);break;default:pt(e,t,n)}}function qo(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ff),t.forEach(function(r){var l=Vf.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function De(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var l=n[r];try{var i=e,o=t,a=o;e:for(;a!==null;){switch(a.tag){case 5:le=a.stateNode,$e=!1;break e;case 3:le=a.stateNode.containerInfo,$e=!0;break e;case 4:le=a.stateNode.containerInfo,$e=!0;break e}a=a.return}if(le===null)throw Error(j(160));oc(i,o,l),le=null,$e=!1;var u=l.alternate;u!==null&&(u.return=null),l.return=null}catch(c){X(l,t,c)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)uc(t,e),t=t.sibling}function uc(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(De(t,e),Ke(e),r&4){try{Gn(3,e,e.return),Pl(3,e)}catch(C){X(e,e.return,C)}try{Gn(5,e,e.return)}catch(C){X(e,e.return,C)}}break;case 1:De(t,e),Ke(e),r&512&&n!==null&&sn(n,n.return);break;case 5:if(De(t,e),Ke(e),r&512&&n!==null&&sn(n,n.return),e.flags&32){var l=e.stateNode;try{Xn(l,"")}catch(C){X(e,e.return,C)}}if(r&4&&(l=e.stateNode,l!=null)){var i=e.memoizedProps,o=n!==null?n.memoizedProps:i,a=e.type,u=e.updateQueue;if(e.updateQueue=null,u!==null)try{a==="input"&&i.type==="radio"&&i.name!=null&&Lu(l,i),ki(a,o);var c=ki(a,i);for(o=0;o<u.length;o+=2){var h=u[o],g=u[o+1];h==="style"?Au(l,g):h==="dangerouslySetInnerHTML"?Ou(l,g):h==="children"?Xn(l,g):as(l,h,g,c)}switch(a){case"input":gi(l,i);break;case"textarea":Fu(l,i);break;case"select":var m=l._wrapperState.wasMultiple;l._wrapperState.wasMultiple=!!i.multiple;var x=i.value;x!=null?un(l,!!i.multiple,x,!1):m!==!!i.multiple&&(i.defaultValue!=null?un(l,!!i.multiple,i.defaultValue,!0):un(l,!!i.multiple,i.multiple?[]:"",!1))}l[ir]=i}catch(C){X(e,e.return,C)}}break;case 6:if(De(t,e),Ke(e),r&4){if(e.stateNode===null)throw Error(j(162));l=e.stateNode,i=e.memoizedProps;try{l.nodeValue=i}catch(C){X(e,e.return,C)}}break;case 3:if(De(t,e),Ke(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{er(t.containerInfo)}catch(C){X(e,e.return,C)}break;case 4:De(t,e),Ke(e);break;case 13:De(t,e),Ke(e),l=e.child,l.flags&8192&&(i=l.memoizedState!==null,l.stateNode.isHidden=i,!i||l.alternate!==null&&l.alternate.memoizedState!==null||(Bs=Z())),r&4&&qo(e);break;case 22:if(h=n!==null&&n.memoizedState!==null,e.mode&1?(ae=(c=ae)||h,De(t,e),ae=c):De(t,e),Ke(e),r&8192){if(c=e.memoizedState!==null,(e.stateNode.isHidden=c)&&!h&&e.mode&1)for(T=e,h=e.child;h!==null;){for(g=T=h;T!==null;){switch(m=T,x=m.child,m.tag){case 0:case 11:case 14:case 15:Gn(4,m,m.return);break;case 1:sn(m,m.return);var k=m.stateNode;if(typeof k.componentWillUnmount=="function"){r=m,n=m.return;try{t=r,k.props=t.memoizedProps,k.state=t.memoizedState,k.componentWillUnmount()}catch(C){X(r,n,C)}}break;case 5:sn(m,m.return);break;case 22:if(m.memoizedState!==null){eu(g);continue}}x!==null?(x.return=m,T=x):eu(g)}h=h.sibling}e:for(h=null,g=e;;){if(g.tag===5){if(h===null){h=g;try{l=g.stateNode,c?(i=l.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(a=g.stateNode,u=g.memoizedProps.style,o=u!=null&&u.hasOwnProperty("display")?u.display:null,a.style.display=Ru("display",o))}catch(C){X(e,e.return,C)}}}else if(g.tag===6){if(h===null)try{g.stateNode.nodeValue=c?"":g.memoizedProps}catch(C){X(e,e.return,C)}}else if((g.tag!==22&&g.tag!==23||g.memoizedState===null||g===e)&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===e)break e;for(;g.sibling===null;){if(g.return===null||g.return===e)break e;h===g&&(h=null),g=g.return}h===g&&(h=null),g.sibling.return=g.return,g=g.sibling}}break;case 19:De(t,e),Ke(e),r&4&&qo(e);break;case 21:break;default:De(t,e),Ke(e)}}function Ke(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(sc(n)){var r=n;break e}n=n.return}throw Error(j(160))}switch(r.tag){case 5:var l=r.stateNode;r.flags&32&&(Xn(l,""),r.flags&=-33);var i=Zo(e);qi(e,i,l);break;case 3:case 4:var o=r.stateNode.containerInfo,a=Zo(e);Zi(e,a,o);break;default:throw Error(j(161))}}catch(u){X(e,e.return,u)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Of(e,t,n){T=e,ac(e)}function ac(e,t,n){for(var r=(e.mode&1)!==0;T!==null;){var l=T,i=l.child;if(l.tag===22&&r){var o=l.memoizedState!==null||zr;if(!o){var a=l.alternate,u=a!==null&&a.memoizedState!==null||ae;a=zr;var c=ae;if(zr=o,(ae=u)&&!c)for(T=l;T!==null;)o=T,u=o.child,o.tag===22&&o.memoizedState!==null?tu(l):u!==null?(u.return=o,T=u):tu(l);for(;i!==null;)T=i,ac(i),i=i.sibling;T=l,zr=a,ae=c}bo(e)}else l.subtreeFlags&8772&&i!==null?(i.return=l,T=i):bo(e)}}function bo(e){for(;T!==null;){var t=T;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:ae||Pl(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!ae)if(n===null)r.componentDidMount();else{var l=t.elementType===t.type?n.memoizedProps:Ue(t.type,n.memoizedProps);r.componentDidUpdate(l,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&Io(t,i,r);break;case 3:var o=t.updateQueue;if(o!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Io(t,o,n)}break;case 5:var a=t.stateNode;if(n===null&&t.flags&4){n=a;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&n.focus();break;case"img":u.src&&(n.src=u.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var c=t.alternate;if(c!==null){var h=c.memoizedState;if(h!==null){var g=h.dehydrated;g!==null&&er(g)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(j(163))}ae||t.flags&512&&Xi(t)}catch(m){X(t,t.return,m)}}if(t===e){T=null;break}if(n=t.sibling,n!==null){n.return=t.return,T=n;break}T=t.return}}function eu(e){for(;T!==null;){var t=T;if(t===e){T=null;break}var n=t.sibling;if(n!==null){n.return=t.return,T=n;break}T=t.return}}function tu(e){for(;T!==null;){var t=T;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Pl(4,t)}catch(u){X(t,n,u)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var l=t.return;try{r.componentDidMount()}catch(u){X(t,l,u)}}var i=t.return;try{Xi(t)}catch(u){X(t,i,u)}break;case 5:var o=t.return;try{Xi(t)}catch(u){X(t,o,u)}}}catch(u){X(t,t.return,u)}if(t===e){T=null;break}var a=t.sibling;if(a!==null){a.return=t.return,T=a;break}T=t.return}}var Rf=Math.ceil,pl=at.ReactCurrentDispatcher,$s=at.ReactCurrentOwner,Oe=at.ReactCurrentBatchConfig,D=0,re=null,b=null,ie=0,Se=0,on=Ft(0),te=0,dr=null,Ht=0,_l=0,Vs=0,Kn=null,ge=null,Bs=0,jn=1/0,be=null,ml=!1,bi=null,Nt=null,Or=!1,xt=null,hl=0,Yn=0,es=null,Qr=-1,Gr=0;function pe(){return D&6?Z():Qr!==-1?Qr:Qr=Z()}function Et(e){return e.mode&1?D&2&&ie!==0?ie&-ie:gf.transition!==null?(Gr===0&&(Gr=Ku()),Gr):(e=U,e!==0||(e=window.event,e=e===void 0?16:ea(e.type)),e):1}function He(e,t,n,r){if(50<Yn)throw Yn=0,es=null,Error(j(185));pr(e,n,r),(!(D&2)||e!==re)&&(e===re&&(!(D&2)&&(_l|=n),te===4&>(e,ie)),we(e,r),n===1&&D===0&&!(t.mode&1)&&(jn=Z()+500,Cl&&zt()))}function we(e,t){var n=e.callbackNode;vd(e,t);var r=qr(e,e===re?ie:0);if(r===0)n!==null&&ao(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&ao(n),t===1)e.tag===0?vf(nu.bind(null,e)):xa(nu.bind(null,e)),ff(function(){!(D&6)&&zt()}),n=null;else{switch(Yu(r)){case 1:n=ms;break;case 4:n=Qu;break;case 16:n=Zr;break;case 536870912:n=Gu;break;default:n=Zr}n=gc(n,cc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function cc(e,t){if(Qr=-1,Gr=0,D&6)throw Error(j(327));var n=e.callbackNode;if(pn()&&e.callbackNode!==n)return null;var r=qr(e,e===re?ie:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=vl(e,r);else{t=r;var l=D;D|=2;var i=fc();(re!==e||ie!==t)&&(be=null,jn=Z()+500,Dt(e,t));do try{If();break}catch(a){dc(e,a)}while(!0);Ps(),pl.current=i,D=l,b!==null?t=0:(re=null,ie=0,t=te)}if(t!==0){if(t===2&&(l=Pi(e),l!==0&&(r=l,t=ts(e,l))),t===1)throw n=dr,Dt(e,0),gt(e,r),we(e,Z()),n;if(t===6)gt(e,r);else{if(l=e.current.alternate,!(r&30)&&!Af(l)&&(t=vl(e,r),t===2&&(i=Pi(e),i!==0&&(r=i,t=ts(e,i))),t===1))throw n=dr,Dt(e,0),gt(e,r),we(e,Z()),n;switch(e.finishedWork=l,e.finishedLanes=r,t){case 0:case 1:throw Error(j(345));case 2:Rt(e,ge,be);break;case 3:if(gt(e,r),(r&130023424)===r&&(t=Bs+500-Z(),10<t)){if(qr(e,0)!==0)break;if(l=e.suspendedLanes,(l&r)!==r){pe(),e.pingedLanes|=e.suspendedLanes&l;break}e.timeoutHandle=Ai(Rt.bind(null,e,ge,be),t);break}Rt(e,ge,be);break;case 4:if(gt(e,r),(r&4194240)===r)break;for(t=e.eventTimes,l=-1;0<r;){var o=31-Be(r);i=1<<o,o=t[o],o>l&&(l=o),r&=~i}if(r=l,r=Z()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Rf(r/1960))-r,10<r){e.timeoutHandle=Ai(Rt.bind(null,e,ge,be),r);break}Rt(e,ge,be);break;case 5:Rt(e,ge,be);break;default:throw Error(j(329))}}}return we(e,Z()),e.callbackNode===n?cc.bind(null,e):null}function ts(e,t){var n=Kn;return e.current.memoizedState.isDehydrated&&(Dt(e,t).flags|=256),e=vl(e,t),e!==2&&(t=ge,ge=n,t!==null&&ns(t)),e}function ns(e){ge===null?ge=e:ge.push.apply(ge,e)}function Af(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var l=n[r],i=l.getSnapshot;l=l.value;try{if(!We(i(),l))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function gt(e,t){for(t&=~Vs,t&=~_l,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Be(t),r=1<<n;e[n]=-1,t&=~r}}function nu(e){if(D&6)throw Error(j(327));pn();var t=qr(e,0);if(!(t&1))return we(e,Z()),null;var n=vl(e,t);if(e.tag!==0&&n===2){var r=Pi(e);r!==0&&(t=r,n=ts(e,r))}if(n===1)throw n=dr,Dt(e,0),gt(e,t),we(e,Z()),n;if(n===6)throw Error(j(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Rt(e,ge,be),we(e,Z()),null}function Hs(e,t){var n=D;D|=1;try{return e(t)}finally{D=n,D===0&&(jn=Z()+500,Cl&&zt())}}function Wt(e){xt!==null&&xt.tag===0&&!(D&6)&&pn();var t=D;D|=1;var n=Oe.transition,r=U;try{if(Oe.transition=null,U=1,e)return e()}finally{U=r,Oe.transition=n,D=t,!(D&6)&&zt()}}function Ws(){Se=on.current,H(on)}function Dt(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,df(n)),b!==null)for(n=b.return;n!==null;){var r=n;switch(Cs(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&rl();break;case 3:yn(),H(xe),H(ce),Os();break;case 5:zs(r);break;case 4:yn();break;case 13:H(G);break;case 19:H(G);break;case 10:_s(r.type._context);break;case 22:case 23:Ws()}n=n.return}if(re=e,b=e=Pt(e.current,null),ie=Se=t,te=0,dr=null,Vs=_l=Ht=0,ge=Kn=null,Mt!==null){for(t=0;t<Mt.length;t++)if(n=Mt[t],r=n.interleaved,r!==null){n.interleaved=null;var l=r.next,i=n.pending;if(i!==null){var o=i.next;i.next=l,r.next=o}n.pending=r}Mt=null}return e}function dc(e,t){do{var n=b;try{if(Ps(),Br.current=fl,dl){for(var r=K.memoizedState;r!==null;){var l=r.queue;l!==null&&(l.pending=null),r=r.next}dl=!1}if(Bt=0,ne=ee=K=null,Qn=!1,ur=0,$s.current=null,n===null||n.return===null){te=1,dr=t,b=null;break}e:{var i=e,o=n.return,a=n,u=t;if(t=ie,a.flags|=32768,u!==null&&typeof u=="object"&&typeof u.then=="function"){var c=u,h=a,g=h.tag;if(!(h.mode&1)&&(g===0||g===11||g===15)){var m=h.alternate;m?(h.updateQueue=m.updateQueue,h.memoizedState=m.memoizedState,h.lanes=m.lanes):(h.updateQueue=null,h.memoizedState=null)}var x=Ho(o);if(x!==null){x.flags&=-257,Wo(x,o,a,i,t),x.mode&1&&Bo(i,c,t),t=x,u=c;var k=t.updateQueue;if(k===null){var C=new Set;C.add(u),t.updateQueue=C}else k.add(u);break e}else{if(!(t&1)){Bo(i,c,t),Qs();break e}u=Error(j(426))}}else if(W&&a.mode&1){var I=Ho(o);if(I!==null){!(I.flags&65536)&&(I.flags|=256),Wo(I,o,a,i,t),Ns(xn(u,a));break e}}i=u=xn(u,a),te!==4&&(te=2),Kn===null?Kn=[i]:Kn.push(i),i=o;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var d=Ya(i,u,t);Mo(i,d);break e;case 1:a=u;var f=i.type,p=i.stateNode;if(!(i.flags&128)&&(typeof f.getDerivedStateFromError=="function"||p!==null&&typeof p.componentDidCatch=="function"&&(Nt===null||!Nt.has(p)))){i.flags|=65536,t&=-t,i.lanes|=t;var y=Ja(i,a,t);Mo(i,y);break e}}i=i.return}while(i!==null)}mc(n)}catch(S){t=S,b===n&&n!==null&&(b=n=n.return);continue}break}while(!0)}function fc(){var e=pl.current;return pl.current=fl,e===null?fl:e}function Qs(){(te===0||te===3||te===2)&&(te=4),re===null||!(Ht&268435455)&&!(_l&268435455)||gt(re,ie)}function vl(e,t){var n=D;D|=2;var r=fc();(re!==e||ie!==t)&&(be=null,Dt(e,t));do try{Mf();break}catch(l){dc(e,l)}while(!0);if(Ps(),D=n,pl.current=r,b!==null)throw Error(j(261));return re=null,ie=0,te}function Mf(){for(;b!==null;)pc(b)}function If(){for(;b!==null&&!od();)pc(b)}function pc(e){var t=vc(e.alternate,e,Se);e.memoizedProps=e.pendingProps,t===null?mc(e):b=t,$s.current=null}function mc(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=Lf(n,t),n!==null){n.flags&=32767,b=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{te=6,b=null;return}}else if(n=Tf(n,t,Se),n!==null){b=n;return}if(t=t.sibling,t!==null){b=t;return}b=t=e}while(t!==null);te===0&&(te=5)}function Rt(e,t,n){var r=U,l=Oe.transition;try{Oe.transition=null,U=1,Df(e,t,n,r)}finally{Oe.transition=l,U=r}return null}function Df(e,t,n,r){do pn();while(xt!==null);if(D&6)throw Error(j(327));n=e.finishedWork;var l=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(j(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(gd(e,i),e===re&&(b=re=null,ie=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||Or||(Or=!0,gc(Zr,function(){return pn(),null})),i=(n.flags&15990)!==0,n.subtreeFlags&15990||i){i=Oe.transition,Oe.transition=null;var o=U;U=1;var a=D;D|=4,$s.current=null,zf(e,n),uc(n,e),rf(Oi),br=!!zi,Oi=zi=null,e.current=n,Of(n),ud(),D=a,U=o,Oe.transition=i}else e.current=n;if(Or&&(Or=!1,xt=e,hl=l),i=e.pendingLanes,i===0&&(Nt=null),dd(n.stateNode),we(e,Z()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)l=t[n],r(l.value,{componentStack:l.stack,digest:l.digest});if(ml)throw ml=!1,e=bi,bi=null,e;return hl&1&&e.tag!==0&&pn(),i=e.pendingLanes,i&1?e===es?Yn++:(Yn=0,es=e):Yn=0,zt(),null}function pn(){if(xt!==null){var e=Yu(hl),t=Oe.transition,n=U;try{if(Oe.transition=null,U=16>e?16:e,xt===null)var r=!1;else{if(e=xt,xt=null,hl=0,D&6)throw Error(j(331));var l=D;for(D|=4,T=e.current;T!==null;){var i=T,o=i.child;if(T.flags&16){var a=i.deletions;if(a!==null){for(var u=0;u<a.length;u++){var c=a[u];for(T=c;T!==null;){var h=T;switch(h.tag){case 0:case 11:case 15:Gn(8,h,i)}var g=h.child;if(g!==null)g.return=h,T=g;else for(;T!==null;){h=T;var m=h.sibling,x=h.return;if(ic(h),h===c){T=null;break}if(m!==null){m.return=x,T=m;break}T=x}}}var k=i.alternate;if(k!==null){var C=k.child;if(C!==null){k.child=null;do{var I=C.sibling;C.sibling=null,C=I}while(C!==null)}}T=i}}if(i.subtreeFlags&2064&&o!==null)o.return=i,T=o;else e:for(;T!==null;){if(i=T,i.flags&2048)switch(i.tag){case 0:case 11:case 15:Gn(9,i,i.return)}var d=i.sibling;if(d!==null){d.return=i.return,T=d;break e}T=i.return}}var f=e.current;for(T=f;T!==null;){o=T;var p=o.child;if(o.subtreeFlags&2064&&p!==null)p.return=o,T=p;else e:for(o=f;T!==null;){if(a=T,a.flags&2048)try{switch(a.tag){case 0:case 11:case 15:Pl(9,a)}}catch(S){X(a,a.return,S)}if(a===o){T=null;break e}var y=a.sibling;if(y!==null){y.return=a.return,T=y;break e}T=a.return}}if(D=l,zt(),Xe&&typeof Xe.onPostCommitFiberRoot=="function")try{Xe.onPostCommitFiberRoot(xl,e)}catch{}r=!0}return r}finally{U=n,Oe.transition=t}}return!1}function ru(e,t,n){t=xn(n,t),t=Ya(e,t,1),e=Ct(e,t,1),t=pe(),e!==null&&(pr(e,1,t),we(e,t))}function X(e,t,n){if(e.tag===3)ru(e,e,n);else for(;t!==null;){if(t.tag===3){ru(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Nt===null||!Nt.has(r))){e=xn(n,e),e=Ja(t,e,1),t=Ct(t,e,1),e=pe(),t!==null&&(pr(t,1,e),we(t,e));break}}t=t.return}}function Uf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=pe(),e.pingedLanes|=e.suspendedLanes&n,re===e&&(ie&n)===n&&(te===4||te===3&&(ie&130023424)===ie&&500>Z()-Bs?Dt(e,0):Vs|=n),we(e,t)}function hc(e,t){t===0&&(e.mode&1?(t=Sr,Sr<<=1,!(Sr&130023424)&&(Sr=4194304)):t=1);var n=pe();e=st(e,t),e!==null&&(pr(e,t,n),we(e,n))}function $f(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),hc(e,n)}function Vf(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(j(314))}r!==null&&r.delete(t),hc(e,n)}var vc;vc=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||xe.current)ye=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ye=!1,_f(e,t,n);ye=!!(e.flags&131072)}else ye=!1,W&&t.flags&1048576&&ja(t,sl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Wr(e,t),e=t.pendingProps;var l=hn(t,ce.current);fn(t,n),l=As(null,t,r,e,l,n);var i=Ms();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,je(r)?(i=!0,ll(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,Ls(t),l.updater=El,t.stateNode=l,l._reactInternals=t,Bi(t,r,e,n),t=Qi(null,t,r,!0,i,n)):(t.tag=0,W&&i&&Ss(t),fe(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Wr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Hf(r),e=Ue(r,e),l){case 0:t=Wi(null,t,r,e,n);break e;case 1:t=Ko(null,t,r,e,n);break e;case 11:t=Qo(null,t,r,e,n);break e;case 14:t=Go(null,t,r,Ue(r.type,e),n);break e}throw Error(j(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ue(r,l),Wi(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ue(r,l),Ko(e,t,r,l,n);case 3:e:{if(ba(t),e===null)throw Error(j(387));r=t.pendingProps,i=t.memoizedState,l=i.element,Ea(e,t),al(t,r,null,n);var o=t.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=xn(Error(j(423)),t),t=Yo(e,t,r,n,l);break e}else if(r!==l){l=xn(Error(j(424)),t),t=Yo(e,t,r,n,l);break e}else for(Ne=St(t.stateNode.containerInfo.firstChild),Ee=t,W=!0,Ve=null,n=Ca(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(vn(),r===l){t=ot(e,t,n);break e}fe(e,t,r,n)}t=t.child}return t;case 5:return Pa(t),e===null&&Ui(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,Ri(r,l)?o=null:i!==null&&Ri(r,i)&&(t.flags|=32),qa(e,t),fe(e,t,o,n),t.child;case 6:return e===null&&Ui(t),null;case 13:return ec(e,t,n);case 4:return Fs(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=gn(t,null,r,n):fe(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ue(r,l),Qo(e,t,r,l,n);case 7:return fe(e,t,t.pendingProps,n),t.child;case 8:return fe(e,t,t.pendingProps.children,n),t.child;case 12:return fe(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,o=l.value,V(ol,r._currentValue),r._currentValue=o,i!==null)if(We(i.value,o)){if(i.children===l.children&&!xe.current){t=ot(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var a=i.dependencies;if(a!==null){o=i.child;for(var u=a.firstContext;u!==null;){if(u.context===r){if(i.tag===1){u=rt(-1,n&-n),u.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var h=c.pending;h===null?u.next=u:(u.next=h.next,h.next=u),c.pending=u}}i.lanes|=n,u=i.alternate,u!==null&&(u.lanes|=n),$i(i.return,n,t),a.lanes|=n;break}u=u.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(j(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),$i(o,n,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}fe(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,fn(t,n),l=Re(l),r=r(l),t.flags|=1,fe(e,t,r,n),t.child;case 14:return r=t.type,l=Ue(r,t.pendingProps),l=Ue(r.type,l),Go(e,t,r,l,n);case 15:return Xa(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ue(r,l),Wr(e,t),t.tag=1,je(r)?(e=!0,ll(t)):e=!1,fn(t,n),Ka(t,r,l),Bi(t,r,l,n),Qi(null,t,r,!0,e,n);case 19:return tc(e,t,n);case 22:return Za(e,t,n)}throw Error(j(156,t.tag))};function gc(e,t){return Wu(e,t)}function Bf(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ze(e,t,n,r){return new Bf(e,t,n,r)}function Gs(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Hf(e){if(typeof e=="function")return Gs(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ds)return 11;if(e===fs)return 14}return 2}function Pt(e,t){var n=e.alternate;return n===null?(n=ze(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Kr(e,t,n,r,l,i){var o=2;if(r=e,typeof e=="function")Gs(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Xt:return Ut(n.children,l,i,t);case cs:o=8,l|=8;break;case fi:return e=ze(12,n,t,l|2),e.elementType=fi,e.lanes=i,e;case pi:return e=ze(13,n,t,l),e.elementType=pi,e.lanes=i,e;case mi:return e=ze(19,n,t,l),e.elementType=mi,e.lanes=i,e;case Pu:return Tl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Nu:o=10;break e;case Eu:o=9;break e;case ds:o=11;break e;case fs:o=14;break e;case mt:o=16,r=null;break e}throw Error(j(130,e==null?e:typeof e,""))}return t=ze(o,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Ut(e,t,n,r){return e=ze(7,e,r,t),e.lanes=n,e}function Tl(e,t,n,r){return e=ze(22,e,r,t),e.elementType=Pu,e.lanes=n,e.stateNode={isHidden:!1},e}function li(e,t,n){return e=ze(6,e,null,t),e.lanes=n,e}function ii(e,t,n){return t=ze(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Wf(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ul(0),this.expirationTimes=Ul(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ul(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ks(e,t,n,r,l,i,o,a,u){return e=new Wf(e,t,n,a,u),t===1?(t=1,i===!0&&(t|=8)):t=0,i=ze(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ls(i),e}function Qf(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Jt,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function yc(e){if(!e)return Tt;e=e._reactInternals;e:{if(Gt(e)!==e||e.tag!==1)throw Error(j(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(je(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(j(171))}if(e.tag===1){var n=e.type;if(je(n))return ya(e,n,t)}return t}function xc(e,t,n,r,l,i,o,a,u){return e=Ks(n,r,!0,e,l,i,o,a,u),e.context=yc(null),n=e.current,r=pe(),l=Et(n),i=rt(r,l),i.callback=t??null,Ct(n,i,l),e.current.lanes=l,pr(e,l,r),we(e,r),e}function Ll(e,t,n,r){var l=t.current,i=pe(),o=Et(l);return n=yc(n),t.context===null?t.context=n:t.pendingContext=n,t=rt(i,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=Ct(l,t,o),e!==null&&(He(e,l,o,i),Vr(e,l,o)),o}function gl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function lu(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Ys(e,t){lu(e,t),(e=e.alternate)&&lu(e,t)}function Gf(){return null}var jc=typeof reportError=="function"?reportError:function(e){console.error(e)};function Js(e){this._internalRoot=e}Fl.prototype.render=Js.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(j(409));Ll(e,t,null,null)};Fl.prototype.unmount=Js.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Wt(function(){Ll(null,e,null,null)}),t[it]=null}};function Fl(e){this._internalRoot=e}Fl.prototype.unstable_scheduleHydration=function(e){if(e){var t=Zu();e={blockedOn:null,target:e,priority:t};for(var n=0;n<vt.length&&t!==0&&t<vt[n].priority;n++);vt.splice(n,0,e),n===0&&bu(e)}};function Xs(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function zl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function iu(){}function Kf(e,t,n,r,l){if(l){if(typeof r=="function"){var i=r;r=function(){var c=gl(o);i.call(c)}}var o=xc(t,r,e,0,null,!1,!1,"",iu);return e._reactRootContainer=o,e[it]=o.current,rr(e.nodeType===8?e.parentNode:e),Wt(),o}for(;l=e.lastChild;)e.removeChild(l);if(typeof r=="function"){var a=r;r=function(){var c=gl(u);a.call(c)}}var u=Ks(e,0,!1,null,null,!1,!1,"",iu);return e._reactRootContainer=u,e[it]=u.current,rr(e.nodeType===8?e.parentNode:e),Wt(function(){Ll(t,u,n,r)}),u}function Ol(e,t,n,r,l){var i=n._reactRootContainer;if(i){var o=i;if(typeof l=="function"){var a=l;l=function(){var u=gl(o);a.call(u)}}Ll(t,o,e,l)}else o=Kf(n,t,e,l,r);return gl(o)}Ju=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Dn(t.pendingLanes);n!==0&&(hs(t,n|1),we(t,Z()),!(D&6)&&(jn=Z()+500,zt()))}break;case 13:Wt(function(){var r=st(e,1);if(r!==null){var l=pe();He(r,e,1,l)}}),Ys(e,1)}};vs=function(e){if(e.tag===13){var t=st(e,134217728);if(t!==null){var n=pe();He(t,e,134217728,n)}Ys(e,134217728)}};Xu=function(e){if(e.tag===13){var t=Et(e),n=st(e,t);if(n!==null){var r=pe();He(n,e,t,r)}Ys(e,t)}};Zu=function(){return U};qu=function(e,t){var n=U;try{return U=e,t()}finally{U=n}};Ci=function(e,t,n){switch(t){case"input":if(gi(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var l=Sl(r);if(!l)throw Error(j(90));Tu(r),gi(r,l)}}}break;case"textarea":Fu(e,n);break;case"select":t=n.value,t!=null&&un(e,!!n.multiple,t,!1)}};Du=Hs;Uu=Wt;var Yf={usingClientEntryPoint:!1,Events:[hr,en,Sl,Mu,Iu,Hs]},On={findFiberByHostInstance:At,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Jf={bundleType:On.bundleType,version:On.version,rendererPackageName:On.rendererPackageName,rendererConfig:On.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:at.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Bu(e),e===null?null:e.stateNode},findFiberByHostInstance:On.findFiberByHostInstance||Gf,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Rr=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Rr.isDisabled&&Rr.supportsFiber)try{xl=Rr.inject(Jf),Xe=Rr}catch{}}_e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Yf;_e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Xs(t))throw Error(j(200));return Qf(e,t,null,n)};_e.createRoot=function(e,t){if(!Xs(e))throw Error(j(299));var n=!1,r="",l=jc;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(l=t.onRecoverableError)),t=Ks(e,1,!1,null,null,n,!1,r,l),e[it]=t.current,rr(e.nodeType===8?e.parentNode:e),new Js(t)};_e.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(j(188)):(e=Object.keys(e).join(","),Error(j(268,e)));return e=Bu(t),e=e===null?null:e.stateNode,e};_e.flushSync=function(e){return Wt(e)};_e.hydrate=function(e,t,n){if(!zl(t))throw Error(j(200));return Ol(null,e,t,!0,n)};_e.hydrateRoot=function(e,t,n){if(!Xs(e))throw Error(j(405));var r=n!=null&&n.hydratedSources||null,l=!1,i="",o=jc;if(n!=null&&(n.unstable_strictMode===!0&&(l=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),t=xc(t,null,e,1,n??null,l,!1,i,o),e[it]=t.current,rr(e),r)for(e=0;e<r.length;e++)n=r[e],l=n._getVersion,l=l(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,l]:t.mutableSourceEagerHydrationData.push(n,l);return new Fl(t)};_e.render=function(e,t,n){if(!zl(t))throw Error(j(200));return Ol(null,e,t,!1,n)};_e.unmountComponentAtNode=function(e){if(!zl(e))throw Error(j(40));return e._reactRootContainer?(Wt(function(){Ol(null,null,e,!1,function(){e._reactRootContainer=null,e[it]=null})}),!0):!1};_e.unstable_batchedUpdates=Hs;_e.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!zl(n))throw Error(j(200));if(e==null||e._reactInternals===void 0)throw Error(j(38));return Ol(e,t,n,!1,r)};_e.version="18.3.1-next-f1338f8080-20240426";function wc(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(wc)}catch(e){console.error(e)}}wc(),wu.exports=_e;var Xf=wu.exports,su=Xf;ci.createRoot=su.createRoot,ci.hydrateRoot=su.hydrateRoot;async function J(e,t){const n=await fetch(e,{...t,headers:{"Content-Type":"application/json",...(t==null?void 0:t.headers)??{}}}),r=await n.json();if(!n.ok)throw new Error(r.error??"요청을 처리하지 못했습니다.");return r}function Ce(e,t){return{method:e,body:JSON.stringify(t)}}const Qe=[{id:"changeSummary",label:"변경 요약",description:"무엇이 바뀌었는지 짧게 알려줍니다.",example:"검색 화면의 버튼 문구를 바꿨습니다.",omitted:"일반 변경 요약",forced:"작업 실패와 범위 밖 변경",recommendedFor:"모든 사용자",impact:"거의 없음",badge:"기본 권장",recommended:!0},{id:"userVisibleChanges",label:"사용자에게 보이는 변화",description:"화면이나 사용 방법이 어떻게 달라지는지 설명합니다.",example:"화면에서 버튼 색상이 파란색으로 보일 것으로 예상됩니다.",omitted:"일반 화면 변화",forced:"중요한 안전 영향",recommendedFor:"화면 변경을 확인하려는 사용자",impact:"조금 줄어듦",badge:"기본 권장",recommended:!0},{id:"internalChanges",label:"프로그램 내부 변화",description:"화면 뒤에서 어떤 동작이 바뀌었는지 쉽게 설명합니다.",example:"검색 실행 전에 검색어가 입력됐는지 확인하는 기능을 추가했습니다.",omitted:"일반 내부 동작 설명",forced:"데이터 손실·보안 영향",recommendedFor:"코드 동작도 이해하고 싶은 사용자",impact:"조금 줄어듦",badge:"학습용",recommended:!0},{id:"mainFiles",label:"주요 파일 설명",description:"변경에 중요한 파일을 몇 개만 골라 역할을 설명합니다.",example:"`검색 화면 파일`이 입력과 결과 표시를 담당합니다.",omitted:"일반 주요 파일 설명",forced:"사용자가 요청한 파일 설명",recommendedFor:"어디가 바뀌었는지 파일로 확인하려는 사용자",impact:"조금 줄어듦",badge:"선택 기능",recommended:!0},{id:"explainedDiff",label:"설명형 변경 요약",description:"의미 있는 변경을 무엇을·왜·어디를·중요한 변경 순으로 묶어 설명합니다. 근거 없는 이유와 다듬기 위치는 만들지 않습니다.",example:"왜? 검색 버튼이 빈 입력으로도 실행되는 문제를 막기 위해 확인 기능을 추가했습니다.",omitted:"일반 변경 의미 설명",forced:"데이터 손실·보안 관련 중요 변경",recommendedFor:"변경 이유와 중요한 차이를 이해하고 싶은 사용자",impact:"조금 늘어남",badge:"기본 권장",recommended:!0},{id:"glossary",label:"개발 용어 설명",description:"필요한 개발 용어를 처음 나올 때 쉬운 말로 풀이합니다.",example:"입력 검증(입력한 값이 조건에 맞는지 먼저 확인하는 기능)",omitted:"선택적 용어 설명",forced:"안전 판단에 필요한 의미",recommendedFor:"개발 용어가 익숙하지 않은 사용자",impact:"많이 줄어들 수 있음",badge:"학습용",recommended:!0},{id:"validationResults",label:"검증 결과",description:"실행한 테스트와 검사 결과를 알려줍니다.",example:"자동 테스트 6개가 통과했습니다.",omitted:"통과한 검증의 일반 설명",forced:"핵심 검증 실패와 보류 사유",recommendedFor:"결과를 확인하고 싶은 모든 사용자",impact:"거의 없음",badge:"안전 관련",recommended:!0},{id:"riskAssessment",label:"위험도 안내",description:"변경이 기존 기능에 미칠 수 있는 영향의 크기를 설명합니다.",example:"위험도: 중간 — 검색 실행 조건이 달라졌습니다.",omitted:"일반 위험도 설명",forced:"높은 위험·판정 불가",recommendedFor:"중요한 기능 변경을 검토하는 사용자",impact:"조금 줄어듦",badge:"안전 관련",recommended:!0},{id:"userActions",label:"사용자 확인 안내",description:"사용자가 직접 확인하거나 결정할 일을 알려줍니다.",example:"실제 화면에서 검색 버튼을 눌러 확인하세요.",omitted:"일반 확인 안내",forced:"안전·데이터 손실 관련 행동",recommendedFor:"작업 후 다음 행동이 필요한 사용자",impact:"거의 없음",badge:"기본 권장",recommended:!0},{id:"nextActionSuggestions",label:"다음 행동 제안",description:"작업 후 사용자가 할 일(확인·결정·설정)을 최대 3개만 제안합니다.",example:"다음 행동 제안: 실제 화면에서 검색 버튼을 눌러 확인해주세요.",omitted:"일반 다음 행동 제안",forced:"안전·데이터 손실 관련 행동",recommendedFor:"작업 후 무엇을 하면 되는지 알고 싶은 사용자",impact:"조금 줄어듦",badge:"기본 권장",recommended:!0},{id:"requestClarificationGuide",label:"요청 명확화 질문",description:"요청이 모호해 결과가 크게 달라질 항목은 작업 전에 먼저 확인합니다.",example:"확인: 검색 기준을 제목만 할지 내용 포함할지 먼저 여쭤봤습니다.",omitted:"모호한 요청에 대한 일반 확인",forced:"데이터 손실·보안 관련 확인",recommendedFor:"요청이 짧거나 처음인 사용자",impact:"조금 늘어남",badge:"기본 권장",recommended:!0},{id:"manualEditGuidance",label:"직접 수정 안내",description:"사용자가 직접 파일을 고칠 때 어떤 파일의 어디를 고치면 되는지 안내합니다.",example:"직접 수정: 색상 값은 테마 파일의 색상 목록 부분에서 바꿀 수 있습니다.",omitted:"일반 직접 수정 안내",forced:"데이터 손실·보안 관련 수정 안내",recommendedFor:"결과물을 직접 파일로 확인하는 사용자",impact:"조금 줄어듦",badge:"선택 기능",recommended:!0},{id:"requestBuilder",label:"요청 만들기",description:"막연한 요구를 AI Agent 요청문으로 바꿔 주는 템플릿을 제공합니다.",example:"요청 만들기 탭에서 템플릿을 복사해 사용 중인 Agent에 붙여넣을 수 있습니다.",omitted:"템플릿 안내",forced:"없음",recommendedFor:"요청을 어떻게 시작해야 할지 모르는 사용자",impact:"보고서와 무관",badge:"도우미",recommended:!0}],wn={minimal:{label:"최소 보고",description:"꼭 필요한 결과와 확인 사항만 짧게 보고받습니다.",recommendedFor:"토큰과 보고 길이를 최대한 줄이고 싶은 사용자",features:{changeSummary:!0,userVisibleChanges:!0,internalChanges:!1,mainFiles:!1,explainedDiff:!1,glossary:!1,validationResults:!0,riskAssessment:!1,userActions:!0,nextActionSuggestions:!1,requestClarificationGuide:!1,manualEditGuidance:!1,requestBuilder:!0},limits:{maxMainFiles:3,maxGlossaryTerms:1,compactReportMaxSentences:8}},balanced:{label:"균형 보고",description:"변경 내용, 검증, 위험과 주요 파일을 균형 있게 설명합니다.",recommendedFor:"처음 사용하는 사용자에게 권장",features:{changeSummary:!0,userVisibleChanges:!0,internalChanges:!0,mainFiles:!0,explainedDiff:!0,glossary:!0,validationResults:!0,riskAssessment:!0,userActions:!0,nextActionSuggestions:!0,requestClarificationGuide:!0,manualEditGuidance:!0,requestBuilder:!0},limits:{maxMainFiles:5,maxGlossaryTerms:3,compactReportMaxSentences:12}},learning:{label:"학습 보고",description:"개발 용어와 내부 변화를 조금 더 자세히 설명합니다.",recommendedFor:"바이브 코딩을 하며 개발 개념도 함께 배우고 싶은 사용자",features:{changeSummary:!0,userVisibleChanges:!0,internalChanges:!0,mainFiles:!0,explainedDiff:!0,glossary:!0,validationResults:!0,riskAssessment:!0,userActions:!0,nextActionSuggestions:!0,requestClarificationGuide:!0,manualEditGuidance:!0,requestBuilder:!0},limits:{maxMainFiles:5,maxGlossaryTerms:6,compactReportMaxSentences:12}},detailed:{label:"상세 보고",description:"복잡하거나 위험한 작업을 더 자세하게 확인합니다.",recommendedFor:"로그인, 데이터, 배포처럼 중요한 작업을 검토할 때",features:{changeSummary:!0,userVisibleChanges:!0,internalChanges:!0,mainFiles:!0,explainedDiff:!0,glossary:!0,validationResults:!0,riskAssessment:!0,userActions:!0,nextActionSuggestions:!0,requestClarificationGuide:!0,manualEditGuidance:!0,requestBuilder:!0},limits:{maxMainFiles:5,maxGlossaryTerms:6,compactReportMaxSentences:18}}},Yt={maxMainFiles:{min:1,max:10,label:"주요 파일 최대 개수"},maxGlossaryTerms:{min:0,max:10,label:"용어 설명 최대 개수"},compactReportMaxSentences:{min:4,max:30,label:"짧은 보고서 최대 문장 수"}};Qe.map(e=>e.id);function ut({children:e,tone:t="info"}){return s.jsx("div",{className:`notice notice-${t}`,role:t==="error"?"alert":"status",children:e})}function ct({eyebrow:e,title:t,description:n}){return s.jsxs("div",{className:"page-header",children:[s.jsx("p",{className:"eyebrow",children:e}),s.jsx("h2",{children:t}),s.jsx("p",{children:n})]})}const Zf=[{id:"codex",label:"Codex",status:"supported",description:"현재 실제 연결을 지원합니다."},{id:"opencode",label:"OpenCode",status:"beta",description:"설정 등록을 지원하며 베타 상태입니다."},{id:"claude-code",label:"Claude Code",status:"planned",description:"Provider 확장을 준비 중입니다."},{id:"cline",label:"Cline",status:"planned",description:"Provider 확장을 준비 중입니다."}],qf=`이 프로젝트의 AGENTS.md,
|
|
41
|
+
.agents/skills/beginner-bridge/SKILL.md,
|
|
42
|
+
.jutell.json을 먼저 읽고 작업해주세요.
|
|
43
|
+
|
|
44
|
+
작업 완료 후 현재 활성화된 JuTell 기능만 사용해 보고해주세요.
|
|
45
|
+
설정으로 꺼진 항목은 생략하되,
|
|
46
|
+
실패, 중요한 미확인 사항, 범위 밖 변경과 안전 문제는 숨기지 마세요.`;function bf(e){return!e||e==="not-recorded"?"개발 버전":e}function Rn({ok:e,hint:t,children:n}){return s.jsxs("li",{className:e?"check-ok":"check-missing",title:t,children:[s.jsx("span",{"aria-hidden":"true",children:e?"✓":"!"}),n]})}function ep({data:e,readiness:t,mcpStatus:n,showGuide:r,onDismissGuide:l,onShowGuide:i,onCopyPrompt:o}){const a=Object.values(e.config.features).filter(Boolean).length,u=t.config.exists&&t.config.valid&&t.skill.exists&&t.agents.exists&&t.safetyRules.exists,c={not_registered:"설정 미등록",registered:"등록됨",enabled:"활성화됨",error:"오류"}[n.preparation],h=n.providers.filter(m=>m.enabled&&m.status!=="planned").map(m=>m.label).join(", ")||"없음",g=Zf.filter(m=>m.status==="planned").map(m=>m.label).join(", ");return s.jsxs("section",{children:[s.jsx(ct,{eyebrow:"개요",title:"현재 설정을 한눈에 보기",description:"이 화면은 현재 로컬 설정과 저장 상태만 보여줍니다."}),s.jsx("div",{className:"overview-actions",children:s.jsx("button",{className:"secondary",onClick:i,children:"처음 사용 안내 다시 보기"})}),r&&s.jsxs("div",{className:"first-use-guide panel",children:[s.jsxs("div",{children:[s.jsx("p",{className:"eyebrow",children:"처음 사용 안내"}),s.jsx("h3",{children:"3단계로 시작하세요"})]}),s.jsxs("ol",{children:[s.jsxs("li",{children:[s.jsx("strong",{children:"원하는 Profile 선택"}),s.jsx("span",{children:"보고서의 기본 스타일을 고릅니다."})]}),s.jsxs("li",{children:[s.jsx("strong",{children:"필요 없는 Feature 끄기"}),s.jsx("span",{children:"끄기 전 무엇이 줄어드는지 확인합니다."})]}),s.jsxs("li",{children:[s.jsx("strong",{children:"저장 후 시작 프롬프트 전달"}),s.jsx("span",{children:"사용 중인 AI Agent가 이 설정을 읽도록 안내합니다."})]})]}),s.jsx("button",{className:"text-button",onClick:l,children:"안내 닫기"})]}),e.warning&&s.jsxs(ut,{tone:"error",children:[e.warning," 안전한 기본 설정을 사용 중입니다."]}),s.jsxs("div",{className:"stat-grid",children:[s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"현재 Profile"}),s.jsx("strong",{children:wn[e.config.profile].label}),s.jsx("small",{children:wn[e.config.profile].description})]}),s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"활성 Feature"}),s.jsxs("strong",{children:[a,"개"]}),s.jsx("small",{children:"보고서에 들어가는 항목 수입니다."})]}),s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"비활성 Feature"}),s.jsxs("strong",{children:[Qe.length-a,"개"]}),s.jsx("small",{children:"꺼도 안전 항목은 계속 표시됩니다."})]}),s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"설정 저장 방식"}),s.jsx("strong",{children:"이 컴퓨터에만"}),s.jsx("small",{children:"중앙 서버로 보내지 않습니다."})]})]}),s.jsxs("div",{className:"panel overview-details",children:[s.jsxs("div",{children:[s.jsx("span",{children:"주요 파일 수"}),s.jsxs("strong",{children:[e.config.limits.maxMainFiles,"개"]})]}),s.jsxs("div",{children:[s.jsx("span",{children:"용어 설명 수"}),s.jsxs("strong",{children:[e.config.limits.maxGlossaryTerms,"개"]})]}),s.jsxs("div",{children:[s.jsx("span",{children:"짧은 보고서 문장 수"}),s.jsxs("strong",{children:[e.config.limits.compactReportMaxSentences,"문장"]})]}),s.jsxs("div",{children:[s.jsx("span",{children:"Skill 버전"}),s.jsx("strong",{children:bf(e.metadata.skillVersion)})]}),s.jsxs("div",{children:[s.jsx("span",{children:"마지막 설정 변경"}),s.jsx("strong",{children:e.lastChangedAt?new Date(e.lastChangedAt).toLocaleString("ko-KR"):"아직 없음"}),s.jsx("small",{children:!e.lastChangedAt&&"아직 관리자 화면에서 저장한 설정이 없습니다."})]}),s.jsxs("div",{children:[s.jsx("span",{children:"저장 위치"}),s.jsx("strong",{children:s.jsx("code",{children:".jutell.json"})})]})]}),s.jsxs("div",{className:"panel readiness-panel",children:[s.jsxs("div",{className:"section-heading",children:[s.jsxs("div",{children:[s.jsx("p",{className:"eyebrow",children:"AI Agent 적용 상태"}),s.jsx("h3",{children:u?"이 저장소에서는 JuTell 적용 준비가 되어 있습니다.":"적용에 필요한 파일을 확인하세요."})]}),s.jsx("span",{className:`status-pill ${u?"success":"warning"}`,children:u?"준비됨":"추가 확인 필요"})]}),s.jsx("p",{className:"muted",children:"Provider 설정 등록과 실제 도구 호출은 서로 다른 상태입니다. 실제 호출을 확인하지 않았다고 설치 실패로 판단하지 않습니다."}),s.jsxs("div",{className:"provider-summary",children:[s.jsxs("strong",{children:["현재 연결 Provider: ",h]}),s.jsx("span",{children:"연결은 설정·Skill·MCP·지침을 연결하는 것이며 Agent를 대신 실행하지 않습니다. 다른 Agent도 같은 구조로 연결할 수 있도록 화면을 분리해 두었습니다."}),s.jsxs("small",{children:["확장 준비: ",g||"없음"]})]}),s.jsxs("ul",{className:"check-list",children:[s.jsxs(Rn,{ok:t.config.exists&&t.config.valid,children:["설정 파일: ",t.config.exists&&t.config.valid?"정상":"확인 필요"," · 활성 Feature ",t.config.activeFeatures,"개"]}),s.jsxs(Rn,{ok:t.skill.exists,hint:"AI Agent가 보고 규칙을 읽는 파일입니다.",children:["Skill: ",t.skill.exists?"발견":"확인 필요"]}),s.jsxs(Rn,{ok:t.agents.exists&&t.agents.jutellBlock,hint:"AI Agent가 가장 먼저 읽는 프로젝트 지침 파일입니다.",children:["AGENTS.md JuTell 블록: ",t.agents.jutellBlock?"확인됨":"확인 필요"]}),s.jsxs(Rn,{ok:t.safetyRules.exists,hint:"실패와 보안 위험은 반드시 보고하도록 하는 규칙입니다.",children:["안전 강제 보고 규칙: ",t.safetyRules.exists?"발견":"확인 필요"]}),s.jsxs(Rn,{ok:n.preparation==="enabled",hint:"AI Agent가 로컬 설정을 읽는 선택형 연결 방식입니다.",children:["AI Agent 연결 준비: ",c]}),s.jsxs("li",{className:"check-neutral",title:"JuTell은 Agent를 대신 실행하지 않습니다. 실제 호출은 사용 중인 Agent에서 직접 확인해야 합니다.",children:[s.jsx("span",{"aria-hidden":"true",children:"i"}),"실제 도구 호출: 확인하지 않음"]})]}),s.jsx("p",{className:"callout",children:n.preparation==="enabled"?"새 AI Agent 세션부터 사용할 수 있습니다. 실제 도구 호출 여부는 해당 Agent에서 확인할 수 있습니다.":"MCP를 사용하지 않아도 Skill 방식은 계속 사용할 수 있습니다."}),s.jsxs("div",{className:"prompt-box",children:[s.jsxs("div",{className:"section-heading",children:[s.jsx("strong",{children:"선택: 시작 프롬프트"}),s.jsx("button",{className:"secondary small",onClick:o,children:"복사"})]}),s.jsx("p",{className:"muted",children:"연결만으로 JuTell이 새 대화에서 자동 적용됩니다. 선택으로, 이 문구를 사용 중인 AI Agent(예: Codex)의 새 작업에 붙여넣으면 첫 작업을 JuTell 보고 형식으로 시작하기 쉽습니다."}),s.jsx("pre",{children:qf})]})]}),s.jsx(ut,{children:"외부 전송 없음 · 중앙 서버 없음 · 이 화면은 현재 컴퓨터에서만 동작합니다."})]})}function tp({checked:e,onChange:t,label:n}){return s.jsxs("label",{className:"toggle",children:[s.jsx("input",{type:"checkbox",checked:e,onChange:r=>t(r.target.checked)}),s.jsx("span",{className:"toggle-track","aria-hidden":"true",children:s.jsx("span",{})}),s.jsx("span",{children:n})]})}function np({config:e,onChange:t}){return s.jsxs("section",{children:[s.jsx(ct,{eyebrow:"보고 내용",title:"보고서에 넣을 내용 고르기",description:"한글 이름을 먼저 보고, 필요한 기능만 켜거나 끌 수 있습니다. 변경은 저장 전까지 임시로 유지됩니다."}),s.jsxs("div",{className:"safe-info",children:[s.jsx("strong",{children:"안전 안내"}),s.jsx("span",{children:"어떤 기능을 꺼도 작업 실패, 중요한 미확인 사항, 범위 밖 변경, 데이터 손실과 보안 위험은 계속 표시됩니다."})]}),s.jsx("div",{className:"feature-list",children:Qe.map(n=>s.jsxs("article",{className:"feature-card",children:[s.jsxs("div",{className:"feature-card-top",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"feature-title-row",children:[s.jsx("h3",{children:n.label}),s.jsx("span",{className:"meta-badge",children:n.badge})]}),s.jsx("code",{className:"feature-id",children:n.id})]}),s.jsx(tp,{checked:e.features[n.id],onChange:r=>t(n.id,r),label:e.features[n.id]?"ON":"OFF"})]}),s.jsx("p",{children:n.description}),s.jsxs("div",{className:"feature-meta",children:[s.jsxs("span",{children:["추천: ",n.recommendedFor]}),s.jsxs("span",{children:["보고 길이 영향: ",n.impact]})]}),s.jsxs("details",{children:[s.jsx("summary",{children:"자세히 보기"}),s.jsxs("dl",{children:[s.jsxs("div",{children:[s.jsx("dt",{children:"실제 보고 예시"}),s.jsx("dd",{children:n.example})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"끄면 사라짐"}),s.jsx("dd",{children:n.omitted})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"꺼도 계속 표시"}),s.jsx("dd",{children:n.forced})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"추천 설정"}),s.jsx("dd",{children:n.recommended?"처음에는 켜두는 것을 권장합니다.":"필요할 때만 켜는 선택 기능입니다."})]})]})]})]},n.id))})]})}const rp=e=>e<=8?"짧음":e<=12?"보통":"자세함",ou=e=>{var t;return((t=Qe.find(n=>n.id===e))==null?void 0:t.label)??e};function lp({config:e,onChange:t}){return s.jsxs("section",{children:[s.jsx(ct,{eyebrow:"보고 스타일",title:"보고서 스타일 선택",description:"Profile은 추천 설정 묶음입니다. 언제든 개별 기능을 다시 켜거나 끌 수 있습니다."}),s.jsx("div",{className:"profile-grid",children:Object.entries(wn).map(([n,r])=>{const l=n,i=Object.entries(r.features).filter(([,u])=>u).map(([u])=>ou(u)),o=Object.entries(r.features).filter(([,u])=>!u).map(([u])=>ou(u)),a=[...i.filter(u=>{var c;return e.features[((c=Qe.find(h=>h.label===u))==null?void 0:c.id)??"changeSummary"]!==!0}),...o.filter(u=>{var c;return e.features[((c=Qe.find(h=>h.label===u))==null?void 0:c.id)??"changeSummary"]!==!1})];return s.jsxs("button",{className:`profile-card ${e.profile===l?"selected":""}`,onClick:()=>t(l),children:[s.jsxs("div",{className:"profile-card-heading",children:[s.jsx("span",{className:"profile-name",children:r.label}),s.jsx("code",{children:l})]}),s.jsx("h3",{children:r.description}),s.jsxs("p",{className:"recommended-for",children:["추천: ",r.recommendedFor]}),s.jsxs("div",{className:"profile-stats",children:[s.jsxs("span",{children:["보고 길이 ",s.jsx("strong",{children:rp(r.limits.compactReportMaxSentences)})]}),s.jsxs("span",{children:["활성 기능 ",s.jsxs("strong",{children:[i.length,"개"]})]})]}),s.jsxs("details",{onClick:u=>u.stopPropagation(),children:[s.jsx("summary",{children:"포함 내용 보기"}),s.jsxs("small",{children:["켜짐: ",i.join(", ")||"없음"]}),s.jsxs("small",{children:["꺼짐: ",o.join(", ")||"없음"]}),s.jsxs("small",{children:["Limits: 주요 파일 ",r.limits.maxMainFiles,"개 · 용어 ",r.limits.maxGlossaryTerms,"개 · 최대 ",r.limits.compactReportMaxSentences,"문장"]})]}),s.jsx("p",{className:"profile-difference",children:e.profile===l?"현재 선택됨":a.length>0?`현재 설정과 ${a.length}개 항목이 달라집니다.`:"현재 설정과 같습니다."})]},l)})}),s.jsxs("div",{className:"callout",children:[s.jsx("strong",{children:"Profile은 안전한 템플릿 적용입니다."})," 선택 후 저장 전 미리보기에서 바뀌는 기능과 보고 길이를 확인하고, 저장한 뒤에도 개별 기능을 다시 수정할 수 있습니다."]})]})}const uu={maxMainFiles:[{label:"최소",value:2,difference:"핵심 파일만 설명"},{label:"보통",value:5,difference:"대부분의 작업에 적당함",recommended:!0},{label:"많이",value:8,difference:"더 많은 파일을 설명"}],maxGlossaryTerms:[{label:"사용 안 함",value:0,difference:"용어 설명 생략"},{label:"조금",value:1,difference:"가장 중요한 용어 1개"},{label:"보통",value:3,difference:"필요한 용어 몇 개",recommended:!0},{label:"많이",value:5,difference:"더 많은 용어 설명"}],compactReportMaxSentences:[{label:"매우 짧게",value:6,difference:"핵심만 빠르게 확인"},{label:"짧게",value:8,difference:"단순 작업에 적합"},{label:"보통",value:12,difference:"처음 사용하기에 적당함",recommended:!0},{label:"자세히",value:18,difference:"더 많은 설명 포함"}]},ip={maxMainFiles:"AI Agent가 변경한 파일 중 중요한 파일을 몇 개까지 설명할지 정합니다.",maxGlossaryTerms:"어려운 개발 용어를 한 보고서에서 몇 개까지 쉽게 설명할지 정합니다.",compactReportMaxSentences:"작은 작업을 보고할 때 보고서가 어느 정도 길어질 수 있는지 정합니다."},si={maxMainFiles:"주요 파일 설명 수",maxGlossaryTerms:"용어 설명 수",compactReportMaxSentences:"짧은 보고서 길이"};function sp({limits:e,onChange:t,errors:n}){const[r,l]=R.useState(!1);return s.jsxs("section",{children:[s.jsx(ct,{eyebrow:"보고 길이",title:"보고서 길이를 쉽게 선택하기",description:"숫자를 직접 이해할 필요는 없습니다. 원하는 보고 스타일을 선택하면 적절한 값이 자동 적용됩니다."}),s.jsx("div",{className:"limit-list",children:Object.keys(uu).map(i=>s.jsxs("fieldset",{className:"limit-choice",children:[s.jsx("legend",{children:si[i]}),s.jsx("p",{children:ip[i]}),s.jsx("div",{className:"choice-grid",children:uu[i].map(o=>s.jsxs("label",{className:`choice-card ${e[i]===o.value?"selected":""}`,children:[s.jsx("input",{type:"radio",name:i,checked:e[i]===o.value,onChange:()=>t(i,o.value)}),s.jsxs("span",{children:[s.jsx("strong",{children:o.label}),o.recommended&&s.jsx("em",{children:"추천"}),s.jsxs("small",{children:[o.value,"개",i==="compactReportMaxSentences"?"문장":""," · ",o.difference]})]})]},o.value))}),n[i]&&s.jsx("p",{className:"field-error",children:n[i]})]},i))}),s.jsxs("details",{className:"advanced-settings",open:r,onToggle:i=>l(i.currentTarget.open),children:[s.jsx("summary",{children:"고급 설정"}),s.jsx("p",{children:"일반 사용자는 변경하지 않아도 됩니다. 필요한 경우에만 숫자를 직접 입력하세요."}),s.jsx("div",{className:"advanced-grid",children:Object.keys(Yt).map(i=>s.jsxs("label",{children:[si[i],s.jsx("input",{type:"number",min:Yt[i].min,max:Yt[i].max,value:e[i],onChange:o=>t(i,Number(o.target.value)),"aria-label":si[i]}),s.jsxs("small",{children:["허용 범위 ",Yt[i].min,"~",Yt[i].max]})]},i))})]})]})}const op=()=>new Date().toISOString().slice(0,10),oi=e=>({date:op(),projectAlias:"",taskType:"feature",profile:e.profile,activeFeatures:Qe.filter(t=>e.features[t.id]).map(t=>t.id),perceivedLength:"appropriate",understandable:"yes",mostUsefulFeature:"",unnecessaryFeature:"",missingInfo:"",inaccurateContent:"",reuseConfig:"unknown",improvementIdea:"",severity:"low",status:"noted"}),ui={screen:"화면",feature:"기능",docs:"문서",settings:"설정","ui-ux-beta":"UI/UX 개인 베타",other:"기타"},up=e=>{var t;return((t=Qe.find(n=>n.id===e))==null?void 0:t.label)??e};function ap({config:e,feedback:t,onSave:n,onDelete:r}){const[l,i]=R.useState(()=>oi(e)),[o,a]=R.useState(),[u,c]=R.useState("all"),[h,g]=R.useState("all"),[m,x]=R.useState("all"),[k,C]=R.useState("all"),[I,d]=R.useState(""),f=R.useMemo(()=>t.filter(v=>(u==="all"||v.severity===u)&&(h==="all"||v.status===h)&&(m==="all"||v.profile===m)&&(k==="all"||v.taskType===k)),[t,u,h,m,k]),p=(v,E)=>i(N=>({...N,[v]:E})),y=async v=>{v.preventDefault(),d("");try{await n(l,o),i(oi(e)),a(void 0)}catch(E){d(E instanceof Error?E.message:"피드백을 저장하지 못했습니다.")}},S=v=>{const{id:E,createdAt:N,updatedAt:$,...F}=v;a(E),i(F),window.scrollTo({top:0,behavior:"smooth"})};return s.jsxs("section",{children:[s.jsx(ct,{eyebrow:"Beta Journal",title:"개인 베타 기록",description:"실제 사용 중 느낀 점을 직접 기록합니다. 민감한 내용이나 프로젝트 식별 정보는 적지 마세요."}),s.jsxs("form",{className:"panel feedback-form",onSubmit:y,children:[s.jsxs("div",{className:"form-title",children:[s.jsx("h3",{children:o?"피드백 수정":"새 피드백 기록"}),o&&s.jsx("button",{type:"button",className:"text-button",onClick:()=>{a(void 0),i(oi(e))},children:"새 기록으로 돌아가기"})]}),I&&s.jsx("p",{className:"field-error",role:"alert",children:I}),s.jsxs("div",{className:"form-grid",children:[s.jsxs("label",{children:["날짜",s.jsx("input",{required:!0,type:"date",value:l.date,onChange:v=>p("date",v.target.value)})]}),s.jsxs("label",{children:["익명 프로젝트 별칭",s.jsx("input",{required:!0,value:l.projectAlias,maxLength:100,placeholder:"예: 작은 웹앱 A",onChange:v=>p("projectAlias",v.target.value)})]}),s.jsxs("label",{children:["작업 종류",s.jsx("select",{value:l.taskType,onChange:v=>p("taskType",v.target.value),children:Object.entries(ui).map(([v,E])=>s.jsx("option",{value:v,children:E},v))})]}),s.jsxs("label",{children:["Profile",s.jsx("select",{value:l.profile,onChange:v=>p("profile",v.target.value),children:["minimal","balanced","learning","detailed"].map(v=>s.jsx("option",{children:v},v))})]})]}),s.jsxs("fieldset",{children:[s.jsx("legend",{children:"활성 Feature"}),s.jsx("div",{className:"checkbox-grid",children:Qe.map(v=>s.jsxs("label",{children:[s.jsx("input",{type:"checkbox",checked:l.activeFeatures.includes(v.id),onChange:E=>p("activeFeatures",E.target.checked?[...l.activeFeatures,v.id]:l.activeFeatures.filter(N=>N!==v.id))}),v.label]},v.id))})]}),s.jsxs("div",{className:"form-grid",children:[s.jsxs("label",{children:["보고서 길이 체감",s.jsxs("select",{value:l.perceivedLength,onChange:v=>p("perceivedLength",v.target.value),children:[s.jsx("option",{value:"short",children:"짧음"}),s.jsx("option",{value:"appropriate",children:"적당함"}),s.jsx("option",{value:"long",children:"길다"})]})]}),s.jsxs("label",{children:["이해하기 쉬웠나요?",s.jsxs("select",{value:l.understandable,onChange:v=>p("understandable",v.target.value),children:[s.jsx("option",{value:"yes",children:"예"}),s.jsx("option",{value:"partial",children:"부분적으로"}),s.jsx("option",{value:"no",children:"아니오"})]})]}),s.jsxs("label",{children:["같은 설정 재사용",s.jsxs("select",{value:l.reuseConfig,onChange:v=>p("reuseConfig",v.target.value),children:[s.jsx("option",{value:"yes",children:"예"}),s.jsx("option",{value:"no",children:"아니오"}),s.jsx("option",{value:"unknown",children:"모르겠음"})]})]}),s.jsxs("label",{children:["심각도",s.jsxs("select",{value:l.severity,onChange:v=>p("severity",v.target.value),children:[s.jsx("option",{value:"low",children:"낮음"}),s.jsx("option",{value:"medium",children:"중간"}),s.jsx("option",{value:"high",children:"높음"})]})]}),s.jsxs("label",{children:["조치 상태",s.jsxs("select",{value:l.status,onChange:v=>p("status",v.target.value),children:[s.jsx("option",{value:"noted",children:"기록만 함"}),s.jsx("option",{value:"needs_reproduction",children:"재현 필요"}),s.jsx("option",{value:"planned",children:"수정 예정"}),s.jsx("option",{value:"improving",children:"개선 중"}),s.jsx("option",{value:"confirmed",children:"확인 완료"})]})]})]}),s.jsxs("div",{className:"form-grid textareas",children:[s.jsxs("label",{children:["가장 유용했던 Feature",s.jsx("textarea",{value:l.mostUsefulFeature,maxLength:2e3,onChange:v=>p("mostUsefulFeature",v.target.value)})]}),s.jsxs("label",{children:["불필요했던 Feature",s.jsx("textarea",{value:l.unnecessaryFeature,maxLength:2e3,onChange:v=>p("unnecessaryFeature",v.target.value)})]}),s.jsxs("label",{children:["빠진 정보",s.jsx("textarea",{value:l.missingInfo,maxLength:2e3,onChange:v=>p("missingInfo",v.target.value)})]}),s.jsxs("label",{children:["사실과 달랐던 내용",s.jsx("textarea",{value:l.inaccurateContent,maxLength:2e3,onChange:v=>p("inaccurateContent",v.target.value)})]}),s.jsxs("label",{children:["개선 아이디어",s.jsx("textarea",{value:l.improvementIdea,maxLength:2e3,onChange:v=>p("improvementIdea",v.target.value)})]})]}),s.jsxs("div",{className:"form-footer",children:[s.jsx("small",{children:"Prompt, 코드, 경로, 오류 원문, 비밀정보는 기록하지 않습니다."}),s.jsx("button",{className:"primary",type:"submit",children:o?"피드백 수정":"피드백 저장"})]})]}),s.jsxs("div",{className:"panel",children:[s.jsxs("div",{className:"form-title",children:[s.jsxs("h3",{children:["기록 목록 (",f.length,")"]}),s.jsxs("div",{className:"filters",children:[s.jsxs("select",{"aria-label":"심각도 필터",value:u,onChange:v=>c(v.target.value),children:[s.jsx("option",{value:"all",children:"모든 심각도"}),s.jsx("option",{value:"low",children:"낮음"}),s.jsx("option",{value:"medium",children:"중간"}),s.jsx("option",{value:"high",children:"높음"})]}),s.jsxs("select",{"aria-label":"상태 필터",value:h,onChange:v=>g(v.target.value),children:[s.jsx("option",{value:"all",children:"모든 상태"}),s.jsx("option",{value:"noted",children:"기록만 함"}),s.jsx("option",{value:"needs_reproduction",children:"재현 필요"}),s.jsx("option",{value:"planned",children:"수정 예정"}),s.jsx("option",{value:"improving",children:"개선 중"}),s.jsx("option",{value:"confirmed",children:"확인 완료"})]}),s.jsxs("select",{"aria-label":"Profile 필터",value:m,onChange:v=>x(v.target.value),children:[s.jsx("option",{value:"all",children:"모든 Profile"}),["minimal","balanced","learning","detailed"].map(v=>s.jsx("option",{children:v},v))]}),s.jsxs("select",{"aria-label":"작업 종류 필터",value:k,onChange:v=>C(v.target.value),children:[s.jsx("option",{value:"all",children:"모든 작업"}),Object.entries(ui).map(([v,E])=>s.jsx("option",{value:v,children:E},v))]})]})]}),f.length===0?s.jsx("p",{className:"empty",children:"아직 기록이 없습니다."}):s.jsx("div",{className:"feedback-list",children:f.map(v=>s.jsxs("article",{className:"feedback-item",children:[s.jsxs("div",{children:[s.jsx("strong",{children:v.projectAlias}),s.jsxs("span",{children:[v.date," · ",ui[v.taskType]," · ",v.profile]})]}),s.jsx("p",{children:v.inaccurateContent||v.improvementIdea||v.missingInfo||"추가 메모 없음"}),s.jsxs("small",{children:["활성 Feature: ",v.activeFeatures.map(up).join(", ")||"없음"]}),s.jsxs("div",{className:"item-actions",children:[s.jsx("button",{className:"text-button",onClick:()=>S(v),children:"편집"}),s.jsx("button",{className:"text-button danger-text",onClick:()=>{window.confirm("이 피드백을 삭제할까요?")&&r(v.id)},children:"삭제"})]})]},v.id))})]})]})}function cp({onDeleteHistory:e,onDeleteFeedback:t}){return s.jsxs("section",{children:[s.jsx(ct,{eyebrow:"개인정보 보호",title:"로컬 기록과 개인정보",description:"현재 관리자 페이지가 어디에 저장하고 무엇을 저장하지 않는지 확인하세요."}),s.jsx(ut,{children:"현재 외부 전송 없음 · 중앙 서버 없음 · 원격 Telemetry는 구현되지 않았습니다."}),s.jsxs("div",{className:"privacy-grid",children:[s.jsxs("article",{className:"panel",children:[s.jsx("h3",{children:"저장되는 로컬 파일"}),s.jsxs("ul",{children:[s.jsxs("li",{children:[s.jsx("code",{children:".jutell.json"})," — Profile, Feature, limits"]}),s.jsxs("li",{children:[s.jsx("code",{children:".jutell-local/settings-history.json"})," — 변경 시각과 변경 필드"]}),s.jsxs("li",{children:[s.jsx("code",{children:".jutell-local/beta-feedback.json"})," — 사용자가 직접 작성한 피드백"]}),s.jsxs("li",{children:[s.jsx("code",{children:".jutell-local/metadata.json"})," — 제한된 버전 정보"]})]})]}),s.jsxs("article",{className:"panel",children:[s.jsx("h3",{children:"저장하지 않는 내용"}),s.jsxs("ul",{children:[s.jsx("li",{children:"Prompt와 AI 답변 원문"}),s.jsx("li",{children:"코드, Git diff, 경로, 프로젝트 이름"}),s.jsx("li",{children:"Repository URL, API Key, 비밀번호, Token, Cookie"}),s.jsx("li",{children:"환경변수, PC 사용자명, 원문 오류 로그"})]})]})]}),s.jsxs("div",{className:"danger-zone panel",children:[s.jsx("h3",{children:"로컬 기록 삭제"}),s.jsx("p",{children:"삭제는 되돌릴 수 없습니다. 설정 파일 자체는 삭제하지 않습니다."}),s.jsxs("div",{className:"button-row",children:[s.jsx("button",{className:"danger",onClick:e,children:"설정 기록 삭제"}),s.jsx("button",{className:"danger",onClick:t,children:"피드백 전체 삭제"})]})]})]})}function dp({config:e,status:t,onToggle:n,onAction:r}){const[l,i]=R.useState(!1),[o,a]=R.useState(""),[u,c]=R.useState(),h=async(d,f)=>{var p;i(!0),a("");try{const y=await r(d,f);d==="preview"&&y&&c({title:"Provider 연결 설정 미리보기",text:`${y.note??""}
|
|
47
|
+
|
|
48
|
+
${y.preview??""}`.trim()}),d==="check"&&((p=y==null?void 0:y.connection)!=null&&p.message)&&c({title:"실제 연결 확인 안내",text:y.connection.message})}catch(y){a(y instanceof Error?y.message:"MCP 작업을 처리하지 못했습니다.")}finally{i(!1)}},g=async()=>{i(!0),a("");try{const d=await r("preview"),f=`${d.note??""}
|
|
49
|
+
|
|
50
|
+
${d.preview??""}`.trim();c({title:"제거 전 연결 설정 확인",text:f}),window.confirm(`다음 JuTell 관리 블록만 제거할까요?
|
|
51
|
+
|
|
52
|
+
${f}`)&&await r("remove")}catch(d){a(d instanceof Error?d.message:"MCP 설정 제거를 처리하지 못했습니다.")}finally{i(!1)}},m=async(d,f)=>{const p=d==="connect"?`${f.label} 연결을 시작할까요? 기존 설정은 보존하고 JuTell MCP 항목만 추가합니다.`:d==="disconnect"?`${f.label} 연결을 끊을까요? JuTell MCP는 비활성화되고 설정 항목은 유지됩니다.`:`${f.label}만 활성화하고 다른 Agent의 JuTell 연결을 끌까요?`;window.confirm(p)&&await h(d,f.id)},x={running:"실행 중",stopped:"중지됨",starting:"시작 중",error:"오류"}[t.server.state],k={not_registered:"설정 미등록",registered:"등록됨",enabled:"활성화됨",error:"오류"}[t.preparation],C={not_checked:"확인하지 않음",success:"마지막 확인 성공",failure:"마지막 확인 실패"}[t.connection.state],I=t.providers.filter(d=>d.enabled&&d.status!=="planned").map(d=>d.label).join(", ")||"없음";return s.jsxs("section",{children:[s.jsx(ct,{eyebrow:"Agent 연결",title:"AI Agent 연결 준비 상태",description:"MCP는 선택 기능입니다. Skill 방식은 MCP가 꺼져도 계속 사용할 수 있습니다."}),s.jsxs("div",{className:"safe-info",children:[s.jsx("strong",{children:"먼저 알아둘 점"}),s.jsx("span",{children:"서버 실행, Provider 설정 등록, 실제 도구 호출은 서로 다른 상태입니다. 서버가 실행 중이어도 연결 완료로 표시하지 않습니다."})]}),o&&s.jsx("p",{className:"field-error",role:"alert",children:o}),s.jsxs("div",{className:"panel mcp-panel",children:[s.jsxs("div",{className:"section-heading",children:[s.jsxs("div",{children:[s.jsx("p",{className:"eyebrow",children:"현재 사용 방식"}),s.jsx("h3",{children:"Skill 방식은 항상 유지됩니다."})]}),s.jsx("span",{className:"status-pill success",children:"기본 연결"})]}),s.jsx("p",{children:"AGENTS.md, Skill, `.jutell.json`을 AI Agent가 읽는 방식입니다. MCP를 중지하거나 설정을 제거해도 이 방식은 바뀌지 않습니다."})]}),s.jsxs("div",{className:"panel mcp-panel",children:[s.jsxs("div",{className:"section-heading",children:[s.jsxs("div",{children:[s.jsx("p",{className:"eyebrow",children:"Provider 지원 범위"}),s.jsx("h3",{children:"연결하기 버튼 하나로 연결을 준비합니다."})]}),s.jsx("span",{className:"status-pill success",children:"Codex 지원 · OpenCode 베타"})]}),s.jsx("p",{children:"연결하기는 기존 Provider 설정을 보존하고 JuTell MCP 항목만 추가합니다. 연결 끊기는 선택한 Provider만 비활성화합니다."}),s.jsx("div",{className:"provider-grid",children:t.providers.map(d=>s.jsxs("div",{className:"provider-card",children:[s.jsxs("div",{className:"provider-card-head",children:[s.jsx("strong",{children:d.label}),s.jsx("span",{children:d.status==="supported"?"현재 지원":d.status==="beta"?"베타":"준비 중"})]}),s.jsxs("small",{children:["설치: ",d.detected?"감지됨":"미감지"," · MCP: ",d.registered?d.enabled?"활성":"비활성":"미등록",d.conflict?" · 충돌":"",d.lastCheckedAt?` · 점검 ${new Date(d.lastCheckedAt).toLocaleString("ko-KR")}`:""]}),d.status==="planned"?s.jsx("p",{className:"muted",children:"연결 준비 중입니다."}):s.jsx("div",{className:"button-row provider-actions",children:d.conflict?s.jsx("span",{className:"muted",children:"관리되지 않는 항목이 있어 자동 변경하지 않습니다."}):s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"primary",disabled:l||d.enabled,onClick:()=>void m("connect",d),children:"연결하기"}),s.jsx("button",{className:"secondary",disabled:l||!d.registered||!d.enabled,onClick:()=>void m("disconnect",d),children:"연결 끊기"}),s.jsx("button",{className:"secondary",disabled:l||d.enabled,onClick:()=>void m("set-default",d),children:"기본 Agent로 사용"})]})})]},d.id))})]}),s.jsxs("div",{className:"panel mcp-panel",children:[s.jsxs("div",{className:"section-heading",children:[s.jsxs("div",{children:[s.jsx("p",{className:"eyebrow",children:"MCP 방식"}),s.jsx("h3",{children:"로컬 읽기 전용 연결"})]}),s.jsx("span",{className:`status-pill ${e.mcp.enabled?"success":"warning"}`,children:e.mcp.enabled?"사용 켜짐":"사용 꺼짐"})]}),s.jsxs("label",{className:"mcp-toggle",children:[s.jsx("input",{type:"checkbox",checked:e.mcp.enabled,onChange:d=>void n(d.target.checked),disabled:l}),s.jsx("span",{title:"MCP는 AI Agent가 로컬 설정을 읽는 선택형 연결 방식입니다. 안 쓰면 Skill 방식만 사용합니다.",children:"JuTell MCP 사용"})]}),s.jsx("p",{className:"muted",children:"MCP를 켜도 자동으로 AI Agent 세션에 연결됐다고 표시하지 않습니다. 운영체제 시작 시 자동 실행은 항상 OFF입니다."}),t.preparation==="enabled"&&s.jsxs("div",{className:"safe-info",children:[s.jsx("strong",{children:"✓ AI Agent 연결 준비 완료"}),s.jsx("span",{children:"새 세션부터 사용할 수 있습니다. 실제 도구 호출 여부는 해당 Provider에서 확인할 수 있습니다."})]}),s.jsxs("div",{className:"mcp-status-grid",children:[s.jsxs("div",{children:[s.jsx("span",{children:"서버 실행 상태"}),s.jsx("strong",{children:x}),t.server.error&&s.jsx("small",{children:t.server.error})]}),s.jsxs("div",{children:[s.jsx("span",{children:"AI Agent 연결 준비"}),s.jsx("strong",{children:k}),s.jsxs("small",{children:["활성 Provider: ",I]})]}),s.jsxs("div",{children:[s.jsx("span",{children:"실제 도구 호출"}),s.jsx("strong",{children:C}),s.jsx("small",{children:t.connection.lastCheckedAt?`마지막 점검: ${new Date(t.connection.lastCheckedAt).toLocaleString("ko-KR")}`:"해당 Agent 세션에서 직접 확인할 수 있습니다."})]}),s.jsxs("div",{children:[s.jsx("span",{children:"Skill 대체 경로"}),s.jsx("strong",{children:"사용 가능"}),s.jsx("small",{children:t.skillFallback.message})]})]})]}),s.jsxs("div",{className:"panel mcp-panel",children:[s.jsx("h3",{children:"작업"}),s.jsx("p",{className:"muted",children:"설정 생성과 제거 전에는 변경 내용을 미리 확인합니다. 기존 Provider 설정은 보존하고 JuTell 관리 블록만 다룹니다."}),s.jsxs("div",{className:"button-row mcp-actions",children:[s.jsx("button",{className:"secondary",disabled:l,onClick:()=>void h("start"),children:"MCP 서버 시작"}),s.jsx("button",{className:"secondary",disabled:l,onClick:()=>void h("stop"),children:"MCP 서버 중지"}),s.jsx("button",{className:"secondary",disabled:l,onClick:()=>void h("preview"),children:"연결 설정 미리 보기"}),s.jsx("button",{className:"primary",disabled:l||!e.mcp.enabled,onClick:()=>void h("register"),children:"Provider 연결 설정 생성"}),s.jsx("button",{className:"secondary",disabled:l,onClick:()=>void h("check"),children:"연결 점검"}),s.jsx("button",{className:"danger",disabled:l||!t.codex.registered,onClick:()=>void g(),children:"설정 제거"})]}),s.jsxs("div",{className:"callout",children:[s.jsx("strong",{children:"설정 제거 전 확인"}),s.jsx("span",{children:"현재 Provider 설정의 JuTell 관리 블록만 제거합니다. Skill 방식은 그대로 유지됩니다."})]})]}),u&&s.jsxs("div",{className:"panel mcp-preview",children:[s.jsx("h3",{children:u.title}),s.jsx("pre",{children:u.text})]}),s.jsxs("div",{className:"panel mcp-panel",children:[s.jsx("h3",{children:"AI Agent에서 실제 연결 확인하기"}),s.jsx("p",{children:"아래 문구를 새 작업에 전달하면 현재 사용 가능한 Provider 도구 목록과 호출 결과를 직접 확인할 수 있습니다."}),s.jsx("pre",{children:"JuTell MCP 연결 상태를 확인해주세요. 사용 가능한 AI Agent 도구 목록에서 JuTell 도구를 찾고, get_bridge_status와 get_active_features를 호출해주세요. 실제 호출 결과를 기준으로 연결 성공 또는 실패를 보고해주세요."})]})]})}function fp({config:e,onMessage:t}){const[n,r]=R.useState([]),[l,i]=R.useState("unavailable"),[o,a]=R.useState(null),u=e.features.requestBuilder===!0;R.useEffect(()=>{(async()=>{try{const h=await J("/api/request-templates");r(h.templates),i(h.source)}catch{i("unavailable")}})()},[]);const c=async(h,g)=>{try{await navigator.clipboard.writeText(g),t(`${h} 템플릿을 복사했습니다. 사용 중인 AI Agent에 붙여넣으세요.`,"success");const m=(h.replace(".md","").split("_")[0]??"etc").toLowerCase();await J("/api/usage-experiments/template-copy",Ce("POST",{template:h,taskType:m})).catch(()=>{})}catch{t("자동 복사는 지원되지 않습니다. 템플릿 내용을 직접 복사하세요.","error")}};return s.jsxs("section",{children:[s.jsx(ct,{eyebrow:"요청 만들기",title:"막연한 요구를 AI Agent 요청문으로 바꾸기",description:"빈칸을 채우고 최종 요청문을 복사해 사용 중인 AI Agent에 붙여넣으면 됩니다. 자동 전송이나 수집은 없습니다."}),!u&&s.jsx(ut,{children:"요청 만들기 기능이 꺼져 있습니다. '보고서 내용' 탭에서 요청 만들기를 켜면 템플릿을 사용할 수 있습니다."}),u&&l==="unavailable"&&s.jsxs(ut,{tone:"error",children:["템플릿 폴더를 찾지 못했습니다. 템플릿이 프로젝트의 ",s.jsx("code",{children:"templates/request-builder/"}),"에 있는지 확인하세요."]}),s.jsxs("div",{className:"privacy-grid",children:[s.jsxs("article",{className:"panel",children:[s.jsx("h3",{children:"템플릿 선택"}),s.jsx("p",{className:"muted",children:"하고 싶은 일과 가장 가까운 템플릿을 고르세요. 모르는 항목은 비워 두면 됩니다."}),s.jsx("ul",{className:"template-list",children:(u?n:[]).map(h=>s.jsxs("li",{children:[s.jsxs("button",{className:"template-row",onClick:()=>a(o===h.name?null:h.name),children:[s.jsx("strong",{children:h.name.replace(".md","")}),s.jsx("span",{children:h.description})]}),o===h.name&&s.jsxs("div",{className:"template-content",children:[s.jsx("pre",{children:h.content}),s.jsxs("div",{className:"button-row",children:[s.jsx("button",{className:"primary small",onClick:()=>void c(h.name,h.content),children:"복사하기"}),s.jsx("button",{className:"secondary small",onClick:()=>a(null),children:"닫기"})]})]})]},h.name))})]}),s.jsxs("article",{className:"panel",children:[s.jsx("h3",{children:"사용 방법"}),s.jsxs("ol",{className:"template-steps",children:[s.jsxs("li",{children:[s.jsx("strong",{children:"템플릿 고르기"}),s.jsx("span",{children:"하고 싶은 일에 가장 가까운 템플릿을 선택합니다."})]}),s.jsxs("li",{children:[s.jsx("strong",{children:"빈칸 채우기"}),s.jsx("span",{children:"선택지에 체크하고 쉬운 말로 적습니다. 모르는 항목은 비워 둡니다."})]}),s.jsxs("li",{children:[s.jsx("strong",{children:"최종 요청문 복사"}),s.jsx("span",{children:"맨 아래의 요청문을 복사해 사용 중인 AI Agent에 붙여넣습니다."})]})]}),s.jsx("p",{className:"muted",children:"공통 선택지: 잘 모르겠음 · 정확히 무엇이 문제인지 모르겠음 · 현재 상태 유지 · 요청하지 않음 · AI가 먼저 확인 후 제안"}),s.jsx("p",{className:"muted",children:l==="project"?"템플릿 출처: 이 프로젝트의 templates/request-builder/":l==="assets"?"템플릿 출처: JuTell 패키지에 포함된 자산":"템플릿 출처: 없음"})]})]}),s.jsxs("div",{className:"panel",children:[s.jsx("h3",{children:"V2 예정"}),s.jsx("p",{children:"현재는 템플릿 보기와 복사만 제공합니다. 화면에서 직접 선택·작성하는 기능과 민감정보 경고는 V2에서 추가될 예정입니다. 자동 전송은 V2 설계 대상이 아닙니다."}),s.jsx("p",{className:"muted",children:"로컬 사용량 측정이 기본 꺼짐 상태로 추가되었습니다. 켜면 템플릿 복사 횟수만 이 컴퓨터에 기록됩니다. 자세한 내용은 docs/USAGE_EFFICIENCY_EXPERIMENTS.md를 참조하세요."})]})]})}const ai={minimal:"최소 보고",balanced:"균형 보고",learning:"학습 보고",detailed:"상세 보고"},pp={changeSummary:"변경 요약",userVisibleChanges:"사용자에게 보이는 변화",internalChanges:"내부 변경",mainFiles:"주요 파일",explainedDiff:"설명형 변경 요약",glossary:"개발 용어 설명",validationResults:"검증 결과",riskAssessment:"위험 평가",userActions:"사용자 작업",nextActionSuggestions:"다음 행동 제안",requestClarificationGuide:"요청 명확화 안내",manualEditGuidance:"직접 수정 안내",requestBuilder:"요청 만들기"};function mp({config:e,onMessage:t,onConfigSaved:n}){var $,F;const[r,l]=R.useState({exists:!1,corrupt:!1,counters:null}),[i,o]=R.useState({summary:null,experiments:[]}),[a,u]=R.useState(null),[c,h]=R.useState({}),[g,m]=R.useState(!1),[x,k]=R.useState({}),C=R.useCallback(async()=>{try{l(await J("/api/usage-counters"))}catch{l({exists:!1,corrupt:!1,counters:null})}},[]),I=R.useCallback(async()=>{try{o(await J("/api/usage-experiments"))}catch{o({summary:null,experiments:[]})}},[]);R.useEffect(()=>{C(),I()},[C,I]);const d=async P=>{try{const L=await J("/api/usage-settings",Ce("PATCH",{localCountersEnabled:P}));n(L.config),t(P?"로컬 사용량 카운터를 켰습니다. AI Agent 도구 호출 횟수만 이 컴퓨터에 기록됩니다.":"로컬 사용량 카운터를 껐습니다. 새 기록이 중단됩니다.","success")}catch(L){t(L instanceof Error?L.message:"설정을 바꾸지 못했습니다.","error")}},f=async()=>{if(window.confirm("로컬 사용량 카운터(도구 호출·템플릿 복사 횟수)를 모두 삭제할까요?"))try{await J("/api/usage-counters",Ce("DELETE",{confirm:!0})),await C(),t("로컬 사용량 카운터를 삭제했습니다.","success")}catch(P){t(P instanceof Error?P.message:"삭제하지 못했습니다.","error")}},p=async()=>{var P;try{const L=Object.keys(e.features).filter(ve=>e.features[ve]),de={title:((P=x.title)==null?void 0:P.trim())||"제목 없는 실험",status:x.status==="completed"?"completed":"in_progress",profile:x.profile||e.profile,features:L,environment:{provider:x.provider==="opencode"?"opencode":x.provider==="other"?"other":"codex",mcpEnabled:e.mcp.enabled,skillEnabled:!0},issues:[],decision:"",notes:""};await J("/api/usage-experiments",Ce("POST",de)),m(!1),k({}),await I(),t("실험 기록을 만들었습니다. 평가와 메모는 실험 카드에서 수정할 수 있습니다.","success")}catch(L){t(L instanceof Error?L.message:"실험 기록을 만들지 못했습니다.","error")}},y=P=>{var L,de,ve,dt,Me,Ge;u(P.id),h({understanding:String(((L=P.evaluation)==null?void 0:L.understanding)??3),readability:String(((de=P.evaluation)==null?void 0:de.readability)??3),accuracy:String(((ve=P.evaluation)==null?void 0:ve.accuracy)??3),overall:String(((dt=P.evaluation)==null?void 0:dt.overall)??3),toolCalls:String(((Me=P.measurement)==null?void 0:Me.toolCalls)??""),responseCharacters:String(((Ge=P.measurement)==null?void 0:Ge.responseCharacters)??""),decision:P.decision,notes:P.notes,issues:P.issues.join(`
|
|
53
|
+
`)})},S=async P=>{var L,de;try{const ve={understanding:Number(c.understanding),readability:Number(c.readability),accuracy:Number(c.accuracy),overall:Number(c.overall)},dt=c.issues.split(`
|
|
54
|
+
`).map(Ge=>Ge.trim()).filter(Boolean),Me={status:P.status==="completed"?"in_progress":"completed",evaluation:ve,issues:dt,decision:((L=c.decision)==null?void 0:L.trim())??"",notes:((de=c.notes)==null?void 0:de.trim())??""};c.toolCalls!==""&&(Me.measurement={toolCalls:Number(c.toolCalls)||0,responseCharacters:Number(c.responseCharacters)||0,estimatedTokens:0,durationMs:0}),await J(`/api/usage-experiments/${P.id}`,Ce("PATCH",Me)),u(null),await I(),t("실험 기록을 수정했습니다.","success")}catch(ve){t(ve instanceof Error?ve.message:"실험 기록을 수정하지 못했습니다.","error")}},v=async()=>{if(window.confirm("실험 기록을 모두 삭제할까요? 복구할 수 없습니다."))try{await J("/api/usage-experiments",Ce("DELETE",{confirm:!0})),o({summary:null,experiments:[]}),t("실험 기록을 모두 삭제했습니다.","success")}catch(P){t(P instanceof Error?P.message:"삭제하지 못했습니다.","error")}},E=(($=e.usageMeasurement)==null?void 0:$.localCountersEnabled)===!0,N=i.summary;return s.jsxs("section",{children:[s.jsx(ct,{eyebrow:"사용량 측정",title:"JuTell이 얼마나 쓰였는지 로컬에서만 확인하기",description:"AI Agent 도구 호출 횟수와 템플릿 복사 횟수를 이 컴퓨터에만 기록합니다. 기본 꺼짐이며, Prompt·답변 원문·코드·경로·프로젝트 이름은 저장하지 않고 외부로 보내지 않습니다."}),s.jsxs("div",{className:"panel",children:[s.jsx("h3",{children:"기록 설정"}),s.jsxs("div",{className:"setting-row",children:[s.jsxs("div",{children:[s.jsx("strong",{children:"로컬 사용량 카운터"}),s.jsxs("p",{className:"muted",children:["켜면 AI Agent가 JuTell 도구를 호출할 때마다 횟수와 응답 길이를 ",s.jsx("code",{children:".jutell-local/usage-counters.json"}),"에 기록합니다. 끄면 새 기록이 생기지 않고 기존 기록은 유지됩니다."]})]}),s.jsx("button",{className:E?"primary small":"secondary small",onClick:()=>void d(!E),children:E?"끄기":"켜기"})]}),!E&&s.jsx(ut,{children:"기록이 꺼져 있어도 실험 기록은 직접 만들 수 있습니다. 실험은 운영자가 명시적으로 만드는 경우에만 저장됩니다."})]}),s.jsxs("div",{className:"privacy-grid",children:[s.jsxs("article",{className:"panel",children:[s.jsx("h3",{children:"런타임 카운터"}),r.corrupt&&s.jsx(ut,{tone:"error",children:"usage-counters.json 형식을 확인할 수 없습니다. 내용을 보존한 채 기록을 중단했습니다."}),s.jsx("p",{className:"muted",children:"파일 없음·꺼짐 상태에서는 도구 호출이 기록되지 않습니다."}),s.jsx("div",{className:"stat-grid",children:r.counters?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"전체 도구 호출"}),s.jsxs("strong",{children:[r.counters.totalToolCalls,"회"]})]}),s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"마지막 기록"}),s.jsx("strong",{children:r.counters.updatedAt?new Date(r.counters.updatedAt).toLocaleString():"없음"})]})]}):s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"저장된 카운터"}),s.jsx("strong",{children:r.exists?"확인 필요":"없음"})]})}),r.counters&&Object.keys(r.counters.tools).length>0&&s.jsxs("table",{className:"data-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"도구"}),s.jsx("th",{children:"호출"}),s.jsx("th",{children:"응답 문자"})]})}),s.jsx("tbody",{children:Object.entries(r.counters.tools).map(([P,L])=>s.jsxs("tr",{children:[s.jsx("td",{children:P}),s.jsx("td",{children:L.calls}),s.jsx("td",{children:L.responseCharacters})]},P))})]}),((F=r.counters)==null?void 0:F.templateCopies)&&Object.keys(r.counters.templateCopies).length>0&&s.jsxs(s.Fragment,{children:[s.jsx("h4",{children:"템플릿 복사"}),s.jsxs("table",{className:"data-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"템플릿"}),s.jsx("th",{children:"횟수"})]})}),s.jsx("tbody",{children:Object.entries(r.counters.templateCopies).map(([P,L])=>s.jsxs("tr",{children:[s.jsx("td",{children:P}),s.jsx("td",{children:L.count})]},P))})]})]}),s.jsx("div",{className:"button-row",children:s.jsx("button",{className:"secondary small",onClick:()=>void f(),children:"카운터 전체 삭제"})}),s.jsx("p",{className:"muted",children:"삭제는 카운터 파일만 제거하며 베타 기록, 설정 기록, 실험 기록은 유지됩니다."})]}),s.jsxs("article",{className:"panel",children:[s.jsx("h3",{children:"실험 기록"}),s.jsx("p",{className:"muted",children:"운영자가 직접 만든 비교 실험 결과입니다. 이해도·가독성·정확도, 도구 호출 수, 문제 메모만 저장합니다."}),N&&N.total>0&&s.jsxs("div",{className:"stat-grid",children:[s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"전체/진행중"}),s.jsxs("strong",{children:[N.total,"개 / ",N.inProgress,"개"]})]}),s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"평균 이해도"}),s.jsxs("strong",{children:[N.averageUnderstanding??"-"," / 5"]})]}),s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"평균 가독성"}),s.jsxs("strong",{children:[N.averageReadability??"-"," / 5"]})]}),s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"평균 정확도"}),s.jsxs("strong",{children:[N.averageAccuracy??"-"," / 5"]})]}),s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"평균 응답 길이"}),s.jsxs("strong",{children:[N.averageResponseCharacters??"-","자"]})]}),s.jsxs("div",{className:"stat-card",children:[s.jsx("span",{children:"가장 많은 Profile"}),s.jsx("strong",{children:N.mostUsedProfile?ai[N.mostUsedProfile]??N.mostUsedProfile:"-"})]})]}),N&&N.mostDisabledFeatures.length>0&&s.jsxs("p",{className:"muted",children:["자주 꺼진 Feature: ",N.mostDisabledFeatures.map(P=>pp[P]??P).join(", ")]}),N&&N.topIssues.length>0&&s.jsxs("p",{className:"muted",children:["자주 보고된 문제: ",N.topIssues.map(P=>`${P.text}(${P.count})`).join(", ")]}),s.jsxs("div",{className:"button-row",children:[s.jsx("button",{className:"primary small",onClick:()=>m(!g),children:g?"닫기":"새 실험 기록"}),N&&N.total>0&&s.jsx("button",{className:"secondary small",onClick:()=>void v(),children:"전체 삭제"})]}),g&&s.jsxs("div",{className:"template-content",children:[s.jsx("h4",{children:"새 실험 기록"}),s.jsxs("label",{className:"field-label",children:["실험 이름",s.jsx("input",{className:"text-input",value:x.title??"",onChange:P=>k({...x,title:P.target.value}),placeholder:"예: 보고서 길이 비교"})]}),s.jsxs("label",{className:"field-label",children:["Profile",s.jsx("select",{className:"text-input",value:x.profile??e.profile,onChange:P=>k({...x,profile:P.target.value}),children:Object.entries(ai).map(([P,L])=>s.jsx("option",{value:P,children:L},P))})]}),s.jsxs("label",{className:"field-label",children:["Provider",s.jsxs("select",{className:"text-input",value:x.provider??"codex",onChange:P=>k({...x,provider:P.target.value}),children:[s.jsx("option",{value:"codex",children:"Codex"}),s.jsx("option",{value:"opencode",children:"OpenCode"}),s.jsx("option",{value:"other",children:"기타"})]})]}),s.jsx("div",{className:"button-row",children:s.jsx("button",{className:"primary small",onClick:()=>void p(),children:"만들기"})}),s.jsx("p",{className:"muted",children:"활성 Feature 목록은 현재 설정에서 가져옵니다. 평가와 메모는 만든 뒤 수정할 수 있습니다."})]}),i.experiments.length>0&&s.jsx("ul",{className:"template-list",children:i.experiments.map(P=>s.jsxs("li",{children:[s.jsxs("div",{className:"template-row",children:[s.jsxs("strong",{children:[P.id," · ",P.title]}),s.jsxs("span",{children:[P.status==="completed"?"완료":"진행 중"," · ",ai[P.profile]," · ",P.environment.provider,P.evaluation?` · 이해도 ${P.evaluation.understanding}/5`:""]})]}),a===P.id?s.jsxs("div",{className:"template-content",children:[s.jsxs("h4",{children:[P.id," 수정"]}),s.jsxs("div",{className:"stat-grid",children:[s.jsxs("label",{className:"field-label",children:["이해도",s.jsx("input",{className:"text-input",type:"number",min:1,max:5,value:c.understanding??"",onChange:L=>h({...c,understanding:L.target.value})})]}),s.jsxs("label",{className:"field-label",children:["가독성",s.jsx("input",{className:"text-input",type:"number",min:1,max:5,value:c.readability??"",onChange:L=>h({...c,readability:L.target.value})})]}),s.jsxs("label",{className:"field-label",children:["정확도",s.jsx("input",{className:"text-input",type:"number",min:1,max:5,value:c.accuracy??"",onChange:L=>h({...c,accuracy:L.target.value})})]}),s.jsxs("label",{className:"field-label",children:["종합",s.jsx("input",{className:"text-input",type:"number",min:1,max:5,value:c.overall??"",onChange:L=>h({...c,overall:L.target.value})})]})]}),s.jsxs("label",{className:"field-label",children:["도구 호출 수(선택)",s.jsx("input",{className:"text-input",type:"number",min:0,value:c.toolCalls??"",onChange:L=>h({...c,toolCalls:L.target.value})})]}),s.jsxs("label",{className:"field-label",children:["응답 문자 수(선택)",s.jsx("input",{className:"text-input",type:"number",min:0,value:c.responseCharacters??"",onChange:L=>h({...c,responseCharacters:L.target.value})})]}),s.jsxs("label",{className:"field-label",children:["발견한 문제(한 줄에 하나)",s.jsx("textarea",{className:"text-input",rows:3,value:c.issues??"",onChange:L=>h({...c,issues:L.target.value})})]}),s.jsxs("label",{className:"field-label",children:["최종 결정",s.jsx("textarea",{className:"text-input",rows:2,value:c.decision??"",onChange:L=>h({...c,decision:L.target.value})})]}),s.jsxs("label",{className:"field-label",children:["운영자 메모",s.jsx("textarea",{className:"text-input",rows:2,value:c.notes??"",onChange:L=>h({...c,notes:L.target.value})})]}),s.jsxs("div",{className:"button-row",children:[s.jsx("button",{className:"primary small",onClick:()=>void S(P),children:"저장"}),s.jsx("button",{className:"secondary small",onClick:()=>u(null),children:"취소"})]})]}):s.jsx("div",{className:"button-row",children:s.jsx("button",{className:"secondary small",onClick:()=>y(P),children:"평가·메모 수정"})})]},P.id))})]})]})]})}const hp=[{id:"overview",label:"개요"},{id:"features",label:"보고서 내용"},{id:"profiles",label:"보고서 스타일"},{id:"limits",label:"보고서 길이"},{id:"journal",label:"베타 기록"},{id:"requests",label:"요청 만들기"},{id:"usage",label:"사용량 측정"},{id:"mcp",label:"AI Agent 연결"},{id:"privacy",label:"개인정보 보호"}],vp=`이 프로젝트의 AGENTS.md,
|
|
55
|
+
.agents/skills/beginner-bridge/SKILL.md,
|
|
56
|
+
.jutell.json을 먼저 읽고 작업해주세요.
|
|
57
|
+
|
|
58
|
+
작업 완료 후 현재 활성화된 JuTell 기능만 사용해 보고해주세요.
|
|
59
|
+
설정으로 꺼진 항목은 생략하되,
|
|
60
|
+
실패, 중요한 미확인 사항, 범위 밖 변경과 안전 문제는 숨기지 마세요.`;function An(e){var t,n;return{version:1,profile:e.profile,features:{...e.features},limits:{...e.limits},mcp:{enabled:((t=e.mcp)==null?void 0:t.enabled)??!1},usageMeasurement:{localCountersEnabled:((n=e.usageMeasurement)==null?void 0:n.localCountersEnabled)??!1},...e.voice?{voice:{...e.voice}}:{}}}function au(e){var t;return((t=Qe.find(n=>n.id===e))==null?void 0:t.label)??e}function Ar(e){return wn[e].label}function gp(){const[e,t]=R.useState("overview"),[n,r]=R.useState(),[l,i]=R.useState(),[o,a]=R.useState(),[u,c]=R.useState(),[h,g]=R.useState([]),[m,x]=R.useState("limits"),[k,C]=R.useState(!1),[I,d]=R.useState(()=>localStorage.getItem("bb-admin-guide-dismissed")!=="true"),[f,p]=R.useState(!0),[y,S]=R.useState(),v=async()=>{a(await J("/api/mcp/status"))},E=async()=>{p(!0);try{const[w,O,ke,qe]=await Promise.all([J("/api/config"),J("/api/readiness"),J("/api/feedback"),J("/api/mcp/status")]);r(w),i(O),c(An(w.config)),g(ke.feedback),a(qe)}catch(w){S({text:w instanceof Error?w.message:"로컬 데이터를 읽지 못했습니다.",tone:"error"})}finally{p(!1)}};R.useEffect(()=>{E()},[]);const N=!!(n&&u&&JSON.stringify(n.config)!==JSON.stringify(u)),$=R.useMemo(()=>{const w={};if(!u)return w;for(const[O,ke]of Object.entries(Yt)){const qe=u.limits[O];(!Number.isInteger(qe)||qe<ke.min||qe>ke.max)&&(w[O]=`${ke.min}~${ke.max} 사이여야 합니다.`)}return w},[u]),F=(w,O)=>{c(w),x(O),S(void 0)},P=()=>{if(Object.keys($).length>0){S({text:"limits 값을 허용 범위 안으로 입력하세요.",tone:"error"});return}C(!0)},L=async()=>{if(u){C(!1),p(!0);try{const w=await J("/api/config",Ce("PUT",u));r(w),c(An(w.config)),S({text:w.changed?"설정을 저장했습니다.":"변경된 설정이 없습니다.",tone:"success"})}catch(w){S({text:w instanceof Error?w.message:"설정을 저장하지 못했습니다.",tone:"error"})}finally{p(!1)}}},de=async w=>{if(n){p(!0);try{const O=await J("/api/config",Ce("PUT",{...n.config,mcp:{...n.config.mcp,enabled:w}}));w||await J("/api/mcp/stop",Ce("POST",{})),r(O),c(An(O.config)),await v(),S({text:w?"MCP 사용을 켰습니다. 서버 시작과 연결 설정은 별도로 확인하세요.":"MCP 사용을 껐고 실행 중인 MCP 서버를 중지했습니다. Skill 방식은 계속 사용할 수 있습니다.",tone:"success"})}catch(O){S({text:O instanceof Error?O.message:"MCP 설정을 바꾸지 못했습니다.",tone:"error"})}finally{p(!1)}}},ve=async(w,O)=>{const ke={preview:"/api/mcp/preview",register:"/api/mcp/register",remove:"/api/mcp/remove",start:"/api/mcp/start",stop:"/api/mcp/stop",check:"/api/mcp/check",connect:"/api/mcp/connect",disconnect:"/api/mcp/disconnect","set-default":"/api/mcp/set-default"}[w],gr=await J(ke,Ce("POST",w==="register"||w==="remove"?{confirm:!0}:w==="connect"||w==="disconnect"||w==="set-default"?{provider:O,confirm:!0}:{}));return await v(),S({text:w==="check"?"실제 연결은 사용 중인 AI Agent 세션에서 직접 확인해야 합니다.":w==="register"?"Provider 연결 설정을 등록했습니다. 새 세션 또는 재시작이 필요할 수 있습니다.":w==="remove"?"JuTell 연결 설정을 제거했습니다. Skill 방식은 유지됩니다.":w==="connect"?"연결을 준비했습니다. 새 세션부터 사용할 수 있습니다.":w==="disconnect"?"연결을 끊었습니다. 다른 Agent 연결은 유지됩니다.":w==="set-default"?"기본 Agent를 바꿨습니다. 다른 Agent의 연결은 비활성화했습니다.":w==="start"?"MCP 서버 상태를 확인했습니다.":w==="stop"?"MCP 서버를 중지했습니다.":"연결 설정 미리보기를 준비했습니다.",tone:"success"}),gr},dt=w=>{const O=wn[w];F({version:1,profile:w,features:{...O.features},limits:{...O.limits},mcp:{...u.mcp},usageMeasurement:{...(u==null?void 0:u.usageMeasurement)??{localCountersEnabled:!1}},...u!=null&&u.voice?{voice:{...u.voice}}:{}},"profile")},Me=async(w,O)=>{const ke=await J(O?`/api/feedback/${O}`:"/api/feedback",Ce(O?"PUT":"POST",w));g(qe=>O?qe.map(gr=>gr.id===O?ke.feedback:gr):[...qe,ke.feedback]),S({text:O?"피드백을 수정했습니다.":"피드백을 저장했습니다.",tone:"success"})},Ge=async w=>{await J("/api/feedback/"+w,{method:"DELETE"}),g(O=>O.filter(ke=>ke.id!==w)),S({text:"피드백을 삭제했습니다.",tone:"success"})},_=async()=>{window.confirm("설정 변경 기록을 모두 삭제할까요?")&&(await J("/api/config/history",Ce("DELETE",{confirm:!0})),S({text:"설정 기록을 삭제했습니다.",tone:"success"}))},z=async()=>{window.confirm("모든 개인 베타 피드백을 삭제할까요?")&&(await J("/api/feedback",Ce("DELETE",{confirm:!0})),g([]),S({text:"피드백을 모두 삭제했습니다.",tone:"success"}))},A=async()=>{try{await navigator.clipboard.writeText(vp),S({text:"시작 프롬프트를 복사했습니다.",tone:"success"})}catch{S({text:"자동 복사는 지원되지 않습니다. 화면의 프롬프트를 직접 복사하세요.",tone:"error"})}},Q=()=>{localStorage.setItem("bb-admin-guide-dismissed","true"),d(!1)};if(f&&!n)return s.jsx("div",{className:"loading",children:"로컬 설정을 읽는 중입니다…"});if(!n||!u||!l||!o)return s.jsx("div",{className:"loading",children:s.jsx(ut,{tone:"error",children:"로컬 설정을 읽지 못했습니다. 서버가 실행 중인지 확인하세요."})});const q=e==="overview"?s.jsx(ep,{data:n,readiness:l,mcpStatus:o,showGuide:I,onDismissGuide:Q,onShowGuide:()=>d(!0),onCopyPrompt:()=>void A()}):e==="features"?s.jsx(np,{config:u,onChange:(w,O)=>F({...u,features:{...u.features,[w]:O}},"feature")}):e==="profiles"?s.jsx(lp,{config:u,onChange:dt}):e==="limits"?s.jsx(sp,{limits:u.limits,errors:$,onChange:(w,O)=>F({...u,limits:{...u.limits,[w]:O}},"limits")}):e==="journal"?s.jsx(ap,{config:n.config,feedback:h,onSave:Me,onDelete:Ge}):e==="requests"?s.jsx(fp,{config:n.config,onMessage:(w,O)=>S({text:w,tone:O})}):e==="usage"?s.jsx(mp,{config:n.config,onMessage:(w,O)=>S({text:w,tone:O}),onConfigSaved:w=>{r(O=>O&&{...O,config:w}),c(An(w))}}):e==="mcp"?s.jsx(dp,{config:u,status:o,onToggle:de,onAction:ve}):s.jsx(cp,{onDeleteHistory:()=>void _(),onDeleteFeedback:()=>void z()}),ft=Object.keys(u.features).filter(w=>u.features[w]&&!n.config.features[w]).map(au),Ie=Object.keys(u.features).filter(w=>!u.features[w]&&n.config.features[w]).map(au),Nn=Object.keys(u.limits).filter(w=>u.limits[w]!==n.config.limits[w]).map(w=>`${w}: ${n.config.limits[w]} → ${u.limits[w]}`);return s.jsxs("div",{className:"app-shell",children:[s.jsxs("header",{className:"app-header",children:[s.jsxs("div",{children:[s.jsx("p",{className:"eyebrow",children:"JUTELL BY JU0"}),s.jsx("h1",{children:"개인 베타 관리자"}),s.jsx("p",{children:"AI가 한 일을 이해하고, 검증하고, 다음 작업까지 이어가도록 돕습니다."}),s.jsx("p",{className:"muted",children:"설정과 피드백은 이 컴퓨터에만 관리합니다."})]}),s.jsx("div",{className:"header-badge",children:"LOCAL ONLY"})]}),s.jsx("nav",{className:"tab-nav","aria-label":"관리자 메뉴",children:hp.map(w=>s.jsx("button",{className:e===w.id?"active":"",onClick:()=>t(w.id),children:w.label},w.id))}),s.jsxs("main",{children:[y&&s.jsx(ut,{tone:y.tone,children:y.text}),q]}),N&&s.jsxs("div",{className:"save-bar",children:[s.jsx("span",{children:"저장되지 않은 변경이 있습니다."}),s.jsxs("div",{className:"button-row",children:[s.jsx("button",{className:"secondary",onClick:()=>c(An(n.config)),children:"변경 취소"}),s.jsx("button",{className:"primary",onClick:P,children:"저장 전에 확인"})]})]}),k&&s.jsx("div",{className:"modal-backdrop",children:s.jsxs("div",{className:"modal",role:"dialog","aria-modal":"true","aria-labelledby":"preview-title",children:[s.jsx("h2",{id:"preview-title",children:m==="feature"?"개별 기능 변경 미리보기":m==="profile"?"추천 설정 적용 미리보기":"설정 변경 미리보기"}),m==="profile"&&s.jsxs("div",{className:"preview-context",children:[s.jsx("strong",{children:Ar(u.profile)}),s.jsx("span",{children:wn[u.profile].description}),s.jsx("small",{children:"Profile은 추천 설정 묶음이며 저장 후에도 개별 수정할 수 있습니다."})]}),s.jsxs("div",{className:"preview-grid",children:[m==="feature"&&s.jsxs(s.Fragment,{children:[s.jsx("strong",{children:"직접 켠 기능"}),s.jsx("span",{children:ft.join(", ")||"없음"}),s.jsx("strong",{children:"직접 끈 기능"}),s.jsx("span",{children:Ie.join(", ")||"없음"}),s.jsx("strong",{children:"변화 없는 기능"}),s.jsx("span",{children:Qe.filter(w=>!ft.includes(w.label)&&!Ie.includes(w.label)).map(w=>w.label).join(", ")})]}),m==="profile"&&s.jsxs(s.Fragment,{children:[s.jsx("strong",{children:"선택한 Profile"}),s.jsx("span",{children:Ar(u.profile)}),s.jsx("strong",{children:"새로 켜지는 기능"}),s.jsx("span",{children:ft.join(", ")||"없음"}),s.jsx("strong",{children:"새로 꺼지는 기능"}),s.jsx("span",{children:Ie.join(", ")||"없음"})]}),m==="limits"&&s.jsxs(s.Fragment,{children:[s.jsx("strong",{children:"바뀌는 보고 길이"}),s.jsx("span",{children:Nn.join(", ")||"없음"})]}),m!=="feature"&&m!=="profile"&&s.jsxs(s.Fragment,{children:[s.jsx("strong",{children:"변경 전 Profile"}),s.jsx("span",{children:Ar(n.config.profile)}),s.jsx("strong",{children:"변경 후 Profile"}),s.jsx("span",{children:Ar(u.profile)})]}),s.jsx("strong",{children:"안전상 계속 보고"}),s.jsx("span",{children:"작업 실패, 핵심 검증 실패, 중요 미확인, 보안·데이터 손실 위험은 계속 표시됩니다."})]}),s.jsxs("div",{className:"button-row modal-actions",children:[s.jsx("button",{className:"secondary",onClick:()=>C(!1),children:"취소"}),s.jsx("button",{className:"primary",onClick:()=>void L(),children:"이 설정 저장"})]})]})})]})}ci.createRoot(document.getElementById("root")).render(s.jsx(Dc.StrictMode,{children:s.jsx(gp,{})}));
|