"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7536],{87536:function(e,t,r){r.d(t,{Gc:function(){return S},Qr:function(){return B},RV:function(){return w},cI:function(){return eV}});var s=r(67294),a=e=>"checkbox"===e.type,i=e=>e instanceof Date,l=e=>null==e;let u=e=>"object"==typeof e;var n=e=>!l(e)&&!Array.isArray(e)&&u(e)&&!i(e),o=e=>n(e)&&e.target?a(e.target)?e.target.checked:e.target.value:e,d=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,f=(e,t)=>e.has(d(t)),c=e=>{let t=e.constructor&&e.constructor.prototype;return n(t)&&t.hasOwnProperty("isPrototypeOf")},y="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function m(e){let t;let r=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else if(!(!(y&&(e instanceof Blob||e instanceof FileList))&&(r||n(e))))return e;else if(t=r?[]:{},r||c(e))for(let r in e)e.hasOwnProperty(r)&&(t[r]=m(e[r]));else t=e;return t}var h=e=>Array.isArray(e)?e.filter(Boolean):[],v=e=>void 0===e,b=(e,t,r)=>{if(!t||!n(e))return r;let s=h(t.split(/[,[\].]+?/)).reduce((e,t)=>l(e)?e:e[t],e);return v(s)||s===e?v(e[t])?r:e[t]:s},g=e=>"boolean"==typeof e;let p={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},_={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},V={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},A=s.createContext(null),S=()=>s.useContext(A),w=e=>{let{children:t,...r}=e;return s.createElement(A.Provider,{value:r},t)};var F=(e,t,r,s=!0)=>{let a={defaultValues:t._defaultValues};for(let i in e)Object.defineProperty(a,i,{get:()=>(t._proxyFormState[i]!==_.all&&(t._proxyFormState[i]=!s||_.all),r&&(r[i]=!0),e[i])});return a},x=e=>n(e)&&!Object.keys(e).length,k=(e,t,r,s)=>{r(e);let{name:a,...i}=e;return x(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(e=>t[e]===(!s||_.all))},D=e=>Array.isArray(e)?e:[e],C=(e,t,r)=>!e||!t||e===t||D(e).some(e=>e&&(r?e===t:e.startsWith(t)||t.startsWith(e)));function E(e){let t=s.useRef(e);t.current=e,s.useEffect(()=>{let r=!e.disabled&&t.current.subject&&t.current.subject.subscribe({next:t.current.next});return()=>{r&&r.unsubscribe()}},[e.disabled])}var O=e=>"string"==typeof e,L=(e,t,r,s,a)=>O(e)?(s&&t.watch.add(e),b(r,e,a)):Array.isArray(e)?e.map(e=>(s&&t.watch.add(e),b(r,e))):(s&&(t.watchAll=!0),r),T=e=>/^\w*$/.test(e),j=e=>h(e.replace(/["|']|\]/g,"").split(/\.|\[/)),U=(e,t,r)=>{let s=-1,a=T(t)?[t]:j(t),i=a.length,l=i-1;for(;++s<i;){let t=a[s],i=r;if(s!==l){let r=e[t];i=n(r)||Array.isArray(r)?r:isNaN(+a[s+1])?{}:[]}e[t]=i,e=e[t]}return e};let B=e=>e.render(function(e){let t=S(),{name:r,disabled:a,control:i=t.control,shouldUnregister:l}=e,u=f(i._names.array,r),n=function(e){let t=S(),{control:r=t.control,name:a,defaultValue:i,disabled:l,exact:u}=e||{},n=s.useRef(a);n.current=a,E({disabled:l,subject:r._subjects.values,next:e=>{C(n.current,e.name,u)&&d(m(L(n.current,r._names,e.values||r._formValues,!1,i)))}});let[o,d]=s.useState(r._getWatch(a,i));return s.useEffect(()=>r._removeUnmounted()),o}({control:i,name:r,defaultValue:b(i._formValues,r,b(i._defaultValues,r,e.defaultValue)),exact:!0}),d=function(e){let t=S(),{control:r=t.control,disabled:a,name:i,exact:l}=e||{},[u,n]=s.useState(r._formState),o=s.useRef(!0),d=s.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),f=s.useRef(i);return f.current=i,E({disabled:a,next:e=>o.current&&C(f.current,e.name,l)&&k(e,d.current,r._updateFormState)&&n({...r._formState,...e}),subject:r._subjects.state}),s.useEffect(()=>(o.current=!0,d.current.isValid&&r._updateValid(!0),()=>{o.current=!1}),[r]),F(u,r,d.current,!1)}({control:i,name:r}),c=s.useRef(i.register(r,{...e.rules,value:n,...g(e.disabled)?{disabled:e.disabled}:{}}));return s.useEffect(()=>{let e=i._options.shouldUnregister||l,t=(e,t)=>{let r=b(i._fields,e);r&&(r._f.mount=t)};if(t(r,!0),e){let e=m(b(i._options.defaultValues,r));U(i._defaultValues,r,e),v(b(i._formValues,r))&&U(i._formValues,r,e)}return()=>{(u?e&&!i._state.action:e)?i.unregister(r):t(r,!1)}},[r,i,u,l]),s.useEffect(()=>{b(i._fields,r)&&i._updateDisabledField({disabled:a,fields:i._fields,name:r,value:b(i._fields,r)._f.value})},[a,r,i]),{field:{name:r,value:n,...g(a)||d.disabled?{disabled:d.disabled||a}:{},onChange:s.useCallback(e=>c.current.onChange({target:{value:o(e),name:r},type:p.CHANGE}),[r]),onBlur:s.useCallback(()=>c.current.onBlur({target:{value:b(i._formValues,r),name:r},type:p.BLUR}),[r,i]),ref:e=>{let t=b(i._fields,r);t&&e&&(t._f.ref={focus:()=>e.focus(),select:()=>e.select(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})}},formState:d,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!b(d.errors,r)},isDirty:{enumerable:!0,get:()=>!!b(d.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!b(d.touchedFields,r)},error:{enumerable:!0,get:()=>b(d.errors,r)}})}}(e));var N=(e,t,r,s,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[s]:a||!0}}:{},R=e=>({isOnSubmit:!e||e===_.onSubmit,isOnBlur:e===_.onBlur,isOnChange:e===_.onChange,isOnAll:e===_.all,isOnTouch:e===_.onTouched}),M=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length))));let q=(e,t,r,s)=>{for(let a of r||Object.keys(e)){let r=b(e,a);if(r){let{_f:e,...i}=r;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],a)&&!s||e.ref&&t(e.ref,e.name)&&!s)break;q(i,t)}else n(i)&&q(i,t)}}};var P=(e,t,r)=>{let s=h(b(e,r));return U(s,"root",t[r]),U(e,r,s),e},H=e=>"file"===e.type,I=e=>"function"==typeof e,W=e=>{if(!y)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},$=e=>O(e),G=e=>"radio"===e.type,Q=e=>e instanceof RegExp;let z={value:!1,isValid:!1},J={value:!0,isValid:!0};var K=e=>{if(Array.isArray(e)){if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!v(e[0].attributes.value)?v(e[0].value)||""===e[0].value?J:{value:e[0].value,isValid:!0}:J:z}return z};let X={isValid:!1,value:null};var Y=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,X):X;function Z(e,t,r="validate"){if($(e)||Array.isArray(e)&&e.every($)||g(e)&&!e)return{type:r,message:$(e)?e:"",ref:t}}var ee=e=>n(e)&&!Q(e)?e:{value:e,message:""},et=async(e,t,r,s,i)=>{let{ref:u,refs:o,required:d,maxLength:f,minLength:c,min:y,max:m,pattern:h,validate:p,name:_,valueAsNumber:A,mount:S,disabled:w}=e._f,F=b(t,_);if(!S||w)return{};let k=o?o[0]:u,D=e=>{s&&k.reportValidity&&(k.setCustomValidity(g(e)?"":e||""),k.reportValidity())},C={},E=G(u),L=a(u),T=(A||H(u))&&v(u.value)&&v(F)||W(u)&&""===u.value||""===F||Array.isArray(F)&&!F.length,j=N.bind(null,_,r,C),U=(e,t,r,s=V.maxLength,a=V.minLength)=>{let i=e?t:r;C[_]={type:e?s:a,message:i,ref:u,...j(e?s:a,i)}};if(i?!Array.isArray(F)||!F.length:d&&(!(E||L)&&(T||l(F))||g(F)&&!F||L&&!K(o).isValid||E&&!Y(o).isValid)){let{value:e,message:t}=$(d)?{value:!!d,message:d}:ee(d);if(e&&(C[_]={type:V.required,message:t,ref:k,...j(V.required,t)},!r))return D(t),C}if(!T&&(!l(y)||!l(m))){let e,t;let s=ee(m),a=ee(y);if(l(F)||isNaN(F)){let r=u.valueAsDate||new Date(F),i=e=>new Date(new Date().toDateString()+" "+e),l="time"==u.type,n="week"==u.type;O(s.value)&&F&&(e=l?i(F)>i(s.value):n?F>s.value:r>new Date(s.value)),O(a.value)&&F&&(t=l?i(F)<i(a.value):n?F<a.value:r<new Date(a.value))}else{let r=u.valueAsNumber||(F?+F:F);l(s.value)||(e=r>s.value),l(a.value)||(t=r<a.value)}if((e||t)&&(U(!!e,s.message,a.message,V.max,V.min),!r))return D(C[_].message),C}if((f||c)&&!T&&(O(F)||i&&Array.isArray(F))){let e=ee(f),t=ee(c),s=!l(e.value)&&F.length>+e.value,a=!l(t.value)&&F.length<+t.value;if((s||a)&&(U(s,e.message,t.message),!r))return D(C[_].message),C}if(h&&!T&&O(F)){let{value:e,message:t}=ee(h);if(Q(e)&&!F.match(e)&&(C[_]={type:V.pattern,message:t,ref:u,...j(V.pattern,t)},!r))return D(t),C}if(p){if(I(p)){let e=await p(F,t),s=Z(e,k);if(s&&(C[_]={...s,...j(V.validate,s.message)},!r))return D(s.message),C}else if(n(p)){let e={};for(let s in p){if(!x(e)&&!r)break;let a=Z(await p[s](F,t),k,s);a&&(e={...a,...j(s,a.message)},D(a.message),r&&(C[_]=e))}if(!x(e)&&(C[_]={ref:k,...e},!r))return C}}return D(!0),C};function er(e,t){let r=Array.isArray(t)?t:T(t)?[t]:j(t),s=1===r.length?e:function(e,t){let r=t.slice(0,-1).length,s=0;for(;s<r;)e=v(e)?s++:e[t[s++]];return e}(e,r),a=r.length-1,i=r[a];return s&&delete s[i],0!==a&&(n(s)&&x(s)||Array.isArray(s)&&function(e){for(let t in e)if(e.hasOwnProperty(t)&&!v(e[t]))return!1;return!0}(s))&&er(e,r.slice(0,-1)),e}var es=()=>{let e=[];return{get observers(){return e},next:t=>{for(let r of e)r.next&&r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}},ea=e=>l(e)||!u(e);function ei(e,t){if(ea(e)||ea(t))return e===t;if(i(e)&&i(t))return e.getTime()===t.getTime();let r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;for(let a of r){let r=e[a];if(!s.includes(a))return!1;if("ref"!==a){let e=t[a];if(i(r)&&i(e)||n(r)&&n(e)||Array.isArray(r)&&Array.isArray(e)?!ei(r,e):r!==e)return!1}}return!0}var el=e=>"select-multiple"===e.type,eu=e=>G(e)||a(e),en=e=>W(e)&&e.isConnected,eo=e=>{for(let t in e)if(I(e[t]))return!0;return!1};function ed(e,t={}){let r=Array.isArray(e);if(n(e)||r)for(let r in e)Array.isArray(e[r])||n(e[r])&&!eo(e[r])?(t[r]=Array.isArray(e[r])?[]:{},ed(e[r],t[r])):l(e[r])||(t[r]=!0);return t}var ef=(e,t)=>(function e(t,r,s){let a=Array.isArray(t);if(n(t)||a)for(let a in t)Array.isArray(t[a])||n(t[a])&&!eo(t[a])?v(r)||ea(s[a])?s[a]=Array.isArray(t[a])?ed(t[a],[]):{...ed(t[a])}:e(t[a],l(r)?{}:r[a],s[a]):s[a]=!ei(t[a],r[a]);return s})(e,t,ed(t)),ec=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>v(e)?e:t?""===e?NaN:e?+e:e:r&&O(e)?new Date(e):s?s(e):e;function ey(e){let t=e.ref;return(e.refs?e.refs.every(e=>e.disabled):t.disabled)?void 0:H(t)?t.files:G(t)?Y(e.refs).value:el(t)?[...t.selectedOptions].map(({value:e})=>e):a(t)?K(e.refs).value:ec(v(t.value)?e.ref.value:t.value,e)}var em=(e,t,r,s)=>{let a={};for(let r of e){let e=b(t,r);e&&U(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:s}},eh=e=>v(e)?e:Q(e)?e.source:n(e)?Q(e.value)?e.value.source:e.value:e,ev=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function eb(e,t,r){let s=b(e,r);if(s||T(r))return{error:s,name:r};let a=r.split(".");for(;a.length;){let s=a.join("."),i=b(t,s),l=b(e,s);if(i&&!Array.isArray(i)&&r!==s)break;if(l&&l.type)return{name:s,error:l};a.pop()}return{name:r}}var eg=(e,t,r,s,a)=>!a.isOnAll&&(!r&&a.isOnTouch?!(t||e):(r?s.isOnBlur:a.isOnBlur)?!e:(r?!s.isOnChange:!a.isOnChange)||e),ep=(e,t)=>!h(b(e,t)).length&&er(e,t);let e_={mode:_.onSubmit,reValidateMode:_.onChange,shouldFocusError:!0};function eV(e={}){let t=s.useRef(),r=s.useRef(),[u,d]=s.useState({isDirty:!1,isValidating:!1,isLoading:I(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:I(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...function(e={},t){let r,s={...e_,...e},u={submitCount:0,isDirty:!1,isLoading:I(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},errors:s.errors||{},disabled:s.disabled||!1},d={},c=(n(s.defaultValues)||n(s.values))&&m(s.defaultValues||s.values)||{},V=s.shouldUnregister?{}:m(c),A={action:!1,mount:!1,watch:!1},S={mount:new Set,unMount:new Set,array:new Set,watch:new Set},w=0,F={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},k={values:es(),array:es(),state:es()},C=R(s.mode),E=R(s.reValidateMode),T=s.criteriaMode===_.all,j=e=>t=>{clearTimeout(w),w=setTimeout(e,t)},B=async e=>{if(F.isValid||e){let e=s.resolver?x((await J()).errors):await X(d,!0);e!==u.isValid&&k.state.next({isValid:e})}},N=e=>F.isValidating&&k.state.next({isValidating:e}),$=(e,t)=>{U(u.errors,e,t),k.state.next({errors:u.errors})},G=(e,t,r,s)=>{let a=b(d,e);if(a){let i=b(V,e,v(r)?b(c,e):r);v(i)||s&&s.defaultChecked||t?U(V,e,t?i:ey(a._f)):ee(e,i),A.mount&&B()}},Q=(e,t,r,s,a)=>{let i=!1,l=!1,n={name:e},o=!!(b(d,e)&&b(d,e)._f.disabled);if(!r||s){F.isDirty&&(l=u.isDirty,u.isDirty=n.isDirty=Y(),i=l!==n.isDirty);let r=o||ei(b(c,e),t);l=!!(!o&&b(u.dirtyFields,e)),r||o?er(u.dirtyFields,e):U(u.dirtyFields,e,!0),n.dirtyFields=u.dirtyFields,i=i||F.dirtyFields&&!r!==l}if(r){let t=b(u.touchedFields,e);t||(U(u.touchedFields,e,r),n.touchedFields=u.touchedFields,i=i||F.touchedFields&&t!==r)}return i&&a&&k.state.next(n),i?n:{}},z=(t,s,a,i)=>{let l=b(u.errors,t),n=F.isValid&&g(s)&&u.isValid!==s;if(e.delayError&&a?(r=j(()=>$(t,a)))(e.delayError):(clearTimeout(w),r=null,a?U(u.errors,t,a):er(u.errors,t)),(a?!ei(l,a):l)||!x(i)||n){let e={...i,...n&&g(s)?{isValid:s}:{},errors:u.errors,name:t};u={...u,...e},k.state.next(e)}N(!1)},J=async e=>s.resolver(V,s.context,em(e||S.mount,d,s.criteriaMode,s.shouldUseNativeValidation)),K=async e=>{let{errors:t}=await J(e);if(e)for(let r of e){let e=b(t,r);e?U(u.errors,r,e):er(u.errors,r)}else u.errors=t;return t},X=async(e,t,r={valid:!0})=>{for(let a in e){let i=e[a];if(i){let{_f:e,...a}=i;if(e){let a=S.array.has(e.name),l=await et(i,V,T,s.shouldUseNativeValidation&&!t,a);if(l[e.name]&&(r.valid=!1,t))break;t||(b(l,e.name)?a?P(u.errors,l,e.name):U(u.errors,e.name,l[e.name]):er(u.errors,e.name))}a&&await X(a,t,r)}}return r.valid},Y=(e,t)=>(e&&t&&U(V,e,t),!ei(ew(),c)),Z=(e,t,r)=>L(e,S,{...A.mount?V:v(t)?c:O(e)?{[e]:t}:t},r,t),ee=(e,t,r={})=>{let s=b(d,e),i=t;if(s){let r=s._f;r&&(r.disabled||U(V,e,ec(t,r)),i=W(r.ref)&&l(t)?"":t,el(r.ref)?[...r.ref.options].forEach(e=>e.selected=i.includes(e.value)):r.refs?a(r.ref)?r.refs.length>1?r.refs.forEach(e=>(!e.defaultChecked||!e.disabled)&&(e.checked=Array.isArray(i)?!!i.find(t=>t===e.value):i===e.value)):r.refs[0]&&(r.refs[0].checked=!!i):r.refs.forEach(e=>e.checked=e.value===i):H(r.ref)?r.ref.value="":(r.ref.value=i,r.ref.type||k.values.next({name:e,values:{...V}})))}(r.shouldDirty||r.shouldTouch)&&Q(e,i,r.shouldTouch,r.shouldDirty,!0),r.shouldValidate&&eS(e)},eo=(e,t,r)=>{for(let s in t){let a=t[s],l=`${e}.${s}`,u=b(d,l);!S.array.has(e)&&ea(a)&&(!u||u._f)||i(a)?ee(l,a,r):eo(l,a,r)}},ed=(e,r,s={})=>{let a=b(d,e),i=S.array.has(e),n=m(r);U(V,e,n),i?(k.array.next({name:e,values:{...V}}),(F.isDirty||F.dirtyFields)&&s.shouldDirty&&k.state.next({name:e,dirtyFields:ef(c,V),isDirty:Y(e,n)})):!a||a._f||l(n)?ee(e,n,s):eo(e,n,s),M(e,S)&&k.state.next({...u}),k.values.next({name:e,values:{...V}}),A.mount||t()},eV=async e=>{let t=e.target,a=t.name,i=!0,l=b(d,a),n=e=>{i=Number.isNaN(e)||e===b(V,a,e)};if(l){let f,c;let y=t.type?ey(l._f):o(e),m=e.type===p.BLUR||e.type===p.FOCUS_OUT,h=!ev(l._f)&&!s.resolver&&!b(u.errors,a)&&!l._f.deps||eg(m,b(u.touchedFields,a),u.isSubmitted,E,C),v=M(a,S,m);U(V,a,y),m?(l._f.onBlur&&l._f.onBlur(e),r&&r(0)):l._f.onChange&&l._f.onChange(e);let g=Q(a,y,m,!1),_=!x(g)||v;if(m||k.values.next({name:a,type:e.type,values:{...V}}),h)return F.isValid&&B(),_&&k.state.next({name:a,...v?{}:g});if(!m&&v&&k.state.next({...u}),N(!0),s.resolver){let{errors:e}=await J([a]);if(n(y),i){let t=eb(u.errors,d,a),r=eb(e,d,t.name||a);f=r.error,a=r.name,c=x(e)}}else f=(await et(l,V,T,s.shouldUseNativeValidation))[a],n(y),i&&(f?c=!1:F.isValid&&(c=await X(d,!0)));i&&(l._f.deps&&eS(l._f.deps),z(a,c,f,g))}},eA=(e,t)=>{if(b(u.errors,t)&&e.focus)return e.focus(),1},eS=async(e,t={})=>{let r,a;let i=D(e);if(N(!0),s.resolver){let t=await K(v(e)?e:i);r=x(t),a=e?!i.some(e=>b(t,e)):r}else e?((a=(await Promise.all(i.map(async e=>{let t=b(d,e);return await X(t&&t._f?{[e]:t}:t)}))).every(Boolean))||u.isValid)&&B():a=r=await X(d);return k.state.next({...!O(e)||F.isValid&&r!==u.isValid?{}:{name:e},...s.resolver||!e?{isValid:r}:{},errors:u.errors,isValidating:!1}),t.shouldFocus&&!a&&q(d,eA,e?i:S.mount),a},ew=e=>{let t={...c,...A.mount?V:{}};return v(e)?t:O(e)?b(t,e):e.map(e=>b(t,e))},eF=(e,t)=>({invalid:!!b((t||u).errors,e),isDirty:!!b((t||u).dirtyFields,e),isTouched:!!b((t||u).touchedFields,e),error:b((t||u).errors,e)}),ex=(e,t,r)=>{let s=(b(d,e,{_f:{}})._f||{}).ref;U(u.errors,e,{...t,ref:s}),k.state.next({name:e,errors:u.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},ek=(e,t={})=>{for(let r of e?D(e):S.mount)S.mount.delete(r),S.array.delete(r),t.keepValue||(er(d,r),er(V,r)),t.keepError||er(u.errors,r),t.keepDirty||er(u.dirtyFields,r),t.keepTouched||er(u.touchedFields,r),s.shouldUnregister||t.keepDefaultValue||er(c,r);k.values.next({values:{...V}}),k.state.next({...u,...t.keepDirty?{isDirty:Y()}:{}}),t.keepIsValid||B()},eD=({disabled:e,name:t,field:r,fields:s,value:a})=>{if(g(e)){let i=e?void 0:v(a)?ey(r?r._f:b(s,t)._f):a;U(V,t,i),Q(t,i,!1,!1,!0)}},eC=(e,t={})=>{let r=b(d,e),a=g(t.disabled);return U(d,e,{...r||{},_f:{...r&&r._f?r._f:{ref:{name:e}},name:e,mount:!0,...t}}),S.mount.add(e),r?eD({field:r,disabled:t.disabled,name:e,value:t.value}):G(e,!0,t.value),{...a?{disabled:t.disabled}:{},...s.progressive?{required:!!t.required,min:eh(t.min),max:eh(t.max),minLength:eh(t.minLength),maxLength:eh(t.maxLength),pattern:eh(t.pattern)}:{},name:e,onChange:eV,onBlur:eV,ref:a=>{if(a){eC(e,t),r=b(d,e);let s=v(a.value)&&a.querySelectorAll&&a.querySelectorAll("input,select,textarea")[0]||a,i=eu(s),l=r._f.refs||[];(i?l.find(e=>e===s):s===r._f.ref)||(U(d,e,{_f:{...r._f,...i?{refs:[...l.filter(en),s,...Array.isArray(b(c,e))?[{}]:[]],ref:{type:s.type,name:e}}:{ref:s}}}),G(e,!1,void 0,s))}else(r=b(d,e,{}))._f&&(r._f.mount=!1),(s.shouldUnregister||t.shouldUnregister)&&!(f(S.array,e)&&A.action)&&S.unMount.add(e)}}},eE=()=>s.shouldFocusError&&q(d,eA,S.mount),eO=(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let a=m(V);if(k.state.next({isSubmitting:!0}),s.resolver){let{errors:e,values:t}=await J();u.errors=e,a=t}else await X(d);er(u.errors,"root"),x(u.errors)?(k.state.next({errors:{}}),await e(a,r)):(t&&await t({...u.errors},r),eE(),setTimeout(eE)),k.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:x(u.errors),submitCount:u.submitCount+1,errors:u.errors})},eL=(r,s={})=>{let a=r?m(r):c,i=m(a),l=r&&!x(r)?i:c;if(s.keepDefaultValues||(c=a),!s.keepValues){if(s.keepDirtyValues)for(let e of S.mount)b(u.dirtyFields,e)?U(l,e,b(V,e)):ed(e,b(l,e));else{if(y&&v(r))for(let e of S.mount){let t=b(d,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(W(e)){let t=e.closest("form");if(t){t.reset();break}}}}d={}}V=e.shouldUnregister?s.keepDefaultValues?m(c):{}:m(l),k.array.next({values:{...l}}),k.values.next({values:{...l}})}S={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},A.mount||t(),A.mount=!F.isValid||!!s.keepIsValid,A.watch=!!e.shouldUnregister,k.state.next({submitCount:s.keepSubmitCount?u.submitCount:0,isDirty:s.keepDirty?u.isDirty:!!(s.keepDefaultValues&&!ei(r,c)),isSubmitted:!!s.keepIsSubmitted&&u.isSubmitted,dirtyFields:s.keepDirtyValues?u.dirtyFields:s.keepDefaultValues&&r?ef(c,r):{},touchedFields:s.keepTouched?u.touchedFields:{},errors:s.keepErrors?u.errors:{},isSubmitSuccessful:!!s.keepIsSubmitSuccessful&&u.isSubmitSuccessful,isSubmitting:!1})},eT=(e,t)=>eL(I(e)?e(V):e,t);return{control:{register:eC,unregister:ek,getFieldState:eF,handleSubmit:eO,setError:ex,_executeSchema:J,_getWatch:Z,_getDirty:Y,_updateValid:B,_removeUnmounted:()=>{for(let e of S.unMount){let t=b(d,e);t&&(t._f.refs?t._f.refs.every(e=>!en(e)):!en(t._f.ref))&&ek(e)}S.unMount=new Set},_updateFieldArray:(e,t=[],r,s,a=!0,i=!0)=>{if(s&&r){if(A.action=!0,i&&Array.isArray(b(d,e))){let t=r(b(d,e),s.argA,s.argB);a&&U(d,e,t)}if(i&&Array.isArray(b(u.errors,e))){let t=r(b(u.errors,e),s.argA,s.argB);a&&U(u.errors,e,t),ep(u.errors,e)}if(F.touchedFields&&i&&Array.isArray(b(u.touchedFields,e))){let t=r(b(u.touchedFields,e),s.argA,s.argB);a&&U(u.touchedFields,e,t)}F.dirtyFields&&(u.dirtyFields=ef(c,V)),k.state.next({name:e,isDirty:Y(e,t),dirtyFields:u.dirtyFields,errors:u.errors,isValid:u.isValid})}else U(V,e,t)},_updateDisabledField:eD,_getFieldArray:t=>h(b(A.mount?V:c,t,e.shouldUnregister?b(c,t,[]):[])),_reset:eL,_resetDefaultValues:()=>I(s.defaultValues)&&s.defaultValues().then(e=>{eT(e,s.resetOptions),k.state.next({isLoading:!1})}),_updateFormState:e=>{u={...u,...e}},_disableForm:e=>{g(e)&&(k.state.next({disabled:e}),q(d,(t,r)=>{let s=e,a=b(d,r);a&&g(a._f.disabled)&&(s||(s=a._f.disabled)),t.disabled=s},0,!1))},_subjects:k,_proxyFormState:F,_setErrors:e=>{u.errors=e,k.state.next({errors:u.errors,isValid:!1})},get _fields(){return d},get _formValues(){return V},get _state(){return A},set _state(value){A=value},get _defaultValues(){return c},get _names(){return S},set _names(value){S=value},get _formState(){return u},set _formState(value){u=value},get _options(){return s},set _options(value){s={...s,...value}}},trigger:eS,register:eC,handleSubmit:eO,watch:(e,t)=>I(e)?k.values.subscribe({next:r=>e(Z(void 0,t),r)}):Z(e,t,!0),setValue:ed,getValues:ew,reset:eT,resetField:(e,t={})=>{b(d,e)&&(v(t.defaultValue)?ed(e,m(b(c,e))):(ed(e,t.defaultValue),U(c,e,m(t.defaultValue))),t.keepTouched||er(u.touchedFields,e),t.keepDirty||(er(u.dirtyFields,e),u.isDirty=t.defaultValue?Y(e,m(b(c,e))):Y()),!t.keepError&&(er(u.errors,e),F.isValid&&B()),k.state.next({...u}))},clearErrors:e=>{e&&D(e).forEach(e=>er(u.errors,e)),k.state.next({errors:e?u.errors:{}})},unregister:ek,setError:ex,setFocus:(e,t={})=>{let r=b(d,e),s=r&&r._f;if(s){let e=s.refs?s.refs[0]:s.ref;e.focus&&(e.focus(),t.shouldSelect&&e.select())}},getFieldState:eF}}(e,()=>d(e=>({...e}))),formState:u});let c=t.current.control;return c._options=e,E({subject:c._subjects.state,next:e=>{k(e,c._proxyFormState,c._updateFormState,!0)&&d({...c._formState})}}),s.useEffect(()=>c._disableForm(e.disabled),[c,e.disabled]),s.useEffect(()=>{if(c._proxyFormState.isDirty){let e=c._getDirty();e!==u.isDirty&&c._subjects.state.next({isDirty:e})}},[c,u.isDirty]),s.useEffect(()=>{e.values&&!ei(e.values,r.current)?(c._reset(e.values,c._options.resetOptions),r.current=e.values,d(e=>({...e}))):c._resetDefaultValues()},[e.values,c]),s.useEffect(()=>{e.errors&&c._setErrors(e.errors)},[e.errors,c]),s.useEffect(()=>{c._state.mount||(c._updateValid(),c._state.mount=!0),c._state.watch&&(c._state.watch=!1,c._subjects.state.next({...c._formState})),c._removeUnmounted()}),t.current.formState=F(u,c),t.current}}}]);