From cdb107dcda858a8bb64455cc60a196a42345f8f7 Mon Sep 17 00:00:00 2001 From: damian Date: Tue, 1 Nov 2022 11:17:43 +0100 Subject: [PATCH] add option to show intermediate latent space --- backend/invoke_ai_web_server.py | 11 +- frontend/dist/assets/index.ae92a637.js | 690 ++++++++++++++++++ .../src/common/util/parameterTranslation.ts | 3 +- .../system/SettingsModal/SettingsModal.tsx | 10 + frontend/src/features/system/systemSlice.ts | 6 + ldm/generate.py | 3 + ldm/invoke/generator/base.py | 23 + ldm/invoke/server.py | 10 +- server/models.py | 2 + 9 files changed, 751 insertions(+), 7 deletions(-) create mode 100644 frontend/dist/assets/index.ae92a637.js diff --git a/backend/invoke_ai_web_server.py b/backend/invoke_ai_web_server.py index 8ae79855ab..4adae53e6f 100644 --- a/backend/invoke_ai_web_server.py +++ b/backend/invoke_ai_web_server.py @@ -604,12 +604,15 @@ class InvokeAIWebServer: progress.set_current_status("Generating") progress.set_current_status_has_steps(True) + wants_progress_image = generation_parameters['progress_images'] and step % 5 == 0 + wants_progress_latents = generation_parameters['progress_latents'] + if ( - generation_parameters["progress_images"] - and step % 5 == 0 - and step < generation_parameters["steps"] - 1 + wants_progress_image | wants_progress_latents + and step < generation_parameters['steps'] - 1 ): - image = self.generate.sample_to_image(sample) + image = self.generate.sample_to_image(sample) if wants_progress_image \ + else self.generate.sample_to_lowres_estimated_image(sample) metadata = self.parameters_to_generated_image_metadata( generation_parameters ) diff --git a/frontend/dist/assets/index.ae92a637.js b/frontend/dist/assets/index.ae92a637.js new file mode 100644 index 0000000000..c2a097832c --- /dev/null +++ b/frontend/dist/assets/index.ae92a637.js @@ -0,0 +1,690 @@ +function nq(e,t){for(var n=0;ni[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))i(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).observe(document,{childList:!0,subtree:!0});function n(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerpolicy&&(s.referrerPolicy=o.referrerpolicy),o.crossorigin==="use-credentials"?s.credentials="include":o.crossorigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(o){if(o.ep)return;o.ep=!0;const s=n(o);fetch(o.href,s)}})();var jc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rq(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var E={exports:{}},lE={exports:{}};/** + * @license React + * react.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */(function(e,t){(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var n="18.2.0",i=Symbol.for("react.element"),o=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),p=Symbol.for("react.profiler"),m=Symbol.for("react.provider"),v=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),b=Symbol.for("react.suspense"),w=Symbol.for("react.suspense_list"),C=Symbol.for("react.memo"),T=Symbol.for("react.lazy"),R=Symbol.for("react.offscreen"),L=Symbol.iterator,D="@@iterator";function P(S){if(S===null||typeof S!="object")return null;var O=L&&S[L]||S[D];return typeof O=="function"?O:null}var I={current:null},F={transition:null},z={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},q={current:null},Y={},Q=null;function ie(S){Q=S}Y.setExtraStackFrame=function(S){Q=S},Y.getCurrentStack=null,Y.getStackAddendum=function(){var S="";Q&&(S+=Q);var O=Y.getCurrentStack;return O&&(S+=O()||""),S};var ae=!1,me=!1,ze=!1,te=!1,ee=!1,we={ReactCurrentDispatcher:I,ReactCurrentBatchConfig:F,ReactCurrentOwner:q};we.ReactDebugCurrentFrame=Y,we.ReactCurrentActQueue=z;function ye(S){{for(var O=arguments.length,V=new Array(O>1?O-1:0),G=1;G1?O-1:0),G=1;G1){for(var $t=Array(Nt),xt=0;xt1){for(var Gt=Array(xt),Lt=0;Lt is not supported and will be removed in a future major release. Did you mean to render instead?")),O.Provider},set:function(Te){O.Provider=Te}},_currentValue:{get:function(){return O._currentValue},set:function(Te){O._currentValue=Te}},_currentValue2:{get:function(){return O._currentValue2},set:function(Te){O._currentValue2=Te}},_threadCount:{get:function(){return O._threadCount},set:function(Te){O._threadCount=Te}},Consumer:{get:function(){return V||(V=!0,K("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),O.Consumer}},displayName:{get:function(){return O.displayName},set:function(Te){se||(ye("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",Te),se=!0)}}}),O.Consumer=Ue}return O._currentRenderer=null,O._currentRenderer2=null,O}var xr=-1,Yi=0,Ja=1,qi=2;function X(S){if(S._status===xr){var O=S._result,V=O();if(V.then(function(Ue){if(S._status===Yi||S._status===xr){var Te=S;Te._status=Ja,Te._result=Ue}},function(Ue){if(S._status===Yi||S._status===xr){var Te=S;Te._status=qi,Te._result=Ue}}),S._status===xr){var G=S;G._status=Yi,G._result=V}}if(S._status===Ja){var se=S._result;return se===void 0&&K(`lazy: Expected the result of a dynamic import() call. Instead received: %s + +Your code should look like: + const MyComponent = lazy(() => import('./MyComponent')) + +Did you accidentally put curly braces around the import?`,se),"default"in se||K(`lazy: Expected the result of a dynamic import() call. Instead received: %s + +Your code should look like: + const MyComponent = lazy(() => import('./MyComponent'))`,se),se.default}else throw S._result}function Ve(S){var O={_status:xr,_result:S},V={$$typeof:T,_payload:O,_init:X};{var G,se;Object.defineProperties(V,{defaultProps:{configurable:!0,get:function(){return G},set:function(Ue){K("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),G=Ue,Object.defineProperty(V,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return se},set:function(Ue){K("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),se=Ue,Object.defineProperty(V,"propTypes",{enumerable:!0})}}})}return V}function Qe(S){S!=null&&S.$$typeof===C?K("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof S!="function"?K("forwardRef requires a render function but was given %s.",S===null?"null":typeof S):S.length!==0&&S.length!==2&&K("forwardRef render functions accept exactly two parameters: props and ref. %s",S.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),S!=null&&(S.defaultProps!=null||S.propTypes!=null)&&K("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");var O={$$typeof:g,render:S};{var V;Object.defineProperty(O,"displayName",{enumerable:!1,configurable:!0,get:function(){return V},set:function(G){V=G,!S.name&&!S.displayName&&(S.displayName=G)}})}return O}var _t;_t=Symbol.for("react.module.reference");function un(S){return!!(typeof S=="string"||typeof S=="function"||S===s||S===p||ee||S===l||S===b||S===w||te||S===R||ae||me||ze||typeof S=="object"&&S!==null&&(S.$$typeof===T||S.$$typeof===C||S.$$typeof===m||S.$$typeof===v||S.$$typeof===g||S.$$typeof===_t||S.getModuleId!==void 0))}function Cn(S,O){un(S)||K("memo: The first argument must be a component. Instead received: %s",S===null?"null":typeof S);var V={$$typeof:C,type:S,compare:O===void 0?null:O};{var G;Object.defineProperty(V,"displayName",{enumerable:!1,configurable:!0,get:function(){return G},set:function(se){G=se,!S.name&&!S.displayName&&(S.displayName=se)}})}return V}function st(){var S=I.current;return S===null&&K(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: +1. You might have mismatching versions of React and the renderer (such as React DOM) +2. You might be breaking the Rules of Hooks +3. You might have more than one copy of React in the same app +See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`),S}function Kt(S){var O=st();if(S._context!==void 0){var V=S._context;V.Consumer===S?K("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):V.Provider===S&&K("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return O.useContext(S)}function Hn(S){var O=st();return O.useState(S)}function Un(S,O,V){var G=st();return G.useReducer(S,O,V)}function fn(S){var O=st();return O.useRef(S)}function Kr(S,O){var V=st();return V.useEffect(S,O)}function Aa(S,O){var V=st();return V.useInsertionEffect(S,O)}function qo(S,O){var V=st();return V.useLayoutEffect(S,O)}function ki(S,O){var V=st();return V.useCallback(S,O)}function wo(S,O){var V=st();return V.useMemo(S,O)}function Xu(S,O,V){var G=st();return G.useImperativeHandle(S,O,V)}function La(S,O){{var V=st();return V.useDebugValue(S,O)}}function cl(){var S=st();return S.useTransition()}function eo(S){var O=st();return O.useDeferredValue(S)}function tn(){var S=st();return S.useId()}function to(S,O,V){var G=st();return G.useSyncExternalStore(S,O,V)}var Ai=0,Zo,Cs,Ko,Ns,Es,Xo,Qo;function _s(){}_s.__reactDisabledLog=!0;function fl(){{if(Ai===0){Zo=console.log,Cs=console.info,Ko=console.warn,Ns=console.error,Es=console.group,Xo=console.groupCollapsed,Qo=console.groupEnd;var S={configurable:!0,enumerable:!0,value:_s,writable:!0};Object.defineProperties(console,{info:S,log:S,warn:S,error:S,group:S,groupCollapsed:S,groupEnd:S})}Ai++}}function dl(){{if(Ai--,Ai===0){var S={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Oe({},S,{value:Zo}),info:Oe({},S,{value:Cs}),warn:Oe({},S,{value:Ko}),error:Oe({},S,{value:Ns}),group:Oe({},S,{value:Es}),groupCollapsed:Oe({},S,{value:Xo}),groupEnd:Oe({},S,{value:Qo})})}Ai<0&&K("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Oa=we.ReactCurrentDispatcher,Gr;function Zi(S,O,V){{if(Gr===void 0)try{throw Error()}catch(se){var G=se.stack.trim().match(/\n( *(at )?)/);Gr=G&&G[1]||""}return` +`+Gr+S}}var Li=!1,Ki;{var Ts=typeof WeakMap=="function"?WeakMap:Map;Ki=new Ts}function Jo(S,O){if(!S||Li)return"";{var V=Ki.get(S);if(V!==void 0)return V}var G;Li=!0;var se=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var Ue;Ue=Oa.current,Oa.current=null,fl();try{if(O){var Te=function(){throw Error()};if(Object.defineProperty(Te.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Te,[])}catch(jt){G=jt}Reflect.construct(S,[],Te)}else{try{Te.call()}catch(jt){G=jt}S.call(Te.prototype)}}else{try{throw Error()}catch(jt){G=jt}S()}}catch(jt){if(jt&&G&&typeof jt.stack=="string"){for(var Ye=jt.stack.split(` +`),ft=G.stack.split(` +`),Nt=Ye.length-1,$t=ft.length-1;Nt>=1&&$t>=0&&Ye[Nt]!==ft[$t];)$t--;for(;Nt>=1&&$t>=0;Nt--,$t--)if(Ye[Nt]!==ft[$t]){if(Nt!==1||$t!==1)do if(Nt--,$t--,$t<0||Ye[Nt]!==ft[$t]){var xt=` +`+Ye[Nt].replace(" at new "," at ");return S.displayName&&xt.includes("")&&(xt=xt.replace("",S.displayName)),typeof S=="function"&&Ki.set(S,xt),xt}while(Nt>=1&&$t>=0);break}}}finally{Li=!1,Oa.current=Ue,dl(),Error.prepareStackTrace=se}var Gt=S?S.displayName||S.name:"",Lt=Gt?Zi(Gt):"";return typeof S=="function"&&Ki.set(S,Lt),Lt}function Rs(S,O,V){return Jo(S,!1)}function Jl(S){var O=S.prototype;return!!(O&&O.isReactComponent)}function Oi(S,O,V){if(S==null)return"";if(typeof S=="function")return Jo(S,Jl(S));if(typeof S=="string")return Zi(S);switch(S){case b:return Zi("Suspense");case w:return Zi("SuspenseList")}if(typeof S=="object")switch(S.$$typeof){case g:return Rs(S.render);case C:return Oi(S.type,O,V);case T:{var G=S,se=G._payload,Ue=G._init;try{return Oi(Ue(se),O,V)}catch{}}}return""}var es={},Xi=we.ReactDebugCurrentFrame;function Ma(S){if(S){var O=S._owner,V=Oi(S.type,S._source,O?O.type:null);Xi.setExtraStackFrame(V)}else Xi.setExtraStackFrame(null)}function pl(S,O,V,G,se){{var Ue=Function.call.bind(ln);for(var Te in S)if(Ue(S,Te)){var Ye=void 0;try{if(typeof S[Te]!="function"){var ft=Error((G||"React class")+": "+V+" type `"+Te+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof S[Te]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw ft.name="Invariant Violation",ft}Ye=S[Te](O,Te,G,V,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(Nt){Ye=Nt}Ye&&!(Ye instanceof Error)&&(Ma(se),K("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",G||"React class",V,Te,typeof Ye),Ma(null)),Ye instanceof Error&&!(Ye.message in es)&&(es[Ye.message]=!0,Ma(se),K("Failed %s type: %s",V,Ye.message),Ma(null))}}}function dn(S){if(S){var O=S._owner,V=Oi(S.type,S._source,O?O.type:null);ie(V)}else ie(null)}var Pa;Pa=!1;function ts(){if(q.current){var S=Tt(q.current.type);if(S)return` + +Check the render method of \``+S+"`."}return""}function Wt(S){if(S!==void 0){var O=S.fileName.replace(/^.*[\\\/]/,""),V=S.lineNumber;return` + +Check your code at `+O+":"+V+"."}return""}function ml(S){return S!=null?Wt(S.__source):""}var _r={};function no(S){var O=ts();if(!O){var V=typeof S=="string"?S:S.displayName||S.name;V&&(O=` + +Check the top-level render call using <`+V+">.")}return O}function oa(S,O){if(!(!S._store||S._store.validated||S.key!=null)){S._store.validated=!0;var V=no(O);if(!_r[V]){_r[V]=!0;var G="";S&&S._owner&&S._owner!==q.current&&(G=" It was passed a child from "+Tt(S._owner.type)+"."),dn(S),K('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',V,G),dn(null)}}}function Co(S,O){if(typeof S=="object"){if(Vt(S))for(var V=0;V",se=" Did you accidentally export a JSX literal instead of a component?"):Te=typeof S,K("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Te,se)}var Ye=ut.apply(this,arguments);if(Ye==null)return Ye;if(G)for(var ft=2;ft10&&ye("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."),G._updatedFibers.clear()}}}var No=!1,Ia=null;function hl(S){if(Ia===null)try{var O=("require"+Math.random()).slice(0,7),V=e&&e[O];Ia=V.call(e,"timers").setImmediate}catch{Ia=function(se){No===!1&&(No=!0,typeof MessageChannel>"u"&&K("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var Ue=new MessageChannel;Ue.port1.onmessage=se,Ue.port2.postMessage(void 0)}}return Ia(S)}var bn=0,zn=!1;function eu(S){{var O=bn;bn++,z.current===null&&(z.current=[]);var V=z.isBatchingLegacy,G;try{if(z.isBatchingLegacy=!0,G=S(),!V&&z.didScheduleLegacyUpdate){var se=z.current;se!==null&&(z.didScheduleLegacyUpdate=!1,be(se))}}catch(Gt){throw Qi(O),Gt}finally{z.isBatchingLegacy=V}if(G!==null&&typeof G=="object"&&typeof G.then=="function"){var Ue=G,Te=!1,Ye={then:function(Gt,Lt){Te=!0,Ue.then(function(jt){Qi(O),bn===0?W(jt,Gt,Lt):Gt(jt)},function(jt){Qi(O),Lt(jt)})}};return!zn&&typeof Promise<"u"&&Promise.resolve().then(function(){}).then(function(){Te||(zn=!0,K("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),Ye}else{var ft=G;if(Qi(O),bn===0){var Nt=z.current;Nt!==null&&(be(Nt),z.current=null);var $t={then:function(Gt,Lt){z.current===null?(z.current=[],W(ft,Gt,Lt)):Gt(ft)}};return $t}else{var xt={then:function(Gt,Lt){Gt(ft)}};return xt}}}}function Qi(S){S!==bn-1&&K("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "),bn=S}function W(S,O,V){{var G=z.current;if(G!==null)try{be(G),hl(function(){G.length===0?(z.current=null,O(S)):W(S,O,V)})}catch(se){V(se)}else O(S)}}var ne=!1;function be(S){if(!ne){ne=!0;var O=0;try{for(;O0;){var en=gn-1>>>1,Rn=Ge[en];if(v(Rn,ut)>0)Ge[en]=ut,Ge[gn]=Rn,gn=en;else return}}function m(Ge,ut,At){for(var gn=At,en=Ge.length,Rn=en>>>1;gnAt&&(!Ge||On()));){var gn=te.callback;if(typeof gn=="function"){te.callback=null,ee=te.priorityLevel;var en=te.expirationTime<=At,Rn=gn(en);At=e.unstable_now(),typeof Rn=="function"?te.callback=Rn:te===s(ae)&&l(ae),Ee(At)}else l(ae);te=s(ae)}if(te!==null)return!0;var Fn=s(me);return Fn!==null&&Dt(Oe,Fn.startTime-At),!1}function et(Ge,ut){switch(Ge){case g:case b:case w:case C:case T:break;default:Ge=w}var At=ee;ee=Ge;try{return ut()}finally{ee=At}}function at(Ge){var ut;switch(ee){case g:case b:case w:ut=w;break;default:ut=ee;break}var At=ee;ee=ut;try{return Ge()}finally{ee=At}}function kt(Ge){var ut=ee;return function(){var At=ee;ee=ut;try{return Ge.apply(this,arguments)}finally{ee=At}}}function He(Ge,ut,At){var gn=e.unstable_now(),en;if(typeof At=="object"&&At!==null){var Rn=At.delay;typeof Rn=="number"&&Rn>0?en=gn+Rn:en=gn}else en=gn;var Fn;switch(Ge){case g:Fn=z;break;case b:Fn=q;break;case T:Fn=ie;break;case C:Fn=Q;break;case w:default:Fn=Y;break}var zr=en+Fn,Pn={id:ze++,callback:ut,priorityLevel:Ge,startTime:en,expirationTime:zr,sortIndex:-1};return en>gn?(Pn.sortIndex=en,o(me,Pn),s(ae)===null&&Pn===s(me)&&(K?Ie():K=!0,Dt(Oe,en-gn))):(Pn.sortIndex=zr,o(ae,Pn),!ye&&!we&&(ye=!0,rn(Pe))),Pn}function ot(){}function wt(){!ye&&!we&&(ye=!0,rn(Pe))}function It(){return s(ae)}function We(Ge){Ge.callback=null}function Vt(){return ee}var Ce=!1,nt=null,Ct=-1,rt=i,sn=-1;function On(){var Ge=e.unstable_now()-sn;return!(Ge125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");return}Ge>0?rt=Math.floor(1e3/Ge):rt=i}var Mn=function(){if(nt!==null){var Ge=e.unstable_now();sn=Ge;var ut=!0,At=!0;try{At=nt(ut,Ge)}finally{At?yn():(Ce=!1,nt=null)}}else Ce=!1},yn;if(typeof pe=="function")yn=function(){pe(Mn)};else if(typeof MessageChannel<"u"){var Ze=new MessageChannel,tt=Ze.port2;Ze.port1.onmessage=Mn,yn=function(){tt.postMessage(null)}}else yn=function(){le(Mn,0)};function rn(Ge){nt=Ge,Ce||(Ce=!0,yn())}function Dt(Ge,ut){Ct=le(function(){Ge(e.unstable_now())},ut)}function Ie(){ge(Ct),Ct=-1}var Zt=Tt,Tn=null;e.unstable_IdlePriority=T,e.unstable_ImmediatePriority=g,e.unstable_LowPriority=C,e.unstable_NormalPriority=w,e.unstable_Profiling=Tn,e.unstable_UserBlockingPriority=b,e.unstable_cancelCallback=We,e.unstable_continueExecution=wt,e.unstable_forceFrameRate=ln,e.unstable_getCurrentPriorityLevel=Vt,e.unstable_getFirstCallbackNode=It,e.unstable_next=at,e.unstable_pauseExecution=ot,e.unstable_requestPaint=Zt,e.unstable_runWithPriority=et,e.unstable_scheduleCallback=He,e.unstable_shouldYield=On,e.unstable_wrapCallback=kt,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)})()})(LD);(function(e){e.exports=LD})(AD);/** + * @license React + * react-dom.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=E.exports,t=AD.exports,n=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,i=!1;function o(r){i=r}function s(r){if(!i){for(var a=arguments.length,u=new Array(a>1?a-1:0),f=1;f1?a-1:0),f=1;f2&&(r[0]==="o"||r[0]==="O")&&(r[1]==="n"||r[1]==="N")}function zr(r,a,u,f){if(u!==null&&u.type===Ze)return!1;switch(typeof a){case"function":case"symbol":return!0;case"boolean":{if(f)return!1;if(u!==null)return!u.acceptsBooleans;var h=r.toLowerCase().slice(0,5);return h!=="data-"&&h!=="aria-"}default:return!1}}function Pn(r,a,u,f){if(a===null||typeof a>"u"||zr(r,a,u,f))return!0;if(f)return!1;if(u!==null)switch(u.type){case Dt:return!a;case Ie:return a===!1;case Zt:return isNaN(a);case Tn:return isNaN(a)||a<1}return!1}function Ti(r){return kn.hasOwnProperty(r)?kn[r]:null}function Vn(r,a,u,f,h,x,_){this.acceptsBooleans=a===rn||a===Dt||a===Ie,this.attributeName=f,this.attributeNamespace=h,this.mustUseProperty=u,this.propertyName=r,this.type=a,this.sanitizeURL=x,this.removeEmptyString=_}var kn={},Ri=["children","dangerouslySetInnerHTML","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style"];Ri.forEach(function(r){kn[r]=new Vn(r,Ze,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var a=r[0],u=r[1];kn[a]=new Vn(a,tt,!1,u,null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){kn[r]=new Vn(r,rn,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){kn[r]=new Vn(r,rn,!1,r,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"].forEach(function(r){kn[r]=new Vn(r,Dt,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){kn[r]=new Vn(r,Dt,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){kn[r]=new Vn(r,Ie,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){kn[r]=new Vn(r,Tn,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){kn[r]=new Vn(r,Zt,!1,r.toLowerCase(),null,!1,!1)});var Er=/[\-\:]([a-z])/g,Wo=function(r){return r[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"].forEach(function(r){var a=r.replace(Er,Wo);kn[a]=new Vn(a,tt,!1,r,null,!1,!1)}),["xlink:actuate","xlink:arcrole","xlink:role","xlink:show","xlink:title","xlink:type"].forEach(function(r){var a=r.replace(Er,Wo);kn[a]=new Vn(a,tt,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var a=r.replace(Er,Wo);kn[a]=new Vn(a,tt,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){kn[r]=new Vn(r,tt,!1,r.toLowerCase(),null,!1,!1)});var Ss="xlinkHref";kn[Ss]=new Vn("xlinkHref",tt,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){kn[r]=new Vn(r,tt,!1,r.toLowerCase(),null,!0,!0)});var ws=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i,Go=!1;function Yo(r){!Go&&ws.test(r)&&(Go=!0,l("A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.",JSON.stringify(r)))}function xr(r,a,u,f){if(f.mustUseProperty){var h=f.propertyName;return r[h]}else{sn(u,a),f.sanitizeURL&&Yo(""+u);var x=f.attributeName,_=null;if(f.type===Ie){if(r.hasAttribute(x)){var A=r.getAttribute(x);return A===""?!0:Pn(a,u,f,!1)?A:A===""+u?u:A}}else if(r.hasAttribute(x)){if(Pn(a,u,f,!1))return r.getAttribute(x);if(f.type===Dt)return u;_=r.getAttribute(x)}return Pn(a,u,f,!1)?_===null?u:_:_===""+u?u:_}}function Yi(r,a,u,f){{if(!Rn(a))return;if(!r.hasAttribute(a))return u===void 0?void 0:null;var h=r.getAttribute(a);return sn(u,a),h===""+u?u:h}}function Ja(r,a,u,f){var h=Ti(a);if(!Fn(a,h,f)){if(Pn(a,u,h,f)&&(u=null),f||h===null){if(Rn(a)){var x=a;u===null?r.removeAttribute(x):(sn(u,a),r.setAttribute(x,""+u))}return}var _=h.mustUseProperty;if(_){var A=h.propertyName;if(u===null){var M=h.type;r[A]=M===Dt?!1:""}else r[A]=u;return}var U=h.attributeName,H=h.attributeNamespace;if(u===null)r.removeAttribute(U);else{var oe=h.type,re;oe===Dt||oe===Ie&&u===!0?re="":(sn(u,U),re=""+u,h.sanitizeURL&&Yo(re.toString())),H?r.setAttributeNS(H,U,re):r.setAttribute(U,re)}}}var qi=Symbol.for("react.element"),X=Symbol.for("react.portal"),Ve=Symbol.for("react.fragment"),Qe=Symbol.for("react.strict_mode"),_t=Symbol.for("react.profiler"),un=Symbol.for("react.provider"),Cn=Symbol.for("react.context"),st=Symbol.for("react.forward_ref"),Kt=Symbol.for("react.suspense"),Hn=Symbol.for("react.suspense_list"),Un=Symbol.for("react.memo"),fn=Symbol.for("react.lazy"),Kr=Symbol.for("react.scope"),Aa=Symbol.for("react.debug_trace_mode"),qo=Symbol.for("react.offscreen"),ki=Symbol.for("react.legacy_hidden"),wo=Symbol.for("react.cache"),Xu=Symbol.for("react.tracing_marker"),La=Symbol.iterator,cl="@@iterator";function eo(r){if(r===null||typeof r!="object")return null;var a=La&&r[La]||r[cl];return typeof a=="function"?a:null}var tn=Object.assign,to=0,Ai,Zo,Cs,Ko,Ns,Es,Xo;function Qo(){}Qo.__reactDisabledLog=!0;function _s(){{if(to===0){Ai=console.log,Zo=console.info,Cs=console.warn,Ko=console.error,Ns=console.group,Es=console.groupCollapsed,Xo=console.groupEnd;var r={configurable:!0,enumerable:!0,value:Qo,writable:!0};Object.defineProperties(console,{info:r,log:r,warn:r,error:r,group:r,groupCollapsed:r,groupEnd:r})}to++}}function fl(){{if(to--,to===0){var r={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:tn({},r,{value:Ai}),info:tn({},r,{value:Zo}),warn:tn({},r,{value:Cs}),error:tn({},r,{value:Ko}),group:tn({},r,{value:Ns}),groupCollapsed:tn({},r,{value:Es}),groupEnd:tn({},r,{value:Xo})})}to<0&&l("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var dl=n.ReactCurrentDispatcher,Oa;function Gr(r,a,u){{if(Oa===void 0)try{throw Error()}catch(h){var f=h.stack.trim().match(/\n( *(at )?)/);Oa=f&&f[1]||""}return` +`+Oa+r}}var Zi=!1,Li;{var Ki=typeof WeakMap=="function"?WeakMap:Map;Li=new Ki}function Ts(r,a){if(!r||Zi)return"";{var u=Li.get(r);if(u!==void 0)return u}var f;Zi=!0;var h=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var x;x=dl.current,dl.current=null,_s();try{if(a){var _=function(){throw Error()};if(Object.defineProperty(_.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(_,[])}catch(Se){f=Se}Reflect.construct(r,[],_)}else{try{_.call()}catch(Se){f=Se}r.call(_.prototype)}}else{try{throw Error()}catch(Se){f=Se}r()}}catch(Se){if(Se&&f&&typeof Se.stack=="string"){for(var A=Se.stack.split(` +`),M=f.stack.split(` +`),U=A.length-1,H=M.length-1;U>=1&&H>=0&&A[U]!==M[H];)H--;for(;U>=1&&H>=0;U--,H--)if(A[U]!==M[H]){if(U!==1||H!==1)do if(U--,H--,H<0||A[U]!==M[H]){var oe=` +`+A[U].replace(" at new "," at ");return r.displayName&&oe.includes("")&&(oe=oe.replace("",r.displayName)),typeof r=="function"&&Li.set(r,oe),oe}while(U>=1&&H>=0);break}}}finally{Zi=!1,dl.current=x,fl(),Error.prepareStackTrace=h}var re=r?r.displayName||r.name:"",xe=re?Gr(re):"";return typeof r=="function"&&Li.set(r,xe),xe}function Jo(r,a,u){return Ts(r,!0)}function Rs(r,a,u){return Ts(r,!1)}function Jl(r){var a=r.prototype;return!!(a&&a.isReactComponent)}function Oi(r,a,u){if(r==null)return"";if(typeof r=="function")return Ts(r,Jl(r));if(typeof r=="string")return Gr(r);switch(r){case Kt:return Gr("Suspense");case Hn:return Gr("SuspenseList")}if(typeof r=="object")switch(r.$$typeof){case st:return Rs(r.render);case Un:return Oi(r.type,a,u);case fn:{var f=r,h=f._payload,x=f._init;try{return Oi(x(h),a,u)}catch{}}}return""}function es(r){switch(r._debugOwner&&r._debugOwner.type,r._debugSource,r.tag){case C:return Gr(r.type);case Q:return Gr("Lazy");case z:return Gr("Suspense");case me:return Gr("SuspenseList");case m:case g:case Y:return Rs(r.type);case I:return Rs(r.type.render);case v:return Jo(r.type);default:return""}}function Xi(r){try{var a="",u=r;do a+=es(u),u=u.return;while(u);return a}catch(f){return` +Error generating stack: `+f.message+` +`+f.stack}}function Ma(r,a,u){var f=r.displayName;if(f)return f;var h=a.displayName||a.name||"";return h!==""?u+"("+h+")":u}function pl(r){return r.displayName||"Context"}function dn(r){if(r==null)return null;if(typeof r.tag=="number"&&l("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case Ve:return"Fragment";case X:return"Portal";case _t:return"Profiler";case Qe:return"StrictMode";case Kt:return"Suspense";case Hn:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case Cn:var a=r;return pl(a)+".Consumer";case un:var u=r;return pl(u._context)+".Provider";case st:return Ma(r,r.render,"ForwardRef");case Un:var f=r.displayName||null;return f!==null?f:dn(r.type)||"Memo";case fn:{var h=r,x=h._payload,_=h._init;try{return dn(_(x))}catch{return null}}}return null}function Pa(r,a,u){var f=a.displayName||a.name||"";return r.displayName||(f!==""?u+"("+f+")":u)}function ts(r){return r.displayName||"Context"}function Wt(r){var a=r.tag,u=r.type;switch(a){case we:return"Cache";case D:var f=u;return ts(f)+".Consumer";case P:var h=u;return ts(h._context)+".Provider";case ae:return"DehydratedFragment";case I:return Pa(u,u.render,"ForwardRef");case R:return"Fragment";case C:return u;case w:return"Portal";case b:return"Root";case T:return"Text";case Q:return dn(u);case L:return u===Qe?"StrictMode":"Mode";case te:return"Offscreen";case F:return"Profiler";case ze:return"Scope";case z:return"Suspense";case me:return"SuspenseList";case ye:return"TracingMarker";case v:case m:case ie:case g:case q:case Y:if(typeof u=="function")return u.displayName||u.name||null;if(typeof u=="string")return u;break}return null}var ml=n.ReactDebugCurrentFrame,_r=null,no=!1;function oa(){{if(_r===null)return null;var r=_r._debugOwner;if(r!==null&&typeof r<"u")return Wt(r)}return null}function Co(){return _r===null?"":Xi(_r)}function Pr(){ml.getCurrentStack=null,_r=null,no=!1}function lr(r){ml.getCurrentStack=r===null?null:Co,_r=r,no=!1}function ns(){return _r}function ri(r){no=r}function br(r){return""+r}function di(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return yn(r),r;default:return""}}var Qu={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0};function No(r,a){Qu[a.type]||a.onChange||a.onInput||a.readOnly||a.disabled||a.value==null||l("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."),a.onChange||a.readOnly||a.disabled||a.checked==null||l("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")}function Ia(r){var a=r.type,u=r.nodeName;return u&&u.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function hl(r){return r._valueTracker}function bn(r){r._valueTracker=null}function zn(r){var a="";return r&&(Ia(r)?a=r.checked?"true":"false":a=r.value),a}function eu(r){var a=Ia(r)?"checked":"value",u=Object.getOwnPropertyDescriptor(r.constructor.prototype,a);yn(r[a]);var f=""+r[a];if(!(r.hasOwnProperty(a)||typeof u>"u"||typeof u.get!="function"||typeof u.set!="function")){var h=u.get,x=u.set;Object.defineProperty(r,a,{configurable:!0,get:function(){return h.call(this)},set:function(A){yn(A),f=""+A,x.call(this,A)}}),Object.defineProperty(r,a,{enumerable:u.enumerable});var _={getValue:function(){return f},setValue:function(A){yn(A),f=""+A},stopTracking:function(){bn(r),delete r[a]}};return _}}function Qi(r){hl(r)||(r._valueTracker=eu(r))}function W(r){if(!r)return!1;var a=hl(r);if(!a)return!0;var u=a.getValue(),f=zn(r);return f!==u?(a.setValue(f),!0):!1}function ne(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var be=!1,ct=!1,pn=!1,Bn=!1;function Xt(r){var a=r.type==="checkbox"||r.type==="radio";return a?r.checked!=null:r.value!=null}function S(r,a){var u=r,f=a.checked,h=tn({},a,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:f??u._wrapperState.initialChecked});return h}function O(r,a){No("input",a),a.checked!==void 0&&a.defaultChecked!==void 0&&!ct&&(l("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components",oa()||"A component",a.type),ct=!0),a.value!==void 0&&a.defaultValue!==void 0&&!be&&(l("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components",oa()||"A component",a.type),be=!0);var u=r,f=a.defaultValue==null?"":a.defaultValue;u._wrapperState={initialChecked:a.checked!=null?a.checked:a.defaultChecked,initialValue:di(a.value!=null?a.value:f),controlled:Xt(a)}}function V(r,a){var u=r,f=a.checked;f!=null&&Ja(u,"checked",f,!1)}function G(r,a){var u=r;{var f=Xt(a);!u._wrapperState.controlled&&f&&!Bn&&(l("A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"),Bn=!0),u._wrapperState.controlled&&!f&&!pn&&(l("A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"),pn=!0)}V(r,a);var h=di(a.value),x=a.type;if(h!=null)x==="number"?(h===0&&u.value===""||u.value!=h)&&(u.value=br(h)):u.value!==br(h)&&(u.value=br(h));else if(x==="submit"||x==="reset"){u.removeAttribute("value");return}a.hasOwnProperty("value")?Ye(u,a.type,h):a.hasOwnProperty("defaultValue")&&Ye(u,a.type,di(a.defaultValue)),a.checked==null&&a.defaultChecked!=null&&(u.defaultChecked=!!a.defaultChecked)}function se(r,a,u){var f=r;if(a.hasOwnProperty("value")||a.hasOwnProperty("defaultValue")){var h=a.type,x=h==="submit"||h==="reset";if(x&&(a.value===void 0||a.value===null))return;var _=br(f._wrapperState.initialValue);u||_!==f.value&&(f.value=_),f.defaultValue=_}var A=f.name;A!==""&&(f.name=""),f.defaultChecked=!f.defaultChecked,f.defaultChecked=!!f._wrapperState.initialChecked,A!==""&&(f.name=A)}function Ue(r,a){var u=r;G(u,a),Te(u,a)}function Te(r,a){var u=a.name;if(a.type==="radio"&&u!=null){for(var f=r;f.parentNode;)f=f.parentNode;sn(u,"name");for(var h=f.querySelectorAll("input[name="+JSON.stringify(""+u)+'][type="radio"]'),x=0;x.")))}):a.dangerouslySetInnerHTML!=null&&($t||($t=!0,l("Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.")))),a.selected!=null&&!ft&&(l("Use the `defaultValue` or `value` props on must be a scalar value if `multiple` is false.%s",u,Mi())}}}}function In(r,a,u,f){var h=r.options;if(a){for(var x=u,_={},A=0;A.");var f=tn({},a,{value:void 0,defaultValue:void 0,children:br(u._wrapperState.initialValue)});return f}function h0(r,a){var u=r;No("textarea",a),a.value!==void 0&&a.defaultValue!==void 0&&!cy&&(l("%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://reactjs.org/link/controlled-components",oa()||"A component"),cy=!0);var f=a.value;if(f==null){var h=a.children,x=a.defaultValue;if(h!=null){l("Use the `defaultValue` or `value` props instead of setting children on