@eslint-sukka/react 8.10.0 → 8.10.1
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/dist/index.cjs +2 -2
- package/package.json +7 -7
package/dist/index.cjs
CHANGED
|
@@ -413,5 +413,5 @@ ${t.map(e=>`- ${e}`).join("\n")}
|
|
|
413
413
|
${n?`...and ${n} more files
|
|
414
414
|
`:""}
|
|
415
415
|
If you absolutely need more files included, set parserOptions.projectService.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING to a larger value.
|
|
416
|
-
`)}return s;function l(){return i.service.openClientFile(n,r.codeFullText,void 0,r.tsconfigRootDir)}}(r,k,E,t,e);return p("Opened project service file: %o",P),p("Retrieving script info and then program for: %s",E),T=e.service.getScriptInfo(E),(S=e.service.getDefaultProjectForFile(T.fileName,!0).getLanguageService(!0).getProgram())?(p("Found project service program for: %s",E),(0,c.createProjectProgram)(t,[S])):void p("Could not find project service program for: %s",E)};let a=i(vm()),o=i(vE),s=i(TZ),l=r(mA()),c=bd(),u=bf(),_=vP(),d=bE(),p=(0,a.default)("typescript-eslint:typescript-estree:useProgramFromProjectService"),f=new WeakMap;return xq}(),p=(0,t.default)("typescript-eslint:typescript-estree:parser"),f=new Map,m=new Set,g={};return vw}var T1={};function T2(){var e,t,n,r,i,a,o,s,l,c,u;return ae?vt:(ae=1,e=vt&&vt.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),t=vt&&vt.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)},Object.defineProperty(vt,"__esModule",{value:!0}),vt.withoutProjectParserOptions=vt.version=vt.typescriptVersionIsAtLeast=vt.simpleTraverse=vt.clearCandidateTSConfigRootDirs=vt.addCandidateTSConfigRootDir=vt.parseAndGenerateServices=vt.parse=vt.TSError=vt.createProgram=vt.getCanonicalFileName=void 0,t(function(){if(i7)return vn;i7=1,Object.defineProperty(vn,"__esModule",{value:!0}),vn.clearProgramCache=void 0,vn.clearCaches=a;let e=vC(),t=T0(),n=bP(),r=xJ(),i=xY();function a(){(0,n.clearCandidateTSConfigRootDirs)(),(0,t.clearDefaultProjectMatchedFiles)(),(0,t.clearProgramCache)(),(0,e.clearWatchCaches)(),(0,r.clearTSConfigMatchCache)(),(0,r.clearTSServerProjectService)(),(0,i.clearGlobCache)()}return vn.clearProgramCache=a,vn}(),vt),t(bl(),vt),n=vP(),Object.defineProperty(vt,"getCanonicalFileName",{enumerable:!0,get:function(){return n.getCanonicalFileName}}),r=bg(),Object.defineProperty(vt,"createProgram",{enumerable:!0,get:function(){return r.createProgramFromConfigFile}}),t(v6(),vt),i=bt(),Object.defineProperty(vt,"TSError",{enumerable:!0,get:function(){return i.TSError}}),a=T0(),Object.defineProperty(vt,"parse",{enumerable:!0,get:function(){return a.parse}}),Object.defineProperty(vt,"parseAndGenerateServices",{enumerable:!0,get:function(){return a.parseAndGenerateServices}}),o=bP(),Object.defineProperty(vt,"addCandidateTSConfigRootDir",{enumerable:!0,get:function(){return o.addCandidateTSConfigRootDir}}),Object.defineProperty(vt,"clearCandidateTSConfigRootDirs",{enumerable:!0,get:function(){return o.clearCandidateTSConfigRootDirs}}),s=ba(),Object.defineProperty(vt,"simpleTraverse",{enumerable:!0,get:function(){return s.simpleTraverse}}),t(be(),vt),l=v3(),Object.defineProperty(vt,"typescriptVersionIsAtLeast",{enumerable:!0,get:function(){return l.typescriptVersionIsAtLeast}}),c=xV(),Object.defineProperty(vt,"version",{enumerable:!0,get:function(){return c.version}}),i9||(i9=1,Object.defineProperty(T1,"__esModule",{value:!0}),T1.withoutProjectParserOptions=function(e){let{EXPERIMENTAL_useProjectService:t,project:n,projectService:r,...i}=e;return i}),u=T1,Object.defineProperty(vt,"withoutProjectParserOptions",{enumerable:!0,get:function(){return u.withoutProjectParserOptions}}),vt)}var T3={},T6={};function T4(){if(ai)return y7;ai=1;var e,t=y7&&y7.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=y7&&y7.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=y7&&y7.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(y7,"__esModule",{value:!0}),y7.valueMatchesSomeSpecifier=y7.typeMatchesSomeSpecifier=y7.typeOrValueSpecifiersSchema=void 0,y7.typeMatchesSpecifier=c,y7.valueMatchesSpecifier=u;let i=r(y$),a=(nM||(nM=1,Object.defineProperty(y9,"__esModule",{value:!0}),y9.specifierNameMatches=function(e,t){"string"==typeof t&&(t=[t]);let n=e.aliasSymbol??e.getSymbol(),r=n?[n.escapedName,e.intrinsicName]:[e.intrinsicName];return!!t.some(e=>r.includes(e))}),y9),o=function(){if(at)return ve;at=1;var e=ve&&ve.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ve,"__esModule",{value:!0}),ve.typeDeclaredInFile=function(e,r,i){if(null==e){let e=(0,t.getCanonicalFileName)(i.getCurrentDirectory());return r.some(n=>(0,t.getCanonicalFileName)(n.fileName).startsWith(e))}let a=(0,t.getCanonicalFileName)(n.default.join(i.getCurrentDirectory(),e));return r.some(e=>(0,t.getCanonicalFileName)(e.fileName)===a)};let t=T2(),n=e(vE);return ve}(),s=(an||(an=1,Object.defineProperty(T3,"__esModule",{value:!0}),T3.typeDeclaredInLib=function(e,t){return 0===e.length||e.some(e=>t.isSourceFileDefaultLibrary(e))}),T3),l=function(){if(ar)return T6;ar=1;var e,t=T6&&T6.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T6&&T6.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=T6&&T6.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(T6,"__esModule",{value:!0}),T6.typeDeclaredInPackageDeclarationFile=function(e,t,n,r){let a,o;return t.some(t=>(function e(t){switch(t.kind){case i.SyntaxKind.ModuleDeclaration:if(t.flags&i.NodeFlags.Namespace)break;return i.isStringLiteral(t.name)?t:void 0;case i.SyntaxKind.SourceFile:return}return e(t.parent)})(t)?.name.text===e)||(a=e.replace(/^@([^/]+)\//,"$1__"),o=RegExp(`${e}|${a}`),n.some(e=>{let t=r.sourceFileToPackageName.get(e.path);return null!=t&&o.test(t)&&r.isSourceFileFromExternalLibrary(e)}))};let i=r(mA());return T6}();function c(e,t,n){return i.isUnionType(e)?e.types.every(e=>c(e,t,n)):!!((()=>{if(i.isIntrinsicErrorType(e))return!1;if("string"==typeof t)return(0,a.specifierNameMatches)(e,t);if(!(0,a.specifierNameMatches)(e,t.name))return!1;let r=e.getSymbol()??e.aliasSymbol,c=r?.getDeclarations()??[],u=c.map(e=>e.getSourceFile());switch(t.from){case"file":return(0,o.typeDeclaredInFile)(t.path,u,n);case"lib":return(0,s.typeDeclaredInLib)(u,n);case"package":return(0,l.typeDeclaredInPackageDeclarationFile)(t.package,c,u,n)}})()||i.isIntersectionType(e)&&i.intersectionConstituents(e).some(e=>c(e,t,n)))}function u(e,t,n,r){let i,a=e.type===uv.AST_NODE_TYPES.Identifier||e.type===uv.AST_NODE_TYPES.JSXIdentifier||e.type===uv.AST_NODE_TYPES.PrivateIdentifier?e.name:e.type===uv.AST_NODE_TYPES.Literal&&"string"==typeof e.value?e.value:void 0;if(!a)return!1;if("string"==typeof t)return t===a;if(!("string"==typeof(i=t.name)?[i]:i).includes(a))return!1;if("package"===t.from){let e=r.getSymbol()??r.aliasSymbol,i=e?.getDeclarations()??[],a=i.map(e=>e.getSourceFile());return(0,l.typeDeclaredInPackageDeclarationFile)(t.package,i,a,n)}return!0}return y7.typeOrValueSpecifiersSchema={items:{oneOf:[{type:"string"},{additionalProperties:!1,properties:{from:{enum:["file"],type:"string"},name:{oneOf:[{type:"string"},{items:{type:"string"},minItems:1,type:"array",uniqueItems:!0}]},path:{type:"string"}},required:["from","name"],type:"object"},{additionalProperties:!1,properties:{from:{enum:["lib"],type:"string"},name:{oneOf:[{type:"string"},{items:{type:"string"},minItems:1,type:"array",uniqueItems:!0}]}},required:["from","name"],type:"object"},{additionalProperties:!1,properties:{from:{enum:["package"],type:"string"},name:{oneOf:[{type:"string"},{items:{type:"string"},minItems:1,type:"array",uniqueItems:!0}]},package:{type:"string"}},required:["from","name","package"],type:"object"}]},type:"array"},y7.typeMatchesSomeSpecifier=(e,t=[],n)=>t.some(t=>c(e,t,n)),y7.valueMatchesSomeSpecifier=(e,t=[],n,r)=>t.some(t=>u(e,t,n,r)),y7}var T8={},T5={};function T7(){if(ao)return T5;ao=1;var e,t=T5&&T5.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T5&&T5.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=T5&&T5.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i}),i=T5&&T5.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(T5,"__esModule",{value:!0}),T5.isNullableType=function(e){return(0,l.isTypeFlagSet)(e,s.TypeFlags.Any|s.TypeFlags.Unknown|s.TypeFlags.Null|s.TypeFlags.Undefined|s.TypeFlags.Void)},T5.isTypeArrayTypeOrUnionOfArrayTypes=function(e,t){for(let n of o.unionConstituents(e))if(!t.isArrayType(n))return!1;return!0},T5.isTypeNeverType=function(e){return(0,l.isTypeFlagSet)(e,s.TypeFlags.Never)},T5.isTypeUnknownType=u,T5.isTypeReferenceType=function(e){return(e.flags&d)!=0&&(e.objectFlags&s.ObjectFlags.Reference)!=0},T5.isTypeAnyType=p,T5.isTypeAnyArrayType=function(e,t){return t.isArrayType(e)&&p(t.getTypeArguments(e)[0])},T5.isTypeUnknownArrayType=function(e,t){return t.isArrayType(e)&&u(t.getTypeArguments(e)[0])},T5.typeIsOrHasBaseType=function(e,t){let n=t.getSymbol();if(!e.getSymbol()||!n)return!1;let r=[e],i=e.getBaseTypes();for(let e of(i&&r.push(...i),r)){let t=e.getSymbol();if(t?.name===n.name)return!0}return!1},T5.isTypeBigIntLiteralType=function(e){return(0,l.isTypeFlagSet)(e,s.TypeFlags.BigIntLiteral)},T5.isTypeTemplateLiteralType=function(e){return(0,l.isTypeFlagSet)(e,s.TypeFlags.TemplateLiteral)};let a=i(vm()),o=r(y$),s=r(mA()),l=yX(),c=(0,a.default)("typescript-eslint:type-utils:predicates");function u(e){return(0,l.isTypeFlagSet)(e,s.TypeFlags.Unknown)}let _=s.TypeFlags.Undefined|s.TypeFlags.Null,d=s.TypeFlags.Any|_|s.TypeFlags.Never|s.TypeFlags.Object|s.TypeFlags.Union|s.TypeFlags.Intersection;function p(e){return!!(0,l.isTypeFlagSet)(e,s.TypeFlags.Any)&&("error"===e.intrinsicName&&c('Found an "error" any type'),!0)}return T5}var T9={},Se={},St=function(){var e,t,n;return au?hf:(au=1,e=hf&&hf.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),t=hf&&hf.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)},Object.defineProperty(hf,"__esModule",{value:!0}),hf.typescriptVersionIsAtLeast=hf.getModifiers=hf.getDecorators=void 0,t(function(){if(nP)return hm;nP=1;var e,t=hm&&hm.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=hm&&hm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=hm&&hm.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(hm,"__esModule",{value:!0}),hm.isPromiseLike=function(e,t){return u(e,t,"Promise")},hm.isPromiseConstructorLike=function(e,t){return u(e,t,"PromiseConstructor")},hm.isErrorLike=s,hm.isReadonlyErrorLike=function e(t,n){return l(t,n,n=>{let[r]=n.aliasTypeArguments;return s(t,r)||e(t,r)})},hm.isReadonlyTypeLike=l,hm.isBuiltinTypeAliasLike=c,hm.isBuiltinSymbolLike=u,hm.isBuiltinSymbolLikeRecurser=_;let i=r(y$),a=r(mA()),o=yK();function s(e,t){return u(e,t,"Error")}function l(e,t,n){return c(e,t,e=>"Readonly"===e.aliasSymbol.getName()&&!!n?.(e))}function c(e,t,n){return _(e,t,t=>{let{aliasSymbol:r,aliasTypeArguments:i}=t;return!!r&&!!i&&(!!((0,o.isSymbolFromDefaultLibrary)(e,r)&&n(t))||null)})}function u(e,t,n){return _(e,t,t=>{let r=t.getSymbol();if(!r)return!1;let i=r.getName();return!!((Array.isArray(n)?n.some(e=>i===e):i===n)&&(0,o.isSymbolFromDefaultLibrary)(e,r))||null})}function _(e,t,n){if(t.isIntersection())return t.types.some(t=>_(e,t,n));if(t.isUnion())return t.types.every(t=>_(e,t,n));if(i.isTypeParameter(t)){let r=t.getConstraint();return!!r&&_(e,r,n)}let r=n(t);if("boolean"==typeof r)return r;let o=t.getSymbol();if(o&&i.isSymbolFlagSet(o,a.SymbolFlags.Class|a.SymbolFlags.Interface)){let t=e.getTypeChecker(),r=t.getDeclaredTypeOfSymbol(o);for(let i of t.getBaseTypes(r))if(_(e,i,n))return!0}return!1}return hm}(),hf),t(function(){if(nw)return yG;nw=1;var e,t=yG&&yG.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=yG&&yG.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=yG&&yG.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(yG,"__esModule",{value:!0}),yG.containsAllTypesByName=function e(t,n,r,s=!1){if((0,o.isTypeFlagSet)(t,a.TypeFlags.Any|a.TypeFlags.Unknown))return!n;i.isTypeReference(t)&&(t=t.target);let l=t.getSymbol();if(l&&r.has(l.name))return!0;let c=t=>e(t,n,r,s);if(i.isUnionOrIntersectionType(t))return s?t.types.some(c):t.types.every(c);let u=t.getBaseTypes();return null!=u&&(s?u.some(c):u.length>0&&u.every(c))};let i=r(y$),a=r(mA()),o=yX();return yG}(),hf),t((nA||(nA=1,Object.defineProperty(yQ,"__esModule",{value:!0}),yQ.getConstrainedTypeAtLocation=function(e,t){let n=e.getTypeAtLocation(t);return e.program.getTypeChecker().getBaseConstraintOfType(n)??n}),yQ),hf),t(function(){if(nD)return yZ;nD=1;var e,t=yZ&&yZ.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=yZ&&yZ.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=yZ&&yZ.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(yZ,"__esModule",{value:!0}),yZ.getContextualType=function(e,t){let n=t.parent;if(i.isCallExpression(n)||i.isNewExpression(n)){if(t===n.expression)return}else if(i.isVariableDeclaration(n)||i.isPropertyDeclaration(n)||i.isParameter(n))return n.type?e.getTypeFromTypeNode(n.type):void 0;else if(i.isJsxExpression(n))return e.getContextualType(n);else if(i.isIdentifier(t)&&(i.isPropertyAssignment(n)||i.isShorthandPropertyAssignment(n)));else if(i.isBinaryExpression(n)&&n.operatorToken.kind===i.SyntaxKind.EqualsToken&&n.right===t)return e.getTypeAtLocation(n.left);else if(![i.SyntaxKind.JsxExpression,i.SyntaxKind.TemplateSpan].includes(n.kind))return;return e.getContextualType(t)};let i=r(mA());return yZ}(),hf),t((nN||(nN=1,Object.defineProperty(y0,"__esModule",{value:!0}),y0.getDeclaration=function(e,t){let n=e.getSymbolAtLocation(t);if(!n)return null;let r=n.getDeclarations();return r?.[0]??null}),y0),hf),t(function(){if(nF)return y1;nF=1;var e,t=y1&&y1.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=y1&&y1.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=y1&&y1.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(y1,"__esModule",{value:!0}),y1.getSourceFileOfNode=function(e){for(;e.kind!==i.SyntaxKind.SourceFile;)e=e.parent;return e};let i=r(mA());return y1}(),hf),t(function(){if(nI)return y2;nI=1;var e,t=y2&&y2.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=y2&&y2.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=y2&&y2.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(y2,"__esModule",{value:!0}),y2.getTypeName=function e(t,n){if(i.isTypeFlagSet(n,a.TypeFlags.StringLike))return"string";if(i.isTypeFlagSet(n,a.TypeFlags.TypeParameter)){let r=n.getSymbol(),i=r?.getDeclarations(),o=i?.[0];if(null!=o&&a.isTypeParameterDeclaration(o)&&null!=o.constraint)return e(t,t.getTypeFromTypeNode(o.constraint))}return n.isUnion()&&n.types.map(n=>e(t,n)).every(e=>"string"===e)||n.isIntersection()&&n.types.map(n=>e(t,n)).some(e=>"string"===e)?"string":t.typeToString(n)};let i=r(y$),a=r(mA());return y2}(),hf),t(yK(),hf),t(function(){if(nO)return y3;nO=1;var e,t=y3&&y3.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=y3&&y3.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=y3&&y3.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(y3,"__esModule",{value:!0}),y3.isTypeBrandedLiteralLike=function(e){return e.isUnion()?e.types.every(o):o(e)};let i=r(y$),a=r(mA());function o(e){if(!e.isIntersection())return!1;let t=!1,n=!1;for(let r of e.types)if(!r.getCallSignatures().length&&!r.getConstructSignatures().length&&i.isObjectType(r))n=!0;else{if(!(r.isLiteral()||i.isTypeFlagSet(r,a.TypeFlags.BigInt|a.TypeFlags.Number|a.TypeFlags.String|a.TypeFlags.TemplateLiteral)))return!1;t=!0}return n&&t}return y3}(),hf),t((aa||(aa=1,!function(e){var t,n,r,i=y6&&y6.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=y6&&y6.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=y6&&y6.__importStar||(t=function(e){return(t=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var r=t(e),o=0;o<r.length;o++)"default"!==r[o]&&i(n,e,r[o]);return a(n,e),n});Object.defineProperty(e,"__esModule",{value:!0}),e.readonlynessOptionsDefaults=e.readonlynessOptionsSchema=void 0,e.isTypeReadonly=function(t,n,i=e.readonlynessOptionsDefaults){return p(t,n,i,new Set)===r.Readonly};let s=o(y$),l=o(mA()),c=y5(),u=T4();function _(e){return Object.hasOwn(e,"symbol")}function d(e,t,n,i){let a=e.getTypeChecker();function o(o){let s=a.getIndexInfoOfType(t,o);return s?s.isReadonly?s.type===t||i.has(s.type)?r.Readonly:p(e,s.type,n,i):r.Mutable:r.UnknownType}let u=t.getProperties();if(u.length){for(let e of u){if(n.treatMethodsAsReadonly){if(null!=e.valueDeclaration&&_(e.valueDeclaration)&&s.isSymbolFlagSet(e.valueDeclaration.symbol,l.SymbolFlags.Method))continue;let t=e.getDeclarations(),n=null!=t&&t.length>0?t[t.length-1]:void 0;if(null!=n&&_(n)&&s.isSymbolFlagSet(n.symbol,l.SymbolFlags.Method))continue}if(s.isPropertyReadonlyInType(t,e.getEscapedName(),a))continue;let i=l.getNameOfDeclaration(e.valueDeclaration);if(!(i&&l.isPrivateIdentifier(i)))return r.Mutable}for(let o of u){let s=y4.ESLintUtils.nullThrows((0,c.getTypeOfPropertyOfType)(a,t,o),y4.ESLintUtils.NullThrowsReasons.MissingToken(`property "${o.name}"`,"type"));if(!i.has(s)&&p(e,s,n,i)===r.Mutable)return r.Mutable}}let d=o(l.IndexKind.String);if(d===r.Mutable)return d;let f=o(l.IndexKind.Number);return f===r.Mutable?f:r.Readonly}function p(e,t,n,i){let a=e.getTypeChecker();if(i.add(t),t.aliasSymbol&&n.allow){let e=t.aliasSymbol;if(n.allow.some(t=>{let n="string"==typeof t?t:t.name;return(Array.isArray(n)?n:[n]).includes(e.getName())}))return r.Readonly}if((0,u.typeMatchesSomeSpecifier)(t,n.allow,e))return r.Readonly;if(s.isUnionType(t))return s.unionConstituents(t).every(t=>i.has(t)||p(e,t,n,i)===r.Readonly)?r.Readonly:r.Mutable;if(s.isIntersectionType(t)){if(t.types.some(e=>a.isArrayType(e)||a.isTupleType(e)))return t.types.every(t=>i.has(t)||p(e,t,n,i)===r.Readonly)?r.Readonly:r.Mutable;let o=d(e,t,n,i);if(o!==r.UnknownType)return o}if(s.isConditionalType(t))return[t.root.node.trueType,t.root.node.falseType].map(a.getTypeFromTypeNode).every(t=>i.has(t)||p(e,t,n,i)===r.Readonly)?r.Readonly:r.Mutable;if(!s.isObjectType(t)||t.getCallSignatures().length>0&&0===t.getProperties().length)return r.Readonly;let o=function(e,t,n,i){let a=e.getTypeChecker();function o(t){let o=a.getTypeArguments(t);return 0===o.length?r.Readonly:o.some(t=>p(e,t,n,i)===r.Mutable)?r.Mutable:r.Readonly}return a.isArrayType(t)?"Array"===y4.ESLintUtils.nullThrows(t.getSymbol(),y4.ESLintUtils.NullThrowsReasons.MissingToken("symbol","array type")).getEscapedName()?r.Mutable:o(t):a.isTupleType(t)?t.target.readonly?o(t):r.Mutable:r.UnknownType}(e,t,n,i);if(o!==r.UnknownType)return o;let l=d(e,t,n,i);if(l!==r.UnknownType)return l;throw Error("Unhandled type")}(n=r||(r={}))[n.UnknownType=1]="UnknownType",n[n.Mutable=2]="Mutable",n[n.Readonly=3]="Readonly",e.readonlynessOptionsSchema={additionalProperties:!1,properties:{allow:u.typeOrValueSpecifiersSchema,treatMethodsAsReadonly:{type:"boolean"}},type:"object"},e.readonlynessOptionsDefaults={allow:[],treatMethodsAsReadonly:!1}}(y6)),y6),hf),t(function(){if(as)return T8;as=1;var e,t=T8&&T8.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T8&&T8.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=T8&&T8.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(T8,"__esModule",{value:!0}),T8.isUnsafeAssignment=function(e,t,n,r){return function e(t,n,r,o,s){if((0,a.isTypeAnyType)(t)){if((0,a.isTypeUnknownType)(n))return!1;if(!(0,a.isTypeAnyType)(n))return{receiver:n,sender:t}}let l=s.get(t);if(l){if(l.has(n))return!1;l.add(n)}else s.set(t,new Set([n]));if(i.isTypeReference(t)&&i.isTypeReference(n)){if(t.target!==n.target||o?.type===y4.AST_NODE_TYPES.NewExpression&&o.callee.type===y4.AST_NODE_TYPES.Identifier&&"Map"===o.callee.name&&0===o.arguments.length&&null==o.typeArguments)return!1;let i=t.typeArguments??[],a=n.typeArguments??[];for(let l=0;l<i.length;l+=1)if(e(i[l],a[l],r,o,s))return{receiver:n,sender:t}}return!1}(e,t,n,r,new Map)};let i=r(y$),a=T7();return T8}(),hf),t(T7(),hf),t(y5(),hf),t(function(){if(al)return T9;al=1;var e,t=T9&&T9.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T9&&T9.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=T9&&T9.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(T9,"__esModule",{value:!0}),T9.requiresQuoting=function(e,t=i.ScriptTarget.ESNext){if(0===e.length||!i.isIdentifierStart(e.charCodeAt(0),t))return!0;for(let n=1;n<e.length;n+=1)if(!i.isIdentifierPart(e.charCodeAt(n),t))return!0;return!1};let i=r(mA());return T9}(),hf),t(yX(),hf),t(T4(),hf),t(function(){if(ac)return Se;ac=1;var e,t,n,r=Se&&Se.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=Se&&Se.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=Se&&Se.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var a=e(t),o=0;o<a.length;o++)"default"!==a[o]&&r(n,t,a[o]);return i(n,t),n});Object.defineProperty(Se,"__esModule",{value:!0}),Se.AnyType=void 0,Se.discriminateAnyType=function(e,t,r,i){return function e(t,r,i,a,l){if(l.has(t))return n.Safe;if(l.add(t),(0,s.isTypeAnyType)(t))return n.Any;if((0,s.isTypeAnyArrayType)(t,r))return n.AnyArray;for(let s of o.typeConstituents(t))if(o.isThenableType(r,a,s)){let t=r.getAwaitedType(s);if(t&&e(t,r,i,a,l)===n.Any)return n.PromiseAny}return n.Safe}(e,t,r,i,new Set)};let o=a(y$),s=T7();return(t=n||(Se.AnyType=n={}))[t.Any=0]="Any",t[t.PromiseAny=1]="PromiseAny",t[t.AnyArray=2]="AnyArray",t[t.Safe=3]="Safe",Se}(),hf),n=T2(),Object.defineProperty(hf,"getDecorators",{enumerable:!0,get:function(){return n.getDecorators}}),Object.defineProperty(hf,"getModifiers",{enumerable:!0,get:function(){return n.getModifiers}}),Object.defineProperty(hf,"typescriptVersionIsAtLeast",{enumerable:!0,get:function(){return n.typescriptVersionIsAtLeast}}),hf)}(),Sn=T2(),Sr=Object.defineProperty,Si=(e,t)=>{let n={};for(var r in e)Sr(n,r,{get:e[r],enumerable:!0});return Sr(n,Symbol.toStringTag,{value:"Module"}),n},Sa=Si({name:()=>So,rules:()=>Ss});let So="react-x/disable-conflict-eslint-plugin-react",Ss=Object.fromEntries(["react/button-has-type","react/destructuring-assignment","react/display-name","react/forbid-prop-types","react/forward-ref-uses-ref","react/hook-use-state","react/iframe-missing-sandbox","react/jsx-boolean-value","react/jsx-filename-extension","react/jsx-fragments","react/jsx-key","react/jsx-no-comment-textnodes","react/jsx-no-constructed-context-values","react/jsx-no-leaked-render","react/jsx-no-script-url","react/jsx-no-target-blank","react/jsx-no-useless-fragment","react/jsx-pascal-case","react/no-access-state-in-setstate","react/no-array-index-key","react/no-children-prop","react/no-danger","react/no-danger-with-children","react/no-deprecated","react/no-did-mount-set-state","react/no-did-update-set-state","react/no-direct-mutation-state","react/no-find-dom-node","react/no-namespace","react/no-object-type-as-default-prop","react/no-render-return-value","react/no-string-refs","react/no-unknown-property","react/no-unsafe","react/no-unstable-nested-components","react/no-unused-class-component-members","react/no-unused-state","react/no-will-update-set-state","react/prop-types","react/void-dom-elements-no-children"].map(e=>[e,"off"]));var Sl=Si({name:()=>Sc,rules:()=>Su});let Sc="react-x/disable-conflict-eslint-plugin-react-hooks",Su=Object.fromEntries(["react-hooks/exhaustive-deps","react-hooks/rules-of-hooks","react-hooks/error-boundaries","react-hooks/globals","react-hooks/immutability","react-hooks/purity","react-hooks/refs","react-hooks/set-state-in-effect","react-hooks/set-state-in-render","react-hooks/unsupported-syntax","react-hooks/use-memo"].map(e=>[e,"off"])),S_=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/${e}`});var Sd=S_({meta:{type:"problem",docs:{description:"Validates usage of Error Boundaries instead of try/catch for errors in child components."},messages:{tryCatchWithJsx:"Use an Error Boundary to catch errors in child components. Try/catch can't catch errors during React's rendering process.",tryCatchWithUse:"Use an Error Boundary instead of try/catch around the 'use' hook. The 'use' hook suspends the component, and its errors can only be caught by Error Boundaries."},schema:[]},name:"error-boundaries",create:function(e){if(!e.sourceCode.text.includes("try"))return{};let t=mn.DoNotIncludeJsxWithNullValue|mn.DoNotIncludeJsxWithNumberValue|mn.DoNotIncludeJsxWithBigIntValue|mn.DoNotIncludeJsxWithStringValue|mn.DoNotIncludeJsxWithBooleanValue|mn.DoNotIncludeJsxWithUndefinedValue|mn.DoNotIncludeJsxWithEmptyArrayValue,n=g$(e),r=gW(e),i=new Set,a=new Set;return hr(n.visitor,r.visitor,{CallExpression(t){m1(e,t)&&a.add(t)},"Program:exit"(o){let s=[...n.api.getAllComponents(o),...r.api.getAllHooks(o)];for(let t of a){let n=Sp(t),r=ua.findParent(n,e=>s.some(t=>t.node===e));null==n||null==r||i.has(n)||(e.report({messageId:"tryCatchWithUse",node:n}),i.add(n))}for(let{rets:n}of s)for(let r of n){if(null==r||!mi(e,r,t))continue;let n=Sp(r);null==n||i.has(n)||(e.report({messageId:"tryCatchWithJsx",node:n}),i.add(n))}}})},defaultOptions:[]});function Sp(e){let t=ua.findParent(e,cW(av.AST_NODE_TYPES.TryStatement));return null==t?null:null!=ua.findParent(e,e=>e===t.block)?t:Sp(t)}let Sf={meta:{type:"suggestion",docs:{description:"Verifies the list of dependencies for Hooks like 'useEffect' and similar.",recommended:!0,url:"https://github.com/facebook/react/issues/14920"},fixable:"code",hasSuggestions:!0,schema:[{type:"object",additionalProperties:!1,enableDangerousAutofixThisMayCauseInfiniteLoops:!1,properties:{additionalHooks:{type:"string"},enableDangerousAutofixThisMayCauseInfiniteLoops:{type:"boolean"},experimental_autoDependenciesHooks:{type:"array",items:{type:"string"}},requireExplicitEffectDeps:{type:"boolean"}}}]},create(e){let t=e.options&&e.options[0],n=t&&t.additionalHooks?new RegExp(t.additionalHooks):cM(e).additionalEffectHooks,r=t&&t.enableDangerousAutofixThisMayCauseInfiniteLoops||!1,i={additionalHooks:n,experimental_autoDependenciesHooks:t&&Array.isArray(t.experimental_autoDependenciesHooks)?t.experimental_autoDependenciesHooks:[],requireExplicitEffectDeps:t&&t.requireExplicitEffectDeps||!1};function a(t){r&&Array.isArray(t.suggest)&&t.suggest.length>0&&t.suggest[0]&&(t.fix=t.suggest[0].fix),e.report(t)}let o="function"==typeof e.getSourceCode?()=>e.getSourceCode():()=>e.sourceCode,s="function"==typeof e.getScope?()=>e.getScope():t=>e.sourceCode.getScope(t),l=o().scopeManager,c=new WeakMap,u=new WeakSet,_=new WeakMap,d=new WeakMap,p=new WeakSet;function f(e,t){return function(n){if(t.has(n))return t.get(n);let r=e(n);return t.set(n,r),r}}function m(e,t,n,r,i,s){i&&e.async&&a({node:e,message:"Effect callbacks are synchronous to prevent race conditions. Put the async function inside:\n\nuseEffect(() => {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching"});let m=l.acquire(e);if(!m)throw Error("Unable to acquire scope for the current node. This is a bug in eslint-plugin-react-hooks, please file an issue.");let g=new Set,h=null;{let e=m.upper;for(;e&&(g.add(e),"function"!==e.type&&"hook"!==e.type&&"component"!==e.type);)e=e.upper;if(!e)return;h=e}let y=Array.isArray,b=f(function(e){var t;if(!y(e.defs))return!1;let n=e.defs[0];if(null==n)return!1;let r=n.node;if("VariableDeclarator"!==r.type)return!1;let i=r.init;if(null==i)return!1;for(;"TSAsExpression"===i.type||"AsExpression"===i.type;)i=i.expression;let a=r.parent;if(null==a&&null!=h&&(Sv(h.block,n.node.id),null==(a=n.node.parent)))return!1;if(null!=a&&"kind"in a&&"const"===a.kind&&"Literal"===i.type&&("string"==typeof i.value||"number"==typeof i.value||null===i.value))return!0;if("CallExpression"!==i.type)return!1;let o=i.callee;if("MemberExpression"===o.type&&"name"in o.object&&"React"===o.object.name&&null!=o.property&&!o.computed&&(o=o.property),"Identifier"!==o.type)return!1;let s=n.node.id,{name:l}=o;if("useRef"===l&&"Identifier"===s.type)return!0;if("Identifier"===(t=o).type&&"useEffectEvent"===t.name&&"Identifier"===s.type){for(let t of e.references)t!==s&&p.add(t.identifier);return!0}if("useState"===l||"useReducer"===l||"useActionState"===l){if("ArrayPattern"===s.type&&2===s.elements.length&&y(e.identifiers)){if(s.elements[1]===e.identifiers[0]){if("useState"===l){let t=e.references,n=0;for(let e of t){if(e.isWrite()&&n++,n>1)return!1;c.set(e.identifier,s.elements[0])}}return!0}else if(s.elements[0]===e.identifiers[0]&&"useState"===l)for(let t of e.references)u.add(t.identifier)}}else if("useTransition"===l&&"ArrayPattern"===s.type&&2===s.elements.length&&Array.isArray(e.identifiers)&&s.elements[1]===e.identifiers[0])return!0;return!1},_),x=f(function(e){if(!y(e.defs))return!1;let t=e.defs[0];if(null==t||null==t.node||null==t.node.id)return!1;let n=t.node,r=h?.childScopes||[],i=null;for(let e of r){let t=e.block;if("FunctionDeclaration"===n.type&&t===n||"VariableDeclarator"===n.type&&t.parent===n){i=e;break}}if(null==i)return!1;for(let e of i.through)if(null!=e.resolved&&g.has(e.resolved.scope)&&!b(e.resolved))return!1;return!0},d),T=new Map,S=new Map,E=new Map;!function t(n){for(let t of n.references){if(!t.resolved||!g.has(t.resolved.scope))continue;let n=Sv(e,t.identifier);if(null==n)continue;let r=function e(t){return t.parent&&("MemberExpression"===t.parent.type||"OptionalMemberExpression"===t.parent.type)&&t.parent.object===t&&"name"in t.parent.property&&"current"!==t.parent.property.name&&!t.parent.computed&&(null==t.parent.parent||"CallExpression"!==t.parent.parent.type&&"OptionalCallExpression"!==t.parent.parent.type||t.parent.parent.callee!==t.parent)?e(t.parent):"MemberExpression"===t.type&&t.parent&&"AssignmentExpression"===t.parent.type&&t.parent.left===t?t.object:t}(n),a=Sh(r,E);if(i&&"Identifier"===r.type&&(r.parent?.type==="MemberExpression"||r.parent?.type==="OptionalMemberExpression")&&!r.parent.computed&&"Identifier"===r.parent.property.type&&"current"===r.parent.property.name&&function(t){let n=t.from,r=!1;for(;null!=n&&n.block!==e;)"function"===n.type&&(r=null!=n.block.parent&&"ReturnStatement"===n.block.parent.type),n=n.upper;return r}(t)&&T.set(a,{reference:t,dependencyNode:r}),r.parent?.type==="TSTypeQuery"||r.parent?.type==="TSTypeReference")continue;let o=t.resolved.defs[0];if(null!=o&&(null==o.node||o.node.init!==e.parent)&&"TypeParameter"!==o.type&&r.parent?.type!=="GenericTypeAnnotation")if(S.has(a))S.get(a)?.references.push(t);else{let e=t.resolved,n=b(e)||x(e);S.set(a,{isStable:n,references:[t]})}}for(let e of n.childScopes)t(e)}(m),T.forEach(({reference:e,dependencyNode:t},n)=>{let r=e.resolved?.references||[],i=!1;for(let e of r){let{identifier:t}=e,{parent:n}=t;if(null!=n&&"MemberExpression"===n.type&&!n.computed&&"Identifier"===n.property.type&&"current"===n.property.name&&n.parent?.type==="AssignmentExpression"&&n.parent.left===n){i=!0;break}}i||a({node:t.parent.property,message:`The ref value '${n}.current' will likely have changed by the time this effect cleanup function runs. If this ref points to a node rendered by React, copy '${n}.current' to a variable inside the effect, and use that variable in the cleanup function.`})});let k=new Set,P=new Set;if(S.forEach(({isStable:e,references:t},r)=>{e&&P.add(r),t.forEach(e=>{var t;e.writeExpr&&(t=e.writeExpr,k.has(r)||(k.add(r),a({node:t,message:`Assignments to the '${r}' variable from inside React Hook ${o().getText(n)} will be lost after each render. To preserve the value over time, store it in a useRef Hook and keep the mutable value in the '.current' property. Otherwise, you can move this variable directly inside ${o().getText(n)}.`})))})}),k.size>0)return;if(!t){if(s)return;let t=null;if(S.forEach(({references:n},r)=>{t||n.forEach(n=>{if(t)return;let i=n.identifier;if(!c.has(i))return;let a=n.from;for(;null!=a&&"function"!==a.type;)a=a.upper;a?.block===e&&(t=r)})}),t){let{suggestedDependencies:i}=Sm({dependencies:S,declaredDependencies:[],stableDependencies:P,externalDependencies:new Set,isEffect:!0});a({node:n,message:`React Hook ${r} contains a call to '${t}'. Without a list of dependencies, this can lead to an infinite chain of updates. To fix this, pass [`+i.join(", ")+`] as a second argument to the ${r} Hook.`,suggest:[{desc:`Add dependencies array: [${i.join(", ")}]`,fix:t=>t.insertTextAfter(e,`, [${i.join(", ")}]`)}]})}return}if(s&&"Literal"===t.type&&null===t.value)return;let C=[],w=new Set,A="ArrayExpression"===t.type,D="TSAsExpression"===t.type&&"ArrayExpression"===t.expression.type;A||D?(D?t.expression:t).elements.forEach(e=>{let t;if(null===e)return;if("SpreadElement"===e.type)return void a({node:e,message:`React Hook ${o().getText(n)} has a spread element in its dependency array. This means we can't statically verify whether you've passed the correct dependencies.`});p.has(e)&&a({node:e,message:`Functions returned from \`useEffectEvent\` must not be included in the dependency array. Remove \`${o().getText(e)}\` from the list.`,suggest:[{desc:`Remove the dependency \`${o().getText(e)}\``,fix:t=>t.removeRange(e.range)}]});try{t=Sh(e,null)}catch(t){if(t instanceof Error&&/Unsupported node type/.test(t.message))return void("Literal"===e.type?e.value&&S.has(e.value)?a({node:e,message:`The ${e.raw} literal is not a valid dependency because it never changes. Did you mean to include ${e.value} in the array instead?`}):a({node:e,message:`The ${e.raw} literal is not a valid dependency because it never changes. You can safely remove it.`}):a({node:e,message:`React Hook ${o().getText(n)} has a complex expression in the dependency array. Extract it to a separate variable so it can be statically checked.`}));throw t}let r=e;for(;"MemberExpression"===r.type||"OptionalMemberExpression"===r.type||"ChainExpression"===r.type;)r=r.object||r.expression.object;let i=!h.through.some(e=>e.identifier===r);C.push({key:t,node:e}),i||w.add(t)}):a({node:t,message:`React Hook ${o().getText(n)} was passed a dependency list that is not an array literal. This means we can't statically verify whether you've passed the correct dependencies.`});let{suggestedDependencies:N,unnecessaryDependencies:F,missingDependencies:I,duplicateDependencies:O}=Sm({dependencies:S,declaredDependencies:C,stableDependencies:P,externalDependencies:w,isEffect:i}),L=N;if(O.size+I.size+F.size===0)return void(function({declaredDependencies:e,declaredDependenciesNode:t,componentScope:n,scope:r}){return e.map(({key:e})=>{let t=n.variables.find(t=>t.name===e);if(null==t)return null;let r=t.defs[0];if(null==r)return null;if("Variable"===r.type&&"VariableDeclarator"===r.node.type&&"Identifier"===r.node.id.type&&null!=r.node.init){let e=function e(t){switch(t.type){case"ObjectExpression":return"object";case"ArrayExpression":return"array";case"ArrowFunctionExpression":case"FunctionExpression":return"function";case"ClassExpression":return"class";case"ConditionalExpression":if(null!=e(t.consequent)||null!=e(t.alternate))return"conditional";break;case"LogicalExpression":if(null!=e(t.left)||null!=e(t.right))return"logical expression";break;case"JSXFragment":return"JSX fragment";case"JSXElement":return"JSX element";case"AssignmentExpression":if(null!=e(t.right))return"assignment expression";break;case"NewExpression":return"object construction";case"Literal":if(t.value instanceof RegExp)return"regular expression";break;case"TypeCastExpression":case"AsExpression":case"TSAsExpression":return e(t.expression)}return null}(r.node.init);if(e)return[t,e]}return"FunctionName"===r.type&&"FunctionDeclaration"===r.node.type?[t,"function"]:"ClassName"===r.type&&"ClassDeclaration"===r.node.type?[t,"class"]:null}).filter(Boolean).map(([e,n])=>({construction:e.defs[0],depType:n,isUsedOutsideOfHook:function(e){let n=!1;for(let i of e.references){if(i.writeExpr)if(n)return!0;else{n=!0;continue}let e=i.from;for(;e!==r&&null!=e;)e=e.upper;if(e!==r&&!Sx(t,i.identifier))return!0}return!1}(e)}))})({declaredDependencies:C,declaredDependenciesNode:t,componentScope:h,scope:m}).forEach(({construction:e,isUsedOutsideOfHook:n,depType:i})=>{let o,s="function"===i?"useCallback":"useMemo",l="function"===i?"definition":"initialization",c=`wrap the ${l} of '${e.name.name}' in its own ${s}() Hook.`,u=n?`To fix this, ${c}`:`Move it inside the ${r} callback. Alternatively, ${c}`,_=`The '${e.name.name}' ${i} ${"conditional"===i||"logical expression"===i?"could make":"makes"} the dependencies of ${r} Hook (at line ${t.loc?.start.line}) change on every render. ${u}`;n&&"Variable"===e.type&&"function"===i&&(o=[{desc:`Wrap the ${l} of '${e.name.name}' in its own ${s}() Hook.`,fix(t){let[n,r]="useMemo"===s?["useMemo(() => { return ","; })"]:["useCallback(",")"];return[t.insertTextBefore(e.node.init,n),t.insertTextAfter(e.node.init,r)]}}]),a({node:e.node,message:_,suggest:o})});function M(e){let t=e.split("."),n="";for(let e=0;e<t.length;e++){if(0!==e){let r=t.slice(0,e+1).join(".");n+=!0===E.get(r)?"?.":"."}n+=t[e]}return n}function R(e,t,n,r){return 0===e.size?null:(e.size>1?"":t+" ")+n+" "+(e.size>1?"dependencies":"dependency")+": "+function(e){let t="";for(let n=0;n<e.length;n++)t+=e[n],0===n&&2===e.length?t+=" and ":n===e.length-2&&e.length>2?t+=", and ":n<e.length-1&&(t+=", ");return t}(Array.from(e).sort().map(e=>"'"+M(e)+"'"))+`. Either ${r} ${e.size>1?"them":"it"} or remove the dependency array.`}!i&&I.size>0&&(L=Sm({dependencies:S,declaredDependencies:[],stableDependencies:P,externalDependencies:w,isEffect:i}).suggestedDependencies),function(){if(0===C.length)return!0;let e=C.map(e=>e.key),t=e.slice().sort();return e.join(",")===t.join(",")}()&&L.sort();let j="";if(F.size>0){let e=null;if(Array.from(F.keys()).forEach(t=>{null===e&&t.endsWith(".current")&&(e=t)}),null!==e)j=` Mutable values like '${e}' aren't valid dependencies because mutating them doesn't re-render the component.`;else if(w.size>0){let e=Array.from(w)[0];m.set.has(e)||(j=` Outer scope values like '${e}' aren't valid dependencies because mutating them doesn't re-render the component.`)}}if(!j&&I.has("props")){let e=S.get("props");if(null==e)return;let t=e.references;if(!Array.isArray(t))return;let i=!0;for(let e of t){let t=Sv(h.block,e.identifier);if(!t){i=!1;break}let n=t.parent;if(null==n||"MemberExpression"!==n.type&&"OptionalMemberExpression"!==n.type){i=!1;break}}i&&(j=` However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the ${r} call and refer to those specific props inside ${o().getText(n)}.`)}if(!j&&I.size>0){let e=null;I.forEach(t=>{let n;if(e)return;let r=h.set.get(t),i=S.get(t);if(!i?.references||i?.references[0]?.resolved!==r)return;let a=r?.defs[0];if(null==a||null==a.name||"Parameter"!==a.type)return;let o=!1;for(let e of i.references)if(null!=(n=e.identifier)&&null!=n.parent&&("CallExpression"===n.parent.type||"OptionalCallExpression"===n.parent.type)&&n.parent.callee===n){o=!0;break}o&&(e=t)}),null!==e&&(j=` If '${e}' changes too often, find the parent component that defines it and wrap that definition in useCallback.`)}if(!j&&I.size>0){let e=null;for(let t of I){let n,r;if(null!==e)break;for(let i of S.get(t).references){for(r=(n=i.identifier).parent;null!=r&&r!==h.block;){if("CallExpression"===r.type){let a=c.get(r.callee);if(null!=a){if("name"in a&&a.name===t)e={missingDep:t,setter:"name"in r.callee?r.callee.name:"",form:"updater"};else if(u.has(n))e={missingDep:t,setter:"name"in r.callee?r.callee.name:"",form:"reducer"};else{let n=i.resolved;if(null!=n){let i=n.defs[0];null!=i&&"Parameter"===i.type&&(e={missingDep:t,setter:"name"in r.callee?r.callee.name:"",form:"inlineReducer"})}}break}}r=r.parent}if(null!==e)break}}if(null!==e)switch(e.form){case"reducer":j=` You can also replace multiple useState variables with useReducer if '${e.setter}' needs the current value of '${e.missingDep}'.`;break;case"inlineReducer":j=` If '${e.setter}' needs the current value of '${e.missingDep}', you can also switch to useReducer instead of useState and read '${e.missingDep}' in the reducer.`;break;case"updater":j=` You can also do a functional update '${e.setter}(${e.missingDep.slice(0,1)} => ...)' if you only need '${e.missingDep}' in the '${e.setter}' call.`;break;default:throw Error("Unknown case.")}}a({node:t,message:`React Hook ${o().getText(n)} has `+(R(I,"a","missing","include")||R(F,"an","unnecessary","exclude")||R(O,"a","duplicate","omit"))+j,suggest:[{desc:`Update the dependencies array to be: [${L.map(M).join(", ")}]`,fix:e=>e.replaceText(t,`[${L.map(M).join(", ")}]`)}]})}return{CallExpression:function(e){let t=function(e,t){let n=Sy(e);if("Identifier"!==n.type)return -1;switch(n.name){case"useEffect":case"useLayoutEffect":case"useCallback":case"useMemo":return 0;case"useImperativeHandle":return 1;default:if(n!==e||!t||!t.additionalHooks)return -1;{let e;try{e=Sh(n,null)}catch(e){if(e instanceof Error&&/Unsupported node type/.test(e.message))return 0;throw e}return t.additionalHooks.test(e)?0:-1}}}(e.callee,i);if(-1===t)return;let n=e.arguments[t],r=e.callee,o=Sy(r),l="name"in o?o.name:"",c=e.arguments[t+1],u=c&&("Identifier"!==c.type||"undefined"!==c.name)?c:void 0,_=/Effect($|[^a-z])/g.test(l);if(!n)return void a({node:r,message:`React Hook ${l} requires an effect callback. Did you forget to pass a callback to the hook?`});!c&&_&&i.requireExplicitEffectDeps&&a({node:r,message:`React Hook ${l} always requires dependencies. Please add a dependency array or an explicit \`undefined\``});let d=i.experimental_autoDependenciesHooks.includes(l);if((!u||d&&"Literal"===u.type&&null===u.value)&&!_){("useMemo"===l||"useCallback"===l)&&a({node:r,message:`React Hook ${l} does nothing when called with only one argument. Did you forget to pass an array of dependencies?`});return}for(;"TSAsExpression"===n.type||"AsExpression"===n.type;)n=n.expression;switch(n.type){case"FunctionExpression":case"ArrowFunctionExpression":m(n,u,r,l,_,d);return;case"Identifier":if(!u||d&&"Literal"===u.type&&null===u.value||"elements"in u&&u.elements&&u.elements.some(e=>e&&"Identifier"===e.type&&e.name===n.name))return;let p=s(n).set.get(n.name);if(null==p||null==p.defs)return;let f=p.defs[0];if(!f||!f.node)break;if("Parameter"===f.type)return void a({node:r,message:ST(l)});if("Variable"!==f.type&&"FunctionName"!==f.type)break;switch(f.node.type){case"FunctionDeclaration":m(f.node,u,r,l,_,d);return;case"VariableDeclarator":let g=f.node.init;if(!g)break;switch(g.type){case"ArrowFunctionExpression":case"FunctionExpression":m(g,u,r,l,_,d);return}}break;default:a({node:r,message:ST(l)});return}a({node:r,message:`React Hook ${l} has a missing dependency: '${n.name}'. Either include it or remove the dependency array.`,suggest:[{desc:`Update the dependencies array to be: [${n.name}]`,fix:e=>e.replaceText(u,`[${n.name}]`)}]})}}}};function Sm({dependencies:e,declaredDependencies:t,stableDependencies:n,externalDependencies:r,isEffect:i}){let a=o();function o(){return{isUsed:!1,isSatisfiedRecursively:!1,isSubtreeUsed:!1,children:new Map}}function s(e,t){let n=t.split("."),r=e;for(let e of n){let t=r.children.get(e);t||(t=o(),r.children.set(e,t)),r=t}return r}e.forEach((e,t)=>{s(a,t).isUsed=!0,function(e,t,n){let r=t.split("."),i=e;for(let e of r){let t=i.children.get(e);if(!t)return;n(t),i=t}}(a,t,e=>{e.isSubtreeUsed=!0})}),t.forEach(({key:e})=>{s(a,e).isSatisfiedRecursively=!0}),n.forEach(e=>{s(a,e).isSatisfiedRecursively=!0});let l=new Set,c=new Set;!function e(t,n,r,i){t.children.forEach((t,a)=>{let o=i(a);if(t.isSatisfiedRecursively){t.isSubtreeUsed&&r.add(o);return}t.isUsed?n.add(o):e(t,n,r,e=>o+"."+e)})}(a,l,c,e=>e);let u=[],_=new Set,d=new Set;return t.forEach(({key:e})=>{c.has(e)?-1===u.indexOf(e)?u.push(e):d.add(e):!i||e.endsWith(".current")||r.has(e)?_.add(e):-1===u.indexOf(e)&&u.push(e)}),l.forEach(e=>{u.push(e)}),{suggestedDependencies:u,unnecessaryDependencies:_,duplicateDependencies:d,missingDependencies:l}}function Sg(e,t,n){t&&("optional"in e&&e.optional?t.has(n)||t.set(n,!0):t.set(n,!1))}function Sh(e,t){if("Identifier"===e.type||"JSXIdentifier"===e.type){let n=e.name;return t&&t.set(n,!1),n}if("MemberExpression"!==e.type||e.computed)if("OptionalMemberExpression"!==e.type||e.computed)if("ChainExpression"!==e.type||"computed"in e&&e.computed)throw Error(`Unsupported node type: ${e.type}`);else{let n=e.expression;if("CallExpression"===n.type)throw Error(`Unsupported node type: ${n.type}`);let r=`${Sh(n.object,t)}.${Sh(n.property,null)}`;return Sg(n,t,r),r}else{let n=`${Sh(e.object,t)}.${Sh(e.property,null)}`;return Sg(e,t,n),n}{let n=`${Sh(e.object,t)}.${Sh(e.property,null)}`;return Sg(e,t,n),n}}function Sy(e){return"MemberExpression"!==e.type||"Identifier"!==e.object.type||"React"!==e.object.name||"Identifier"!==e.property.type||e.computed?e:e.property}function Sv(e,t){let n,r=[e];for(;r.length;){var i,a;if(i=n=r.shift(),a=t,("Identifier"===i.type||"JSXIdentifier"===i.type)&&i.type===a.type&&i.name===a.name&&i.range&&a.range&&i.range[0]===a.range[0]&&i.range[1]===a.range[1])return n;if(Sx(n,t))for(let[e,t]of Object.entries(n))"parent"!==e&&(Sb(t)?(t.parent=n,r.push(t)):Array.isArray(t)&&t.forEach(e=>{Sb(e)&&(e.parent=n,r.push(e))}))}return null}function Sb(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&"type"in e&&"string"==typeof e.type}function Sx(e,t){return!!e.range&&!!t.range&&e.range[0]<=t.range[0]&&e.range[1]>=t.range[1]}function ST(e){return`React Hook ${e} received a function whose dependencies are unknown. Pass an inline function instead.`}let SS=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);var SE=S_({meta:{type:"problem",docs:{description:"Validates against assignment/mutation of globals during render, part of ensuring that side effects must run outside of render."},messages:{mutatingGlobal:"Do not mutate '{{name}}' during render. Global variables exist outside React's control and make rendering impure.",mutatingGlobalArrayMethod:"Do not call '{{method}}()' on '{{name}}' during render. Mutating global arrays during render makes rendering impure.",mutatingGlobalProperty:"Do not mutate '{{name}}' during render. Modifying global objects during render makes rendering impure."},schema:[]},name:"globals",create:function(e){let t=gW(e),n=g$(e),r=[];function i(t){let n=ab.findVariable(e.sourceCode.getScope(t),t);if(null==n||0===n.defs.length)return!0;let r=n.scope.type;return"global"===r||"module"===r}function a(e,t,n){let i=ua.findParent(e,c$.isFunction);null!=i&&r.push({data:n,func:i,messageId:t,node:e})}return hr(t.visitor,n.visitor,{UpdateExpression(t){let n=ue.unwrap(t.argument);if(n.type===av.AST_NODE_TYPES.Identifier){if(!i(n))return;a(t,"mutatingGlobal",{name:n.name});return}if(n.type===av.AST_NODE_TYPES.MemberExpression){let r=ue.getRootIdentifier(n);if(null==r||!i(r))return;a(t,"mutatingGlobalProperty",{name:e.sourceCode.getText(n)})}},AssignmentExpression(t){let n=ue.unwrap(t.left);if(n.type===av.AST_NODE_TYPES.Identifier){if(!i(n))return;a(t,"mutatingGlobal",{name:n.name});return}if(n.type===av.AST_NODE_TYPES.MemberExpression){let r=ue.getRootIdentifier(n);if(null==r||!i(r))return;a(t,"mutatingGlobalProperty",{name:e.sourceCode.getText(n)})}},CallExpression(e){let t=ue.unwrap(e.callee);if(t.type!==av.AST_NODE_TYPES.MemberExpression)return;let{object:n,property:r}=t;if(r.type!==av.AST_NODE_TYPES.Identifier||!SS.has(r.name))return;let o=ue.getRootIdentifier(n);null==o||i(o)&&a(e,"mutatingGlobalArrayMethod",{name:o.name,method:r.name})},"Program:exit"(i){let a=[...n.api.getAllComponents(i),...t.api.getAllHooks(i)];for(let{data:t,func:n,messageId:i,node:o}of r)a.some(e=>e.node===n)&&e.report({data:t,messageId:i,node:o})}})},defaultOptions:[]});let Sk=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);var SP=S_({meta:{type:"problem",docs:{description:"Validates against mutating props, state, and other values that are immutable."},messages:{mutatingArrayMethod:"Do not call '{{method}}()' on '{{name}}'. Props and state are immutable — create a new array instead.",mutatingAssignment:"Do not mutate '{{name}}' directly. Props and state are immutable — create a new object instead."},schema:[]},name:"immutability",create:function(e){let{additionalStateHooks:t}=cM(e),n=gW(e),r=g$(e),i=[];function a(n){let r,i=fQ(e,n);if(null==i||i.type!==av.AST_NODE_TYPES.CallExpression||!gJ(i,t)&&((r=ue.unwrap(i.callee)).type===av.AST_NODE_TYPES.Identifier?"useReducer"!==r.name:r.type!==av.AST_NODE_TYPES.MemberExpression||ue.getRootIdentifier(r)?.name!=="React"||"useReducer"!==ue.getPropertyName(r.property)))return!1;let a=i.parent;return!("id"in a)||a.id?.type!==av.AST_NODE_TYPES.ArrayPattern||0===a.id.elements.findIndex(e=>e?.type===av.AST_NODE_TYPES.Identifier&&e.name===n.name)}function o(t){let n=ab.findVariable(e.sourceCode.getScope(t),t);if(null==n)return null;for(let e of n.defs){if(e.type!==fX.DefinitionType.Parameter||null==e.node)continue;let n=e.node;for(;null!=n&&!c$.isFunction(n);)n=n.parent??null;if(null==n)continue;let r=n;if(r.params.some(e=>(function e(t,n){switch(t.type){case av.AST_NODE_TYPES.Identifier:return t.name===n;case av.AST_NODE_TYPES.ObjectPattern:return t.properties.some(t=>t.type===av.AST_NODE_TYPES.Property?e(t.value,n):t.type===av.AST_NODE_TYPES.RestElement&&e(t.argument,n));case av.AST_NODE_TYPES.ArrayPattern:return t.elements.some(t=>null!=t&&e(t,n));case av.AST_NODE_TYPES.RestElement:return e(t.argument,n);case av.AST_NODE_TYPES.AssignmentPattern:return e(t.left,n);case av.AST_NODE_TYPES.MemberExpression:return ue.getRootIdentifier(t)?.name===n;default:return!1}})(e,t.name)))return r}return null}return hr(n.visitor,r.visitor,{CallExpression(t){let n=ue.unwrap(t.callee);if(n.type!==av.AST_NODE_TYPES.MemberExpression)return;let{object:r,property:s}=n;if(s.type!==av.AST_NODE_TYPES.Identifier||!Sk.has(s.name))return;let l=ue.getRootIdentifier(r);if(null==l||"draft"===l.name)return;let c=ua.findParent(t,c$.isFunction);if(null==c)return;let u=a(l),_=u?null:o(l);(u||null!=_)&&i.push({data:{name:e.sourceCode.getText(r),method:s.name},func:c,messageId:"mutatingArrayMethod",node:t,...null!=_?{propsDefiningFunc:_}:{}})},AssignmentExpression(t){if(t.left.type!==av.AST_NODE_TYPES.MemberExpression)return;let n=ue.getRootIdentifier(t.left);if(null==n||"draft"===n.name)return;let r=ua.findParent(t,c$.isFunction);if(null==r)return;let s=a(n),l=s?null:o(n);(s||null!=l)&&i.push({data:{name:e.sourceCode.getText(t.left.object)},func:r,messageId:"mutatingAssignment",node:t,...null!=l?{propsDefiningFunc:l}:{}})},"Program:exit"(t){let a=[...r.api.getAllComponents(t),...n.api.getAllHooks(t)];for(let{data:t,func:n,messageId:r,node:o,propsDefiningFunc:s}of i){let i=n,l=!1;for(;null!=i;){if(a.some(e=>e.node===i)){l=!0;break}i=ua.findParent(i,c$.isFunction)}l&&(null==s||a.some(e=>e.node===s))&&e.report({data:t,messageId:r,node:o})}}})},defaultOptions:[]});function SC(){}function Sw(){return!0}function SA(){return!1}function SD(e,t,n){if(e.has(t))return e.get(t);let r=n(t);return e.set(t,r),r}var SN=S_({meta:{type:"problem",docs:{description:"Disallows accessing 'this.state' inside 'setState' calls."},messages:{default:"Do not access 'this.state' within 'setState'. Use the update function instead."},schema:[]},name:"no-access-state-in-setstate",create:function(e){if(!e.sourceCode.text.includes("setState"))return{};let t=[],n=[],r=[];return hr({CallExpression(e){gE(e)&&r.push([e,!1])},"CallExpression:exit"(e){gE(e)&&r.pop()},ClassDeclaration(e){t.push([e,g_(e)])},"ClassDeclaration:exit"(){t.pop()},ClassExpression(e){t.push([e,g_(e)])},"ClassExpression:exit"(){t.pop()},MemberExpression(i){if(i.object.type!==av.AST_NODE_TYPES.ThisExpression)return;let[a,o=!1]=t.at(-1)??[];if(null==a||!o)return;let[s,l=!1]=n.at(-1)??[];if(null==s||l)return;let[c,u=!1]=r.at(-1)??[];null==c||u||"state"===ue.getPropertyName(i.property)&&e.report({messageId:"default",node:i})},MethodDefinition(e){n.push([e,e.static])},"MethodDefinition:exit"(){n.pop()},PropertyDefinition(e){n.push([e,e.static])},"PropertyDefinition:exit"(){n.pop()},VariableDeclarator(i){let[a,o=!1]=t.at(-1)??[];if(null==a||!o)return;let[s,l=!1]=n.at(-1)??[];if(null==s||l)return;let[c,u=!1]=r.at(-1)??[];null==c||u||null==i.init||i.init.type!==av.AST_NODE_TYPES.ThisExpression||i.id.type!==av.AST_NODE_TYPES.ObjectPattern||i.id.properties.some(e=>{var t;return e.type===av.AST_NODE_TYPES.Property&&(t=e.key,oi.match(t).with({type:av.AST_NODE_TYPES.Literal},Sw).with({type:av.AST_NODE_TYPES.TemplateLiteral,expressions:[]},Sw).with({type:av.AST_NODE_TYPES.Identifier},()=>!e.computed).otherwise(SA))&&"state"===ue.getPropertyName(e.key)})&&e.report({messageId:"default",node:i})}})},defaultOptions:[]});function SF(e){return t=>{if(null!=t)return e.report(t)}}var SI=S_({meta:{type:"suggestion",docs:{description:"Disallows using an item's index in the array as its key."},messages:{default:"Do not use item index in the array as its key."},schema:[]},name:"no-array-index-key",create:function(e){let t=[];function n(e){return e.type===av.AST_NODE_TYPES.Identifier&&t.some(t=>null!=t&&t===e.name)}function r(e){switch(e.type){case av.AST_NODE_TYPES.Identifier:if(t.some(t=>null!=t&&t===e.name))return[{messageId:"default",node:e}];break;case av.AST_NODE_TYPES.TemplateLiteral:case av.AST_NODE_TYPES.BinaryExpression:{let t=[];for(let r of e.type===av.AST_NODE_TYPES.TemplateLiteral?e.expressions:function e(t){return t.type===av.AST_NODE_TYPES.Identifier?[t]:t.type===av.AST_NODE_TYPES.BinaryExpression?[...e(t.left),...e(t.right)]:[]}(e))n(r)&&t.push({messageId:"default",node:r});return t}case av.AST_NODE_TYPES.CallExpression:{let t=ue.unwrap(e.callee);switch(!0){case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&"toString"===t.property.name&&n(t.object):return[{messageId:"default",node:t.object}];case t.type===av.AST_NODE_TYPES.Identifier&&"String"===t.name&&null!=e.arguments[0]&&n(e.arguments[0]):return[{messageId:"default",node:e.arguments[0]}]}}}return[]}return hr({CallExpression(n){if(t.push(function(e,t){let n=ue.unwrap(t.callee);if(n.type!==av.AST_NODE_TYPES.MemberExpression||n.property.type!==av.AST_NODE_TYPES.Identifier)return null;let{name:r}=n.property,i=function(e){switch(e){case"every":case"filter":case"find":case"findIndex":case"findLast":case"findLastIndex":case"flatMap":case"forEach":case"map":case"some":return 1;case"reduce":case"reduceRight":return 2;default:return -1}}(r);if(-1===i)return null;let a=t.arguments[mY(e,n)||mj(e,n)?1:0];if(null==a||!cK([av.AST_NODE_TYPES.ArrowFunctionExpression,av.AST_NODE_TYPES.FunctionExpression])(a))return null;let{params:o}=a;if(o.length<i+1)return null;let s=o.at(i);return null!=s&&"name"in s?s.name:null}(e,n)),0===n.arguments.length||!(mH(e,n)||mK(e,n)))return;let[,i]=n.arguments;if(i?.type===av.AST_NODE_TYPES.ObjectExpression){for(let t of i.properties)if(oi.isMatching({key:{name:"key"}})(t)&&"value"in t)for(let n of r(t.value))SF(e)(n)}},"CallExpression:exit"(){t.pop()},JSXAttribute(n){if("key"===n.name.name&&0!==t.length&&n.value?.type===av.AST_NODE_TYPES.JSXExpressionContainer)for(let t of r(n.value.expression))SF(e)(t)}})},defaultOptions:[]}),SO=S_({meta:{type:"suggestion",docs:{description:"Disallows the use of 'Children.count' from the 'react' package."},messages:{default:"Using 'Children.count' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-children-count",create:function(e){return hr({MemberExpression(t){mR(e,t)&&e.report({messageId:"default",node:t.property})}})},defaultOptions:[]}),SL=S_({meta:{type:"suggestion",docs:{description:"Disallows the use of 'Children.forEach' from the 'react' package."},messages:{default:"Using 'Children.forEach' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-children-for-each",create:function(e){return hr({MemberExpression(t){mj(e,t)&&e.report({messageId:"default",node:t.property})}})},defaultOptions:[]}),SM=S_({meta:{type:"suggestion",docs:{description:"Disallows the use of 'Children.map' from the 'react' package."},messages:{default:"Using 'Children.map' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-children-map",create:function(e){return hr({MemberExpression(t){mY(e,t)&&e.report({messageId:"default",node:t.property})}})},defaultOptions:[]}),SR=S_({meta:{type:"suggestion",docs:{description:"Disallows the use of 'Children.only' from the 'react' package."},messages:{default:"Using 'Children.only' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-children-only",create:function(e){return hr({MemberExpression(t){mU(e,t)&&e.report({messageId:"default",node:t.property})}})},defaultOptions:[]}),Sj=S_({meta:{type:"suggestion",docs:{description:"Disallows the use of 'Children.toArray' from the 'react' package."},messages:{default:"Using 'Children.toArray' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-children-to-array",create:function(e){return hr({MemberExpression(t){mB(e,t)&&e.report({messageId:"default",node:t.property})}})},defaultOptions:[]}),SY=S_({meta:{type:"suggestion",docs:{description:"Disallows class components except for error boundaries."},messages:{default:"Avoid using class components. Use function components instead."},schema:[]},name:"no-class-component",create:function(e){if(!e.sourceCode.text.includes("Component"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{name:r="anonymous",node:i}of t.getAllComponents(n))i.body.body.some(e=>gp(e)||gT(e))||e.report({data:{name:r},messageId:"default",node:i})}})},defaultOptions:[]}),SU=S_({meta:{type:"suggestion",docs:{description:"Disallows 'cloneElement'."},messages:{default:"Using 'cloneElement' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-clone-element",create:function(e){return hr({CallExpression(t){mK(e,t)&&e.report({messageId:"default",node:t})}})},defaultOptions:[]}),SB=S_({meta:{type:"problem",docs:{description:"Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'."},fixable:"code",messages:{default:"[Deprecated] Use 'UNSAFE_componentWillMount' instead."},schema:[]},name:"no-component-will-mount",create:function(e){if(!e.sourceCode.text.includes("componentWillMount"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gg(n)&&e.report({fix:e=>"key"in n?e.replaceText(n.key,"UNSAFE_componentWillMount"):null,messageId:"default",node:n})}}})},defaultOptions:[]}),SV=S_({meta:{type:"problem",docs:{description:"Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'."},fixable:"code",messages:{default:"[Deprecated] Use 'UNSAFE_componentWillReceiveProps' instead."},schema:[]},name:"no-component-will-receive-props",create:function(e){if(!e.sourceCode.text.includes("componentWillReceiveProps"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gh(n)&&e.report({fix:e=>"key"in n?e.replaceText(n.key,"UNSAFE_componentWillReceiveProps"):null,messageId:"default",node:n})}}})},defaultOptions:[]}),SJ=S_({meta:{type:"problem",docs:{description:"Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'."},fixable:"code",messages:{default:"[Deprecated] Use 'UNSAFE_componentWillUpdate' instead."},schema:[]},name:"no-component-will-update",create:function(e){if(!e.sourceCode.text.includes("componentWillUpdate"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gy(n)&&e.report({fix:e=>"key"in n?e.replaceText(n.key,"UNSAFE_componentWillUpdate"):null,messageId:"default",node:n})}}})},defaultOptions:[]}),Sz=S_({meta:{type:"suggestion",docs:{description:"Replaces usage of '<Context.Provider>' with '<Context>'."},fixable:"code",hasSuggestions:!0,messages:{default:"In React 19, you can render '<Context>' as a provider instead of '<Context.Provider>'.",replace:"Replace '<Context.Provider>' with '<Context>'."},schema:[]},name:"no-context-provider",create:function(e){if(!e.sourceCode.text.includes("Provider"))return{};let{version:t}=cM(e);return hu(t,"19.0.0","<")?{}:hr({JSXElement(t){let n=f7(t).split("."),r=n.pop(),i=n.join("."),a=n.pop();"Provider"!==r||null!=a&&a.endsWith("Context")&&e.report({messageId:"default",node:t,suggest:[{fix(e){if(!gO(a))return null;let n=t.openingElement,r=t.closingElement;return null==r?e.replaceText(n.name,i):[e.replaceText(n.name,i),e.replaceText(r.name,i)]},messageId:"replace"}]})}})},defaultOptions:[]}),Sq=S_({meta:{type:"suggestion",docs:{description:"Disallows 'createRef' in function components."},messages:{default:"[Deprecated] Use 'useRef' instead."},schema:[]},name:"no-create-ref",create:function(e){return hr({CallExpression(t){mX(e,t)&&null==ua.findParent(t,g_)&&e.report({messageId:"default",node:t})}})},defaultOptions:[]});function S$(e){return cK([av.AST_NODE_TYPES.FunctionDeclaration,av.AST_NODE_TYPES.FunctionExpression])(e)&&c$.isPropertyOrMethod(e.parent)&&e.parent.key.type===av.AST_NODE_TYPES.Identifier&&"constructor"===e.parent.key.name}var SW=S_({meta:{type:"problem",docs:{description:"Disallows direct mutation of 'this.state'."},messages:{default:"Do not mutate state directly. Use 'setState()' instead."},schema:[]},name:"no-direct-mutation-state",create:function(e){return hr({AssignmentExpression(t){if(!function(e){let{left:t}=e;return t.type===av.AST_NODE_TYPES.MemberExpression&&t.object.type===av.AST_NODE_TYPES.ThisExpression&&"state"===ue.getPropertyName(t.property)}(t))return;let n=ua.findParent(t,cK([av.AST_NODE_TYPES.ClassDeclaration,av.AST_NODE_TYPES.ClassExpression]));null!=n&&g_(n)&&e.sourceCode.getScope(t).block!==ua.findParent(t,S$)&&e.report({messageId:"default",node:t})}})},defaultOptions:[]}),SK=S_({meta:{type:"problem",docs:{description:"Prevents duplicate 'key' props on sibling elements when rendering lists."},messages:{default:"The 'key' prop must be unique to its sibling elements."},schema:[]},name:"no-duplicate-key",create:function(e){if(!e.sourceCode.text.includes("key="))return{};let t=new Map;return hr({"JSXAttribute[name.name='key']"(e){let n=e.parent.parent;switch(n.parent.type){case av.AST_NODE_TYPES.ArrayExpression:case av.AST_NODE_TYPES.JSXElement:case av.AST_NODE_TYPES.JSXFragment:{let r=n.parent,i=t.get(r)?.keys??[];t.set(r,{hasDuplicate:i.some(t=>{let n,r;return n=t.value,r=e.value,null!=n&&null!=r&&ur.isEqual(n,r)}),keys:[...i,e],root:n.parent});break}default:{let r=ua.findParent(n,e=>{if(e.type!==av.AST_NODE_TYPES.CallExpression)return!1;let t=ue.unwrap(e.callee);return t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&"map"===t.property.name}),i=ua.findParent(n,e=>e===r||c$.isFunction(e));if(!c$.isFunction(i))return;let a=r?.arguments[0];if(null==r||null==a||ue.unwrap(a)!==i)return;t.set(r,{hasDuplicate:e.value?.type===av.AST_NODE_TYPES.Literal,keys:[e],root:r})}}},"Program:exit"(){for(let{hasDuplicate:n,keys:r}of t.values())if(n)for(let t of r)e.report({data:{value:e.sourceCode.getText(t)},messageId:"default",node:t})}})},defaultOptions:[]}),SG=S_({meta:{type:"suggestion",docs:{description:"Replaces usage of 'forwardRef' with passing 'ref' as a prop."},fixable:"code",hasSuggestions:!0,messages:{default:"In React 19, 'forwardRef' is no longer necessary. Pass 'ref' as a prop instead.",replace:"Replace 'forwardRef' with passing 'ref' as a prop."},schema:[]},name:"no-forward-ref",create:function(e){if(!e.sourceCode.text.includes("forwardRef"))return{};let{version:t}=cM(e);return hu(t,"19.0.0","<")?{}:hr({CallExpression(t){var n,r;if(!mQ(e,t))return;let i=gP(t),a=!function(e,t){let{importSource:n}=cM(e),r=e.sourceCode.getScope(t),i=ue.unwrap(t.callee);switch(i.type){case av.AST_NODE_TYPES.Identifier:return mL(i.name,r,n);case av.AST_NODE_TYPES.MemberExpression:return i.object.type===av.AST_NODE_TYPES.Identifier&&mL(i.object.name,r,n);default:return!1}}(e,t)?[]:[{fix:(n=e,r=t,e=>{let[t]=r.arguments;return null!=t&&c$.isFunction(t)?[e.removeRange([r.range[0],t.range[0]]),e.removeRange([t.range[1],r.range[1]]),...function(e,t,n,r){let i=t=>e.sourceCode.getText(t),[a,o]=n.params,[s,l]=r;if(null==a){let r=e.sourceCode.getFirstToken(n,{filter:e=>"("===e.value});if(null==r||null==s||null==l)return[];let a=i(s),o=i(l);return[t.insertTextAfter(r,`{ ref }: ${o} & { ref?: React.RefObject<${a} | null> }`)]}let c=oi.match(a).with({type:av.AST_NODE_TYPES.Identifier},e=>`...${e.name}`).with({type:av.AST_NODE_TYPES.ObjectPattern},e=>e.properties.map(i).join(", ")).otherwise(()=>null),u=oi.match(o).with(oi.P.nullish,()=>"ref").with({type:av.AST_NODE_TYPES.Identifier,name:"ref"},()=>"ref").with({type:av.AST_NODE_TYPES.Identifier,name:oi.P.string},e=>`ref: ${e.name}`).otherwise(()=>null);if(null==c||null==u)return[];if(null==s||null==l)return[t.replaceText(a,["{",u+",",c,"}"].join(" ")),...null==o?[]:[t.remove(o),t.removeRange([a.range[1],o.range[0]])]];let _=i(s),d=i(l);return[t.replaceText(a,["{",u+",",c,"}:",d,"& { ref?:",`React.RefObject<${_} | null>`,"}"].join(" ")),...null==o?[]:[t.remove(o),t.removeRange([a.range[1],o.range[0]])]]}(n,e,t,r.typeArguments?.params??[])]:[]}),messageId:"replace"}];e.report({messageId:"default",node:i??t,suggest:a})}})},defaultOptions:[]});let SH=/react\.(reactnode|reactelement|reactportal)$/i;var SX=S_({meta:{type:"problem",docs:{description:"Prevents implicitly passing the 'children' prop to components."},messages:{default:"This spread attribute implicitly passes the 'children' prop to a component, this could lead to unexpected behavior. If you intend to pass the 'children' prop, use 'children={value}'."},schema:[]},name:"no-implicit-children",create:function(e){let t=ay.ESLintUtils.getParserServices(e,!1),n=t.program.getTypeChecker();return hr({JSXSpreadAttribute(r){for(let i of yC(St.getConstrainedTypeAtLocation(t,r.argument))){let t=i.getProperty("children");if(null==t)continue;let a=hn(n,t).toLowerCase();if(a.endsWith("attributes.children")||a.endsWith("propswithchildren.children"))continue;let o=n.getTypeOfSymbol(t),s=o.aliasSymbol??o.symbol;if(null!=s){let e=n.getFullyQualifiedName(s);if(SH.test(e)||/^JSX\.Element$/i.test(e))continue}e.report({messageId:"default",node:r})}}})},defaultOptions:[]}),SQ=S_({meta:{type:"problem",docs:{description:"Prevents implicitly passing the 'key' prop to components."},messages:{default:"This spread attribute implicitly passes the 'key' prop to a component, this could lead to unexpected behavior. If you intend to pass the 'key' prop, use 'key={value}'."},schema:[]},name:"no-implicit-key",create:function(e){let t=ay.ESLintUtils.getParserServices(e,!1),n=t.program.getTypeChecker();return hr({JSXSpreadAttribute(r){for(let i of yC(St.getConstrainedTypeAtLocation(t,r.argument))){let t=i.getProperty("key");if(null==t||hn(n,t).toLowerCase().endsWith("react.attributes.key"))continue;let a=n.getTypeOfSymbol(t);null!=a.aliasSymbol&&n.getFullyQualifiedName(a.aliasSymbol).toLowerCase().endsWith("react.key")||e.report({messageId:"default",node:r})}}})},defaultOptions:[]});let SZ=/react\.(ref|legacyref|refcallback|refobject)$/i;var S0=S_({meta:{type:"problem",docs:{description:"Prevents implicitly passing the 'ref' prop to components."},messages:{default:"This spread attribute implicitly passes the 'ref' prop to a component, this could lead to unexpected behavior. If you intend to pass the 'ref' prop, use 'ref={value}'."},schema:[]},name:"no-implicit-ref",create:function(e){let t=ay.ESLintUtils.getParserServices(e,!1),n=t.program.getTypeChecker();return hr({JSXSpreadAttribute(r){for(let i of yC(St.getConstrainedTypeAtLocation(t,r.argument))){let t=i.getProperty("ref");if(null==t||hn(n,t).toLowerCase().endsWith("attributes.ref"))continue;let a=n.getTypeOfSymbol(t),o=a.aliasSymbol??a.symbol;if(null!=o){let e=n.getFullyQualifiedName(o);if(SZ.test(e))continue}e.report({messageId:"default",node:r})}}})},defaultOptions:[]}),S1=S_({meta:{type:"problem",docs:{description:"Prevents problematic leaked values from being rendered."},messages:{default:"Potential leaked value {{value}} that might cause unintentionally rendered values or rendering crashes."},schema:[]},name:"no-leaked-conditional-rendering",create:function(e){if(!e.sourceCode.text.includes("&&"))return{};let{version:t}=cM(e),n=["any","boolean","nullish","object","enum","falsy boolean","truthy bigint","truthy boolean","truthy number","truthy string",...hu(t,"18.0.0","<")?[]:["string","falsy string"]],r=ay.ESLintUtils.getParserServices(e,!1);return hr({JSXExpressionContainer:function(e,t,n,r,i,a,o,s,l){switch(arguments.length){case 1:return e;case 2:return function(){return t(e.apply(this,arguments))};case 3:return function(){return n(t(e.apply(this,arguments)))};case 4:return function(){return r(n(t(e.apply(this,arguments))))};case 5:return function(){return i(r(n(t(e.apply(this,arguments)))))};case 6:return function(){return a(i(r(n(t(e.apply(this,arguments))))))};case 7:return function(){return o(a(i(r(n(t(e.apply(this,arguments)))))))};case 8:return function(){return s(o(a(i(r(n(t(e.apply(this,arguments))))))))};case 9:return function(){return l(s(o(a(i(r(n(t(e.apply(this,arguments)))))))))}}}(function t(i){return null==i?null:cW(av.AST_NODE_TYPES.JSXExpressionContainer)(i)?t(i.expression):c$.isJSX(i)?null:c$.isTypeExpression(i)?t(i.expression):oi.match(i).with({type:av.AST_NODE_TYPES.LogicalExpression,operator:"&&"},({left:i,right:a})=>{if(i.type===av.AST_NODE_TYPES.UnaryExpression&&"!"===i.operator)return t(a);let o=e.sourceCode.getScope(i);return c$.isIdentifier("NaN")(i)||ab.getStaticValue(i,o)?.value==="NaN"?{data:{value:e.sourceCode.getText(i)},messageId:"default",node:i}:Array.from((function(e){let t=new Set;if(e.some(ht))return t.add("unknown"),t;e.some(g6)&&t.add("nullish");let n=e.filter(gQ),r=n[0];if(1===n.length&&null!=r)if(gG(r)&&"false"===r.intrinsicName)t.add("falsy boolean");else gG(r)&&"true"===r.intrinsicName&&t.add("truthy boolean");else 2===n.length&&t.add("boolean");let i=e.filter(g5);if(i.length>0){let e=oi.match(i).when(e=>e.every(he),()=>"truthy string").when(e=>e.every(g2),()=>"falsy string").otherwise(()=>"string");t.add(e)}let a=e.filter(gX);if(a.length>0){let e=oi.match(a).when(e=>e.every(g7),()=>"truthy bigint").when(e=>e.every(g0),()=>"falsy bigint").otherwise(()=>"bigint");t.add(e)}let o=e.filter(g4);if(o.length>0){let e=oi.match(o).when(e=>e.every(g9),()=>"truthy number").when(e=>e.every(g1),()=>"falsy number").otherwise(()=>"number");t.add(e)}return e.some(gZ)&&t.add("enum"),e.some(g8)&&t.add("object"),e.some(gH)&&t.add("any"),e.some(g3)&&t.add("never"),t})(yC(St.getConstrainedTypeAtLocation(r,i))).values()).every(e=>n.some(t=>t===e))?t(a):{data:{value:e.sourceCode.getText(i)},messageId:"default",node:i}}).with({type:av.AST_NODE_TYPES.ConditionalExpression},({alternate:e,consequent:n})=>t(n)??t(e)).with({type:av.AST_NODE_TYPES.Identifier},n=>{let r=ab.findVariable(e.sourceCode.getScope(n),n.name)?.defs.at(0)?.node;return oi.match(r).with({init:oi.P.select({type:oi.P.not(av.AST_NODE_TYPES.VariableDeclaration)})},t).otherwise(()=>null)}).otherwise(()=>null)},t=>{if(null!=t)return e.report(t)})})},defaultOptions:[]}),S2=S_({meta:{type:"suggestion",docs:{description:"Enforces that all components have a 'displayName' that can be used in DevTools."},messages:{default:"Add missing 'displayName' for component."},schema:[]},name:"no-missing-component-display-name",create:function(e){if(!e.sourceCode.text.includes("memo")&&!e.sourceCode.text.includes("forwardRef"))return{};let{api:t,visitor:n}=g$(e,{collectDisplayName:!0,hint:gR});return hr(n,{"Program:exit"(n){for(let{displayName:r,flag:i,node:a}of t.getAllComponents(n)){let t=gP(a),n=(i&(gD.ForwardRef|gD.Memo))>0n;null==t&&n&&null==r&&e.report({messageId:"default",node:a})}}})},defaultOptions:[]}),S3=S_({meta:{type:"suggestion",docs:{description:"Enforces that all contexts have a 'displayName' that can be used in DevTools."},fixable:"code",messages:{default:"Add missing 'displayName' for context."},schema:[]},name:"no-missing-context-display-name",create:function(e){if(!e.sourceCode.text.includes("createContext"))return{};let t=[],n=[];return hr({CallExpression(n){mG(e,n)&&t.push(n)},[gA](e){n.push(e)},"Program:exit"(){for(let r of t){let t=f3(r);if(null==t){e.report({messageId:"default",node:r});continue}n.some(n=>{let r=n.left;return r.type===av.AST_NODE_TYPES.MemberExpression&&f2(e,t,r.object)})||e.report({fix:n=>t.type!==av.AST_NODE_TYPES.Identifier||t.parent!==r.parent?[]:n.insertTextAfter(e.sourceCode.getTokenAfter(r)??r,["\n",t.name,".","displayName"," ","="," ",JSON.stringify(t.name),";"].join("")),messageId:"default",node:t})}}})},defaultOptions:[]});function S6(e){return t=>{if(null!=t)return e.report(t)}}var S4=S_({meta:{type:"problem",docs:{description:"Disallows missing 'key' on items in list rendering."},messages:{default:"Missing 'key' for element when rendering list.",unexpectedFragmentSyntax:"Use fragment component instead of '<>' because it does not support `key`."},schema:[]},name:"no-missing-key",create:function(e){let t=!1;function n(t){return t.type===av.AST_NODE_TYPES.JSXElement?me(e,t,"key")?null:{messageId:"default",node:t}:t.type===av.AST_NODE_TYPES.JSXFragment?{messageId:"unexpectedFragmentSyntax",node:t}:null}return hr({ArrayExpression(n){if(t)return;let r=n.elements.filter(cW(av.AST_NODE_TYPES.JSXElement));if(0!==r.length)for(let t of r)me(e,t,"key")||e.report({messageId:"default",node:t})},CallExpression(r){if(t||=mW(e,r))return;let i=ue.unwrap(r.callee);if(i.type!==av.AST_NODE_TYPES.MemberExpression||i.property.type!==av.AST_NODE_TYPES.Identifier)return;let a=i.property.name,o="from"===a?1:"map"===a?0:-1;if(o<0)return;let s=r.arguments[o];c$.isFunction(s)&&(s.body.type===av.AST_NODE_TYPES.BlockStatement?(function(e){let t,r,i=[];for(let a of(t=[],r=c$.isFunction(e)?e:ua.findParent(e,c$.isFunction),Sn.simpleTraverse(e,{enter(e){e.type!==av.AST_NODE_TYPES.ReturnStatement||ua.findParent(e,c$.isFunction)===r&&t.push(e)}}),t)){if(null==a.argument)continue;let e=n(a.argument);null!=e&&i.push(e)}return i})(s.body).forEach(S6(e)):S6(e)(function(e){switch(e.type){case av.AST_NODE_TYPES.ConditionalExpression:return n(e.consequent)??n(e.alternate);case av.AST_NODE_TYPES.LogicalExpression:return n(e.left)??n(e.right);case av.AST_NODE_TYPES.JSXElement:case av.AST_NODE_TYPES.JSXFragment:return n(e);default:return null}}(s.body)))},"CallExpression:exit"(n){mW(e,n)&&(t=!1)},JSXFragment(n){t||n.parent.type===av.AST_NODE_TYPES.ArrayExpression&&e.report({messageId:"unexpectedFragmentSyntax",node:n})}})},defaultOptions:[]});function S8(e){return null!=e&&e.type===av.AST_NODE_TYPES.MemberExpression&&e.object.type===av.AST_NODE_TYPES.MemberExpression&&e.object.object.type===av.AST_NODE_TYPES.Identifier&&"process"===e.object.object.name&&e.object.property.type===av.AST_NODE_TYPES.Identifier&&"env"===e.object.property.name&&e.property.type===av.AST_NODE_TYPES.Identifier&&"NODE_ENV"===e.property.name}function S5(e){var t,n;return e.type===av.AST_NODE_TYPES.IfStatement&&(t=e.test,n="production",null!=t&&t.type===av.AST_NODE_TYPES.BinaryExpression&&"!=="===t.operator&&(S8(t.left)&&c$.isLiteral("string")(t.right)?t.right.value===n:!!(c$.isLiteral("string")(t.left)&&S8(t.right))&&t.left.value===n))}var S7=S_({meta:{type:"problem",docs:{description:"Prevents incorrect usage of 'captureOwnerStack'."},messages:{missingDevelopmentOnlyCheck:"Don't call 'captureOwnerStack' directly. Use 'if (process.env.NODE_ENV !== \"production\") {...}' to conditionally access it.",useNamespaceImport:"Don't use named imports of 'captureOwnerStack' in files that are bundled for development and production. Use a namespace import instead."},schema:[]},name:"no-misused-capture-owner-stack",create:function(e){if(!e.sourceCode.text.includes("captureOwnerStack"))return{};let{importSource:t}=cM(e);return hr({CallExpression(t){mV(e,t)&&null==ua.findParent(t,S5)&&e.report({messageId:"missingDevelopmentOnlyCheck",node:t})},ImportDeclaration(n){if(n.source.value===t)for(let t of n.specifiers)t.type===av.AST_NODE_TYPES.ImportSpecifier&&t.imported.type===av.AST_NODE_TYPES.Identifier&&"captureOwnerStack"===t.imported.name&&e.report({messageId:"useNamespaceImport",node:t})}})},defaultOptions:[]}),S9=S_({meta:{type:"problem",docs:{description:"Disallows nesting component definitions inside other components."},messages:{default:"Do not nest component definitions inside other components or props. {{suggestion}}"},schema:[]},name:"no-nested-component-definitions",create:function(e){let t=g$(e,{hint:gM.DoNotIncludeJsxWithNumberValue|gM.DoNotIncludeJsxWithBooleanValue|gM.DoNotIncludeJsxWithNullValue|gM.DoNotIncludeJsxWithStringValue|gM.DoNotIncludeJsxWithUndefinedValue|gM.RequireBothSidesOfLogicalExpressionToBeJsx|gM.RequireBothBranchesOfConditionalExpressionToBeJsx|gM.DoNotIncludeFunctionDefinedAsArrayPatternElement|gM.DoNotIncludeFunctionDefinedAsArrayExpressionElement|gM.DoNotIncludeFunctionDefinedAsArrayMapCallback}),n=gk(e);return hr(t.visitor,n.visitor,{"Program:exit"(r){let i=[...t.api.getAllComponents(r)],a=[...n.api.getAllComponents(r)];function o(e){return ua.findParent(e,e=>c$.isFunction(e)?i.some(t=>t.node===e):!!c$.isClass(e)&&a.some(t=>t.node===e))}for(let{name:t,node:n}of i)if(null!=t){if(n.parent.type===av.AST_NODE_TYPES.JSXAttribute||null!=function(e,t=()=>!0){return ua.findParent(e,e=>e.type===av.AST_NODE_TYPES.JSXAttribute&&t(e))}(n,e=>e.value?.type===av.AST_NODE_TYPES.JSXExpressionContainer)||function(e,t){let n=ua.findParent(t,mH(e));if(null==n)return!1;let r=ua.findParent(t,cW(av.AST_NODE_TYPES.ObjectExpression));return null!=r&&r===n.arguments[1]}(e,n)){e.report({data:{name:t,suggestion:"Move it to the top level or pass it as a prop."},messageId:"default",node:n});continue}if(null!=o(n)){e.report({data:{name:t,suggestion:n.parent.type===av.AST_NODE_TYPES.Property?"Move it to the top level or pass it as a prop.":"Move it to the top level."},messageId:"default",node:n});continue}null!=ua.findParent(n,e=>gS(e)&&g_(e.parent.parent))&&e.report({data:{name:t,suggestion:"Move it to the top level."},messageId:"default",node:n})}for(let{name:t="unknown",node:n}of a)null!=o(n)&&e.report({data:{name:t,suggestion:n.parent.type===av.AST_NODE_TYPES.Property?"Move it to the top level or pass it as a prop.":"Move it to the top level."},messageId:"default",node:n})}})},defaultOptions:[]}),Ee=S_({meta:{type:"problem",docs:{description:"Disallows nesting lazy component declarations inside other components or hooks."},messages:{default:"Do not declare lazy components inside other components or hooks. Instead, always declare them at the top level of your module."},schema:[]},name:"no-nested-lazy-component-declarations",create:function(e){let t=g$(e),n=gk(e),r=gW(e),i=new Set;return hr(t.visitor,n.visitor,r.visitor,{ImportExpression(t){let n=ua.findParent(t,t=>m0(e,t));null!=n&&i.add(n)},"Program:exit"(a){let o=[...t.api.getAllComponents(a),...r.api.getAllHooks(a),...n.api.getAllComponents(a)];for(let t of i)ua.findParent(t,e=>o.some(t=>t.node===e))&&e.report({messageId:"default",node:t})}})},defaultOptions:[]}),Et=S_({meta:{type:"problem",docs:{description:"Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks."},messages:{default:"Do not call `this.setState` in `componentDidMount` outside functions such as callbacks."},schema:[]},name:"no-set-state-in-component-did-mount",create:function(e){return e.sourceCode.text.includes("componentDidMount")?hr({CallExpression(t){if(!gE(t))return;let n=ua.findParent(t,g_),r=ua.findParent(t,e=>e===n||gf(e));if(null==n||null==r||r===n)return;let i=e.sourceCode.getScope(r),a=e.sourceCode.getScope(t).upper;r.parent===n.body&&a===i&&e.report({messageId:"default",node:t})}}):{}},defaultOptions:[]}),En=S_({meta:{type:"problem",docs:{description:"Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks."},messages:{default:"Do not call `this.setState` in `componentDidUpdate` outside functions such as callbacks."},schema:[]},name:"no-set-state-in-component-did-update",create:function(e){return e.sourceCode.text.includes("componentDidUpdate")?hr({CallExpression(t){if(!gE(t))return;let n=ua.findParent(t,g_),r=ua.findParent(t,e=>e===n||gm(e));if(null==n||null==r||r===n)return;let i=e.sourceCode.getScope(r),a=e.sourceCode.getScope(t).upper;r.parent===n.body&&a===i&&e.report({messageId:"default",node:t})}}):{}},defaultOptions:[]}),Er=S_({meta:{type:"problem",docs:{description:"Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks."},messages:{default:"Do not call `this.setState` in `componentWillUpdate` outside functions such as callbacks."},schema:[]},name:"no-set-state-in-component-will-update",create:function(e){return e.sourceCode.text.includes("componentWillUpdate")?hr({CallExpression(t){if(!gE(t))return;let n=ua.findParent(t,g_),r=ua.findParent(t,e=>e===n||gy(e));if(null==n||null==r||r===n)return;let i=e.sourceCode.getScope(r),a=e.sourceCode.getScope(t).upper;r.parent===n.body&&a===i&&e.report({messageId:"default",node:t})}}):{}},defaultOptions:[]});let Ei=["useMDXComponents"];function Ea(e){var t;return null!=e&&c$.isFunction(e)&&e.parent.type===av.AST_NODE_TYPES.CallExpression&&null!=(t=e.parent.callee)&&t.type===av.AST_NODE_TYPES.MemberExpression&&t.object.type===av.AST_NODE_TYPES.Identifier&&t.property.type===av.AST_NODE_TYPES.Identifier&&"mock"===t.property.name&&e.parent.arguments[1]===e}var Eo=S_({meta:{type:"problem",docs:{description:"Enforces that a function with the 'use' prefix uses at least one Hook inside it."},messages:{default:"If your function doesn't call any Hooks, avoid the 'use' prefix. Instead, write it as a regular function without the 'use' prefix."},schema:[]},name:"no-unnecessary-use-prefix",create:function(e){let{api:t,visitor:n}=gW(e);return hr(n,{"Program:exit"(n){for(let{id:r,name:i,hookCalls:a,node:o}of t.getAllHooks(n)){if(!(null==i||a.length>0||o.body.type===av.AST_NODE_TYPES.BlockStatement&&0===o.body.body.length||Ei.includes(i)))e.sourceCode.getCommentsInside(o).some(({value:e})=>/use\([\s\S]*?\)/u.test(e)||/use[A-Z0-9]\w*\([\s\S]*?\)/u.test(e))||null==ua.findParent(o,Ea)&&e.report({data:{name:i},messageId:"default",node:r??o})}}})},defaultOptions:[]}),Es=S_({meta:{type:"problem",docs:{description:"Warns about the use of 'UNSAFE_componentWillMount' in class components."},messages:{default:"Do not use 'UNSAFE_componentWillMount'."},schema:[]},name:"no-unsafe-component-will-mount",create:function(e){if(!e.sourceCode.text.includes("UNSAFE_componentWillMount"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gv(n)&&e.report({messageId:"default",node:n})}}})},defaultOptions:[]}),El=S_({meta:{type:"problem",docs:{description:"Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components."},messages:{default:"Do not use 'UNSAFE_componentWillReceiveProps'."},schema:[]},name:"no-unsafe-component-will-receive-props",create:function(e){if(!e.sourceCode.text.includes("UNSAFE_componentWillReceiveProps"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gb(n)&&e.report({messageId:"default",node:n})}}})},defaultOptions:[]}),Ec=S_({meta:{type:"problem",docs:{description:"Warns about the use of 'UNSAFE_componentWillUpdate' in class components."},messages:{default:"Do not use 'UNSAFE_componentWillUpdate'."},schema:[]},name:"no-unsafe-component-will-update",create:function(e){if(!e.sourceCode.text.includes("UNSAFE_componentWillUpdate"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gx(n)&&e.report({messageId:"default",node:n})}}})},defaultOptions:[]}),Eu=S_({meta:{type:"problem",docs:{description:"Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'."},messages:{unstableContextValue:"A/an '{{kind}}' passed as the value prop to the context provider should not be constructed. It will change on every render. {{suggestion}}"},schema:[]},name:"no-unstable-context-value",create:function(e){let{compilationMode:t,version:n}=cM(e);if("infer"===t||"all"===t||"annotation"===t&&e.sourceCode.ast.body.some(c$.isDirective("use memo")))return{};let r=hu(n,"19.0.0","<"),{api:i,visitor:a}=g$(e),o=new WeakMap;return hr(a,{JSXOpeningElement(n){let i=f7(n.parent).split(".").at(-1);if(null==i||!("Provider"===i||!r&&(i.endsWith("Context")||i.endsWith("CONTEXT"))))return;let a=ua.findParent(n,c$.isFunction);if(null==a||"annotation"===t&&gw(a).some(e=>"use memo"===e.directive))return;let s=n.attributes.find(e=>e.type===av.AST_NODE_TYPES.JSXAttribute&&"value"===e.name.name);if(null==s||!("value"in s))return;let l=s.value;if(l?.type!==av.AST_NODE_TYPES.JSXExpressionContainer)return;let c=fZ(e,l.expression);null==c||gB(c.node)||SD(o,a,()=>[]).push(c)},"Program:exit"(n){for(let{directives:r,node:a}of i.getAllComponents(n))if(!("annotation"===t&&r.some(e=>"use memo"===e.directive)))for(let t of o.get(a)??[]){let{kind:n,node:r}=t,i="function"===n?"Consider wrapping it in a useCallback hook.":"Consider wrapping it in a useMemo hook.";e.report({data:{kind:ue.getHumanReadableKind(r),suggestion:i},messageId:"unstableContextValue",node:r})}}})},defaultOptions:[]}),E_=S_({meta:{type:"problem",docs:{description:"Prevents using referential-type values as default props in object destructuring."},messages:{default:"A/an '{{kind}}' as default prop. This could lead to potential infinite render loop in React. Use a variable instead of '{{kind}}'."},schema:[{type:"object",additionalProperties:!1,properties:{safeDefaultProps:{type:"array",items:{type:"string"}}}}]},name:"no-unstable-default-props",create:function(e,[t]){let{compilationMode:n}=cM(e);if("infer"===n||"all"===n||"annotation"===n&&e.sourceCode.ast.body.some(c$.isDirective("use memo")))return{};let{api:r,visitor:i}=g$(e),a=new WeakMap,{safeDefaultProps:o=[]}=t,s=o.map(e=>cF(e));return hr(i,{"Program:exit"(t){for(let{node:n}of r.getAllComponents(t)){let{params:t}=n,[r]=t;if(null!=r)for(let t of oi.match(r).with({type:av.AST_NODE_TYPES.ObjectPattern},({properties:e})=>e).with({type:av.AST_NODE_TYPES.Identifier},({name:e})=>a.get(n)?.filter(t=>t.init.name===e).flatMap(e=>e.id.properties)??[]).otherwise(()=>[])){if(t.type!==av.AST_NODE_TYPES.Property||t.value.type!==av.AST_NODE_TYPES.AssignmentPattern)continue;let{value:n}=t,{right:r}=n,i=fZ(e,n);if(null!=i&&!gB(i.node)){if(s.length>0){let e=function(e){if(e.type===av.AST_NODE_TYPES.NewExpression){let t=ue.unwrap(e.callee);if(t.type===av.AST_NODE_TYPES.Identifier)return t.name}if(e.type===av.AST_NODE_TYPES.CallExpression){let t=ue.unwrap(e.callee);if(t.type===av.AST_NODE_TYPES.Identifier)return t.name;if(t.type===av.AST_NODE_TYPES.MemberExpression){let{object:e}=t;if(e.type===av.AST_NODE_TYPES.Identifier)return e.name}}return null}(r);if(null!=e&&s.some(t=>t.test(e)))continue}e.report({data:{kind:ue.getHumanReadableKind(r)},messageId:"default",node:r})}}}},"VariableDeclarator[id.type='ObjectPattern'][init.type='Identifier']"(e){let t=ua.findParent(e,c$.isFunction);null!=t&&SD(a,t,()=>[]).push(e)}})},defaultOptions:[{safeDefaultProps:[]}]});let Ed=new Set(["componentDidCatch","componentDidMount","componentDidUpdate","componentWillMount","componentWillReceiveProps","componentWillUnmount","componentWillUpdate","constructor","getSnapshotBeforeUpdate","render","shouldComponentUpdate","state","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate"]);function Ep(e,t){return oi.match(t).with({type:av.AST_NODE_TYPES.Literal},Sw).with({type:av.AST_NODE_TYPES.TemplateLiteral,expressions:[]},Sw).with({type:av.AST_NODE_TYPES.Identifier},()=>!e.computed).otherwise(SA)}var Ef=S_({meta:{type:"suggestion",docs:{description:"Warns about unused class component methods and properties."},messages:{default:"Unused method or property '{{methodName}}'' of class '{{className}}'."},schema:[]},name:"no-unused-class-component-members",create:function(e){let t=[],n=[],r=new WeakMap,i=new WeakMap;function a(e){t.push(e),g_(e)&&(r.set(e,new Set),i.set(e,new Set))}function o(){let n=t.pop();if(null==n||!g_(n))return;let a=gu(n),o=r.get(n),s=i.get(n);if(null!=o)for(let t of o){let n=ue.getPropertyName(t);null!=n&&(s?.has(n)||Ed.has(n)||e.report({data:{className:null!=a?e.sourceCode.getText(a):"Component",methodName:n},messageId:"default",node:t}))}}function s(e){n.push(e);let i=t.at(-1);null!=i&&g_(i)&&!e.static&&Ep(e,e.key)&&r.get(i)?.add(e.key)}function l(){n.pop()}return hr({ClassDeclaration:a,"ClassDeclaration:exit":o,ClassExpression:a,"ClassExpression:exit":o,MemberExpression(e){let a=t.at(-1),o=n.at(-1);if(null==a||null==o||!g_(a)||o.static||e.object.type!==av.AST_NODE_TYPES.ThisExpression||!Ep(e,e.property))return;if(e.parent.type===av.AST_NODE_TYPES.AssignmentExpression&&e.parent.left===e)return void r.get(a)?.add(e.property);let s=ue.getPropertyName(e.property);null!=s&&i.get(a)?.add(s)},MethodDefinition:s,"MethodDefinition:exit":l,PropertyDefinition:s,"PropertyDefinition:exit":l,VariableDeclarator(e){let r=t.at(-1),a=n.at(-1);if(null!=r&&null!=a&&g_(r)&&!a.static&&null!=e.init&&e.init.type===av.AST_NODE_TYPES.ThisExpression&&e.id.type===av.AST_NODE_TYPES.ObjectPattern){for(let t of e.id.properties)if(t.type===av.AST_NODE_TYPES.Property&&Ep(t,t.key)){let e=ue.getPropertyName(t.key);null!=e&&i.get(r)?.add(e)}}}})},defaultOptions:[]});function Em(e,t,n){for(let o of n.properties)switch(o.type){case av.AST_NODE_TYPES.Property:{let e=Eh(o.key);if(null==e)return!1;t.add(e);break}case av.AST_NODE_TYPES.RestElement:var r,i,a;if(r=e,i=t,!((a=o).argument.type===av.AST_NODE_TYPES.Identifier&&Eg(r,i,a.argument)))return!1}return!0}function Eg(e,t,n){let r=e.sourceCode.getScope(n).variables.find(e=>e.name===n.name);if(null==r)return!1;for(let i of r.references)if(i.identifier!==n&&!function(e,t,n){let r=n.identifier;for(;c$.isTypeExpression(r.parent)||r.parent.type===av.AST_NODE_TYPES.ChainExpression;)r=r.parent;let i=r.parent;switch(i.type){case av.AST_NODE_TYPES.MemberExpression:if(i.object===r){let e=Eh(i.property);if(null==e)return!1;return t.add(e),!0}break;case av.AST_NODE_TYPES.VariableDeclarator:if(i.id.type===av.AST_NODE_TYPES.ObjectPattern&&i.init===r)return Em(e,t,i.id)}return!1}(e,t,i))return!1;return!0}function Eh(e){switch(e.type){case av.AST_NODE_TYPES.Identifier:return e.name;case av.AST_NODE_TYPES.Literal:if("string"==typeof e.value)return e.value}return null}var Ey=S_({meta:{type:"suggestion",docs:{description:"Warns about component props that are defined but never used."},messages:{default:"Prop `{{name}}` is declared but never used"},schema:[]},name:"no-unused-props",create:function(e){let t=ay.ESLintUtils.getParserServices(e,!1),n=t.program.getTypeChecker(),{api:r,visitor:i}=g$(e);return hr(i,{"Program:exit"(i){let a=new Map,o=new Set;for(let s of r.getAllComponents(i)){let[r]=s.node.params;if(null==r)continue;let i=new Set;if(!function(e,t,n){switch(n.type){case av.AST_NODE_TYPES.Identifier:return Eg(e,t,n);case av.AST_NODE_TYPES.ObjectPattern:return Em(e,t,n);default:return!1}}(e,i,r))continue;let l=t.esTreeNodeToTSNodeMap.get(r);for(let e of n.getTypeAtLocation(l).getProperties()){let t=e.getDeclarations()?.[0];null!=t&&(a.has(t)||a.set(t,e),i.has(e.name)&&o.add(t))}}for(let[n,r]of a.entries())o.has(n)||function(e,t,n){let r=n.getDeclarations()?.[0];if(null==r)return;let i=t.tsNodeToESTreeNodeMap.get(r);if(null==i)return;let a=i.type===av.AST_NODE_TYPES.TSPropertySignature?i.key:i;e.report({data:{name:n.name},messageId:"default",node:a})}(e,t,r)}})},defaultOptions:[]}),Ev=S_({meta:{type:"suggestion",docs:{description:"Replaces usage of 'useContext' with 'use'."},fixable:"code",hasSuggestions:!0,messages:{default:"In React 19, 'use' is preferred over 'useContext' because it is more flexible.",replace:"Replace 'useContext' with 'use'."},schema:[]},name:"no-use-context",create:function(e){if(!e.sourceCode.text.includes("useContext"))return{};let{version:t}=cM(e);return hu(t,"19.0.0","<")?{}:hr({CallExpression(t){m6(e,t)&&e.report({messageId:"default",node:t.callee,suggest:[{fix(e){switch(t.callee.type){case av.AST_NODE_TYPES.Identifier:return e.replaceText(t.callee,"use");case av.AST_NODE_TYPES.MemberExpression:return e.replaceText(t.callee.property,"use")}return null},messageId:"replace"}]})}})},defaultOptions:[]});let Eb=new Map([["Atomics",new Set(["add","and","compareExchange","exchange","load","notify","or","store","sub","wait","waitAsync","xor"])],["caches",new Set(["delete","has","keys","match","open"])],["clipboard",new Set(["read","readText","write","writeText"])],["cookieStore",new Set(["delete","get","getAll","set"])],["crypto",new Set(["getRandomValues","randomUUID"])],["Date",new Set(["now"])],["document",new Set(["adoptNode","append","close","createAttribute","createAttributeNS","createCDATASection","createComment","createDocumentFragment","createDocumentType","createElement","createElementNS","createEvent","createNodeIterator","createProcessingInstruction","createRange","createTextNode","createTreeWalker","elementFromPoint","elementsFromPoint","execCommand","exitFullscreen","exitPictureInPicture","exitPointerLock","getAnimations","getElementById","getElementsByClassName","getElementsByName","getElementsByTagName","getElementsByTagNameNS","getSelection","hasFocus","importNode","open","prepend","querySelector","querySelectorAll","replaceChildren","requestStorageAccess","startViewTransition","write","writeln"])],["globalThis",new Set(["addEventListener","alert","blur","cancelAnimationFrame","cancelIdleCallback","clearInterval","clearTimeout","close","confirm","dispatchEvent","fetch","focus","getComputedStyle","getSelection","matchMedia","moveBy","moveTo","open","postMessage","print","prompt","queueMicrotask","removeEventListener","reportError","requestAnimationFrame","requestIdleCallback","resizeBy","resizeTo","scroll","scrollBy","scrollTo","setInterval","setTimeout","stop","structuredClone"])],["history",new Set(["back","forward","go","pushState","replaceState"])],["indexedDB",new Set(["databases","deleteDatabase","open"])],["localStorage",new Set(["clear","getItem","key","removeItem","setItem"])],["location",new Set(["assign","reload","replace"])],["Math",new Set(["random"])],["navigation",new Set(["back","forward","navigate","reload","traverseTo","updateCurrentEntry"])],["navigator",new Set(["canShare","getBattery","getGamepads","getUserMedia","javaEnabled","registerProtocolHandler","requestMediaKeySystemAccess","requestMIDIAccess","sendBeacon","share","vibrate"])],["Notification",new Set(["requestPermission"])],["Object",new Set(["assign","defineProperties","defineProperty","freeze","preventExtensions","seal","setPrototypeOf"])],["performance",new Set(["clearMarks","clearMeasures","getEntries","getEntriesByName","getEntriesByType","mark","measure","now"])],["process",new Set(["abort","chdir","cpuUsage","emitWarning","exit","hrtime","kill","memoryUsage","nextTick","send","stderr","stdout"])],["Reflect",new Set(["defineProperty","deleteProperty","preventExtensions","set","setPrototypeOf"])],["scheduler",new Set(["postTask","yield"])],["sessionStorage",new Set(["clear","getItem","key","removeItem","setItem"])],["URL",new Set(["createObjectURL","revokeObjectURL"])],["window",new Set(["addEventListener","alert","blur","cancelAnimationFrame","cancelIdleCallback","clearInterval","clearTimeout","close","confirm","dispatchEvent","fetch","focus","getComputedStyle","getSelection","matchMedia","moveBy","moveTo","open","postMessage","print","prompt","queueMicrotask","removeEventListener","reportError","requestAnimationFrame","requestIdleCallback","resizeBy","resizeTo","scroll","scrollBy","scrollTo","setInterval","setTimeout","stop","structuredClone"])]]),Ex=new Set(["Audio","AudioContext","BroadcastChannel","Date","EventSource","FileReader","Image","IntersectionObserver","MediaRecorder","MediaSource","MediaStream","MessageChannel","MutationObserver","Notification","OfflineAudioContext","PerformanceObserver","ReportingObserver","ResizeObserver","RTCPeerConnection","SharedWorker","WebSocket","Worker","XMLHttpRequest"]);var ET=S_({meta:{type:"problem",docs:{description:"Validates that components and hooks are pure by checking that they do not call known-impure functions during render."},messages:{default:"Do not call '{{name}}' during render. Components and hooks must be pure. Move this call into an event handler, effect, or state initializer."},schema:[]},name:"purity",create:function(e){let t=gW(e),n=g$(e),r=[],i=[];return hr(t.visitor,n.visitor,{CallExpression(t){let n=ue.unwrap(t.callee);switch(!0){case n.type===av.AST_NODE_TYPES.Identifier:{let i=ES(e,n);if(null==i||!Eb.get("globalThis")?.has(i))return;let a=ua.findParent(t,c$.isFunction);if(null==a)return;r.push({func:a,node:t});break}case n.type===av.AST_NODE_TYPES.MemberExpression&&n.property.type===av.AST_NODE_TYPES.Identifier:{let i=ue.getRootIdentifier(n.object);if(null==i)return;let a=ES(e,i);if(null==a)return;let o=n.property.name;if(!Eb.get(a)?.has(o))return;let s=ua.findParent(t,c$.isFunction);if(null==s)return;r.push({func:s,node:t})}}},NewExpression(t){let n=ue.unwrap(t.callee);if(n.type!==av.AST_NODE_TYPES.Identifier)return;let r=ES(e,n);if(null==r||!Ex.has(r)||"Date"===r&&t.arguments.length>0)return;let a=ua.findParent(t,c$.isFunction);null!=a&&i.push({func:a,node:t})},"Program:exit"(a){let o=[...n.api.getAllComponents(a),...t.api.getAllHooks(a)];for(let{func:t,node:n}of[...r,...i])o.some(e=>e.node===t)&&e.report({data:{name:e.sourceCode.getText(n)},messageId:"default",node:n})}})},defaultOptions:[]});function ES(e,t,n=new Set){if(n.has(t.name))return null;n.add(t.name);let r=ab.findVariable(e.sourceCode.getScope(t),t);if(null==r)return t.name;let i=r.defs[0];if(null==i||i.type===fX.DefinitionType.ImplicitGlobalVariable)return t.name;if(i.type===fX.DefinitionType.Variable&&null!=i.node.init){let t=ue.unwrap(i.node.init);if(t.type===av.AST_NODE_TYPES.Identifier)return ES(e,t,n);if(t.type===av.AST_NODE_TYPES.MemberExpression){let r=ue.getRootIdentifier(t);if(null!=r)return ES(e,r,n)}}return null}function EE(e,t){if(e.type!==av.AST_NODE_TYPES.BinaryExpression||!/^(===|==|!==|!=)$/.test(e.operator))return!1;let{left:n,right:r}=e,i=(e,n)=>{if((e=c$.isTypeExpression(e)?ue.unwrap(e):e).type!==av.AST_NODE_TYPES.MemberExpression||"current"!==ue.getPropertyName(e.property))return!1;let r=ue.unwrap(e.object);return r.type===av.AST_NODE_TYPES.Identifier&&r.name===t&&n.type===av.AST_NODE_TYPES.Literal&&null==n.value};return i(n,r)||i(r,n)}function Ek(e,t){if(EE(e,t))return!0;if(e.type===av.AST_NODE_TYPES.UnaryExpression&&"!"===e.operator){let n=ue.unwrap(e.argument);if(n.type===av.AST_NODE_TYPES.MemberExpression){let e=ue.unwrap(n.object);return e.type===av.AST_NODE_TYPES.Identifier&&e.name===t&&"current"===ue.getPropertyName(n.property)}return EE(n,t)}return!1}function EP(e,t,n){for(let{node:r}of ab.findVariable(n,t)?.defs??[]){if(r.type!==av.AST_NODE_TYPES.VariableDeclarator)continue;let t=r.init;if(null!=t)switch(!0){case t.type===av.AST_NODE_TYPES.MemberExpression:{let e=ue.unwrap(t.object);if(e.type===av.AST_NODE_TYPES.Identifier&&("ref"===e.name||e.name.endsWith("Ref")))return!0;break}case t.type===av.AST_NODE_TYPES.CallExpression&&go(e,t):return!0}}return!1}var EC=S_({meta:{type:"problem",docs:{description:"Validates correct usage of refs by checking that 'ref.current' is not read or written during render."},messages:{readDuringRender:"Do not read 'ref.current' during render. Refs are not available during rendering and their values may be stale or inconsistent. Move this read into an effect or event handler.",refPassedToFunction:"Passing a ref to a function may cause its value to be read during render. Pass 'ref.current' instead if the function only needs the value, or move the call into an effect.",writeDuringRender:"Do not write to 'ref.current' during render. Refs should only be mutated in effects or event handlers. Move this write into an effect or event handler."},schema:[]},name:"refs",create:function(e){let t=gW(e),n=g$(e),r=[],i=new Set,a=new Map,o=[];return hr(t.visitor,n.visitor,{AssignmentExpression(e){if("="!==e.operator)return;let t=ue.unwrap(e.left),n=ue.unwrap(e.right);t.type===av.AST_NODE_TYPES.Identifier&&n.type===av.AST_NODE_TYPES.Identifier&&a.set(t.name,n.name)},CallExpression(t){let n=ue.unwrap(t.callee),r=n.type===av.AST_NODE_TYPES.Identifier?n.name:n.type===av.AST_NODE_TYPES.MemberExpression?ue.getPropertyName(n.property):null;if(!(null!=r&&(r.startsWith("use")||"mergeRefs"===r)))for(let n of t.arguments){let r=ue.unwrap(n);if(r.type!==av.AST_NODE_TYPES.Identifier)continue;let s=Ew(r.name,a);("ref"===s||s.endsWith("Ref")||i.has(s)||EP(e,s,e.sourceCode.getScope(r)))&&o.push({callNode:t,node:r})}},JSXAttribute(e){if(!0==(e.name.type===av.AST_NODE_TYPES.JSXIdentifier&&"ref"===e.name.name&&e.value?.type===av.AST_NODE_TYPES.JSXExpressionContainer)){let t=ue.unwrap(e.value.expression);t.type===av.AST_NODE_TYPES.Identifier&&i.add(t.name);return}},MemberExpression(e){"current"===ue.getPropertyName(e.property)&&r.push({isWrite:(()=>{let t=e.parent;for(;c$.isTypeExpression(t);)t=t.parent;return oi.match(t).with({type:av.AST_NODE_TYPES.AssignmentExpression},t=>t.left===e||ue.unwrap(t.left)===e).with({type:av.AST_NODE_TYPES.UpdateExpression},t=>t.argument===e||ue.unwrap(t.argument)===e).otherwise(()=>!1)})(),node:e})},"Program:exit"(s){let l=n.api.getAllComponents(s),c=t.api.getAllHooks(s),u=new Set([...l.map(e=>e.node),...c.map(e=>e.node)]),_=e=>c$.isFunction(e)&&u.has(e);for(let{isWrite:t,node:n}of r){let r=ue.unwrap(n.object);if(r.type!==av.AST_NODE_TYPES.Identifier)continue;let o=Ew(r.name,a);switch(!0){case"ref"===o||o.endsWith("Ref"):case i.has(o):case EP(e,o,e.sourceCode.getScope(n.object)):break;default:continue}let s=ua.findParent(n,_);if(null==s||ua.findParent(n,c$.isFunction)!==s)continue;let l=function(e){let t,n=e.parent;for(;c$.isTypeExpression(n);)n=n.parent;let r=e=>e.parent?.type===av.AST_NODE_TYPES.IfStatement&&e.parent.test===e;if((t=n).type===av.AST_NODE_TYPES.BinaryExpression&&/^(===|==|!==|!=)$/.test(t.operator)){let t;if((t=n.left===e||ue.unwrap(n.left)===e?n.right:n.left).type!==av.AST_NODE_TYPES.Literal||null!=t.value)return!1;if(r(n))return!0;let i=n.parent;return!!(i?.type===av.AST_NODE_TYPES.UnaryExpression&&"!"===i.operator&&r(i))}return n.type===av.AST_NODE_TYPES.UnaryExpression&&"!"===n.operator&&r(n)}(n);if(!l){let e=n.parent;c:for(;null!=e;){if(e.type===av.AST_NODE_TYPES.IfStatement){Ek(e.test,o)&&(l=!0);break}switch(e.type){case av.AST_NODE_TYPES.ExpressionStatement:case av.AST_NODE_TYPES.BlockStatement:case av.AST_NODE_TYPES.ReturnStatement:case av.AST_NODE_TYPES.JSXExpressionContainer:case av.AST_NODE_TYPES.JSXElement:case av.AST_NODE_TYPES.JSXOpeningElement:case av.AST_NODE_TYPES.JSXClosingElement:case av.AST_NODE_TYPES.AssignmentExpression:case av.AST_NODE_TYPES.VariableDeclaration:case av.AST_NODE_TYPES.VariableDeclarator:case av.AST_NODE_TYPES.MemberExpression:case av.AST_NODE_TYPES.ChainExpression:case av.AST_NODE_TYPES.CallExpression:break;default:break c}e=e.parent}}if(!l&&t){let e=n;for(;null!=e.parent&&e.parent.type!==av.AST_NODE_TYPES.BlockStatement;)e=e.parent;if(e.parent?.type===av.AST_NODE_TYPES.BlockStatement){let t=e.parent,n=t.body.indexOf(e);if(n>=0)for(let e=n-1;e>=0;e--){let n=t.body[e];if(null!=n&&n.type===av.AST_NODE_TYPES.IfStatement&&Ek(n.test,o)){l=!0;break}}}}l||e.report({messageId:t?"writeDuringRender":"readDuringRender",node:n})}for(let{node:t}of o){let n=ua.findParent(t,_);null!=n&&ua.findParent(t,c$.isFunction)===n&&e.report({messageId:"refPassedToFunction",node:t})}},VariableDeclarator(e){if(null==e.init)return;let t=e.id,n=ue.unwrap(e.init);t.type===av.AST_NODE_TYPES.Identifier&&n.type===av.AST_NODE_TYPES.Identifier&&a.set(t.name,n.name)}})},defaultOptions:[]});function Ew(e,t){let n=new Set;for(;t.has(e)&&!n.has(e);)n.add(e),e=t.get(e);return e}function EA(e,t){if(!e)throw Error(t??"Assertion violated.")}function ED(e){return e.reachable}var EN=class e{id;nextSegments;prevSegments;allNextSegments;allPrevSegments;reachable;internal;constructor(e,t,n){this.id=e,this.nextSegments=[],this.prevSegments=t.filter(ED),this.allNextSegments=[],this.allPrevSegments=t,this.reachable=n,this.internal={used:!1,loopedPrevSegments:[]}}isLoopedPrevSegment(e){return this.internal.loopedPrevSegments.includes(e)}static newRoot(t){return new e(t,[],!0)}static newNext(t,n){return new e(t,e.flattenUnusedSegments(n),n.some(ED))}static newUnreachable(t,n){let r=new e(t,e.flattenUnusedSegments(n),!1);return e.markUsed(r),r}static newDisconnected(t,n){return new e(t,[],n.some(ED))}static markUsed(e){let t;if(!e.internal.used)if(e.internal.used=!0,e.reachable)for(t=0;t<e.allPrevSegments.length;++t){let n=e.allPrevSegments[t];n.allNextSegments.push(e),n.nextSegments.push(e)}else for(t=0;t<e.allPrevSegments.length;++t)e.allPrevSegments[t].allNextSegments.push(e)}static markPrevSegmentAsLooped(e,t){e.internal.loopedPrevSegments.push(t)}static flattenUnusedSegments(e){let t=Object.create(null),n=[];for(let r=0;r<e.length;++r){let i=e[r];if(!t[i.id])if(i.internal.used)t[i.id]=!0,n.push(i);else for(let e=0;e<i.allPrevSegments.length;++e){let r=i.allPrevSegments[e];t[r.id]||(t[r.id]=!0,n.push(r))}}return n}};function EF(e){return e.reachable}function EI(e,t,n,r){let i=e.segmentsList,a=t>=0?t:i.length+t,o=n>=0?n:i.length+n,s=[];for(let t=0;t<e.count;++t){let n=[];for(let e=a;e<=o;++e)n.push(i[e][t]);s.push(r(e.idGenerator.next(),n))}return s}function EO(e,t){let n=t;for(;n.length>e.count;){let t=[];for(let r=0,i=n.length/2|0;r<i;++r)t.push(EN.newNext(e.idGenerator.next(),[n[r],n[r+i]]));n=t}return n}var EL=class e{idGenerator;upper;count;segmentsList;constructor(e,t,n){this.idGenerator=e,this.upper=t,this.count=n,this.segmentsList=[]}get head(){let e=this.segmentsList;return 0===e.length?[]:e[e.length-1]}get empty(){return 0===this.segmentsList.length}get reachable(){let e=this.head;return e.length>0&&e.some(EF)}makeNext(e,t){return EI(this,e,t,EN.newNext)}makeUnreachable(e,t){return EI(this,e,t,EN.newUnreachable)}makeDisconnected(e,t){return EI(this,e,t,EN.newDisconnected)}add(e){EA(e.length>=this.count,`${e.length} >= ${this.count}`),this.segmentsList.push(EO(this,e))}replaceHead(e){EA(e.length>=this.count,`${e.length} >= ${this.count}`),this.segmentsList.splice(-1,1,EO(this,e))}addAll(e){EA(e.count===this.count);let t=e.segmentsList;for(let e=0;e<t.length;++e)this.segmentsList.push(t[e])}clear(){this.segmentsList=[]}static newRoot(t){let n=new e(t,null,1);return n.add([EN.newRoot(t.next())]),n}static newEmpty(t,n){return new e(t.idGenerator,t,(n?2:1)*t.count)}};function EM(e,t,n,r){for(let i=0;i<r.length;++i){let a=r[i];e.push(a),t.includes(a)||n.push(a)}}function ER(e){let t=e.tryContext;for(;t;){if(t.hasFinalizer&&"finally"!==t.position)return t;t=t.upper}return e}function Ej(e){let t=e.tryContext;for(;t;){if("try"===t.position||t.hasFinalizer&&"catch"===t.position)return t;t=t.upper}return e}function EY(e,t){e.splice(e.indexOf(t),1)}function EU(e,t,n){let r=EN.flattenUnusedSegments(t),i=EN.flattenUnusedSegments(n),a=Math.min(r.length,i.length);for(let t=0;t<a;++t){let n=r[t],a=i[t];a.reachable&&n.nextSegments.push(a),n.reachable&&a.prevSegments.push(n),n.allNextSegments.push(a),a.allPrevSegments.push(n),a.allPrevSegments.length>=2&&EN.markPrevSegmentAsLooped(a,n),e.notifyLooped(n,a)}}function EB(e,t,n){t.processed||(t.trueForkContext.add(n),t.falseForkContext.add(n),t.qqForkContext.add(n)),!0!==e.test&&e.brokenForkContext.addAll(t.falseForkContext),e.endOfTestSegments=t.trueForkContext.makeNext(0,-1)}var EV=class{idGenerator;notifyLooped;forkContext;choiceContext;switchContext;tryContext;loopContext;breakContext;chainContext;currentSegments;initialSegment;finalSegments;returnedForkContext;thrownForkContext;constructor(e,t){this.idGenerator=e,this.notifyLooped=t,this.forkContext=EL.newRoot(e),this.choiceContext=null,this.switchContext=null,this.tryContext=null,this.loopContext=null,this.breakContext=null,this.chainContext=null,this.currentSegments=[],this.initialSegment=this.forkContext.head[0];let n=[];this.finalSegments=n;let r=[],i=[];this.returnedForkContext=r,this.thrownForkContext=i,r.add=EM.bind(null,r,i,n),i.add=EM.bind(null,i,r,n)}get headSegments(){return this.forkContext.head}get parentForkContext(){let e=this.forkContext;return e&&e.upper}pushForkContext(e){return this.forkContext=EL.newEmpty(this.forkContext,e),this.forkContext}popForkContext(){let e=this.forkContext;return this.forkContext=e.upper,this.forkContext.replaceHead(e.makeNext(0,-1)),e}forkPath(){this.forkContext.add(this.parentForkContext.makeNext(-1,-1))}forkBypassPath(){this.forkContext.add(this.parentForkContext.head)}pushChoiceContext(e,t){this.choiceContext={upper:this.choiceContext,kind:e,isForkingAsResult:t,trueForkContext:EL.newEmpty(this.forkContext),falseForkContext:EL.newEmpty(this.forkContext),qqForkContext:EL.newEmpty(this.forkContext),processed:!1}}popChoiceContext(){let e=this.choiceContext;this.choiceContext=e.upper;let t=this.forkContext,n=t.head;switch(e.kind){case"&&":case"||":case"??":if(e.processed||(e.trueForkContext.add(n),e.falseForkContext.add(n),e.qqForkContext.add(n)),e.isForkingAsResult){let t=this.choiceContext;return t.trueForkContext.addAll(e.trueForkContext),t.falseForkContext.addAll(e.falseForkContext),t.qqForkContext.addAll(e.qqForkContext),t.processed=!0,e}break;case"test":e.processed?(e.falseForkContext.clear(),e.falseForkContext.add(n)):(e.trueForkContext.clear(),e.trueForkContext.add(n));break;case"loop":return e;default:throw Error("unreachable")}let r=e.trueForkContext;return r.addAll(e.falseForkContext),t.replaceHead(r.makeNext(0,-1)),e}makeLogicalRight(){let e=this.choiceContext,t=this.forkContext;if(e.processed){let n;switch(e.kind){case"&&":n=e.trueForkContext;break;case"||":n=e.falseForkContext;break;case"??":n=e.qqForkContext;break;default:throw Error("unreachable")}t.replaceHead(n.makeNext(0,-1)),n.clear(),e.processed=!1}else{switch(e.kind){case"&&":e.falseForkContext.add(t.head);break;case"||":e.trueForkContext.add(t.head);break;case"??":e.trueForkContext.add(t.head),e.falseForkContext.add(t.head);break;default:throw Error("unreachable")}t.replaceHead(t.makeNext(-1,-1))}}makeIfConsequent(){let e=this.choiceContext,t=this.forkContext;e.processed||(e.trueForkContext.add(t.head),e.falseForkContext.add(t.head),e.qqForkContext.add(t.head)),e.processed=!1,t.replaceHead(e.trueForkContext.makeNext(0,-1))}makeIfAlternate(){let e=this.choiceContext,t=this.forkContext;e.trueForkContext.clear(),e.trueForkContext.add(t.head),e.processed=!0,t.replaceHead(e.falseForkContext.makeNext(0,-1))}pushChainContext(){this.chainContext={upper:this.chainContext,countChoiceContexts:0}}popChainContext(){let e=this.chainContext;this.chainContext=e.upper;for(let t=e.countChoiceContexts;t>0;--t)this.popChoiceContext()}makeOptionalNode(){this.chainContext&&(this.chainContext.countChoiceContexts+=1,this.pushChoiceContext("??",!1))}makeOptionalRight(){this.chainContext&&this.makeLogicalRight()}pushSwitchContext(e,t){this.switchContext={upper:this.switchContext,hasCase:e,defaultSegments:null,defaultBodySegments:null,foundDefault:!1,lastIsDefault:!1,countForks:0},this.pushBreakContext(!0,t)}popSwitchContext(){let e=this.switchContext;this.switchContext=e.upper;let t=this.forkContext,n=this.popBreakContext().brokenForkContext;if(0===e.countForks){n.empty||(n.add(t.makeNext(-1,-1)),t.replaceHead(n.makeNext(0,-1)));return}let r=t.head;this.forkBypassPath();let i=t.head;n.add(r),e.lastIsDefault||(e.defaultBodySegments?(!function(e,t){for(let n=0;n<e.length;++n){let r=e[n],i=t[n];EY(r.nextSegments,i),EY(r.allNextSegments,i),EY(i.prevSegments,r),EY(i.allPrevSegments,r)}}(e.defaultSegments,e.defaultBodySegments),EU(this,i,e.defaultBodySegments)):n.add(i));for(let t=0;t<e.countForks;++t)this.forkContext=this.forkContext.upper;this.forkContext.replaceHead(n.makeNext(0,-1))}makeSwitchCaseBody(e,t){let n=this.switchContext;if(!n.hasCase)return;let r=this.forkContext,i=this.pushForkContext();i.add(r.makeNext(0,-1)),t?(n.defaultSegments=r.head,e?n.foundDefault=!0:n.defaultBodySegments=i.head):!e&&n.foundDefault&&(n.foundDefault=!1,n.defaultBodySegments=i.head),n.lastIsDefault=t,n.countForks+=1}pushTryContext(e){this.tryContext={upper:this.tryContext,position:"try",hasFinalizer:e,returnedForkContext:e?EL.newEmpty(this.forkContext):null,thrownForkContext:EL.newEmpty(this.forkContext),lastOfTryIsReachable:!1,lastOfCatchIsReachable:!1}}popTryContext(){let e=this.tryContext;if(this.tryContext=e.upper,"catch"===e.position)return void this.popForkContext();let t=e.returnedForkContext,n=e.thrownForkContext;if((null==t||t.empty)&&n.empty)return;let r=this.forkContext.head;this.forkContext=this.forkContext.upper;let i=r.slice(0,r.length/2|0),a=r.slice(r.length/2|0);t&&!t.empty&&ER(this).returnedForkContext.add(a),n.empty||Ej(this).thrownForkContext.add(a),this.forkContext.replaceHead(i),e.lastOfTryIsReachable||e.lastOfCatchIsReachable||this.forkContext.makeUnreachable(-1,-1)}makeCatchBlock(){let e=this.tryContext,t=this.forkContext,n=e.thrownForkContext;e.position="catch",e.thrownForkContext=EL.newEmpty(t),e.lastOfTryIsReachable=t.reachable,n.add(t.head);let r=n.makeNext(0,-1);this.pushForkContext(),this.forkBypassPath(),this.forkContext.add(r)}makeFinallyBlock(){let e=this.tryContext,t=this.forkContext,n=e.returnedForkContext,r=e.thrownForkContext,i=t.head;if("catch"===e.position?(this.popForkContext(),e.lastOfCatchIsReachable=(t=this.forkContext).reachable):e.lastOfTryIsReachable=t.reachable,e.position="finally",n.empty&&r.empty)return;let a=t.makeNext(-1,-1);for(let e=0;e<t.count;++e){let t=[i[e]];for(let r=0;r<n.segmentsList.length;++r)t.push(n.segmentsList[r][e]);for(let n=0;n<r.segmentsList.length;++n)t.push(r.segmentsList[n][e]);a.push(EN.newNext(this.idGenerator.next(),t))}this.pushForkContext(!0),this.forkContext.add(a)}makeFirstThrowablePathInTryBlock(){let e=this.forkContext;if(!e.reachable)return;let t=Ej(this);t!==this&&"try"===t.position&&t.thrownForkContext.empty&&(t.thrownForkContext.add(e.head),e.replaceHead(e.makeNext(-1,-1)))}pushLoopContext(e,t){let n=this.forkContext,r=this.pushBreakContext(!0,t);switch(e){case"WhileStatement":this.pushChoiceContext("loop",!1),this.loopContext={upper:this.loopContext,type:"WhileStatement",label:t,test:void 0,continueDestSegments:null,brokenForkContext:r.brokenForkContext};break;case"DoWhileStatement":this.pushChoiceContext("loop",!1),this.loopContext={upper:this.loopContext,type:"DoWhileStatement",label:t,test:void 0,entrySegments:null,continueForkContext:EL.newEmpty(n),brokenForkContext:r.brokenForkContext};break;case"ForStatement":this.pushChoiceContext("loop",!1),this.loopContext={upper:this.loopContext,type:"ForStatement",label:t,test:void 0,endOfInitSegments:null,testSegments:null,endOfTestSegments:null,updateSegments:null,endOfUpdateSegments:null,continueDestSegments:null,brokenForkContext:r.brokenForkContext};break;case"ForInStatement":case"ForOfStatement":this.loopContext={upper:this.loopContext,type:e,label:t,prevSegments:null,leftSegments:null,endOfLeftSegments:null,continueDestSegments:null,brokenForkContext:r.brokenForkContext};break;default:throw Error(`unknown type: "${e}"`)}}popLoopContext(){let e=this.loopContext;this.loopContext=e.upper;let t=this.forkContext,n=this.popBreakContext().brokenForkContext;switch(e.type){case"WhileStatement":case"ForStatement":this.popChoiceContext(),EU(this,t.head,e.continueDestSegments);break;case"DoWhileStatement":{let r=this.popChoiceContext();r.processed||(r.trueForkContext.add(t.head),r.falseForkContext.add(t.head)),!0!==e.test&&n.addAll(r.falseForkContext);let i=r.trueForkContext.segmentsList;for(let t=0;t<i.length;++t)EU(this,i[t],e.entrySegments);break}case"ForInStatement":case"ForOfStatement":n.add(t.head),EU(this,t.head,e.leftSegments);break;default:throw Error("unreachable")}n.empty?t.replaceHead(t.makeUnreachable(-1,-1)):t.replaceHead(n.makeNext(0,-1))}makeWhileTest(e){let t=this.loopContext,n=this.forkContext,r=n.makeNext(0,-1);t.test=e,t.continueDestSegments=r,n.replaceHead(r)}makeWhileBody(){let e=this.loopContext,t=this.choiceContext,n=this.forkContext;t.processed||(t.trueForkContext.add(n.head),t.falseForkContext.add(n.head)),!0!==e.test&&e.brokenForkContext.addAll(t.falseForkContext),n.replaceHead(t.trueForkContext.makeNext(0,-1))}makeDoWhileBody(){let e=this.loopContext,t=this.forkContext,n=t.makeNext(-1,-1);e.entrySegments=n,t.replaceHead(n)}makeDoWhileTest(e){let t=this.loopContext,n=this.forkContext;if(t.test=e,!t.continueForkContext.empty){t.continueForkContext.add(n.head);let e=t.continueForkContext.makeNext(0,-1);n.replaceHead(e)}}makeForTest(e){let t=this.loopContext,n=this.forkContext,r=n.head,i=n.makeNext(-1,-1);t.test=e,t.endOfInitSegments=r,t.continueDestSegments=t.testSegments=i,n.replaceHead(i)}makeForUpdate(){let e=this.loopContext,t=this.choiceContext,n=this.forkContext;e.testSegments?EB(e,t,n.head):e.endOfInitSegments=n.head;let r=n.makeDisconnected(-1,-1);e.continueDestSegments=e.updateSegments=r,n.replaceHead(r)}makeForBody(){let e=this.loopContext,t=this.choiceContext,n=this.forkContext;e.updateSegments?(e.endOfUpdateSegments=n.head,e.testSegments&&EU(this,e.endOfUpdateSegments,e.testSegments)):e.testSegments?EB(e,t,n.head):e.endOfInitSegments=n.head;let r=e.endOfTestSegments;if(!r){let t=EL.newEmpty(n);t.add(e.endOfInitSegments),e.endOfUpdateSegments&&t.add(e.endOfUpdateSegments),r=t.makeNext(0,-1)}e.continueDestSegments=e.continueDestSegments||r,n.replaceHead(r)}makeForInOfLeft(){let e=this.loopContext,t=this.forkContext,n=t.makeDisconnected(-1,-1);e.prevSegments=t.head,e.leftSegments=e.continueDestSegments=n,t.replaceHead(n)}makeForInOfRight(){let e=this.loopContext,t=this.forkContext,n=EL.newEmpty(t);n.add(e.prevSegments);let r=n.makeNext(-1,-1);e.endOfLeftSegments=t.head,t.replaceHead(r)}makeForInOfBody(){let e=this.loopContext,t=this.forkContext,n=EL.newEmpty(t);n.add(e.endOfLeftSegments);let r=n.makeNext(-1,-1);EU(this,t.head,e.leftSegments),e.brokenForkContext.add(t.head),t.replaceHead(r)}pushBreakContext(e,t){return this.breakContext={upper:this.breakContext,breakable:e,label:t,brokenForkContext:EL.newEmpty(this.forkContext)},this.breakContext}popBreakContext(){let e=this.breakContext,t=this.forkContext;if(this.breakContext=e.upper,!e.breakable){let n=e.brokenForkContext;n.empty||(n.add(t.head),t.replaceHead(n.makeNext(0,-1)))}return e}makeBreak(e){let t=this.forkContext;if(!t.reachable)return;let n=function(e,t){let n=e.breakContext;for(;n;){if(t?n.label===t:n.breakable)return n;n=n.upper}return null}(this,e);n&&n.brokenForkContext.add(t.head),t.replaceHead(t.makeUnreachable(-1,-1))}makeContinue(e){let t=this.forkContext;if(!t.reachable)return;let n=function(e,t){if(!t)return e.loopContext;let n=e.loopContext;for(;n;){if(n.label===t)return n;n=n.upper}return null}(this,e);n&&(null!=n.continueDestSegments?(EU(this,t.head,n.continueDestSegments),("ForInStatement"===n.type||"ForOfStatement"===n.type)&&n.brokenForkContext.add(t.head)):n.continueForkContext.add(t.head)),t.replaceHead(t.makeUnreachable(-1,-1))}makeReturn(){let e=this.forkContext;e.reachable&&(ER(this).returnedForkContext.add(e.head),e.replaceHead(e.makeUnreachable(-1,-1)))}makeThrow(){let e=this.forkContext;e.reachable&&(Ej(this).thrownForkContext.add(e.head),e.replaceHead(e.makeUnreachable(-1,-1)))}makeFinal(){let e=this.currentSegments;e.length>0&&e[0].reachable&&this.returnedForkContext.add(e)}},EJ=class{prefix;n;constructor(e){this.prefix=String(e),this.n=0}next(){return this.n=1+this.n|0,this.n<0&&(this.n=1),this.prefix+this.n}},Ez=class{id;origin;upper;childCodePaths;internal;constructor({id:e,origin:t,upper:n,onLooped:r}){this.id=e,this.origin=t,this.upper=n,this.childCodePaths=[],this.internal=new EV(new EJ(`${e}_`),r),n&&n.childCodePaths.push(this)}static getState(e){return e.internal}get initialSegment(){return this.internal.initialSegment}get finalSegments(){return this.internal.finalSegments}get returnedSegments(){return this.internal.returnedForkContext}get thrownSegments(){return this.internal.thrownForkContext}get currentSegments(){return this.internal.currentSegments}traverseSegments(e,t){let n,r;"function"==typeof e?(r=e,n={}):(n=e||{},r=t);let i=n.first||this.internal.initialSegment,a=n.last,o=null,s=0,l=0,c=null,u=Object.create(null),_=[[i,0]],d=null,p=!1,f={skip(){_.length<=1?p=!0:d=_[_.length-2][0]},break(){p=!0}};function m(e){return u[e.id]||c.isLoopedPrevSegment(e)}for(;_.length>0;){if(c=(o=_[_.length-1])[0],0===(s=o[1])){if(u[c.id]||c!==i&&c.prevSegments.length>0&&!c.prevSegments.every(m)){_.pop();continue}if(d&&c.prevSegments.includes(d)&&(d=null),u[c.id]=!0,!d&&(r.call(this,c,f),c===a&&f.skip(),p))break}s<(l=c.nextSegments.length-1)?(o[1]+=1,_.push([c.nextSegments[s],0])):s===l?(o[0]=c.nextSegments[s],o[1]=0):_.pop()}}};let Eq=/^(?:(?:Do)?While|For(?:In|Of)?|Switch)Statement$/u;function E$(e){return!!e.test}function EW(e){let t=e.parent;return t&&"PropertyDefinition"===t.type&&t.value===e}function EK(e){return"&&"===e||"||"===e||"??"===e}function EG(e){return"&&="===e||"||="===e||"??="===e}function EH(e){return"LabeledStatement"===e.parent.type?e.parent.label.name:null}function EX(e){let t=e.parent;switch(t.type){case"ConditionalExpression":case"IfStatement":case"WhileStatement":case"DoWhileStatement":case"ForStatement":return t.test===e;case"LogicalExpression":return EK(t.operator);case"AssignmentExpression":return EG(t.operator);default:return!1}}function EQ(e){if("Literal"===e.type)return!!e.value}function EZ(e,t){let n,r,i,a=e.codePath,o=Ez.getState(a),s=o.currentSegments,l=o.headSegments,c=Math.max(s.length,l.length);for(n=0;n<c;++n)(r=s[n])!==(i=l[n])&&r&&r.reachable&&e.emitter.emit("onCodePathSegmentEnd",r,t);for(n=0,o.currentSegments=l;n<c;++n)(r=s[n])!==(i=l[n])&&i&&(EN.markUsed(i),i.reachable&&e.emitter.emit("onCodePathSegmentStart",i,t))}var E0=class{emitter;codePath;idGenerator;currentNode;onLooped;constructor(e){this.emitter={emit(t,...n){e[t]?.(...n)}},this.codePath=null,this.idGenerator=new EJ("s"),this.currentNode=null,this.onLooped=this._onLooped.bind(this)}enterNode(e){this.currentNode=e,e.parent&&function(e,t){let n=e.codePath,r=Ez.getState(n),i=t.parent;switch(i.type){case"CallExpression":!0===i.optional&&i.arguments.length>=1&&i.arguments[0]===t&&r.makeOptionalRight();break;case"MemberExpression":!0===i.optional&&i.property===t&&r.makeOptionalRight();break;case"LogicalExpression":i.right===t&&EK(i.operator)&&r.makeLogicalRight();break;case"AssignmentExpression":i.right===t&&EG(i.operator)&&r.makeLogicalRight();break;case"ConditionalExpression":case"IfStatement":i.consequent===t?r.makeIfConsequent():i.alternate===t&&r.makeIfAlternate();break;case"SwitchCase":i.consequent[0]===t&&r.makeSwitchCaseBody(!1,!i.test);break;case"TryStatement":i.handler===t?r.makeCatchBlock():i.finalizer===t&&r.makeFinallyBlock();break;case"WhileStatement":i.test===t?r.makeWhileTest(EQ(t)):(EA(i.body===t),r.makeWhileBody());break;case"DoWhileStatement":i.body===t?r.makeDoWhileBody():(EA(i.test===t),r.makeDoWhileTest(EQ(t)));break;case"ForStatement":i.test===t?r.makeForTest(EQ(t)):i.update===t?r.makeForUpdate():i.body===t&&r.makeForBody();break;case"ForInStatement":case"ForOfStatement":i.left===t?r.makeForInOfLeft():i.right===t?r.makeForInOfRight():(EA(i.body===t),r.makeForInOfBody());break;case"AssignmentPattern":i.right===t&&(r.pushForkContext(),r.forkBypassPath(),r.forkPath())}}(this,e),function(e,t){let n=e.codePath,r=n&&Ez.getState(n),i=t.parent;function a(i){n&&EZ(e,t),n=e.codePath=new Ez({id:e.idGenerator.next(),origin:i,upper:n,onLooped:e.onLooped}),r=Ez.getState(n),e.emitter.emit("onCodePathStart",n,t)}switch(EW(t)&&a("class-field-initializer"),t.type){case"Program":a("program");break;case"FunctionDeclaration":case"ComponentDeclaration":case"HookDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":a("function");break;case"StaticBlock":a("class-static-block");break;case"ChainExpression":r.pushChainContext();break;case"CallExpression":case"MemberExpression":!0===t.optional&&r.makeOptionalNode();break;case"LogicalExpression":EK(t.operator)&&r.pushChoiceContext(t.operator,EX(t));break;case"AssignmentExpression":EG(t.operator)&&r.pushChoiceContext(t.operator.slice(0,-1),EX(t));break;case"ConditionalExpression":case"IfStatement":r.pushChoiceContext("test",!1);break;case"SwitchStatement":r.pushSwitchContext(t.cases.some(E$),EH(t));break;case"TryStatement":r.pushTryContext(!!t.finalizer);break;case"SwitchCase":i.discriminant!==t&&i.cases[0]!==t&&r.forkPath();break;case"WhileStatement":case"DoWhileStatement":case"ForStatement":case"ForInStatement":case"ForOfStatement":r.pushLoopContext(t.type,EH(t));break;case"LabeledStatement":Eq.test(t.body.type)||r.pushBreakContext(!1,t.label.name)}EZ(e,t)}(this,e),this.currentNode=null}leaveNode(e){this.currentNode=e,function(e,t){let n=e.codePath,r=Ez.getState(n),i=!1;switch(t.type){case"ChainExpression":r.popChainContext();break;case"IfStatement":case"ConditionalExpression":r.popChoiceContext();break;case"LogicalExpression":EK(t.operator)&&r.popChoiceContext();break;case"AssignmentExpression":EG(t.operator)&&r.popChoiceContext();break;case"SwitchStatement":r.popSwitchContext();break;case"SwitchCase":0===t.consequent.length&&r.makeSwitchCaseBody(!0,!t.test),r.forkContext.reachable&&(i=!0);break;case"TryStatement":r.popTryContext();break;case"BreakStatement":EZ(e,t),r.makeBreak(t.label&&t.label.name),i=!0;break;case"ContinueStatement":EZ(e,t),r.makeContinue(t.label&&t.label.name),i=!0;break;case"ReturnStatement":EZ(e,t),r.makeReturn(),i=!0;break;case"ThrowStatement":EZ(e,t),r.makeThrow(),i=!0;break;case"Identifier":(function(e){let t=e.parent;switch(t.type){case"LabeledStatement":case"BreakStatement":case"ContinueStatement":case"ArrayPattern":case"RestElement":case"ImportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"CatchClause":return!1;case"FunctionDeclaration":case"ComponentDeclaration":case"HookDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ClassDeclaration":case"ClassExpression":case"VariableDeclarator":return t.id!==e;case"Property":case"PropertyDefinition":case"MethodDefinition":return t.key!==e||t.computed||t.shorthand;case"AssignmentPattern":return t.key!==e;default:return!0}})(t)&&(r.makeFirstThrowablePathInTryBlock(),i=!0);break;case"CallExpression":case"ImportExpression":case"MemberExpression":case"NewExpression":case"YieldExpression":r.makeFirstThrowablePathInTryBlock();break;case"WhileStatement":case"DoWhileStatement":case"ForStatement":case"ForInStatement":case"ForOfStatement":r.popLoopContext();break;case"AssignmentPattern":r.popForkContext();break;case"LabeledStatement":Eq.test(t.body.type)||r.popBreakContext()}i||EZ(e,t)}(this,e);var t=this;function n(){let n=t.codePath;Ez.getState(n).makeFinal();let r=Ez.getState(t.codePath),i=r.currentSegments;for(let n=0;n<i.length;++n){let r=i[n];r.reachable&&t.emitter.emit("onCodePathSegmentEnd",r,e)}r.currentSegments=[],t.emitter.emit("onCodePathEnd",n,e),t.codePath=t.codePath.upper}switch(e.type){case"Program":case"FunctionDeclaration":case"ComponentDeclaration":case"HookDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"StaticBlock":n();break;case"CallExpression":!0===e.optional&&0===e.arguments.length&&Ez.getState(t.codePath).makeOptionalRight()}EW(e)&&n(),this.currentNode=null}_onLooped(e,t){e.reachable&&t.reachable&&this.emitter.emit("onCodePathSegmentLoop",e,t,this.currentNode)}};function E1(e){let t=ue.unwrap(e);if("Identifier"===t.type){var n;return"use"===(n=t.name)||/^use[A-Z0-9]/.test(n)}if(!("MemberExpression"===t.type&&!t.computed&&E1(t.property)))return!1;{let e=t.object;return"Identifier"===e.type&&/^[A-Z].*/.test(e.name)}}function E2(e){return"Identifier"===e.type&&/^[A-Z]/.test(e.name)}function E3(e,t){return"name"in e&&e.name===t||"MemberExpression"===e.type&&"name"in e.object&&"React"===e.object.name&&"name"in e.property&&e.property.name===t}function E6(e){return!!(e.parent&&"callee"in e.parent&&e.parent.callee&&E3(e.parent.callee,"forwardRef"))}function E4(e){return!!(e.parent&&"callee"in e.parent&&e.parent.callee&&E3(e.parent.callee,"memo"))}function E8(e){for(;e;){let t=kn(e);if(t&&(E2(t)||E1(t))||E6(e)||E4(e))return!0;e=e.parent}return!1}function E5(e){for(;e;){if("DoWhileStatement"===e.type)return!0;e=e.parent}return!1}function E7(e){return"Identifier"===e.type&&"useEffectEvent"===e.name}function E9(e,t){return null===e?'React Hook "useEffectEvent" can only be called at the top level of your component. It cannot be passed down.':`\`${e}\` is a function created with React Hook "useEffectEvent", and can only be called from Effects and Effect Events in the same component.`+(t?"":" It cannot be assigned to a variable or passed down.")}function ke(e){return E3(e,"use")}let kt={meta:{type:"problem",docs:{description:"Enforces the Rules of Hooks.",recommended:!0,url:"https://react.dev/reference/rules/rules-of-hooks"},schema:[{type:"object",additionalProperties:!1,properties:{additionalHooks:{type:"string"}}}]},create(e){e.settings;let t=e.options&&e.options[0],n=t&&t.additionalHooks?new RegExp(t.additionalHooks):cM(e).additionalEffectHooks,r=null,i=[],a=[],o=new WeakSet;function s(e){for(let t of e.references){let e=t.identifier.parent;if(e?.type==="VariableDeclarator"&&e.init&&"CallExpression"===e.init.type&&e.init.callee&&E7(e.init.callee)){if(null===t.resolved)throw Error("Unexpected null reference.resolved");for(let e of t.resolved.references)e!==t&&o.add(e.identifier)}}}let l="function"==typeof e.getSourceCode?()=>e.getSourceCode():()=>e.sourceCode,c="function"==typeof e.getScope?()=>e.getScope():e=>l().getScope(e),u=new E0({onCodePathSegmentStart:e=>a.push(e),onCodePathSegmentEnd:()=>a.pop(),onCodePathStart:()=>i.push(new Map),onCodePathEnd(t,n){let r=i.pop();if(r?.size===0)return;if(void 0===r)throw Error("Unexpected undefined reactHooksMap");let a=new Set;function o(e,n){let{cache:r}=o,i=r.get(e.id),s=new Set(n);if(s.has(e.id)){let t=[...s];for(let n of t.slice(t.indexOf(e.id)+1))a.add(n);return BigInt("0")}if(s.add(e.id),void 0!==i)return i;if(t.thrownSegments.includes(e))i=BigInt("0");else if(0===e.prevSegments.length)i=BigInt("1");else for(let t of(i=BigInt("0"),e.prevSegments))i+=o(t,s);return e.reachable&&i===BigInt("0")?r.delete(e.id):r.set(e.id,i),i}function s(e,n){let{cache:r}=s,i=r.get(e.id),o=new Set(n);if(o.has(e.id)){let t=Array.from(o);for(let n of t.slice(t.indexOf(e.id)+1))a.add(n);return BigInt("0")}if(o.add(e.id),void 0!==i)return i;if(t.thrownSegments.includes(e))i=BigInt("0");else if(0===e.nextSegments.length)i=BigInt("1");else for(let t of(i=BigInt("0"),e.nextSegments))i+=s(t,o);return r.set(e.id,i),i}function c(e){let{cache:t}=c,n=t.get(e.id);if(null===n)return 1/0;if(void 0!==n)return n;if(t.set(e.id,null),0===e.prevSegments.length)n=1;else{for(let t of(n=1/0,e.prevSegments)){let e=c(t);e<n&&(n=e)}n+=1}return t.set(e.id,n),n}o.cache=new Map,s.cache=new Map,c.cache=new Map;let u=s(t.initialSegment),_=kn(n),d=E8(n),p=_?E2(_)||E1(_):E6(n)||E4(n),f=1/0;for(let e of t.finalSegments){if(!e.reachable)continue;let t=c(e);t<f&&(f=t)}for(let[t,i]of r){if(!t.reachable)continue;let r=0===t.nextSegments.length?f<=c(t):f<c(t),m=o(t)*s(t),g=a.has(t.id);for(let t of i)if(!function(e,t){let n=l().getAllComments(),r=RegExp("\\$FlowFixMe\\["+t+"\\]");return n.some(t=>r.test(t.value)&&null!=t.loc&&null!=e.loc&&t.loc.end.line===e.loc.start.line-1)}(t,"react-rule-hook")){if(ke(t)&&function(e){for(;e;){if("TryStatement"===e.type||"CatchClause"===e.type)return!0;e=e.parent}return!1}(t)&&e.report({node:t,message:`React Hook "${l().getText(t)}" cannot be called in a try/catch block.`}),(g||E5(t))&&!ke(t)&&e.report({node:t,message:`React Hook "${l().getText(t)}" may be executed more than once. Possibly because it is called in a loop. React Hooks must be called in the exact same order in every component render.`}),p){if(n.async&&e.report({node:t,message:`React Hook "${l().getText(t)}" cannot be called in an async function.`}),!g&&m!==u&&!ke(t)&&!E5(t)){let n=`React Hook "${l().getText(t)}" is called conditionally. React Hooks must be called in the exact same order in every component render.`+(r?" Did you accidentally call a React Hook after an early return?":"");e.report({node:t,message:n})}}else if(null!=n.parent&&("MethodDefinition"===n.parent.type||"ClassProperty"===n.parent.type||"PropertyDefinition"===n.parent.type)&&n.parent.value===n){let n=`React Hook "${l().getText(t)}" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.`;e.report({node:t,message:n})}else if(_){let n=`React Hook "${l().getText(t)}" is called in function "${l().getText(_)}" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word "use".`;e.report({node:t,message:n})}else if("Program"===n.type){let n=`React Hook "${l().getText(t)}" cannot be called at the top level. React Hooks must be called in a React function component or a custom React Hook function.`;e.report({node:t,message:n})}else if(d&&!ke(t)){let n=`React Hook "${l().getText(t)}" cannot be called inside a callback. React Hooks must be called in a React function component or a custom React Hook function.`;e.report({node:t,message:n})}}}}});return{"*"(e){u.enterNode(e)},"*:exit"(e){u.leaveNode(e)},CallExpression(t){var o;let s=ue.unwrap(t.callee);if(E1(s)){let e=kr(i),t=kr(a),n=e.get(t);n||(n=[],e.set(t,n)),n.push(s)}let l="MemberExpression"!==(o=t.callee).type||"Identifier"!==o.object.type||"React"!==o.object.name||"Identifier"!==o.property.type||o.computed?o:o.property;if(("Identifier"===l.type&&("useEffect"===l.name||"useLayoutEffect"===l.name||"useInsertionEffect"===l.name)||n&&"Identifier"===l.type&&n.test(l.name)||E7(l))&&t.arguments.length>0&&(r=t),E7(l)&&t.parent?.type!=="VariableDeclarator"&&t.parent?.type!=="ExpressionStatement"){let n=E9(null,!1);e.report({node:t,message:n})}},Identifier(t){if(null==r&&o.has(t)){let n=E9(l().getText(t),"CallExpression"===t.parent.type);e.report({node:t,message:n})}},"CallExpression:exit"(e){e===r&&(r=null)},FunctionDeclaration(e){E8(e)&&s(c(e))},ArrowFunctionExpression(e){E8(e)&&s(c(e))},ComponentDeclaration(e){s(c(e))},HookDeclaration(e){s(c(e))}}}};function kn(e){if("ComponentDeclaration"===e.type||"HookDeclaration"===e.type||"FunctionDeclaration"===e.type||"FunctionExpression"===e.type&&e.id)return e.id;if("FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type)if(e.parent?.type==="VariableDeclarator"&&e.parent.init===e)return e.parent.id;else if(e.parent?.type==="AssignmentExpression"&&e.parent.right===e&&"="===e.parent.operator)return e.parent.left;else if(e.parent?.type==="Property"&&e.parent.value===e&&!e.parent.computed)return e.parent.key;else if(e.parent?.type==="AssignmentPattern"&&e.parent.right===e&&!e.parent.computed)return e.parent.left;else return}function kr(e){return e[e.length-1]}function ki(e){let t=[];if(e.type===av.AST_NODE_TYPES.Identifier&&t.push(e),"arguments"in e){let n=e.arguments.flatMap(ki);t.push(...n)}if("elements"in e){let n=e.elements.filter(e=>null!=e).flatMap(ki);t.push(...n)}if("properties"in e){let n=e.properties.flatMap(ki);t.push(...n)}if("expressions"in e){let n=e.expressions.flatMap(ki);t.push(...n)}if("left"in e){let n=ki(e.left);t.push(...n)}if("right"in e){let n=ki(e.right);t.push(...n)}if(e.type===av.AST_NODE_TYPES.Property){let n=ki(e.value);t.push(...n)}if(e.type===av.AST_NODE_TYPES.SpreadElement){let n=ki(e.argument);t.push(...n)}if(e.type===av.AST_NODE_TYPES.MemberExpression&&(t.push(...ki(e.object)),e.computed&&t.push(...ki(e.property))),e.type===av.AST_NODE_TYPES.UnaryExpression){let n=ki(e.argument);t.push(...n)}if(e.type===av.AST_NODE_TYPES.ChainExpression){let n=ki(e.expression);t.push(...n)}if(e.type===av.AST_NODE_TYPES.TSNonNullExpression){let n=ki(e.expression);t.push(...n)}if(e.type===av.AST_NODE_TYPES.TSAsExpression){let n=ki(e.expression);t.push(...n)}if(e.type===av.AST_NODE_TYPES.TSSatisfiesExpression){let n=ki(e.expression);t.push(...n)}return e.type===av.AST_NODE_TYPES.ConditionalExpression&&(t.push(...ki(e.test)),t.push(...ki(e.consequent)),t.push(...ki(e.alternate))),e.type===av.AST_NODE_TYPES.AwaitExpression&&t.push(...ki(e.argument)),e.type===av.AST_NODE_TYPES.YieldExpression&&null!=e.argument&&t.push(...ki(e.argument)),e.type===av.AST_NODE_TYPES.UpdateExpression&&t.push(...ki(e.argument)),(e.type===av.AST_NODE_TYPES.CallExpression||e.type===av.AST_NODE_TYPES.NewExpression)&&t.push(...ki(e.callee)),e.type===av.AST_NODE_TYPES.TaggedTemplateExpression&&(t.push(...ki(e.tag)),t.push(...ki(e.quasi))),e.type===av.AST_NODE_TYPES.ImportExpression&&t.push(...ki(e.source)),e.type===av.AST_NODE_TYPES.TSTypeAssertion&&t.push(...ki(e.expression)),e.type===av.AST_NODE_TYPES.TSInstantiationExpression&&t.push(...ki(e.expression)),t}function ka(e){if(e.type!==av.AST_NODE_TYPES.VariableDeclarator||e.id.type!==av.AST_NODE_TYPES.Identifier)return!1;let t=e.init;if(null==t||t.type!==av.AST_NODE_TYPES.CallExpression)return!1;let n=ue.unwrap(t.callee);switch(n.type){case av.AST_NODE_TYPES.Identifier:return gY(n.name);case av.AST_NODE_TYPES.MemberExpression:return n.property.type===av.AST_NODE_TYPES.Identifier&&gY(n.property.name);default:return!1}}function ko(e,t,n){for(let{node:r}of ab.findVariable(n,t)?.defs??[]){if(r.type!==av.AST_NODE_TYPES.VariableDeclarator)continue;let t=r.init;if(null!=t)switch(!0){case t.type===av.AST_NODE_TYPES.MemberExpression&&t.object.type===av.AST_NODE_TYPES.Identifier&&("ref"===t.object.name||t.object.name.endsWith("Ref")):case t.type===av.AST_NODE_TYPES.CallExpression&&go(e,t):return!0;case t.type===av.AST_NODE_TYPES.CallExpression:return ki(t).some(t=>ko(e,t.name,e.sourceCode.getScope(t)))}}return!1}function ks(e,t){let n=t.parent;for(;null!=n&&!c$.isFunction(n);){if(n.type===av.AST_NODE_TYPES.IfStatement&&kl(e,n.test)||n.type===av.AST_NODE_TYPES.ConditionalExpression&&kl(e,n.test))return!0;n=n.parent}return!1}function kl(e,t){return ki(t).some(t=>ko(e,t.name,e.sourceCode.getScope(t)))}function kc(e){return e.type===av.AST_NODE_TYPES.Identifier&&e.parent?.type===av.AST_NODE_TYPES.CallExpression?e.parent:e}var ku=S_({meta:{type:"problem",docs:{description:"Validates against setting state synchronously in an effect, which can lead to re-renders that degrade performance."},messages:{default:"Do not call the 'set' function '{{name}}' of 'useState' synchronously in an effect. This can lead to unnecessary re-renders and performance issues."},schema:[]},name:"set-state-in-effect",create:function(e){if(!/use\w*Effect/u.test(e.sourceCode.text))return{};let{additionalEffectHooks:t,additionalStateHooks:n}=cM(e),r=[],i={current:null},a=[],o=[],s=new WeakMap,l=new WeakMap,c=new Map,u=new WeakMap,_=t=>e.sourceCode.getText(t);function d(e){let t=ue.unwrap(e.callee);return t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&"then"===t.property.name}function p(e){return gJ(e,n)}function f(e){return gV(e,t)}function m(e){return e.type===av.AST_NODE_TYPES.CallExpression?ue.getFullyQualifiedName(e.callee,_):ue.getFullyQualifiedName(e,_)}function g(t,n){let r=fQ(e,t);if(null==r||r.type!==av.AST_NODE_TYPES.CallExpression||!p(r))return!1;let i=r.parent;return!("id"in i)||i.id?.type!==av.AST_NODE_TYPES.ArrayPattern||i.id.elements.findIndex(e=>e?.type===av.AST_NODE_TYPES.Identifier&&e.name===t.name)===n}function h(t){let n=ue.unwrap(t.callee);switch(n.type){case av.AST_NODE_TYPES.CallExpression:{let r=ue.unwrap(n.callee);if(r.type!==av.AST_NODE_TYPES.MemberExpression||!("name"in r.object))return!1;let i=r.property.type===av.AST_NODE_TYPES.Identifier&&"at"===r.property.name,[a]=n.arguments;if(!i||null==a)return!1;return ab.getStaticValue(a,e.sourceCode.getScope(t))?.value===1&&g(r.object)}case av.AST_NODE_TYPES.Identifier:return g(n,1);case av.AST_NODE_TYPES.MemberExpression:{if(!("name"in n.object))return!1;let r=n.property;return ab.getStaticValue(r,e.sourceCode.getScope(t))?.value===1&&g(n.object,1)}default:return!1}}return hr({":function"(e){let t=function(e){var t;let n=ua.findParent(e,(t=c$.isTypeExpression,e=>!t(e)))??e.parent;switch(!0){case e.async:case n.type===av.AST_NODE_TYPES.CallExpression&&d(n):return"deferred";case e.type!==av.AST_NODE_TYPES.FunctionDeclaration&&n.type===av.AST_NODE_TYPES.CallExpression&&n.callee===e:return"immediate";case e.parent?.type===av.AST_NODE_TYPES.CallExpression&&e.parent.callee!==e&&f(e.parent):return"setup";default:return"other"}}(e);r.push({kind:t,node:e}),"setup"===t&&(i.current=e)},":function:exit"(e){let{kind:t}=r.at(-1)??{};"setup"===t&&i.current===e&&(i.current=null),r.pop()},CallExpression(t){let n=i.current,l=r.at(-1);null!=l&&!l.node.async&&oi.match(oi.match(t).when(p,()=>"useState").when(f,()=>"useEffect").when(h,()=>"setState").when(d,()=>"then").otherwise(()=>"other")).with("setState",()=>{switch(!0){case"deferred"===l.kind:case l.node.async:break;case l.node===n:case"immediate"===l.kind&&ua.findParent(l.node,c$.isFunction)===n:{let n,r=t.arguments.at(0);if(null==r||(n=t=>{switch(t.type){case av.AST_NODE_TYPES.Identifier:return ko(e,t.name,e.sourceCode.getScope(t));case av.AST_NODE_TYPES.MemberExpression:return n(t.object);case av.AST_NODE_TYPES.CallExpression:return n(t.callee)||ki(t).some(n);case av.AST_NODE_TYPES.BinaryExpression:case av.AST_NODE_TYPES.LogicalExpression:return n(t.left)||n(t.right);case av.AST_NODE_TYPES.UnaryExpression:case av.AST_NODE_TYPES.UpdateExpression:return n(t.argument);case av.AST_NODE_TYPES.ConditionalExpression:return n(t.consequent)||n(t.alternate);case av.AST_NODE_TYPES.SequenceExpression:return t.expressions.some(n);case av.AST_NODE_TYPES.AssignmentExpression:return n(t.right);default:return!1}})(r)||c$.isFunction(r)&&e.sourceCode.getScope(r.body).references.some(e=>n(e.identifier))||ks(e,t))return;e.report({data:{name:e.sourceCode.getText(ue.unwrap(t.callee))},messageId:"default",node:t});return}default:{let e=ua.findParent(t,ka)?.init;null==e?SD(s,l.node,()=>[]).push(t):SD(u,e,()=>[]).push(t)}}}).with("useEffect",()=>{c$.isFunction(t.arguments.at(0))||a.push(...ki(t))}).with("other",()=>{l.node===n&&o.push(t)}).otherwise(SC)},Identifier(t){if((t.parent.type!==av.AST_NODE_TYPES.CallExpression||t.parent.callee!==t)&&g(t,1))switch(t.parent.type){case av.AST_NODE_TYPES.ArrowFunctionExpression:{let n=t.parent.parent;if(n.type!==av.AST_NODE_TYPES.CallExpression||!gr(e,n))break;let r=ua.findParent(n,ka)?.init;null!=r&&SD(l,r,()=>[]).push(t);break}case av.AST_NODE_TYPES.CallExpression:if(t!==t.parent.arguments.at(0))break;if(m3(e,t.parent)){let e=ua.findParent(t.parent,ka)?.init;null!=e&&SD(l,e,()=>[]).push(t);break}f(t.parent)&&SD(c,t.parent,()=>[]).push(t)}},"Program:exit"(){let t=(e,t)=>{let n=fQ(e,t);switch(n?.type){case av.AST_NODE_TYPES.ArrowFunctionExpression:case av.AST_NODE_TYPES.FunctionDeclaration:case av.AST_NODE_TYPES.FunctionExpression:return s.get(n)??[];case av.AST_NODE_TYPES.CallExpression:return u.get(n)??l.get(n)??[]}return[]};for(let[,t]of c)for(let n of t)ks(e,kc(n))||e.report({data:{name:n.name},messageId:"default",node:n});for(let{callee:n}of o){let r=ue.unwrap(n);if(r.type===av.AST_NODE_TYPES.Identifier)for(let n of t(e,r))ks(e,kc(n))||e.report({data:{name:m(n)},messageId:"default",node:n})}for(let n of a)for(let r of t(e,n))ks(e,kc(r))||e.report({data:{name:m(r)},messageId:"default",node:r})}})},defaultOptions:[]}),k_=S_({meta:{type:"problem",docs:{description:"Validates against unconditionally setting state during render, which can trigger additional renders and potential infinite render loops."},messages:{default:"Do not call the 'set' function '{{name}}' unconditionally during render. This will trigger an infinite render loop."},schema:[]},name:"set-state-in-render",create:function(e){let{additionalStateHooks:t}=cM(e),n=[],r={current:null},i={current:!1};function a(n,r){let i=fQ(e,n);if(null==i||i.type!==av.AST_NODE_TYPES.CallExpression||!gJ(i,t))return!1;let a=i.parent;return!("id"in a)||a.id?.type!==av.AST_NODE_TYPES.ArrayPattern||a.id.elements.findIndex(e=>e?.type===av.AST_NODE_TYPES.Identifier&&e.name===n.name)===r}return hr({":function"(e){let t=function(e){var t;let n;if(null!=(n=gP(e))&&(n.type===av.AST_NODE_TYPES.Identifier?gI(n.name)||gY(n.name):n.type===av.AST_NODE_TYPES.MemberExpression&&n.property.type===av.AST_NODE_TYPES.Identifier&&(gI(n.property.name)||gY(n.property.name))))return"component";let r=ua.findParent(e,(t=c$.isTypeExpression,e=>!t(e)))??e.parent;return r.type===av.AST_NODE_TYPES.CallExpression&&r.callee!==e?"callback":"other"}(e);n.push({kind:t,node:e}),"component"===t&&(r.current=e,i.current=!1)},":function:exit"(e){n.at(-1)?.kind==="component"&&r.current===e&&(r.current=null,i.current=!1),n.pop()},CallExpression(t){let n=r.current;null==n||!function(t){let n=ue.unwrap(t.callee);switch(n.type){case av.AST_NODE_TYPES.CallExpression:{let r=ue.unwrap(n.callee);if(r.type!==av.AST_NODE_TYPES.MemberExpression||!("name"in r.object))return!1;let i=r.property.type===av.AST_NODE_TYPES.Identifier&&"at"===r.property.name,[o]=n.arguments;if(!i||null==o)return!1;return ab.getStaticValue(o,e.sourceCode.getScope(t))?.value===1&&a(r.object)}case av.AST_NODE_TYPES.Identifier:return a(n,1);case av.AST_NODE_TYPES.MemberExpression:{if(!("name"in n.object))return!1;let r=n.property;return ab.getStaticValue(r,e.sourceCode.getScope(t))?.value===1&&a(n.object,1)}default:return!1}}(t)||function(e,t){let n=e.parent;for(;null!=n&&n!==t;){if(c$.isFunction(n)&&n!==t)return!0;n=n.parent}return!1}(t,n)||function(e,t){let n=e.parent;for(;null!=n&&n!==t;){switch(n.type){case av.AST_NODE_TYPES.IfStatement:case av.AST_NODE_TYPES.ConditionalExpression:case av.AST_NODE_TYPES.LogicalExpression:case av.AST_NODE_TYPES.SwitchStatement:case av.AST_NODE_TYPES.SwitchCase:return!0}n=n.parent}return!1}(t,n)||i.current||e.report({data:{name:e.sourceCode.getText(ue.unwrap(t.callee))},messageId:"default",node:t})},ReturnStatement(e){let t=r.current;if(null==t)return;let a=n.at(-1);if(null==a||a.node!==t||t.body.type!==av.AST_NODE_TYPES.BlockStatement)return;let o=t.body.body,s=e;for(;s.parent!==t.body;){if(null==s.parent)return;s=s.parent}let l=o.indexOf(s);-1!==l&&l<o.length-1&&(i.current=!0)}})},defaultOptions:[]});function kd(e,t,n,r){let i=ue.unwrap(t);switch(i.type){case av.AST_NODE_TYPES.FunctionExpression:case av.AST_NODE_TYPES.ArrowFunctionExpression:case av.AST_NODE_TYPES.NewExpression:case av.AST_NODE_TYPES.CallExpression:case av.AST_NODE_TYPES.ClassExpression:return i;case av.AST_NODE_TYPES.ConditionalExpression:{let t=kd(e,i.consequent,n,r);if(null!=t)return t;return kd(e,i.alternate,n,r)}case av.AST_NODE_TYPES.Identifier:case av.AST_NODE_TYPES.JSXIdentifier:{let t=kp(e,i);if(null==t)return null;return kf(e,t,n,r).creationNode}default:return null}}function kp(e,t){let n=e.sourceCode.getScope(t);for(;null!=n;){let e=n.variables.find(e=>e.name===t.name);if(null!=e)return e;n=n.upper}return null}function kf(e,t,n,r=new Set){if(r.has(t))return{creationNode:null,isDynamic:!1};for(let i of(r.add(t),t.defs)){let a=i.node;if(n(a)){if(a.type===av.AST_NODE_TYPES.FunctionDeclaration||a.type===av.AST_NODE_TYPES.ClassDeclaration)return{creationNode:a,isDynamic:!0};if(a.type===av.AST_NODE_TYPES.VariableDeclarator){if(null!=a.init){let t=kd(e,a.init,n,r);if(null!=t)return{creationNode:t,isDynamic:!0}}for(let i of t.references){if(!i.isWrite())continue;let t=i.identifier;if(t.parent?.type===av.AST_NODE_TYPES.AssignmentExpression&&t.parent.left===t){let i=kd(e,t.parent.right,n,r);if(null!=i)return{creationNode:i,isDynamic:!0}}}}}}return{creationNode:null,isDynamic:!1}}var km=S_({meta:{type:"problem",docs:{description:"Validates that components are static, not recreated every render."},messages:{default:"Cannot create components during render. Components created during render will reset their state each time they are created. Declare components outside of render.",createdHere:"The component is created during render here."},schema:[]},name:"static-components",create:function(e){let t=g$(e,{hint:gM.DoNotIncludeJsxWithNumberValue|gM.DoNotIncludeJsxWithBooleanValue|gM.DoNotIncludeJsxWithNullValue|gM.DoNotIncludeJsxWithStringValue|gM.DoNotIncludeJsxWithUndefinedValue|gM.RequireBothSidesOfLogicalExpressionToBeJsx|gM.RequireBothBranchesOfConditionalExpressionToBeJsx|gM.DoNotIncludeFunctionDefinedAsArrayPatternElement|gM.DoNotIncludeFunctionDefinedAsArrayExpressionElement|gM.DoNotIncludeFunctionDefinedAsArrayMapCallback}),n=gk(e),r=[];return hr(t.visitor,n.visitor,{JSXOpeningElement(e){if(e.name.type!==av.AST_NODE_TYPES.JSXIdentifier)return;let t=e.name.name;gI(t)&&r.push({name:t,node:e})},"Program:exit"(i){let a=[...t.api.getAllComponents(i)],o=[...n.api.getAllComponents(i)];function s(e){return ua.findParent(e,e=>c$.isFunction(e)?a.some(t=>t.node===e):!!c$.isClass(e)&&o.some(t=>t.node===e))}let l=e=>null!=s(e);for(let{name:t,node:n}of r){let r=kp(e,n.name);if(null==r||0===r.defs.length)continue;let i=r.defs.at(0);if(null==i||null==s(i.node))continue;let a=kf(e,r,l);a.isDynamic&&(e.report({data:{name:t},messageId:"default",node:n.name}),null!=a.creationNode&&e.report({data:{name:t},messageId:"createdHere",node:a.creationNode}))}}})},defaultOptions:[]});function kg(e){let t=e.parent;for(;c$.isTypeExpression(t)||t.type===av.AST_NODE_TYPES.ChainExpression;)t=t.parent;return t.type===av.AST_NODE_TYPES.CallExpression&&ue.unwrap(t.callee)===e}var kh=S_({meta:{type:"problem",docs:{description:"Validates against syntax that React Compiler does not support."},messages:{eval:"Do not use 'eval' inside components or hooks. 'eval' cannot be statically analyzed and is not supported by React Compiler.",iife:"Do not use immediately-invoked function expressions in JSX. IIFEs will not be optimized by React Compiler.",with:"Do not use 'with' statements inside components or hooks. 'with' changes scope dynamically and is not supported by React Compiler."},schema:[]},name:"unsupported-syntax",create:function(e){let t=gW(e),n=g$(e),r=[],i=[];return hr(t.visitor,n.visitor,{CallExpression(e){let t;if((t=ue.unwrap(e.callee)).type!==av.AST_NODE_TYPES.Identifier||"eval"!==t.name)return;let n=ua.findParent(e,c$.isFunction);null!=n&&r.push({func:n,node:e})},"JSXElement :function"(t){kg(t)&&e.report({messageId:"iife",node:t.parent})},"JSXFragment :function"(t){kg(t)&&e.report({messageId:"iife",node:t.parent})},"Program:exit"(a){let o=[...n.api.getAllComponents(a),...t.api.getAllHooks(a)];for(let{func:t,node:n}of r)o.some(e=>e.node===t)&&e.report({messageId:"eval",node:n});for(let{func:t,node:n}of i)o.some(e=>e.node===t)&&e.report({messageId:"with",node:n})},WithStatement(e){let t=ua.findParent(e,c$.isFunction);null!=t&&i.push({func:t,node:e})}})},defaultOptions:[]}),ky=S_({meta:{type:"problem",docs:{description:"Validates that 'useMemo' is called with a callback that returns a value."},messages:{mustReturnAValue:"useMemo() callbacks must return a value.\n\nThis useMemo() callback doesn't return a value. useMemo() is for computing and caching values, not for arbitrary side effects.",noAsyncOrGeneratorFunctions:"useMemo() callbacks may not be async or generator functions.\n\nuseMemo() callbacks are called once and must synchronously return a value.",noParameters:"useMemo() callbacks may not accept parameters.\n\nuseMemo() callbacks are called by React to cache calculations across re-renders. They should not take parameters. Instead, directly reference the props, state, or local variables needed for the computation.",noReassigningOuterVariables:"useMemo() callbacks may not reassign variables declared outside of the callback.\n\nuseMemo() callbacks must be pure functions and cannot reassign variables defined outside of the callback function.",resultMustBeUsed:"useMemo() result is unused.\n\nThis useMemo() value is unused. useMemo() is for computing and caching values, not for arbitrary side effects."},schema:[]},name:"use-memo",create:function(e){return e.sourceCode.text.includes("useMemo")?hr({CallExpression(t){let n,r,i,a;if(!gr(e,t))return;let o=t.parent;for(;c$.isTypeExpression(o);)o=o.parent;if(o.type!==av.AST_NODE_TYPES.VariableDeclarator&&o.type!==av.AST_NODE_TYPES.AssignmentExpression&&o.type!==av.AST_NODE_TYPES.AssignmentPattern&&o.type!==av.AST_NODE_TYPES.Property&&o.type!==av.AST_NODE_TYPES.ReturnStatement&&o.type!==av.AST_NODE_TYPES.JSXExpressionContainer&&o.type!==av.AST_NODE_TYPES.CallExpression&&o.type!==av.AST_NODE_TYPES.NewExpression&&o.type!==av.AST_NODE_TYPES.ArrayExpression&&o.type!==av.AST_NODE_TYPES.ConditionalExpression&&o.type!==av.AST_NODE_TYPES.LogicalExpression&&o.type!==av.AST_NODE_TYPES.SequenceExpression&&o.type!==av.AST_NODE_TYPES.SpreadElement&&o.type!==av.AST_NODE_TYPES.TemplateLiteral&&o.type!==av.AST_NODE_TYPES.BinaryExpression&&o.type!==av.AST_NODE_TYPES.UnaryExpression&&o.type!==av.AST_NODE_TYPES.MemberExpression&&o.type!==av.AST_NODE_TYPES.TaggedTemplateExpression&&o.type!==av.AST_NODE_TYPES.ChainExpression&&o.type!==av.AST_NODE_TYPES.ArrowFunctionExpression&&o.type!==av.AST_NODE_TYPES.ForOfStatement&&o.type!==av.AST_NODE_TYPES.ForInStatement)return void e.report({messageId:"resultMustBeUsed",node:t});let[s]=t.arguments;if(null==s)return;let l=ue.unwrap(s);if(!c$.isFunction(l))return;if(l.params.length>0){let t=l.params[0];if(null==t)return;e.report({messageId:"noParameters",node:t.type===av.AST_NODE_TYPES.Identifier?t:l})}for(let t of((l.async||l.generator)&&e.report({messageId:"noAsyncOrGeneratorFunctions",node:l}),n=[],r=new Set(e.sourceCode.getScope(l).variables.map(e=>e.name)),null==l.body||Sn.simpleTraverse(l.body,{enter(e){if(e.type!==av.AST_NODE_TYPES.AssignmentExpression)return;let t=ue.unwrap(e.left);t.type!==av.AST_NODE_TYPES.Identifier||r.has(t.name)||!function(e,t){let n=e.parent;for(;n&&n!==t;){if(c$.isFunction(n))return!0;n=n.parent}return!1}(e,l)&&n.push({messageId:"noReassigningOuterVariables",node:t})}}),n))e.report(t);if(l.type===av.AST_NODE_TYPES.ArrowFunctionExpression&&l.body.type!==av.AST_NODE_TYPES.BlockStatement||l.body.type!==av.AST_NODE_TYPES.BlockStatement)return;let c=(i=[],a=c$.isFunction(l)?l:ua.findParent(l,c$.isFunction),Sn.simpleTraverse(l,{enter(e){e.type!==av.AST_NODE_TYPES.ReturnStatement||ua.findParent(e,c$.isFunction)===a&&i.push(e)}}),i);0===c.length?e.report({messageId:"mustReturnAValue",node:s}):c.some(e=>null!=e.argument)||e.report({messageId:"mustReturnAValue",node:s})}}):{}},defaultOptions:[]});let kv=["Boolean","String","Number"];function kb(e){let t=cW(e),n=e=>{let r=[];if(t(e)&&r.push(e),"arguments"in e){let t=e.arguments.flatMap(n);r.push(...t)}if("expression"in e&&!0!==e.expression&&!1!==e.expression){let t=n(e.expression);r.push(...t)}if("left"in e){let t=n(e.left);r.push(...t)}if("right"in e){let t=n(e.right);r.push(...t)}if("test"in e&&null!=e.test){let t=n(e.test);r.push(...t)}if("consequent"in e){let t=Array.isArray(e.consequent)?e.consequent.flatMap(n):n(e.consequent);r.push(...t)}if("alternate"in e&&null!=e.alternate){let t=Array.isArray(e.alternate)?e.alternate.flatMap(n):n(e.alternate);r.push(...t)}if("elements"in e){let t=e.elements.filter(e=>null!=e).flatMap(n);r.push(...t)}if("properties"in e){let t=e.properties.flatMap(n);r.push(...t)}if("expressions"in e){let t=e.expressions.flatMap(n);r.push(...t)}if(e.type===av.AST_NODE_TYPES.Property){let t=n(e.value);r.push(...t)}if(e.type===av.AST_NODE_TYPES.SpreadElement){let t=n(e.argument);r.push(...t)}if(e.type===av.AST_NODE_TYPES.MemberExpression&&(r.push(...n(e.object)),e.computed&&r.push(...n(e.property))),e.type===av.AST_NODE_TYPES.UnaryExpression){let t=n(e.argument);r.push(...t)}return e.type===av.AST_NODE_TYPES.AwaitExpression&&r.push(...n(e.argument)),e.type===av.AST_NODE_TYPES.YieldExpression&&null!=e.argument&&r.push(...n(e.argument)),e.type===av.AST_NODE_TYPES.UpdateExpression&&r.push(...n(e.argument)),(e.type===av.AST_NODE_TYPES.CallExpression||e.type===av.AST_NODE_TYPES.NewExpression)&&r.push(...n(e.callee)),e.type===av.AST_NODE_TYPES.TaggedTemplateExpression&&(r.push(...n(e.tag)),r.push(...n(e.quasi))),e.type===av.AST_NODE_TYPES.ImportExpression&&r.push(...n(e.source)),r};return n}let kx=kb(av.AST_NODE_TYPES.NewExpression),kT=kb(av.AST_NODE_TYPES.CallExpression),kS=[{enforceAssignment:!0,enforceLazyInitialization:!0,enforceSetterName:!0}],kE={"error-boundaries":Sd,"exhaustive-deps":Sf,globals:SE,immutability:SP,"no-access-state-in-setstate":SN,"no-array-index-key":SI,"no-children-count":SO,"no-children-for-each":SL,"no-children-map":SM,"no-children-only":SR,"no-children-to-array":Sj,"no-class-component":SY,"no-clone-element":SU,"no-component-will-mount":SB,"no-component-will-receive-props":SV,"no-component-will-update":SJ,"no-context-provider":Sz,"no-create-ref":Sq,"no-direct-mutation-state":SW,"no-duplicate-key":SK,"no-forward-ref":SG,"no-implicit-children":SX,"no-implicit-key":SQ,"no-implicit-ref":S0,"no-leaked-conditional-rendering":S1,"no-missing-component-display-name":S2,"no-missing-context-display-name":S3,"no-missing-key":S4,"no-misused-capture-owner-stack":S7,"no-nested-component-definitions":S9,"no-nested-lazy-component-declarations":Ee,"no-set-state-in-component-did-mount":Et,"no-set-state-in-component-did-update":En,"no-set-state-in-component-will-update":Er,"no-unnecessary-use-prefix":Eo,"no-unsafe-component-will-mount":Es,"no-unsafe-component-will-receive-props":El,"no-unsafe-component-will-update":Ec,"no-unstable-context-value":Eu,"no-unstable-default-props":E_,"no-unused-class-component-members":Ef,"no-unused-props":Ey,"no-use-context":Ev,purity:ET,refs:EC,"rules-of-hooks":kt,"set-state-in-effect":ku,"set-state-in-render":k_,"static-components":km,"unsupported-syntax":kh,"use-memo":ky,"use-state":S_({meta:{type:"suggestion",docs:{description:"Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function."},messages:{invalidAssignment:"useState should be destructured into a value and setter pair, e.g., const [state, setState] = useState(...).",invalidInitialization:"To prevent re-computation, consider using lazy initial state for useState calls that involve function calls. Ex: 'useState(() => getValue())'.",invalidSetterName:"The setter should be named 'set' followed by the capitalized state variable name, e.g., 'setState' for 'state'."},schema:[{type:"object",additionalProperties:!1,properties:{enforceAssignment:{type:"boolean",default:!0},enforceLazyInitialization:{type:"boolean",default:!0},enforceSetterName:{type:"boolean",default:!0}}}]},name:"use-state",create:function(e){let{enforceAssignment:t=!0,enforceLazyInitialization:n=!0,enforceSetterName:r=!0}=e.options[0]??kS[0],{additionalStateHooks:i}=cM(e);return hr({CallExpression(a){if(!gJ(a,i))return;if(n){let[t]=a.arguments;if(null!=t){for(let n of kx(t))!("name"in n.callee)||kv.includes(n.callee.name)||null==ua.findParent(n,t=>m1(e,t))&&e.report({messageId:"invalidInitialization",node:n});for(let n of kT(t))!("name"in n.callee)||gY(n.callee.name)||kv.includes(n.callee.name)||null==ua.findParent(n,t=>m1(e,t))&&e.report({messageId:"invalidInitialization",node:n})}}let o=a.parent;for(;c$.isTypeExpression(o);)o=o.parent;if(o.type!==av.AST_NODE_TYPES.VariableDeclarator){if(!t)return;e.report({messageId:"invalidAssignment",node:a});return}let s=f3(a);if(s?.type!==av.AST_NODE_TYPES.ArrayPattern){if(!t)return;e.report({messageId:"invalidAssignment",node:s??a});return}let[l,c]=s.elements;if(null==l){if(!t)return;e.report({messageId:"invalidAssignment",node:s});return}if(null!=c&&r){if(l.type!==av.AST_NODE_TYPES.Identifier)return void e.report({messageId:"invalidAssignment",node:l});if(c.type!==av.AST_NODE_TYPES.Identifier||!c.name.startsWith("set"))return void e.report({messageId:"invalidSetterName",node:c});cq(c.name)!==`set_${cq(l.name)}`&&e.report({messageId:"invalidSetterName",node:c})}}})},defaultOptions:kS})},kk={"disable-conflict-eslint-plugin-react":Sa,"disable-conflict-eslint-plugin-react-hooks":Sl},kP=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/dom-${e}`});var kC=kP({meta:{type:"problem",docs:{description:"Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time."},messages:{default:"A DOM component cannot use both children and 'dangerouslySetInnerHTML'."},schema:[]},name:"no-dangerously-set-innerhtml-with-children",create:function(e){return e.sourceCode.text.includes(kw)?hr({JSXElement(t){if(!me(e,t,kw))return;let n=f4(e,t,"children")??t.children.find(e=>!(e.type===av.AST_NODE_TYPES.JSXText&&""===e.raw.trim()&&e.raw.includes("\n")));null!=n&&e.report({messageId:"default",node:n})}}):{}},defaultOptions:[]});let kw="dangerouslySetInnerHTML",kA="dangerouslySetInnerHTML";var kD=kP({meta:{type:"problem",docs:{description:"Disallows DOM elements from using 'dangerouslySetInnerHTML'."},messages:{default:"Using 'dangerouslySetInnerHTML' may have security implications."},schema:[]},name:"no-dangerously-set-innerhtml",create:function(e){return e.sourceCode.text.includes(kA)?hr({JSXElement(t){let n=f4(e,t,kA);null!=n&&e.report({messageId:"default",node:n})}}):{}},defaultOptions:[]}),kN=kP({meta:{type:"problem",docs:{description:"Disallows 'findDOMNode'."},messages:{default:"[Deprecated] Use alternatives instead."},schema:[]},name:"no-find-dom-node",create:function(e){return e.sourceCode.text.includes(kF)?hr({CallExpression(t){let{callee:n}=t;switch(n.type){case av.AST_NODE_TYPES.Identifier:n.name===kF&&e.report({messageId:"default",node:t});return;case av.AST_NODE_TYPES.MemberExpression:n.property.type===av.AST_NODE_TYPES.Identifier&&n.property.name===kF&&e.report({messageId:"default",node:t});return}}}):{}},defaultOptions:[]});let kF="findDOMNode";var kI=kP({meta:{type:"problem",docs:{description:"Disallows 'flushSync'."},messages:{default:"Using 'flushSync' is uncommon and can hurt the performance of your app."},schema:[]},name:"no-flush-sync",create:function(e){return e.sourceCode.text.includes(kO)?hr({CallExpression(t){let{callee:n}=t;switch(n.type){case av.AST_NODE_TYPES.Identifier:n.name===kO&&e.report({messageId:"default",node:t});return;case av.AST_NODE_TYPES.MemberExpression:n.property.type===av.AST_NODE_TYPES.Identifier&&n.property.name===kO&&e.report({messageId:"default",node:t});return}}}):{}},defaultOptions:[]});let kO="flushSync";var kL=kP({meta:{type:"problem",docs:{description:"Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'."},fixable:"code",messages:{default:"[Deprecated] Use 'hydrateRoot()' instead."},schema:[]},name:"no-hydrate",create:function(e){if(!e.sourceCode.text.includes(kM)||hu(cM(e).version,"18.0.0","<"))return{};let t=new Set,n=new Set;return hr({CallExpression(r){let i=ue.unwrap(r.callee);switch(!0){case i.type===av.AST_NODE_TYPES.Identifier&&n.has(i.name):case i.type===av.AST_NODE_TYPES.MemberExpression&&i.object.type===av.AST_NODE_TYPES.Identifier&&i.property.type===av.AST_NODE_TYPES.Identifier&&i.property.name===kM&&t.has(i.object.name):var a,o;e.report({fix:(a=e,o=r,e=>{let[t,n]=o.arguments;return null==t||null==n?null:[e.insertTextBefore(a.sourceCode.ast,'import { hydrateRoot } from "react-dom/client";\n'),e.replaceText(o,`hydrateRoot(${a.sourceCode.getText(n)}, ${a.sourceCode.getText(t)})`)]}),messageId:"default",node:r});return}},ImportDeclaration(e){let[r]=e.source.value.split("/");if("react-dom"===r)for(let r of e.specifiers)switch(r.type){case av.AST_NODE_TYPES.ImportSpecifier:if(r.imported.type!==av.AST_NODE_TYPES.Identifier)continue;r.imported.name===kM&&n.add(r.local.name);continue;case av.AST_NODE_TYPES.ImportDefaultSpecifier:case av.AST_NODE_TYPES.ImportNamespaceSpecifier:t.add(r.local.name);continue}}})},defaultOptions:[]});let kM="hydrate";function kR(e){let{polymorphicPropName:t}=cM(e);return{resolve(n){let r=f7(n),i={domElementType:r,jsxElementType:r};if(r===r.toLowerCase()||null==t)return i;let a=f5(e,n,t);return"string"==typeof a?{...i,domElementType:a}:i}}}let kj=["button","submit","reset"];var kY=kP({meta:{type:"problem",docs:{description:"Enforces an explicit 'type' attribute for 'button' elements."},hasSuggestions:!0,messages:{addTypeAttribute:"Add type attribute with value '{{ type }}'.",missingTypeAttribute:"Missing an explicit type attribute for button."},schema:[]},name:"no-missing-button-type",create:function(e){let t=kR(e);return hr({JSXElement(n){"button"!==t.resolve(n).domElementType||me(e,n,"type")||e.report({messageId:"missingTypeAttribute",node:n.openingElement,suggest:kj.map(e=>({data:{type:e},fix:t=>t.insertTextAfter(n.openingElement.name,` type="${e}"`),messageId:"addTypeAttribute"}))})}})},defaultOptions:[]}),kU=kP({meta:{type:"problem",docs:{description:"Enforces an explicit 'sandbox' attribute for 'iframe' elements."},fixable:"code",hasSuggestions:!0,messages:{addSandboxAttribute:"Add sandbox attribute with value '{{ value }}'.",missingSandboxAttribute:"Missing an explicit sandbox attribute for iframe."},schema:[]},name:"no-missing-iframe-sandbox",create:function(e){let t=kR(e);return hr({JSXElement(n){let{domElementType:r}=t.resolve(n);if("iframe"!==r)return;let i=f4(e,n,"sandbox");if(null==i)return void e.report({messageId:"missingSandboxAttribute",node:n.openingElement,suggest:[{data:{value:""},fix:e=>e.insertTextAfter(n.openingElement.name,' sandbox=""'),messageId:"addSandboxAttribute"}]});let a=f8(e,i);"string"==typeof a.toStatic()||("spreadProps"!==a.kind||"string"!=typeof a.getProperty("sandbox"))&&e.report({messageId:"missingSandboxAttribute",node:a.node??i,suggest:[{data:{value:""},fix:e=>a.kind.startsWith("spread")?null:e.replaceText(i,'sandbox=""'),messageId:"addSandboxAttribute"}]})}})},defaultOptions:[]});let kB=[av.AST_NODE_TYPES.VariableDeclarator,av.AST_NODE_TYPES.Property,av.AST_NODE_TYPES.ReturnStatement,av.AST_NODE_TYPES.ArrowFunctionExpression,av.AST_NODE_TYPES.AssignmentExpression];function kV(e){let t=e.parent;for(;c$.isTypeExpression(t);)t=t.parent;return kB.includes(t.type)}var kJ=kP({meta:{type:"problem",docs:{description:"Disallows the return value of 'ReactDOM.render'."},messages:{default:"Do not depend on the return value from 'ReactDOM.render'."},schema:[]},name:"no-render-return-value",create:function(e){let t=new Set(["ReactDOM","ReactDOM"]),n=new Set;return hr({CallExpression(r){let i=ue.unwrap(r.callee);switch(!0){case i.type===av.AST_NODE_TYPES.Identifier&&n.has(i.name)&&kV(r):case i.type===av.AST_NODE_TYPES.MemberExpression&&i.object.type===av.AST_NODE_TYPES.Identifier&&i.property.type===av.AST_NODE_TYPES.Identifier&&"render"===i.property.name&&t.has(i.object.name)&&kV(r):e.report({messageId:"default",node:r});return}},ImportDeclaration(e){let[r]=e.source.value.split("/");if("react-dom"===r)for(let r of e.specifiers)switch(r.type){case av.AST_NODE_TYPES.ImportSpecifier:if(r.imported.type!==av.AST_NODE_TYPES.Identifier)continue;"render"===r.imported.name&&n.add(r.local.name);continue;case av.AST_NODE_TYPES.ImportDefaultSpecifier:case av.AST_NODE_TYPES.ImportNamespaceSpecifier:t.add(r.local.name);continue}}})},defaultOptions:[]}),kz=kP({meta:{type:"problem",docs:{description:"Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'."},fixable:"code",messages:{default:"[Deprecated] Use 'createRoot(node).render()' instead."},schema:[]},name:"no-render",create:function(e){if(!e.sourceCode.text.includes("render")||hu(cM(e).version,"18.0.0","<"))return{};let t=new Set(["ReactDOM","ReactDOM"]),n=new Set;return hr({CallExpression(r){let i=ue.unwrap(r.callee);switch(!0){case i.type===av.AST_NODE_TYPES.Identifier&&n.has(i.name):case i.type===av.AST_NODE_TYPES.MemberExpression&&i.object.type===av.AST_NODE_TYPES.Identifier&&i.property.type===av.AST_NODE_TYPES.Identifier&&"render"===i.property.name&&t.has(i.object.name):var a,o;e.report({fix:(a=e,o=r,e=>{let[t,n]=o.arguments;return null==t||null==n?null:[e.insertTextBefore(a.sourceCode.ast,'import { createRoot } from "react-dom/client";\n'),e.replaceText(o,`createRoot(${a.sourceCode.getText(n)}).render(${a.sourceCode.getText(t)})`)]}),messageId:"default",node:r});return}},ImportDeclaration(e){let[r]=e.source.value.split("/");if("react-dom"===r)for(let r of e.specifiers)switch(r.type){case av.AST_NODE_TYPES.ImportSpecifier:if(r.imported.type!==av.AST_NODE_TYPES.Identifier)continue;"render"===r.imported.name&&n.add(r.local.name);continue;case av.AST_NODE_TYPES.ImportDefaultSpecifier:case av.AST_NODE_TYPES.ImportNamespaceSpecifier:t.add(r.local.name);continue}}})},defaultOptions:[]}),kq=kP({meta:{type:"problem",docs:{description:"Disallows 'javascript:' URLs as attribute values."},messages:{default:"Using a `javascript:` URL is a security risk and should be avoided."},schema:[]},name:"no-script-url",create:function(e){return hr({JSXAttribute(t){if(t.name.type!==av.AST_NODE_TYPES.JSXIdentifier||null==t.value)return;let n=f8(e,t).toStatic();"string"==typeof n&&cE.test(n)&&e.report({messageId:"default",node:t.value})}})},defaultOptions:[]}),k$=kP({meta:{type:"problem",docs:{description:"Disallows the use of string style prop in JSX. Use an object instead."},messages:{default:"Do not use string style prop. Use an object instead."},schema:[]},name:"no-string-style-prop",create:function(e){return hr({JSXElement(t){if(!mt(t))return;let n=f4(e,t,"style");if(null==n)return;let r=f8(e,n);"string"==typeof r.toStatic()&&e.report({messageId:"default",node:r.node??n})}})},defaultOptions:[]});let kW={"accept-charset":"acceptCharset",class:"className",crossorigin:"crossOrigin",for:"htmlFor","http-equiv":"httpEquiv",nomodule:"noModule"},kK={"accent-height":"accentHeight","alignment-baseline":"alignmentBaseline","arabic-form":"arabicForm","baseline-shift":"baselineShift","cap-height":"capHeight","clip-path":"clipPath","clip-rule":"clipRule","color-interpolation":"colorInterpolation","color-interpolation-filters":"colorInterpolationFilters","color-profile":"colorProfile","color-rendering":"colorRendering","dominant-baseline":"dominantBaseline","enable-background":"enableBackground","fill-opacity":"fillOpacity","fill-rule":"fillRule","flood-color":"floodColor","flood-opacity":"floodOpacity","font-family":"fontFamily","font-size":"fontSize","font-size-adjust":"fontSizeAdjust","font-stretch":"fontStretch","font-style":"fontStyle","font-variant":"fontVariant","font-weight":"fontWeight","glyph-name":"glyphName","glyph-orientation-horizontal":"glyphOrientationHorizontal","glyph-orientation-vertical":"glyphOrientationVertical","horiz-adv-x":"horizAdvX","horiz-origin-x":"horizOriginX","image-rendering":"imageRendering","letter-spacing":"letterSpacing","lighting-color":"lightingColor","marker-end":"markerEnd","marker-mid":"markerMid","marker-start":"markerStart","overline-position":"overlinePosition","overline-thickness":"overlineThickness","paint-order":"paintOrder","panose-1":"panose1","pointer-events":"pointerEvents","rendering-intent":"renderingIntent","shape-rendering":"shapeRendering","stop-color":"stopColor","stop-opacity":"stopOpacity","strikethrough-position":"strikethroughPosition","strikethrough-thickness":"strikethroughThickness","stroke-dasharray":"strokeDasharray","stroke-dashoffset":"strokeDashoffset","stroke-linecap":"strokeLinecap","stroke-linejoin":"strokeLinejoin","stroke-miterlimit":"strokeMiterlimit","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","text-anchor":"textAnchor","text-decoration":"textDecoration","text-rendering":"textRendering","underline-position":"underlinePosition","underline-thickness":"underlineThickness","unicode-bidi":"unicodeBidi","unicode-range":"unicodeRange","units-per-em":"unitsPerEm","v-alphabetic":"vAlphabetic","v-hanging":"vHanging","v-ideographic":"vIdeographic","v-mathematical":"vMathematical","vector-effect":"vectorEffect","vert-adv-y":"vertAdvY","vert-origin-x":"vertOriginX","vert-origin-y":"vertOriginY","word-spacing":"wordSpacing","writing-mode":"writingMode","x-height":"xHeight","xlink:actuate":"xlinkActuate","xlink:arcrole":"xlinkArcrole","xlink:href":"xlinkHref","xlink:role":"xlinkRole","xlink:show":"xlinkShow","xlink:title":"xlinkTitle","xlink:type":"xlinkType","xml:base":"xmlBase","xml:lang":"xmlLang","xml:space":"xmlSpace"},kG={abbr:["th","td"],align:["applet","caption","col","colgroup","hr","iframe","img","table","tbody","td","tfoot","th","thead","tr"],allowFullScreen:["iframe","video"],as:["link"],autoPictureInPicture:["video"],charset:["meta"],checked:["input"],controls:["audio","video"],controlsList:["audio","video"],crossOrigin:["script","img","video","audio","link","image"],disablePictureInPicture:["video"],disableRemotePlayback:["audio","video"],displaystyle:["math"],download:["a","area"],fill:["altGlyph","circle","ellipse","g","line","marker","mask","path","polygon","polyline","rect","svg","symbol","text","textPath","tref","tspan","use","animate","animateColor","animateMotion","animateTransform","set"],focusable:["svg"],imageSizes:["link"],imageSrcSet:["link"],loop:["audio","video"],mozAllowFullScreen:["iframe","video"],muted:["audio","video"],noModule:["script"],onAbort:["audio","video"],onCancel:["dialog"],onCanPlay:["audio","video"],onCanPlayThrough:["audio","video"],onClose:["dialog"],onDurationChange:["audio","video"],onEmptied:["audio","video"],onEncrypted:["audio","video"],onEnded:["audio","video"],onError:["audio","video","img","link","source","script","picture","iframe"],onLoad:["script","img","link","picture","iframe","object","source"],onLoadedData:["audio","video"],onLoadedMetadata:["audio","video"],onLoadStart:["audio","video"],onPause:["audio","video"],onPlay:["audio","video"],onPlaying:["audio","video"],onProgress:["audio","video"],onRateChange:["audio","video"],onResize:["audio","video"],onSeeked:["audio","video"],onSeeking:["audio","video"],onStalled:["audio","video"],onSuspend:["audio","video"],onTimeUpdate:["audio","video"],onVolumeChange:["audio","video"],onWaiting:["audio","video"],playsInline:["video"],poster:["video"],preload:["audio","video"],property:["meta"],returnValue:["dialog"],scrolling:["iframe"],valign:["tr","td","th","thead","tbody","tfoot","colgroup","col"],viewBox:["marker","pattern","svg","symbol","view"],webkitAllowFullScreen:["iframe","video"],webkitDirectory:["input"]},kH=["dir","draggable","hidden","id","lang","nonce","part","slot","style","title","translate","inert","accept","action","allow","alt","as","async","buffered","capture","challenge","cite","code","cols","content","coords","csp","data","decoding","default","defer","disabled","form","headers","height","high","href","icon","importance","integrity","kind","label","language","loading","list","loop","low","manifest","max","media","method","min","multiple","muted","name","open","optimum","pattern","ping","placeholder","poster","preload","profile","rel","required","reversed","role","rows","sandbox","scope","seamless","selected","shape","size","sizes","span","src","start","step","summary","target","type","value","width","wmode","wrap","accumulate","additive","alphabetic","amplitude","ascent","azimuth","bbox","begin","bias","by","clip","color","cursor","cx","cy","d","decelerate","descent","direction","display","divisor","dur","dx","dy","elevation","end","exponent","fill","filter","format","from","fr","fx","fy","g1","g2","hanging","height","hreflang","ideographic","in","in2","intercept","k","k1","k2","k3","k4","kerning","local","mask","mode","offset","opacity","operator","order","orient","orientation","origin","overflow","path","ping","points","r","radius","rel","restart","result","rotate","rx","ry","scale","seed","slope","spacing","speed","stemh","stemv","string","stroke","to","transform","u1","u2","unicode","values","version","visibility","widths","x","x1","x2","xmlns","y","y1","y2","z","property","ref","key","children","results","security","controls"],kX=["accessKey","autoCapitalize","autoFocus","contentEditable","enterKeyHint","exportParts","inputMode","itemID","itemRef","itemProp","itemScope","itemType","spellCheck","tabIndex","acceptCharset","autoComplete","autoPlay","border","cellPadding","cellSpacing","classID","codeBase","colSpan","contextMenu","dateTime","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hrefLang","httpEquiv","imageSizes","imageSrcSet","isMap","keyParams","keyType","marginHeight","marginWidth","maxLength","mediaGroup","minLength","noValidate","onAnimationEnd","onAnimationIteration","onAnimationStart","onBlur","onChange","onClick","onContextMenu","onCopy","onCompositionEnd","onCompositionStart","onCompositionUpdate","onCut","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onError","onFocus","onInput","onKeyDown","onKeyPress","onKeyUp","onLoad","onWheel","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onPaste","onScroll","onSelect","onSubmit","onToggle","onTransitionEnd","radioGroup","readOnly","referrerPolicy","rowSpan","srcDoc","srcLang","srcSet","useMap","fetchPriority","crossOrigin","accentHeight","alignmentBaseline","arabicForm","attributeName","attributeType","baseFrequency","baselineShift","baseProfile","calcMode","capHeight","clipPathUnits","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","diffuseConstant","dominantBaseline","edgeMode","enableBackground","fillOpacity","fillRule","filterRes","filterUnits","floodColor","floodOpacity","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","horizAdvX","horizOriginX","imageRendering","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","markerEnd","markerMid","markerStart","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","numOctaves","overlinePosition","overlineThickness","panose1","paintOrder","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","referrerPolicy","refX","refY","rendering-intent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","shapeRendering","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textRendering","textLength","transformOrigin","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","viewBox","viewTarget","wordSpacing","writingMode","xHeight","xChannelSelector","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlnsXlink","xmlSpace","yChannelSelector","zoomAndPan","autoCorrect","autoSave","className","dangerouslySetInnerHTML","defaultValue","defaultChecked","htmlFor","onBeforeInput","onChange","onInvalid","onReset","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","suppressContentEditableWarning","suppressHydrationWarning","onAbort","onCanPlay","onCanPlayThrough","onDurationChange","onEmptied","onEncrypted","onEnded","onLoadedData","onLoadedMetadata","onLoadStart","onPause","onPlay","onPlaying","onProgress","onRateChange","onResize","onSeeked","onSeeking","onStalled","onSuspend","onTimeUpdate","onVolumeChange","onWaiting","onCopyCapture","onCutCapture","onPasteCapture","onCompositionEndCapture","onCompositionStartCapture","onCompositionUpdateCapture","onFocusCapture","onBlurCapture","onChangeCapture","onBeforeInputCapture","onInputCapture","onResetCapture","onSubmitCapture","onInvalidCapture","onLoadCapture","onErrorCapture","onKeyDownCapture","onKeyPressCapture","onKeyUpCapture","onAbortCapture","onCanPlayCapture","onCanPlayThroughCapture","onDurationChangeCapture","onEmptiedCapture","onEncryptedCapture","onEndedCapture","onLoadedDataCapture","onLoadedMetadataCapture","onLoadStartCapture","onPauseCapture","onPlayCapture","onPlayingCapture","onProgressCapture","onRateChangeCapture","onSeekedCapture","onSeekingCapture","onStalledCapture","onSuspendCapture","onTimeUpdateCapture","onVolumeChangeCapture","onWaitingCapture","onSelectCapture","onTouchCancelCapture","onTouchEndCapture","onTouchMoveCapture","onTouchStartCapture","onScrollCapture","onWheelCapture","onAnimationEndCapture","onAnimationIteration","onAnimationStartCapture","onTransitionEndCapture","onAuxClick","onAuxClickCapture","onClickCapture","onContextMenuCapture","onDoubleClickCapture","onDragCapture","onDragEndCapture","onDragEnterCapture","onDragExitCapture","onDragLeaveCapture","onDragOverCapture","onDragStartCapture","onDropCapture","onMouseDown","onMouseDownCapture","onMouseMoveCapture","onMouseOutCapture","onMouseOverCapture","onMouseUpCapture","autoPictureInPicture","controlsList","disablePictureInPicture","disableRemotePlayback"],kQ=["charset","allowFullScreen","webkitAllowFullScreen","mozAllowFullScreen","webkitDirectory"],kZ=["aria-atomic","aria-braillelabel","aria-brailleroledescription","aria-busy","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-dropeffect","aria-errormessage","aria-flowto","aria-grabbed","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-relevant","aria-roledescription","aria-autocomplete","aria-checked","aria-expanded","aria-level","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-placeholder","aria-pressed","aria-readonly","aria-required","aria-selected","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","aria-activedescendant","aria-colcount","aria-colindex","aria-colindextext","aria-colspan","aria-posinset","aria-rowcount","aria-rowindex","aria-rowindextext","aria-rowspan","aria-setsize"],k0=["onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCapture","onLostPointerCaptureCapture","onPointerCancel","onPointerCancelCapture","onPointerDown","onPointerDownCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerMove","onPointerMoveCapture","onPointerOut","onPointerOutCapture","onPointerOver","onPointerOverCapture","onPointerUp","onPointerUpCapture"],k1=["popover","popoverTarget","popoverTargetAction","onToggle","onBeforeToggle"];function k2(e,t,n){let{version:r}=cM(e);return hu(r,n,t)}function k3(e,t){return Object.hasOwn(e,t)}let k6=[];var k4=kP({meta:{type:"problem",docs:{description:"Disallows unknown 'DOM' properties."},fixable:"code",messages:{dataLowercaseRequired:"React does not recognize data-* props with uppercase characters on a DOM element. Found '{{name}}', use '{{lowerCaseName}}' instead",invalidPropOnTag:"Invalid property '{{name}}' found on tag '{{tagName}}', but it is only allowed on: {{allowedTags}}",unknownProp:"Unknown property '{{name}}' found",unknownPropWithStandardName:"Unknown property '{{name}}' found, use '{{standardName}}' instead"},schema:[{type:"object",additionalProperties:!1,properties:{ignore:{type:"array",items:{type:"string"}},requireDataLowercase:{type:"boolean",default:!1}}}]},name:"no-unknown-property",create:function(e){return hr({JSXAttribute(t){var n;let r=e.options[0]?.ignore??k6,i=(n=t.name,e.sourceCode.getText(n));if(r.includes(i))return;let a=kQ.find(e=>e.toLowerCase()===i.toLowerCase())??i;if(t.parent.name.type===av.AST_NODE_TYPES.JSXMemberExpression)return;if(!/^data-xml/i.test(a)&&/^data-[^:]*$/.test(a)){e.options[0]?.requireDataLowercase&&a.toLowerCase()!==a&&e.report({data:{name:i,lowerCaseName:i.toLowerCase()},messageId:"dataLowercaseRequired",node:t});return}if(kZ.some(e=>e===a))return;let o=t.parent.name.type===av.AST_NODE_TYPES.JSXIdentifier?t.parent.name.name:null;if("fbt"===o||"fbs"===o||!(t.parent.name.type===av.AST_NODE_TYPES.JSXIdentifier&&/^[a-z][^-]*$/.test(t.parent.name.name)&&!t.parent.attributes.some(e=>e.type===av.AST_NODE_TYPES.JSXAttribute&&e.name.type===av.AST_NODE_TYPES.JSXIdentifier&&"is"===e.name.name)))return;let s=k3(kG,a)?kG[a]:null;if(null!=o&&null!=s){s.includes(o)||e.report({data:{name:i,allowedTags:s.join(", "),tagName:o},messageId:"invalidPropOnTag",node:t});return}let l=function(e,t){let n;return k3(kW,e)?kW[e]??null:k3(kK,e)?kK[e]??null:(n=kX.concat(kH),k2(t,"<=","16.1.0")?n.push("allowTransparency"):(k2(t,">=","16.4.0")&&n.push(...k0),k2(t,">=","19.0.0-rc.0")?n.push(...k1):n.push(...k1.map(e=>e.toLowerCase()))),n).find(t=>t.toLowerCase()===e.toLowerCase())??null}(a,e),c=null!=l&&l!==a;if(null==l||l!==a){if(c)return void e.report({data:{name:i,standardName:l},fix:e=>e.replaceText(t.name,l),messageId:"unknownPropWithStandardName",node:t});e.report({data:{name:i},messageId:"unknownProp",node:t})}}})},defaultOptions:[]});let k8=["allow-scripts","allow-same-origin"];var k5=kP({meta:{type:"problem",docs:{description:"Enforces that the 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations."},messages:{default:"Unsafe 'sandbox' attribute value on 'iframe' component."},schema:[]},name:"no-unsafe-iframe-sandbox",create:function(e){let t=kR(e);return hr({JSXElement(n){var r;if("iframe"!==t.resolve(n).domElementType)return;let i=f4(e,n,"sandbox");if(null==i)return;let a=f8(e,i);"string"==typeof(r="spreadProps"===a.kind?a.getProperty("sandbox"):a.toStatic())&&k8.every(e=>r.includes(e))&&e.report({messageId:"default",node:a.node??i})}})},defaultOptions:[]}),k7=kP({meta:{type:"problem",docs:{description:"Disallows 'target=\"_blank\"' without 'rel=\"noreferrer noopener\"'."},fixable:"code",hasSuggestions:!0,messages:{addRelNoreferrerNoopener:"Add 'rel=\"noreferrer noopener\"' to the link to prevent security risks.",default:"Using 'target=\"_blank\"' on an external link without 'rel=\"noreferrer noopener\"' is a security risk."},schema:[]},name:"no-unsafe-target-blank",create:function(e){let t=kR(e);return hr({JSXElement(n){var r,i;let{domElementType:a}=t.resolve(n);if("a"!==a||"_blank"!==f5(e,n,"target")||!("string"==typeof(r=f5(e,n,"href"))&&(r.startsWith("https://")||/^(?:\w+:|\/\/)/u.test(r))))return;let o=f4(e,n,"rel");null==o?e.report({messageId:"default",node:n.openingElement,suggest:[{fix:e=>e.insertTextAfter(n.openingElement.name,' rel="noreferrer noopener"'),messageId:"addRelNoreferrerNoopener"}]}):"string"==typeof(i=f5(e,n,"rel"))&&("noreferrer"===i||/\bnoreferrer\b/u.test(i))||e.report({messageId:"default",node:o,suggest:[{fix:e=>e.replaceText(o,'rel="noreferrer noopener"'),messageId:"addRelNoreferrerNoopener"}]})}})},defaultOptions:[]}),k9=kP({meta:{type:"problem",docs:{description:"Replaces usage of 'useFormState' with 'useActionState'."},fixable:"code",messages:{default:"[Deprecated] Use 'useActionState' from 'react' package instead."},schema:[]},name:"no-use-form-state",create:function(e){if(!e.sourceCode.text.includes("useFormState")||hu(cM(e).version,"19.0.0","<"))return{};let t=new Set,n=new Set;return hr({CallExpression(r){let i=ue.unwrap(r.callee);switch(!0){case i.type===av.AST_NODE_TYPES.Identifier&&n.has(i.name):case i.type===av.AST_NODE_TYPES.MemberExpression&&i.object.type===av.AST_NODE_TYPES.Identifier&&i.property.type===av.AST_NODE_TYPES.Identifier&&"useFormState"===i.property.name&&t.has(i.object.name):e.report({fix:function(e,t){let{importSource:n}=cM(e);return r=>[r.insertTextBefore(e.sourceCode.ast,`import { useActionState } from "${n}";
|
|
417
|
-
`),r.replaceText(t.callee,"useActionState")]}(e,r),messageId:"default",node:r});return}},ImportDeclaration(e){let[r]=e.source.value.split("/");if("react-dom"===r)for(let r of e.specifiers)switch(r.type){case av.AST_NODE_TYPES.ImportSpecifier:if(r.imported.type!==av.AST_NODE_TYPES.Identifier)continue;"useFormState"===r.imported.name&&n.add(r.local.name);continue;case av.AST_NODE_TYPES.ImportDefaultSpecifier:case av.AST_NODE_TYPES.ImportNamespaceSpecifier:t.add(r.local.name);continue}}})},defaultOptions:[]});let Pe=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"]);var Pt=kP({meta:{type:"problem",docs:{description:"Disallows 'children' in void DOM elements."},messages:{default:"'{{elementType}}' is a void element tag and must not have children."},schema:[]},name:"no-void-elements-with-children",create:function(e){let t=kR(e);return hr({JSXElement(n){let{domElementType:r}=t.resolve(n);Pe.has(r)&&(n.children.length>0||f9(e,n,["children","dangerouslySetInnerHTML"]))&&e.report({data:{elementType:r},messageId:"default",node:n})}})},defaultOptions:[]});let Pn=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/${e}`});var Pr=Pn({meta:{type:"problem",docs:{description:"Disallows passing 'children' as a prop when children are also passed as nested content."},fixable:"code",hasSuggestions:!0,messages:{default:"Do not pass 'children' as a prop when the element already has children content.",removeChildrenContent:"Remove the nested children content.",removeChildrenProp:"Remove the 'children' prop."},schema:[]},name:"no-children-prop-with-children",create:function(e){return hr({JSXElement(t){let n=f4(e,t,"children");if(null!=n&&0!==t.children.length&&!t.children.every(e=>{var t;return(t=e).type===av.AST_NODE_TYPES.JSXText&&""===t.raw.trim()})){if(n.type!==av.AST_NODE_TYPES.JSXAttribute)return void e.report({messageId:"default",node:n});e.report({messageId:"default",node:n,suggest:[{fix(t){let[r,i]=function(e,t){let{sourceCode:n}=e,r=t.range[0],i=t.range[1];for(;r>0&&/\s/.test(n.text[r-1]);)r--;return[r,i]}(e,n);return t.removeRange([r,i])},messageId:"removeChildrenProp"},{fix(e){let n=function(e){if(0===e.children.length)return null;let t=e.children[0],n=e.children[e.children.length-1];return[t.range[0],n.range[1]]}(t);return null==n?[]:e.removeRange(n)},messageId:"removeChildrenContent"}]})}}})},defaultOptions:[]}),Pi=Pn({meta:{type:"suggestion",docs:{description:"Disallows passing 'children' as a prop."},fixable:"code",hasSuggestions:!0,messages:{default:"Do not pass 'children' as props.",moveChildrenToContent:"Move 'children' to element content."},schema:[]},name:"no-children-prop",create:function(e){return hr({JSXElement(t){let n=f4(e,t,"children");if(null==n)return;if(n.type!==av.AST_NODE_TYPES.JSXAttribute)return void e.report({messageId:"default",node:n});let r=function(e,t){let{sourceCode:n}=e,{value:r}=t;if(null==r)return null;if(r.type===av.AST_NODE_TYPES.Literal)return String(r.value);if(r.type===av.AST_NODE_TYPES.JSXExpressionContainer){let{expression:e}=r;if(e.type===av.AST_NODE_TYPES.JSXEmptyExpression)return null;let t=n.getText(e);return c$.isJSXElementOrFragment(e)?t:`{${t}}`}return null}(e,n);null==r?e.report({messageId:"default",node:n}):e.report({messageId:"default",node:n,suggest:[{fix(i){let a=e.sourceCode,{openingElement:o}=t,[s,l]=function(e,t){let{sourceCode:n}=e,r=t.range[0],i=t.range[1];for(;r>0&&/\s/.test(n.text[r-1]);)r--;return[r,i]}(e,n);if(o.selfClosing){let e=a.getText(o.name),t=a.getText(o).lastIndexOf("/>"),n=o.range[0]+t;for(;n>l&&/\s/.test(a.text[n-1]);)n--;return[i.removeRange([s,l]),i.replaceTextRange([n,o.range[1]],`>${r}</${e}>`)]}let c=[i.removeRange([s,l])];return null!=t.closingElement&&c.push(i.insertTextBefore(t.closingElement,r)),c},messageId:"moveChildrenToContent"}]})}})},defaultOptions:[]}),Pa=Pn({meta:{type:"problem",docs:{description:"Prevents comment strings from being accidentally inserted into a JSX element's text nodes."},messages:{default:"Possible misused comment in text node. Comments inside children section of tag should be placed inside braces."},schema:[]},name:"no-comment-textnodes",create:function(e){let t=t=>{c$.isJSXElementOrFragment(t.parent)&&!cK([av.AST_NODE_TYPES.JSXAttribute,av.AST_NODE_TYPES.JSXExpressionContainer])(t.parent)&&/^\s*\/(?:\/|\*)/mu.test(e.sourceCode.getText(t))&&e.report({messageId:"default",node:t})};return hr({JSXText:t,Literal:t})},defaultOptions:[]}),Po=Pn({meta:{type:"problem",docs:{description:"Prevent patterns that cause deoptimization when using the automatic JSX runtime."},messages:{noKeyAfterSpread:"Placing 'key' after spread props causes deoptimization when using the automatic JSX runtime. Put 'key' before any spread props."},schema:[]},name:"no-key-after-spread",create:function(e){let{jsx:t}=ms(e);return 4!==t&&5!==t?{}:hr({JSXOpeningElement(t){let n=null;for(let[r,i]of t.attributes.entries()){if(i.type===av.AST_NODE_TYPES.JSXSpreadAttribute){n??=r;continue}null!=n&&i.name.type===av.AST_NODE_TYPES.JSXIdentifier&&"key"===i.name.name&&r>n&&e.report({messageId:"noKeyAfterSpread",node:i})}}})},defaultOptions:[]}),Ps=Pn({meta:{type:"suggestion",docs:{description:'Catches `$` before `{expr}` in JSX — typically from template literal `${expr}` being copy-pasted into JSX without removing the `$`. The `$` "leaks" into the rendered output.'},fixable:"code",hasSuggestions:!0,messages:{default:"Leaked '$' in JSX. This '$' will be rendered as text nodes.",removeDollarSign:"Remove the text node '$'."},schema:[]},name:"no-leaked-dollar",create:function(e){let t=t=>{for(let[n,r]of t.children.entries()){if(r.type!==av.AST_NODE_TYPES.JSXText||!r.value.endsWith("$")||t.children[n+1]?.type!==av.AST_NODE_TYPES.JSXExpressionContainer||"$"===r.value&&2===t.children.length)continue;let i=r.loc.end;e.report({loc:{end:{column:i.column,line:i.line},start:{column:i.column-1,line:i.line}},messageId:"default",node:r,suggest:[{fix:e=>e.removeRange([r.range[1]-1,r.range[1]]),messageId:"removeDollarSign"}]})}};return hr({JSXElement:t,JSXFragment:t})},defaultOptions:[]}),Pl=Pn({meta:{type:"problem",docs:{description:'Catches `;` at the start of JSX text nodes — typically from accidentally placing a statement-ending `;` inside JSX. The `;` "leaks" into the rendered output.'},hasSuggestions:!0,messages:{default:"Leaked ';' in JSX. This ';' will be rendered as text nodes.",removeSemicolon:"Remove the text node ';'."},schema:[]},name:"no-leaked-semicolon",create:function(e){let t=t=>{var n;c$.isJSXElementOrFragment(t.parent)&&((n=e.sourceCode.getText(t)).startsWith(";\n")||n.startsWith(";\r"))&&e.report({messageId:"default",node:t,suggest:[{fix:e=>e.removeRange([t.range[0],t.range[0]+1]),messageId:"removeSemicolon"}]})};return hr({JSXText:t,Literal:t})},defaultOptions:[]}),Pc=Pn({meta:{type:"problem",docs:{description:"Disallow JSX namespace syntax, as React does not support them."},messages:{noNamespace:"A React component '{{name}}' must not be in a namespace, as React does not support them."},schema:[]},name:"no-namespace",create:function(e){return hr({JSXElement(t){let n=f7(t);"string"==typeof n&&n.includes(":")&&e.report({data:{name:n},messageId:"noNamespace",node:t.openingElement.name})}})},defaultOptions:[]});let Pu=[{allowEmptyFragment:!1,allowExpressions:!0}];var P_=Pn({meta:{type:"suggestion",defaultOptions:[...Pu],docs:{description:"Disallows useless fragment elements."},fixable:"code",messages:{default:"A fragment {{reason}} is useless."},schema:[{type:"object",additionalProperties:!1,properties:{allowEmptyFragment:{type:"boolean",description:"Allow empty fragments"},allowExpressions:{type:"boolean",description:"Allow fragments with a single expression child"}}}]},name:"no-useless-fragment",create:function(e,[t]){let{allowEmptyFragment:n=!1,allowExpressions:r=!0}=t,i=ms(e);function a(t){return(c$.isJSXElementOrFragment(t.parent)?mt(t.parent):0!==t.children.length&&!t.children.some(e=>{if(e.type===av.AST_NODE_TYPES.JSXExpressionContainer)return!0;if(e.type===av.AST_NODE_TYPES.JSXText)return e.type!==av.AST_NODE_TYPES.JSXText||""!==e.raw.trim();return!1}))?n=>{let r,i,a,o,s=function(e,t){let{sourceCode:n}=e,r=t.type===av.AST_NODE_TYPES.JSXFragment?t.openingFragment:t.openingElement,i=t.type===av.AST_NODE_TYPES.JSXFragment?t.closingFragment:t.closingElement;return r.type===av.AST_NODE_TYPES.JSXOpeningElement&&r.selfClosing||null==i?"":n.text.slice(r.range[1],i.range[0])}(e,t);return n.replaceText(t,(r=/^\s*/.exec(s)?.[0]??"",i=/\s*$/.exec(s)?.[0]??"",a=r.includes("\n")?r.length:0,o=i.includes("\n")?s.length-i.length:s.length,s.slice(a,o)))}:null}function o(t){mt(t.parent)&&e.report({data:{reason:"placed inside a host component"},fix:a(t),messageId:"default",node:t}),function(e){if(0===e.children.length)return!n;let t=c$.isJSXElementOrFragment(e.parent);if(!r&&(t||1===e.children.length))return!0;if(r&&!t&&1===e.children.length){let t=e.children[0];if(null!=t&&t.type===av.AST_NODE_TYPES.JSXText)return!1}let i=e.children.filter(e=>{var t;return!((t=e).type===av.AST_NODE_TYPES.JSXText&&""===t.raw.trim()&&t.raw.includes("\n"))});return 0===i.length||1===i.length&&i[0].type!==av.AST_NODE_TYPES.JSXExpressionContainer}(t)&&e.report({data:{reason:"contains less than two children"},fix:a(t),messageId:"default",node:t})}return hr({JSXElement(t){!function(e,t="React.Fragment"){if(e.type===av.AST_NODE_TYPES.JSXFragment)return!0;if(e.type!==av.AST_NODE_TYPES.JSXElement)return!1;let n=t.split(".").at(-1)??"Fragment";return f7(e).split(".").at(-1)===n}(t,i.jsxFragmentFactory)||f9(e,t,["key","ref"])||o(t)},JSXFragment(e){o(e)}})},defaultOptions:Pu});let Pd=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/naming-convention-${e}`});var Pp=Pd({meta:{type:"suggestion",docs:{description:"Enforces the context name to be a valid component name with the suffix 'Context'."},messages:{invalidContextName:"A context name must be a valid component name with the suffix 'Context'."},schema:[]},name:"context-name",create:function(e){return e.sourceCode.text.includes("createContext")?hr({CallExpression(t){if(!mG(e,t))return;let[n,r]=oi.match(f3(t)).with({type:av.AST_NODE_TYPES.Identifier,name:oi.P.string},e=>[e,e.name]).with({type:av.AST_NODE_TYPES.MemberExpression,property:{name:oi.P.string}},e=>[e,e.property.name]).otherwise(()=>[null,null]);null==n||gI(r)&&r.endsWith("Context")||e.report({messageId:"invalidContextName",node:n})}}):{}},defaultOptions:[]}),Pf=Pd({meta:{type:"suggestion",docs:{description:"Enforces identifier names assigned from 'useId' calls to be either 'id' or end with 'Id'."},messages:{invalidIdName:"An identifier assigned from 'useId' must be named 'id' or end with 'Id'."},schema:[]},name:"id-name",create:function(e){return e.sourceCode.text.includes("useId")?hr({CallExpression(t){if(!m9(e,t))return;let[n,r]=oi.match(f3(t)).with({type:av.AST_NODE_TYPES.Identifier,name:oi.P.string},e=>[e,e.name]).with({type:av.AST_NODE_TYPES.MemberExpression,property:{name:oi.P.string}},e=>[e,e.property.name]).otherwise(()=>[null,null]);null==n||r.endsWith("Id")||"id"===r||e.report({messageId:"invalidIdName",node:n})}}):{}},defaultOptions:[]}),Pm=Pd({meta:{type:"suggestion",docs:{description:"Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'."},messages:{invalidRefName:"A ref identifier must be named 'ref' or ending in 'Ref'."},schema:[]},name:"ref-name",create:function(e){return e.sourceCode.text.includes("useRef")?hr({CallExpression(t){if(!go(e,t)||ue.unwrap(t.parent).type===av.AST_NODE_TYPES.MemberExpression)return;let[n,r]=oi.match(f3(t)).with({type:av.AST_NODE_TYPES.Identifier,name:oi.P.string},e=>[e,e.name]).with({type:av.AST_NODE_TYPES.MemberExpression,property:{name:oi.P.string}},e=>[e,e.property.name]).otherwise(()=>[null,null]);null==n||r.endsWith("Ref")||"ref"===r||e.report({messageId:"invalidRefName",node:n})}}):{}},defaultOptions:[]}),Pg=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/${e}`})({meta:{type:"problem",docs:{description:"Validates and transforms React Client/Server Function definitions."},fixable:"code",messages:{file:"Functions exported from files with `use server` directive are React Server Functions and therefore must be async.",fileDirectivePosition:"The '{{name}}' directive must be at the very beginning of the file, before any imports or other code.",fileDirectiveQuote:"The '{{name}}' directive must be written with single or double quotes, not backticks.",local:"Functions with `use server` directive are React Server Functions and therefore must be async.",localDirectivePosition:"The '{{name}}' directive must be at the very beginning of the function body.",localDirectiveQuote:"The '{{name}}' directive must be written with single or double quotes, not backticks.",localDirectiveUnexpected:"The '{{name}}' directive can only be used at the top of a file, not inside a function body."},schema:[]},name:"function-definition",create:function(e){let t=e.sourceCode.text.includes("use server"),n=e.sourceCode.text.includes("use client");if(!t&&!n)return{};let r=e.sourceCode.ast.body.some(c$.isDirective("use server"));function i(t,n){if(null==t)return!1;let r=ue.unwrap(t);return!!c$.isFunction(r)&&!r.async&&(e.report({fix:function(t){if(t.type===av.AST_NODE_TYPES.FunctionDeclaration||t.type===av.AST_NODE_TYPES.FunctionExpression){let n=e.sourceCode.getFirstToken(t);return null!=n?e=>e.insertTextBefore(n,"async "):null}return t.type===av.AST_NODE_TYPES.ArrowFunctionExpression?e=>e.insertTextBefore(t,"async "):null}(r),messageId:n,node:r}),!0)}function a(e){gw(e).some(e=>"use server"===e.directive)&&i(e,"local")}function o(t){let n=fQ(e,t);if(null==n)return;let r=ue.unwrap(n);c$.isFunction(r)&&i(r,"file")}function s(t){if(t.body.type===av.AST_NODE_TYPES.BlockStatement){for(let n of t.body.body)if(n.type===av.AST_NODE_TYPES.ExpressionStatement){if(c$.isLiteral("string")(n.expression)){let t=n.expression.value;"use server"===t&&null==n.directive&&e.report({data:{name:t},messageId:"localDirectivePosition",node:n}),"use client"===t&&e.report({data:{name:t},messageId:"localDirectiveUnexpected",node:n});continue}if(n.expression.type===av.AST_NODE_TYPES.TemplateLiteral&&1===n.expression.quasis.length&&0===n.expression.expressions.length){let t=n.expression.quasis[0]?.value.cooked;("use server"===t||"use client"===t)&&e.report({data:{name:t},messageId:"localDirectiveQuote",node:n})}}}}return hr({ArrowFunctionExpression(e){s(e),a(e)},ExportDefaultDeclaration(e){if(!r)return;let t=e.declaration;i(t,"file")||t.type===av.AST_NODE_TYPES.Identifier&&o(t)},ExportNamedDeclaration(e){if(r){if(null!=e.declaration){let t=e.declaration;if(i(t,"file"))return;if(t.type===av.AST_NODE_TYPES.VariableDeclaration)for(let e of t.declarations)i(e.init,"file");return}if(null==e.source&&e.specifiers.length>0)for(let t of e.specifiers)o(t.local)}},FunctionDeclaration(e){s(e),a(e)},FunctionExpression(e){s(e),a(e)},Program(){for(let t of e.sourceCode.ast.body)if(t.type===av.AST_NODE_TYPES.ExpressionStatement){if(c$.isLiteral("string")(t.expression)){let n=t.expression.value;("use server"===n||"use client"===n)&&null==t.directive&&e.report({data:{name:n},messageId:"fileDirectivePosition",node:t});continue}if(t.expression.type===av.AST_NODE_TYPES.TemplateLiteral&&1===t.expression.quasis.length&&0===t.expression.expressions.length){let n=t.expression.quasis[0]?.value.cooked;("use server"===n||"use client"===n)&&e.report({data:{name:n},messageId:"fileDirectiveQuote",node:t})}}}})},defaultOptions:[]});let Ph=a5(function(){if(ad)return a_;ad=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,i={},a={BiRecord:()=>l,default:()=>s,reverse:()=>c};for(var o in a)e(i,o,{get:a[o],enumerable:!0});function s(e){return new l(e)}a_=((i,a,o,s)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let l of n(a))r.call(i,l)||l===o||e(i,l,{get:()=>a[l],enumerable:!(s=t(a,l))||s.enumerable});return i})(e({},"__esModule",{value:!0}),i);var l=class{constructor(e,t=c(e)){this.original=e,this.reversed=t}get(e){return this.original[e]??this.reversed[e]}has(e){return e in this.original||e in this.reversed}};function c(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[t,e]))}return a_}())({setup:"cleanup"});function Py(e){return oi.match(e).when(gz,()=>"setup").when(gq,()=>"cleanup").otherwise(()=>null)}let Pv=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/web-api-${e}`});function Pb(e,t){for(let n of e){if(n.type===av.AST_NODE_TYPES.Property&&ue.getPropertyName(n.key)===t)return n;if(n.type===av.AST_NODE_TYPES.SpreadElement&&n.argument.type===av.AST_NODE_TYPES.ObjectExpression){let e=Pb(n.argument.properties,t);if(null!=e)return e}}return null}let Px={capture:!1,signal:null};function PT(e,t){let n=e.sourceCode.getScope(t);return function t(r){switch(r.type){case av.AST_NODE_TYPES.Identifier:{let n=fQ(e,r);if(n?.type===av.AST_NODE_TYPES.ObjectExpression)return t(n);return Px}case av.AST_NODE_TYPES.Literal:return{...Px,capture:!!r.value};case av.AST_NODE_TYPES.ObjectExpression:{let t=oi.match(Pb(r.properties,"capture")).with(oi.P.nullish,()=>!1).with({type:av.AST_NODE_TYPES.Property},e=>{let t=e.value;return t.type===av.AST_NODE_TYPES.Literal?!!t.value:!!ab.getStaticValue(t,n)?.value}).otherwise(()=>!1),i=Pb(r.properties,"signal");return{capture:t,signal:i?.type===av.AST_NODE_TYPES.Property?function e(t,n){if(null==n)return null;switch(n.type){case av.AST_NODE_TYPES.Identifier:{let r=fQ(t,n),i=null==r?null:ue.unwrap(r);if(null!=i&&c$.isFunction(i))return n;return e(t,i)}case av.AST_NODE_TYPES.MemberExpression:return n;default:return null}}(e,i.value):null}}default:return Px}}(t)}var PS=Pv({meta:{type:"problem",docs:{description:"Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'."},messages:{expectedRemoveEventListenerInCleanup:"An 'addEventListener' in '{{effectMethodKind}}' should have a corresponding 'removeEventListener' in its cleanup function.",unexpectedInlineFunction:"A/an '{{eventMethodKind}}' should not have an inline listener function."},schema:[]},name:"no-leaked-event-listener",create:function(e){if(!e.sourceCode.text.includes("addEventListener")||!/use\w*Effect/u.test(e.sourceCode.text))return{};let t=[],n=[],r=[],i=[];function a(t,n,r){let i=t.arguments.at(1);c$.isFunction(i)&&null==r.signal&&e.report({data:{eventMethodKind:n},messageId:"unexpectedInlineFunction",node:i})}return hr({":function"(e){let n=Py(e)??"other";t.push({kind:n,node:e})},":function:exit"(){t.pop()},CallExpression(o){let s=t.findLast(e=>"other"!==e.kind)?.kind;if(null==s||!Ph.has(s))return;let l=ue.unwrap(o.callee);oi.match(function(e){let t=ue.unwrap(e.callee);switch(!0){case t.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("addEventListener","removeEventListener","abort"))(t.name):return t.name;case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("addEventListener","removeEventListener","abort"))(t.property.name):return t.property.name;default:return"other"}}(o)).with("addEventListener",t=>{if(l.type===av.AST_NODE_TYPES.MemberExpression&&l.object.type===av.AST_NODE_TYPES.Identifier&&mM(l.object.name,e.sourceCode.getScope(o)))return;let[r,i,c]=o.arguments;if(null==r||null==i)return;let u=null==c?Px:PT(e,c),{callee:_}=o;a(o,t,u),n.push({...u,type:r,callee:_,listener:i,method:"addEventListener",node:o,phase:s})}).with("removeEventListener",t=>{let[n,i,l]=o.arguments;if(null==n||null==i)return;let c=null==l?Px:PT(e,l),{callee:u}=o;a(o,t,c),r.push({...c,type:n,callee:u,listener:i,method:"removeEventListener",node:o,phase:s})}).with("abort",()=>{i.push(o.callee)}).otherwise(()=>null)},"Program:exit"(){for(let t of n)if(null==t.signal&&!r.some(n=>(function(t,n){let{type:r,callee:i,capture:a,listener:o,phase:s}=t,{type:l,callee:c,capture:u,listener:_,phase:d}=n;return Ph.get(s)===d&&!0==(i.type===av.AST_NODE_TYPES.MemberExpression&&c.type===av.AST_NODE_TYPES.MemberExpression)&&ur.isEqual(i.object,c.object)&&ur.isEqual(o,_)&&f1(e,r,l)&&a===u})(t,n)))switch(t.phase){case"setup":case"cleanup":e.report({data:{effectMethodKind:"useEffect"},messageId:"expectedRemoveEventListenerInCleanup",node:t.node});continue}}})},defaultOptions:[]}),PE=Pv({meta:{type:"problem",docs:{description:"Enforces that every 'fetch' in a component or custom hook has a corresponding 'AbortController' abort in the cleanup function."},messages:{expectedAbortController:"A 'fetch' must be provided with an 'AbortController' for proper cleanup.",expectedAbortInCleanup:"A 'fetch' started in effect must be aborted with 'AbortController.abort' in the cleanup function."},schema:[]},name:"no-leaked-fetch",create:function(e){if(!e.sourceCode.text.includes("fetch")||!/use\w*Effect/u.test(e.sourceCode.text))return{};let t=[],n=[],r=[];return hr({":function"(e){let n=Py(e)??"other";t.push({kind:n,node:e})},":function:exit"(){t.pop()},CallExpression(i){let a=t.at(-1);if(null!=a&&Ph.has(a.kind))switch(function(e){let t=ue.unwrap(e.callee);switch(!0){case t.type===av.AST_NODE_TYPES.Identifier&&"fetch"===t.name:case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&"fetch"===t.property.name:return"fetch";case t.type===av.AST_NODE_TYPES.Identifier&&"abort"===t.name:case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&"abort"===t.property.name:return"abort";default:return"other"}}(i)){case"fetch":{if("setup"!==a.kind)return;let{controller:t,isParamSignal:r}=function(e,t){let[,n]=t.arguments;if(null==n)return{controller:null,isParamSignal:!1};let r=function(e,t){switch((t=ue.unwrap(t)).type){case av.AST_NODE_TYPES.ObjectExpression:return t;case av.AST_NODE_TYPES.Identifier:{let n=fQ(e,t);if(n=null==n?null:ue.unwrap(n),n?.type===av.AST_NODE_TYPES.ObjectExpression)return n;return null}default:return null}}(e,n);if(null==r)return{controller:null,isParamSignal:!1};let i=function e(t,n){for(let r of t){if(r.type===av.AST_NODE_TYPES.Property&&ue.getPropertyName(r.key)===n)return r;if(r.type===av.AST_NODE_TYPES.SpreadElement&&r.argument.type===av.AST_NODE_TYPES.ObjectExpression){let t=e(r.argument.properties,n);if(null!=t)return t}}return null}(r.properties,"signal");if(i?.type!==av.AST_NODE_TYPES.Property)return{controller:null,isParamSignal:!1};var a=i.value;switch((a=ue.unwrap(a)).type){case av.AST_NODE_TYPES.MemberExpression:return{controller:a.object,isParamSignal:!1};case av.AST_NODE_TYPES.Identifier:{let t=fQ(e,a),n=null==t?null:ue.unwrap(t);if(n?.type===av.AST_NODE_TYPES.MemberExpression)return{controller:n.object,isParamSignal:!1};if(null!=t&&c$.isFunction(t))return{controller:a,isParamSignal:!0};return{controller:null,isParamSignal:!1}}default:return{controller:null,isParamSignal:!1}}}(e,i);n.push({controller:t,isParamSignal:r,node:i,phase:a.kind});break}case"abort":{let e;if("cleanup"!==a.kind)return;let t=(e=ue.unwrap(i.callee)).type===av.AST_NODE_TYPES.MemberExpression?e.object:null;if(null==t)break;r.push({controller:t,node:i,phase:a.kind})}}},"Program:exit"(){for(let t of n){let n=t.controller;if(null==n){e.report({messageId:"expectedAbortController",node:t.node});continue}!t.isParamSignal&&(r.some(t=>f2(e,t.controller,n))||e.report({messageId:"expectedAbortInCleanup",node:t.node}))}}})},defaultOptions:[]}),Pk=Pv({meta:{type:"problem",docs:{description:"Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'."},messages:{expectedClearIntervalInCleanup:"A 'setInterval' created in '{{ kind }}' must be cleared with 'clearInterval' in the cleanup function.",expectedIntervalId:"A 'setInterval' must be assigned to a variable for proper cleanup."},schema:[]},name:"no-leaked-interval",create:function(e){if(!e.sourceCode.text.includes("setInterval"))return{};let t=[],n=[],r=[];return hr({":function"(e){let n=Py(e)??"other";t.push({kind:n,node:e})},":function:exit"(){t.pop()},CallExpression(i){switch(function(e){let t=ue.unwrap(e.callee);switch(!0){case t.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("setInterval","clearInterval"))(t.name):return t.name;case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("setInterval","clearInterval"))(t.property.name):return t.property.name;default:return"other"}}(i)){case"setInterval":{let r=t.findLast(e=>"other"!==e.kind);if(null==r||!Ph.has(r.kind))break;let a=f3(i);if(null==a){e.report({messageId:"expectedIntervalId",node:i});break}n.push({kind:"interval",callee:i.callee,node:i,phase:r.kind,timerId:a});break}case"clearInterval":{let e=t.findLast(e=>"other"!==e.kind);if(null==e||!Ph.has(e.kind))break;let[n]=i.arguments;if(null==n)break;r.push({kind:"interval",callee:i.callee,node:i,phase:e.kind,timerId:n})}}},"Program:exit"(){for(let t of n)if(!r.some(n=>f2(e,t.timerId,n.timerId)))switch(t.phase){case"setup":case"cleanup":e.report({data:{kind:"useEffect"},messageId:"expectedClearIntervalInCleanup",node:t.node});continue}}})},defaultOptions:[]});cK([av.AST_NODE_TYPES.DoWhileStatement,av.AST_NODE_TYPES.ForInStatement,av.AST_NODE_TYPES.ForOfStatement,av.AST_NODE_TYPES.ForStatement,av.AST_NODE_TYPES.WhileStatement]);let PP=cK([av.AST_NODE_TYPES.DoWhileStatement,av.AST_NODE_TYPES.ForInStatement,av.AST_NODE_TYPES.ForOfStatement,av.AST_NODE_TYPES.ForStatement,av.AST_NODE_TYPES.WhileStatement,av.AST_NODE_TYPES.IfStatement,av.AST_NODE_TYPES.SwitchStatement,av.AST_NODE_TYPES.LogicalExpression,av.AST_NODE_TYPES.ConditionalExpression]);function PC(e){if(e?.type!==av.AST_NODE_TYPES.NewExpression)return!1;let t=ue.unwrap(e.callee);return t.type===av.AST_NODE_TYPES.Identifier&&"ResizeObserver"===t.name}function Pw(e,t){switch(!0){case t.type===av.AST_NODE_TYPES.Identifier:{let n=fQ(e,t);return PC(null==n?null:ue.unwrap(n))}case t.type===av.AST_NODE_TYPES.MemberExpression:return Pw(e,t.object);default:return!1}}var PA=Pv({meta:{type:"problem",docs:{description:"Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'."},messages:{expectedDisconnectInControlFlow:"Dynamically added 'ResizeObserver.observe' should be cleared all at once using 'ResizeObserver.disconnect' in the cleanup function.",expectedDisconnectOrUnobserveInCleanup:"A 'ResizeObserver' instance created in 'useEffect' must be disconnected in the cleanup function.",unexpectedFloatingInstance:"A 'ResizeObserver' instance created in component or custom hook must be assigned to a variable for proper cleanup."},schema:[]},name:"no-leaked-resize-observer",create:function(e){if(!e.sourceCode.text.includes("ResizeObserver"))return{};let t=[],n=[],r=[],i=[],a=[];return hr({":function"(e){let n=Py(e)??"other";t.push({kind:n,node:e})},":function:exit"(){t.pop()},CallExpression(n){let o=ue.unwrap(n.callee);if(o.type!==av.AST_NODE_TYPES.MemberExpression)return;let s=t.findLast(e=>"other"!==e.kind)?.kind;if(null==s||!Ph.has(s))return;let{object:l}=o;oi.match(function(e,t){let n=ue.unwrap(t.callee);switch(!0){case n.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("observe","unobserve","disconnect"))(n.name)&&Pw(e,n):return n.name;case n.type===av.AST_NODE_TYPES.MemberExpression&&n.property.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("observe","unobserve","disconnect"))(n.property.name)&&Pw(e,n):return n.property.name;default:return"other"}}(e,n)).with("disconnect",()=>{a.push({kind:"ResizeObserver",callee:n.callee,method:"disconnect",node:n,observer:l,phase:s})}).with("observe",()=>{let[e]=n.arguments;null!=e&&r.push({kind:"ResizeObserver",callee:n.callee,element:e,method:"observe",node:n,observer:l,phase:s})}).with("unobserve",()=>{let[e]=n.arguments;null!=e&&i.push({kind:"ResizeObserver",callee:n.callee,element:e,method:"unobserve",node:n,observer:l,phase:s})}).otherwise(()=>null)},NewExpression(r){let i=t.findLast(e=>"other"!==e.kind);if(null==i||!Ph.has(i.kind)||!PC(r))return;let a=f3(r);null==a?e.report({messageId:"unexpectedFloatingInstance",node:r}):n.push({id:a,node:r,phase:i.kind,phaseNode:i.node})},"Program:exit"(){for(let{id:t,node:o,phaseNode:s}of n){if(a.some(n=>f2(e,n.observer,t)))continue;let n=r.filter(n=>f2(e,n.observer,t)),l=i.filter(n=>f2(e,n.observer,t)),c=e=>e?.type===av.AST_NODE_TYPES.CallExpression||PP(e),u=e=>e===s;if(n.some(e=>!u(ua.findParent(e.node,function(e,t){return n=>e(n)||t(n)}(c,u))))){e.report({messageId:"expectedDisconnectInControlFlow",node:o});continue}for(let t of n)l.some(n=>f2(e,n.element,t.element))||e.report({messageId:"expectedDisconnectOrUnobserveInCleanup",node:t.node})}}})},defaultOptions:[]}),PD=Pv({meta:{type:"problem",docs:{description:"Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'."},messages:{expectedClearTimeoutInCleanup:"A 'setTimeout' created in '{{ kind }}' must be cleared with 'clearTimeout' in the cleanup function.",expectedTimeoutId:"A 'setTimeout' must be assigned to a variable for proper cleanup."},schema:[]},name:"no-leaked-timeout",create:function(e){if(!e.sourceCode.text.includes("setTimeout"))return{};let t=[],n=[],r=[];return hr({":function"(e){let n=Py(e)??"other";t.push({kind:n,node:e})},":function:exit"(){t.pop()},CallExpression(i){let a=t.findLast(e=>"other"!==e.kind);if(Ph.has(a?.kind))switch(function(e){let t=ue.unwrap(e.callee);switch(!0){case t.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("setTimeout","clearTimeout"))(t.name):return t.name;case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("setTimeout","clearTimeout"))(t.property.name):return t.property.name;default:return"other"}}(i)){case"setTimeout":{let t=f3(i);if(null==t){e.report({messageId:"expectedTimeoutId",node:i});break}n.push({kind:"timeout",callee:i.callee,node:i,phase:a.kind,timerId:t});break}case"clearTimeout":{let[e]=i.arguments;if(null==e)break;r.push({kind:"timeout",callee:i.callee,node:i,phase:a.kind,timerId:e})}}},"Program:exit"(){for(let t of n)if(!r.some(n=>f2(e,t.timerId,n.timerId)))switch(t.phase){case"setup":case"cleanup":e.report({data:{kind:"useEffect"},messageId:"expectedClearTimeoutInCleanup",node:t.node});continue}}})},defaultOptions:[]}),PN=Object.defineProperty,PF=(e,t)=>{let n={};for(var r in e)PN(n,r,{get:e[r],enumerable:!0});return PN(n,Symbol.toStringTag,{value:"Module"}),n},PI=PF({name:()=>PO,rules:()=>PL,settings:()=>PM});let PO="@eslint-react/x",PL={"@eslint-react/error-boundaries":"error","@eslint-react/exhaustive-deps":"warn","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/no-array-index-key":"warn","@eslint-react/no-children-count":"warn","@eslint-react/no-children-for-each":"warn","@eslint-react/no-children-map":"warn","@eslint-react/no-children-only":"warn","@eslint-react/no-children-to-array":"warn","@eslint-react/no-clone-element":"warn","@eslint-react/no-component-will-mount":"error","@eslint-react/no-component-will-receive-props":"error","@eslint-react/no-component-will-update":"error","@eslint-react/no-context-provider":"warn","@eslint-react/no-create-ref":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/no-forward-ref":"warn","@eslint-react/no-missing-key":"error","@eslint-react/no-nested-component-definitions":"error","@eslint-react/no-nested-lazy-component-declarations":"error","@eslint-react/no-set-state-in-component-did-mount":"warn","@eslint-react/no-set-state-in-component-did-update":"warn","@eslint-react/no-set-state-in-component-will-update":"warn","@eslint-react/no-unnecessary-use-prefix":"warn","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/no-unused-class-component-members":"warn","@eslint-react/no-use-context":"warn","@eslint-react/purity":"warn","@eslint-react/rules-of-hooks":"error","@eslint-react/set-state-in-effect":"warn","@eslint-react/set-state-in-render":"error","@eslint-react/static-components":"error","@eslint-react/unsupported-syntax":"error","@eslint-react/use-memo":"error","@eslint-react/use-state":"warn"},PM={"react-x":cO};var PR=PF({name:()=>Pj,rules:()=>PY,settings:()=>PU});let Pj="@eslint-react/all",PY={"@eslint-react/error-boundaries":"error","@eslint-react/exhaustive-deps":"warn","@eslint-react/globals":"warn","@eslint-react/immutability":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/no-array-index-key":"warn","@eslint-react/no-children-count":"warn","@eslint-react/no-children-for-each":"warn","@eslint-react/no-children-map":"warn","@eslint-react/no-children-only":"warn","@eslint-react/no-children-to-array":"warn","@eslint-react/no-class-component":"warn","@eslint-react/no-clone-element":"warn","@eslint-react/no-component-will-mount":"error","@eslint-react/no-component-will-receive-props":"error","@eslint-react/no-component-will-update":"error","@eslint-react/no-context-provider":"warn","@eslint-react/no-create-ref":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-forward-ref":"warn","@eslint-react/no-missing-component-display-name":"warn","@eslint-react/no-missing-context-display-name":"warn","@eslint-react/no-missing-key":"error","@eslint-react/no-misused-capture-owner-stack":"error","@eslint-react/no-nested-component-definitions":"error","@eslint-react/no-nested-lazy-component-declarations":"error","@eslint-react/no-set-state-in-component-did-mount":"warn","@eslint-react/no-set-state-in-component-did-update":"warn","@eslint-react/no-set-state-in-component-will-update":"warn","@eslint-react/no-unnecessary-use-prefix":"warn","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/no-unstable-context-value":"warn","@eslint-react/no-unstable-default-props":"warn","@eslint-react/no-unused-class-component-members":"warn","@eslint-react/no-use-context":"warn","@eslint-react/purity":"warn","@eslint-react/refs":"error","@eslint-react/rules-of-hooks":"error","@eslint-react/set-state-in-effect":"warn","@eslint-react/set-state-in-render":"error","@eslint-react/static-components":"error","@eslint-react/unsupported-syntax":"error","@eslint-react/use-memo":"error","@eslint-react/use-state":"warn","@eslint-react/jsx-no-children-prop":"warn","@eslint-react/jsx-no-children-prop-with-children":"error","@eslint-react/jsx-no-comment-textnodes":"warn","@eslint-react/jsx-no-key-after-spread":"error","@eslint-react/jsx-no-leaked-dollar":"warn","@eslint-react/jsx-no-leaked-semicolon":"warn","@eslint-react/jsx-no-namespace":"error","@eslint-react/jsx-no-useless-fragment":"warn","@eslint-react/rsc-function-definition":"error","@eslint-react/dom-no-dangerously-set-innerhtml":"warn","@eslint-react/dom-no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom-no-find-dom-node":"error","@eslint-react/dom-no-flush-sync":"error","@eslint-react/dom-no-hydrate":"error","@eslint-react/dom-no-missing-button-type":"warn","@eslint-react/dom-no-missing-iframe-sandbox":"warn","@eslint-react/dom-no-render":"error","@eslint-react/dom-no-render-return-value":"error","@eslint-react/dom-no-script-url":"warn","@eslint-react/dom-no-string-style-prop":"error","@eslint-react/dom-no-unknown-property":"warn","@eslint-react/dom-no-unsafe-iframe-sandbox":"warn","@eslint-react/dom-no-unsafe-target-blank":"warn","@eslint-react/dom-no-use-form-state":"warn","@eslint-react/dom-no-void-elements-with-children":"error","@eslint-react/web-api-no-leaked-event-listener":"warn","@eslint-react/web-api-no-leaked-fetch":"warn","@eslint-react/web-api-no-leaked-interval":"warn","@eslint-react/web-api-no-leaked-resize-observer":"warn","@eslint-react/web-api-no-leaked-timeout":"warn","@eslint-react/naming-convention-context-name":"warn","@eslint-react/naming-convention-id-name":"warn","@eslint-react/naming-convention-ref-name":"warn"},PU={...PM};var PB=PF({name:()=>PV,rules:()=>PJ});let PV="@eslint-react/disable-conflict-eslint-plugin-react",PJ=kk["disable-conflict-eslint-plugin-react"].rules??{};var Pz=PF({name:()=>Pq,rules:()=>P$});let Pq="@eslint-react/disable-conflict-eslint-plugin-react-hooks",P$=kk["disable-conflict-eslint-plugin-react-hooks"].rules??{};var PW=PF({name:()=>PK,rules:()=>PG});let PK="@eslint-react/dom",PG={"@eslint-react/dom-no-dangerously-set-innerhtml":"warn","@eslint-react/dom-no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom-no-find-dom-node":"error","@eslint-react/dom-no-flush-sync":"error","@eslint-react/dom-no-hydrate":"error","@eslint-react/dom-no-render":"error","@eslint-react/dom-no-render-return-value":"error","@eslint-react/dom-no-script-url":"warn","@eslint-react/dom-no-unsafe-iframe-sandbox":"warn","@eslint-react/dom-no-use-form-state":"error","@eslint-react/dom-no-void-elements-with-children":"error"};var PH=PF({name:()=>PX,rules:()=>PQ});let PX="@eslint-react/disable-dom",PQ=Object.fromEntries(Object.entries(PG).map(([e])=>[e,"off"]));var PZ=PF({name:()=>P0,rules:()=>P1});let P0="@eslint-react/disable-experimental",P1={"@eslint-react/globals":"off","@eslint-react/immutability":"off","@eslint-react/no-duplicate-key":"off","@eslint-react/no-implicit-children":"off","@eslint-react/no-implicit-key":"off","@eslint-react/no-implicit-ref":"off","@eslint-react/no-misused-capture-owner-stack":"off","@eslint-react/no-unused-props":"off","@eslint-react/refs":"off","@eslint-react/set-state-in-render":"off","@eslint-react/static-components":"off","@eslint-react/rsc-function-definition":"off","@eslint-react/web-api-no-leaked-fetch":"off"};var P2=PF({name:()=>P3,rules:()=>P6});let P3="@eslint-react/jsx",P6={"@eslint-react/jsx-no-children-prop":"warn","@eslint-react/jsx-no-children-prop-with-children":"error","@eslint-react/jsx-no-comment-textnodes":"warn","@eslint-react/jsx-no-key-after-spread":"error","@eslint-react/jsx-no-leaked-dollar":"warn","@eslint-react/jsx-no-leaked-semicolon":"warn","@eslint-react/jsx-no-namespace":"error"};var P4=PF({name:()=>P8,rules:()=>P5});let P8="@eslint-react/disable-jsx",P5=Object.fromEntries(Object.entries(P6).map(([e])=>[e,"off"]));var P7=PF({name:()=>P9,rules:()=>Ce});let P9="@eslint-react/naming-convention",Ce={"@eslint-react/naming-convention-context-name":"warn","@eslint-react/naming-convention-id-name":"warn","@eslint-react/naming-convention-ref-name":"warn"};var Ct=PF({name:()=>Cn,rules:()=>Cr});let Cn="@eslint-react/disable-naming-convention",Cr=Object.fromEntries(Object.entries(Ce).map(([e])=>[e,"off"]));var Ci=PF({name:()=>Ca,rules:()=>Co});let Ca="@eslint-react/rsc",Co={"@eslint-react/rsc-function-definition":"error"};var Cs=PF({name:()=>Cl,rules:()=>Cc});let Cl="@eslint-react/disable-rsc",Cc=Object.fromEntries(Object.entries(Co).map(([e])=>[e,"off"]));var Cu=PF({name:()=>C_,rules:()=>Cd});let C_="@eslint-react/disable-type-checked",Cd={"@eslint-react/no-implicit-children":"off","@eslint-react/no-implicit-key":"off","@eslint-react/no-implicit-ref":"off","@eslint-react/no-leaked-conditional-rendering":"off","@eslint-react/no-unused-props":"off"};var Cp=PF({name:()=>Cf,rules:()=>Cm,settings:()=>Cg});let Cf="@eslint-react/web-api",Cm={"@eslint-react/web-api-no-leaked-event-listener":"warn","@eslint-react/web-api-no-leaked-fetch":"warn","@eslint-react/web-api-no-leaked-interval":"warn","@eslint-react/web-api-no-leaked-resize-observer":"warn","@eslint-react/web-api-no-leaked-timeout":"warn"},Cg={...PM};var Ch=PF({name:()=>Cy,rules:()=>Cv});let Cy="@eslint-react/disable-web-api",Cv=Object.fromEntries(Object.entries(Cm).map(([e])=>[e,"off"]));var Cb=PF({name:()=>Cx,rules:()=>CT});let Cx="@eslint-react/off",CT={...Object.fromEntries(Object.entries(PY).map(([e])=>[e,"off"])),...Cd};var CS=PF({name:()=>CE,rules:()=>Ck,settings:()=>CP});let CE="@eslint-react/recommended",Ck={...PL,...P6,...Co,...PG,...Cm,...Ce},CP={...PM};var CC=PF({name:()=>Cw,rules:()=>CA,settings:()=>CD});let Cw="@eslint-react/recommended-typescript",CA={...Ck},CD={...CP};var CN=PF({name:()=>CF,rules:()=>CI,settings:()=>CO});let CF="@eslint-react/recommended-type-checked",CI={...CA,"@eslint-react/no-leaked-conditional-rendering":"error"},CO={...CD};var CL=PF({name:()=>CM,rules:()=>CR,settings:()=>Cj});let CM="@eslint-react/strict",CR={...Ck,"@eslint-react/no-class-component":"error","@eslint-react/no-misused-capture-owner-stack":"error","@eslint-react/no-unstable-context-value":"warn","@eslint-react/no-unstable-default-props":"warn","@eslint-react/jsx-no-children-prop":"error","@eslint-react/jsx-no-useless-fragment":"warn","@eslint-react/dom-no-missing-button-type":"warn","@eslint-react/dom-no-missing-iframe-sandbox":"warn","@eslint-react/dom-no-unsafe-target-blank":"warn"},Cj={...CP};var CY=PF({name:()=>CU,rules:()=>CB,settings:()=>CV});let CU="@eslint-react/strict-typescript",CB={...CR},CV={...Cj};var CJ=PF({name:()=>Cz,rules:()=>Cq,settings:()=>C$});let Cz="@eslint-react/strict-type-checked",Cq={...CB,"@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unused-props":"warn"},C$={...CV};function CW(e,t){if("object"!==Object.prototype.toString.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase())return e;let n={};for(let r in e){let i;n[i=r,`${t}${i}`]=e[r]}return n}let CK={meta:{name:"@eslint-react/eslint-plugin",version:"5.6.0"},rules:{...kE,...CW(kE,"x-"),...CW({"no-children-prop":Pi,"no-children-prop-with-children":Pr,"no-comment-textnodes":Pa,"no-key-after-spread":Po,"no-leaked-dollar":Ps,"no-leaked-semicolon":Pl,"no-namespace":Pc,"no-useless-fragment":P_},"jsx-"),...CW({"function-definition":Pg},"rsc-"),...CW({"no-dangerously-set-innerhtml":kD,"no-dangerously-set-innerhtml-with-children":kC,"no-find-dom-node":kN,"no-flush-sync":kI,"no-hydrate":kL,"no-missing-button-type":kY,"no-missing-iframe-sandbox":kU,"no-render":kz,"no-render-return-value":kJ,"no-script-url":kq,"no-string-style-prop":k$,"no-unknown-property":k4,"no-unsafe-iframe-sandbox":k5,"no-unsafe-target-blank":k7,"no-use-form-state":k9,"no-void-elements-with-children":Pt},"dom-"),...CW({"no-leaked-event-listener":PS,"no-leaked-fetch":PE,"no-leaked-interval":Pk,"no-leaked-resize-observer":PA,"no-leaked-timeout":PD},"web-api-"),...CW({"context-name":Pp,"id-name":Pf,"ref-name":Pm},"naming-convention-")}};function CG(e){return{...e,plugins:{...e.plugins,"@eslint-react":CK}}}let CH={...CK,configs:{all:CG(PR),"disable-conflict-eslint-plugin-react":CG(PB),"disable-conflict-eslint-plugin-react-hooks":CG(Pz),"disable-dom":CG(PH),"disable-experimental":CG(PZ),"disable-jsx":CG(P4),"disable-naming-convention":CG(Ct),"disable-rsc":CG(Cs),"disable-type-checked":CG(Cu),"disable-web-api":CG(Ch),dom:CG(PW),jsx:CG(P2),"naming-convention":CG(P7),off:CG(Cb),recommended:CG(CS),"recommended-type-checked":CG(CN),"recommended-typescript":CG(CC),rsc:CG(Ci),strict:CG(CL),"strict-type-checked":CG(CJ),"strict-typescript":CG(CY),"web-api":CG(Cp),x:CG(PI)}};var CX="@eslint-react/kit";ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/${e}`});let CQ=(t={},n={getConfig:()=>({name:CX,files:["**/*.{js,jsx,cjs,mjs,ts,tsx,cts,mts}"],plugins:{[CX]:n.getPlugin()},rules:Object.keys(t).reduce((e,t)=>(e[`${CX}/${t}`]="error",e),{})}),getPlugin:()=>({meta:{name:CX,version:"5.6.0"},rules:t}),use:(e,...r)=>(Reflect.set(t,""===e.name?ax.randomBytes(8).toString("hex"):cY(cz(cU(e.name),"-")),{meta:{fixable:"code",hasSuggestions:!0},create:t=>e(...r)(t,{ast:{findParent:ua.findParent,unwrap:ue.unwrap},collect:{components(e,t){let{api:n,visitor:r}=g$(e,t);return{query:{all:e=>n.getAllComponents(e)},visitor:r}},hooks(e){let{api:t,visitor:n}=gW(e);return{query:{all:e=>t.getAllHooks(e)},visitor:n}}},flag:{component:gD},hint:{component:{...gM,Default:gR}},is:{API:e=>mI(e)(t),APICall:e=>mO(e)(t),APIFromReact:mL,APIFromReactNative:mM,captureOwnerStackCall:mV(t),childrenCountCall:mJ(t),childrenForEachCall:mz(t),childrenMapCall:mq(t),childrenOnlyCall:m$(t),childrenToArrayCall:mW(t),cloneElementCall:mK(t),componentDecl:(e,n)=>gj(t,e,n),componentName:gI,componentNameLoose:gO,componentWrapperCall:e=>gN(t,e),componentWrapperCallback:e=>(function(e,t){if(!c$.isFunction(t))return!1;let n=t.parent;for(;c$.isTypeExpression(n);)n=n.parent;return n.type===av.AST_NODE_TYPES.CallExpression&&gN(e,n)})(t,e),createContextCall:mG(t),createElementCall:mH(t),createRefCall:mX(t),forwardRefCall:mQ(t),hookCall:gB,hookDecl:gU,hookName:gY,lazyCall:m0(t),memoCall:mZ(t),useActionStateCall:m2(t),useCall:m1(t),useCallbackCall:m3(t),useContextCall:m6(t),useDebugValueCall:m4(t),useDeferredValueCall:m8(t),useEffectCall:m5(t),useEffectCleanupCallback:gq,useEffectLikeCall:gV,useEffectSetupCallback:gz,useFormStatusCall:m7(t),useIdCall:m9(t),useImperativeHandleCall:ge(t),useInsertionEffectCall:gt(t),useLayoutEffectCall:gn(t),useMemoCall:gr(t),useOptimisticCall:gi(t),useReducerCall:ga(t),useRefCall:go(t),useStateCall:gs(t),useStateLikeCall:gJ,useSyncExternalStoreCall:gl(t),useTransitionCall:gc(t)},settings:cM(t)})}),n)}).use(function(){return(e,{is:t,settings:n})=>{let r=new Map,i=[];return{CallExpression(a){if(t.useStateLikeCall(a,n.additionalStateHooks)){let{parent:t}=a;if(t.type===av.AST_NODE_TYPES.VariableDeclarator&&t.id.type===av.AST_NODE_TYPES.ArrayPattern){let[n,i]=t.id.elements;if(n?.type===av.AST_NODE_TYPES.Identifier&&i?.type===av.AST_NODE_TYPES.Identifier){let t=e.sourceCode.getScope(a),o=ab.findVariable(t,n.name),s=ab.findVariable(t,i.name);null!=o&&null!=s&&r.set(s,o)}}return}if(a.callee.type!==av.AST_NODE_TYPES.Identifier)return;let o=e.sourceCode.getScope(a),s=ab.findVariable(o,a.callee.name);null!=s&&i.push({callerVar:s,node:a})},"Program:exit":function(){for(let{callerVar:t,node:n}of i){if(!r.has(t))continue;let i=r.get(t),a=n.arguments[0];if(null==a||function({type:e}){return e===av.AST_NODE_TYPES.FunctionDeclaration||e===av.AST_NODE_TYPES.FunctionExpression||e===av.AST_NODE_TYPES.ArrowFunctionExpression}(a))continue;let[o,s]=a.range;i.references.some(e=>o<=e.identifier.range[0]&&e.identifier.range[1]<=s)&&e.report({node:n,message:`Do not reference '${e.sourceCode.getText(n.callee)}' directly; use the updater function form instead.`})}}}}}).use(function(){return(e,{is:t,settings:n})=>{let{additionalStateHooks:r,additionalEffectHooks:i}=n,a=new Map,o=[];return{CallExpression(n){if(t.useStateLikeCall(n,r)){let{parent:t}=n;if(t.type===av.AST_NODE_TYPES.VariableDeclarator&&t.id.type===av.AST_NODE_TYPES.ArrayPattern){let[r,i]=t.id.elements;if(r?.type===av.AST_NODE_TYPES.Identifier&&i?.type===av.AST_NODE_TYPES.Identifier){let t=e.sourceCode.getScope(n),o=ab.findVariable(t,r.name),s=ab.findVariable(t,i.name);null!=o&&null!=s&&a.set(s,o)}}return}t.useEffectLikeCall(n,i)&&o.push(n)},"Program:exit":function(){let t=new Set(a.values()),n=[];for(let r of o){let i=r.arguments[0],o=r.arguments[1];if(null==i||null==o)continue;let s=[];if(o.type===av.AST_NODE_TYPES.ArrayExpression){for(let n of o.elements)if(n?.type===av.AST_NODE_TYPES.Identifier){let r=e.sourceCode.getScope(n),i=ab.findVariable(r,n.name);null!=i&&t.has(i)&&s.push(i)}}if(0===s.length)continue;let l=[],[c,u]=i.range;for(let[e,t]of a)for(let n of e.references){let[e,r]=n.identifier.range;if(e<c||r>u)continue;let{parent:i}=n.identifier;if(i?.type===av.AST_NODE_TYPES.CallExpression&&i.callee===n.identifier){l.push(t);break}}0!==l.length&&n.push({deps:s,targets:l,node:r})}let r=new Map;for(let{deps:e,targets:t}of n)for(let n of e)for(let e of t)r.has(n)||r.set(n,new Set),r.get(n).add(e);let i=new Set,s=new Set,l=new Set;for(let e of r.keys())!function e(t){if(s.has(t))return!0;if(i.has(t))return!1;i.add(t),s.add(t);let n=!1;for(let i of r.get(t)??[])if(e(i)){l.add(t),l.add(i),n=!0;break}return s.delete(t),n}(e);if(0!==l.size)for(let{deps:t,targets:r,node:i}of n){let n=t.filter(e=>l.has(e)),a=r.filter(e=>l.has(e));if(0===n.length||0===a.length)continue;let o=n.map(e=>e.name).join(", "),s=a.map(e=>e.name).join(", ");e.report({node:i,message:`Circular effect detected: this effect depends on [${o}] and updates [${s}], creating an infinite update loop.`})}}}}}).getConfig(),CZ=ap.memo(CH,"@eslint-react/eslint-plugin"),C0=ap.memo(aR.fixupPluginRules(aM),"eslint-plugin-ssr-friendly");async function C1({opt:e={}}={}){let t=(await import("@stylexjs/eslint-plugin")).default;return[{plugins:{"@stylexjs":ap.asPlugin(t)},files:[ap.constants.GLOB_TS,ap.constants.GLOB_TSX,ap.constants.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",e],"@stylexjs/valid-shorthands":["error",e],"@stylexjs/sort-keys":"off"}}]}exports.next=function(){return[{...af.configs["core-web-vitals"],files:[ap.constants.GLOB_TS,ap.constants.GLOB_TSX,ap.constants.GLOB_JSX],rules:{...af.configs["core-web-vitals"].rules,"@next/next/no-img-element":"off","@next/next/no-html-link-for-pages":"off"}}]},exports.react=function({files:e=[ap.constants.GLOB_TS,ap.constants.GLOB_TSX,ap.constants.GLOB_JSX],additionalHooks:t="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample|useAbortableEffect)",nextjs:n=!1,remix:r=!1,reactRefresh:i={},additionalHooksWithType:a={useLayoutEffect:["useIsomorphicLayoutEffect"],useEffect:["useAbortableEffect"]},additionalComponents:o=[{name:"Link",as:"a",attributes:[{name:"to",as:"href"},{name:"rel",as:"rel"}]}]}={}){let{allowConstantExport:s}=i;e="function"==typeof e?e([ap.constants.GLOB_TS,ap.constants.GLOB_TSX,ap.constants.GLOB_JSX]):aY.castArray(e);let l=[ap.UNSAFE_excludeJsonYamlFiles({name:"@eslint-sukka/react base",files:e,plugins:{"react-prefer-function-component":ap.memo(on,"eslint-plugin-react-prefer-function-component"),...ap.collectPlugins([CZ.configs["strict-type-checked"],CZ.configs.rsc]),"ssr-friendly":C0},settings:{"react-x":{version:"detect",additionalHooks:a,additionalComponents:o}},languageOptions:{globals:ap.globals.browser},rules:{...CZ.configs["strict-type-checked"].rules,...CZ.configs.rsc.rules,"@eslint-react/jsx-no-comment-textnodes":"error","@eslint-react/dom-no-unsafe-target-blank":"error","@eslint-react/jsx-no-children-prop":"error","@eslint-react/dom-no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom-no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom-no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom-no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","react-prefer-function-component/react-prefer-function-component":"error","@eslint-react/dom-no-void-elements-with-children":"error","@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/jsx-no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-component-definitions":"error","@eslint-react/dom-no-missing-iframe-sandbox":"warn","@eslint-react/dom-no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom-no-missing-button-type":"error","@eslint-react/jsx-no-namespace":"error","@eslint-react/no-unnecessary-use-prefix":"error","@eslint-react/use-state":"error","@eslint-react/jsx-no-leaked-semicolon":"warn","@eslint-react/jsx-no-leaked-dollar":"warn","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"],ignoreClassesThatImplementAnInterface:"public-fields"}]}}),ap.withFiles(ap.UNSAFE_excludeJsonYamlFiles({...am.configs.flat["recommended-latest"],rules:{...am.configs.flat["recommended-latest"].rules,"react-hooks/exhaustive-deps":["error",{additionalHooks:t}]}}),e),ap.withFiles(ap.UNSAFE_excludeJsonYamlFiles(aj.eslint_plugin_jsx_a11y_minimal.configs.minimal),e),ap.withFiles(ap.UNSAFE_excludeJsonYamlFiles(aL.configs.recommended_react),e),Object.assign(ap.withFiles(ap.UNSAFE_excludeJsonYamlFiles(CQ),e),{name:"@eslint-sukka/react kit"})];return n?l.push(ap.withFiles(a4.next({allowConstantExport:s}),n)):r?l.push(ap.withFiles(a4.vite({allowExportNames:["meta","links","headers","loader","action"],allowConstantExport:s}),r)):l.push(a4.recommended({allowConstantExport:s})),l},exports.stylex=C1;
|
|
416
|
+
`)}return s;function l(){return i.service.openClientFile(n,r.codeFullText,void 0,r.tsconfigRootDir)}}(r,k,E,t,e);return p("Opened project service file: %o",P),p("Retrieving script info and then program for: %s",E),T=e.service.getScriptInfo(E),(S=e.service.getDefaultProjectForFile(T.fileName,!0).getLanguageService(!0).getProgram())?(p("Found project service program for: %s",E),(0,c.createProjectProgram)(t,[S])):void p("Could not find project service program for: %s",E)};let a=i(vm()),o=i(vE),s=i(TZ),l=r(mA()),c=bd(),u=bf(),_=vP(),d=bE(),p=(0,a.default)("typescript-eslint:typescript-estree:useProgramFromProjectService"),f=new WeakMap;return xq}(),p=(0,t.default)("typescript-eslint:typescript-estree:parser"),f=new Map,m=new Set,g={};return vw}var T1={};function T2(){var e,t,n,r,i,a,o,s,l,c,u;return ae?vt:(ae=1,e=vt&&vt.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),t=vt&&vt.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)},Object.defineProperty(vt,"__esModule",{value:!0}),vt.withoutProjectParserOptions=vt.version=vt.typescriptVersionIsAtLeast=vt.simpleTraverse=vt.clearCandidateTSConfigRootDirs=vt.addCandidateTSConfigRootDir=vt.parseAndGenerateServices=vt.parse=vt.TSError=vt.createProgram=vt.getCanonicalFileName=void 0,t(function(){if(i7)return vn;i7=1,Object.defineProperty(vn,"__esModule",{value:!0}),vn.clearProgramCache=void 0,vn.clearCaches=a;let e=vC(),t=T0(),n=bP(),r=xJ(),i=xY();function a(){(0,n.clearCandidateTSConfigRootDirs)(),(0,t.clearDefaultProjectMatchedFiles)(),(0,t.clearProgramCache)(),(0,e.clearWatchCaches)(),(0,r.clearTSConfigMatchCache)(),(0,r.clearTSServerProjectService)(),(0,i.clearGlobCache)()}return vn.clearProgramCache=a,vn}(),vt),t(bl(),vt),n=vP(),Object.defineProperty(vt,"getCanonicalFileName",{enumerable:!0,get:function(){return n.getCanonicalFileName}}),r=bg(),Object.defineProperty(vt,"createProgram",{enumerable:!0,get:function(){return r.createProgramFromConfigFile}}),t(v6(),vt),i=bt(),Object.defineProperty(vt,"TSError",{enumerable:!0,get:function(){return i.TSError}}),a=T0(),Object.defineProperty(vt,"parse",{enumerable:!0,get:function(){return a.parse}}),Object.defineProperty(vt,"parseAndGenerateServices",{enumerable:!0,get:function(){return a.parseAndGenerateServices}}),o=bP(),Object.defineProperty(vt,"addCandidateTSConfigRootDir",{enumerable:!0,get:function(){return o.addCandidateTSConfigRootDir}}),Object.defineProperty(vt,"clearCandidateTSConfigRootDirs",{enumerable:!0,get:function(){return o.clearCandidateTSConfigRootDirs}}),s=ba(),Object.defineProperty(vt,"simpleTraverse",{enumerable:!0,get:function(){return s.simpleTraverse}}),t(be(),vt),l=v3(),Object.defineProperty(vt,"typescriptVersionIsAtLeast",{enumerable:!0,get:function(){return l.typescriptVersionIsAtLeast}}),c=xV(),Object.defineProperty(vt,"version",{enumerable:!0,get:function(){return c.version}}),i9||(i9=1,Object.defineProperty(T1,"__esModule",{value:!0}),T1.withoutProjectParserOptions=function(e){let{EXPERIMENTAL_useProjectService:t,project:n,projectService:r,...i}=e;return i}),u=T1,Object.defineProperty(vt,"withoutProjectParserOptions",{enumerable:!0,get:function(){return u.withoutProjectParserOptions}}),vt)}var T3={},T6={};function T4(){if(ai)return y7;ai=1;var e,t=y7&&y7.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=y7&&y7.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=y7&&y7.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(y7,"__esModule",{value:!0}),y7.valueMatchesSomeSpecifier=y7.typeMatchesSomeSpecifier=y7.typeOrValueSpecifiersSchema=void 0,y7.typeMatchesSpecifier=c,y7.valueMatchesSpecifier=u;let i=r(y$),a=(nM||(nM=1,Object.defineProperty(y9,"__esModule",{value:!0}),y9.specifierNameMatches=function(e,t){"string"==typeof t&&(t=[t]);let n=e.aliasSymbol??e.getSymbol(),r=n?[n.escapedName,e.intrinsicName]:[e.intrinsicName];return!!t.some(e=>r.includes(e))}),y9),o=function(){if(at)return ve;at=1;var e=ve&&ve.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ve,"__esModule",{value:!0}),ve.typeDeclaredInFile=function(e,r,i){if(null==e){let e=(0,t.getCanonicalFileName)(i.getCurrentDirectory());return r.some(n=>(0,t.getCanonicalFileName)(n.fileName).startsWith(e))}let a=(0,t.getCanonicalFileName)(n.default.join(i.getCurrentDirectory(),e));return r.some(e=>(0,t.getCanonicalFileName)(e.fileName)===a)};let t=T2(),n=e(vE);return ve}(),s=(an||(an=1,Object.defineProperty(T3,"__esModule",{value:!0}),T3.typeDeclaredInLib=function(e,t){return 0===e.length||e.some(e=>t.isSourceFileDefaultLibrary(e))}),T3),l=function(){if(ar)return T6;ar=1;var e,t=T6&&T6.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T6&&T6.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=T6&&T6.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(T6,"__esModule",{value:!0}),T6.typeDeclaredInPackageDeclarationFile=function(e,t,n,r){let a,o;return t.some(t=>(function e(t){switch(t.kind){case i.SyntaxKind.ModuleDeclaration:if(t.flags&i.NodeFlags.Namespace)break;return i.isStringLiteral(t.name)?t:void 0;case i.SyntaxKind.SourceFile:return}return e(t.parent)})(t)?.name.text===e)||(a=e.replace(/^@([^/]+)\//,"$1__"),o=RegExp(`${e}|${a}`),n.some(e=>{let t=r.sourceFileToPackageName.get(e.path);return null!=t&&o.test(t)&&r.isSourceFileFromExternalLibrary(e)}))};let i=r(mA());return T6}();function c(e,t,n){return i.isUnionType(e)?e.types.every(e=>c(e,t,n)):!!((()=>{if(i.isIntrinsicErrorType(e))return!1;if("string"==typeof t)return(0,a.specifierNameMatches)(e,t);if(!(0,a.specifierNameMatches)(e,t.name))return!1;let r=e.getSymbol()??e.aliasSymbol,c=r?.getDeclarations()??[],u=c.map(e=>e.getSourceFile());switch(t.from){case"file":return(0,o.typeDeclaredInFile)(t.path,u,n);case"lib":return(0,s.typeDeclaredInLib)(u,n);case"package":return(0,l.typeDeclaredInPackageDeclarationFile)(t.package,c,u,n)}})()||i.isIntersectionType(e)&&i.intersectionConstituents(e).some(e=>c(e,t,n)))}function u(e,t,n,r){let i,a=e.type===uv.AST_NODE_TYPES.Identifier||e.type===uv.AST_NODE_TYPES.JSXIdentifier||e.type===uv.AST_NODE_TYPES.PrivateIdentifier?e.name:e.type===uv.AST_NODE_TYPES.Literal&&"string"==typeof e.value?e.value:void 0;if(!a)return!1;if("string"==typeof t)return t===a;if(!("string"==typeof(i=t.name)?[i]:i).includes(a))return!1;if("package"===t.from){let e=r.getSymbol()??r.aliasSymbol,i=e?.getDeclarations()??[],a=i.map(e=>e.getSourceFile());return(0,l.typeDeclaredInPackageDeclarationFile)(t.package,i,a,n)}return!0}return y7.typeOrValueSpecifiersSchema={items:{oneOf:[{type:"string"},{additionalProperties:!1,properties:{from:{enum:["file"],type:"string"},name:{oneOf:[{type:"string"},{items:{type:"string"},minItems:1,type:"array",uniqueItems:!0}]},path:{type:"string"}},required:["from","name"],type:"object"},{additionalProperties:!1,properties:{from:{enum:["lib"],type:"string"},name:{oneOf:[{type:"string"},{items:{type:"string"},minItems:1,type:"array",uniqueItems:!0}]}},required:["from","name"],type:"object"},{additionalProperties:!1,properties:{from:{enum:["package"],type:"string"},name:{oneOf:[{type:"string"},{items:{type:"string"},minItems:1,type:"array",uniqueItems:!0}]},package:{type:"string"}},required:["from","name","package"],type:"object"}]},type:"array"},y7.typeMatchesSomeSpecifier=(e,t=[],n)=>t.some(t=>c(e,t,n)),y7.valueMatchesSomeSpecifier=(e,t=[],n,r)=>t.some(t=>u(e,t,n,r)),y7}var T8={},T5={};function T7(){if(ao)return T5;ao=1;var e,t=T5&&T5.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T5&&T5.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=T5&&T5.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i}),i=T5&&T5.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(T5,"__esModule",{value:!0}),T5.isNullableType=function(e){return(0,l.isTypeFlagSet)(e,s.TypeFlags.Any|s.TypeFlags.Unknown|s.TypeFlags.Null|s.TypeFlags.Undefined|s.TypeFlags.Void)},T5.isTypeArrayTypeOrUnionOfArrayTypes=function(e,t){for(let n of o.unionConstituents(e))if(!t.isArrayType(n))return!1;return!0},T5.isTypeNeverType=function(e){return(0,l.isTypeFlagSet)(e,s.TypeFlags.Never)},T5.isTypeUnknownType=u,T5.isTypeReferenceType=function(e){return(e.flags&d)!=0&&(e.objectFlags&s.ObjectFlags.Reference)!=0},T5.isTypeAnyType=p,T5.isTypeAnyArrayType=function(e,t){return t.isArrayType(e)&&p(t.getTypeArguments(e)[0])},T5.isTypeUnknownArrayType=function(e,t){return t.isArrayType(e)&&u(t.getTypeArguments(e)[0])},T5.typeIsOrHasBaseType=function(e,t){let n=t.getSymbol();if(!e.getSymbol()||!n)return!1;let r=[e],i=e.getBaseTypes();for(let e of(i&&r.push(...i),r)){let t=e.getSymbol();if(t?.name===n.name)return!0}return!1},T5.isTypeBigIntLiteralType=function(e){return(0,l.isTypeFlagSet)(e,s.TypeFlags.BigIntLiteral)},T5.isTypeTemplateLiteralType=function(e){return(0,l.isTypeFlagSet)(e,s.TypeFlags.TemplateLiteral)};let a=i(vm()),o=r(y$),s=r(mA()),l=yX(),c=(0,a.default)("typescript-eslint:type-utils:predicates");function u(e){return(0,l.isTypeFlagSet)(e,s.TypeFlags.Unknown)}let _=s.TypeFlags.Undefined|s.TypeFlags.Null,d=s.TypeFlags.Any|_|s.TypeFlags.Never|s.TypeFlags.Object|s.TypeFlags.Union|s.TypeFlags.Intersection;function p(e){return!!(0,l.isTypeFlagSet)(e,s.TypeFlags.Any)&&("error"===e.intrinsicName&&c('Found an "error" any type'),!0)}return T5}var T9={},Se={},St=function(){var e,t,n;return au?hf:(au=1,e=hf&&hf.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),t=hf&&hf.__exportStar||function(t,n){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||e(n,t,r)},Object.defineProperty(hf,"__esModule",{value:!0}),hf.typescriptVersionIsAtLeast=hf.getModifiers=hf.getDecorators=void 0,t(function(){if(nP)return hm;nP=1;var e,t=hm&&hm.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=hm&&hm.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=hm&&hm.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(hm,"__esModule",{value:!0}),hm.isPromiseLike=function(e,t){return u(e,t,"Promise")},hm.isPromiseConstructorLike=function(e,t){return u(e,t,"PromiseConstructor")},hm.isErrorLike=s,hm.isReadonlyErrorLike=function e(t,n){return l(t,n,n=>{let[r]=n.aliasTypeArguments;return s(t,r)||e(t,r)})},hm.isReadonlyTypeLike=l,hm.isBuiltinTypeAliasLike=c,hm.isBuiltinSymbolLike=u,hm.isBuiltinSymbolLikeRecurser=_;let i=r(y$),a=r(mA()),o=yK();function s(e,t){return u(e,t,"Error")}function l(e,t,n){return c(e,t,e=>"Readonly"===e.aliasSymbol.getName()&&!!n?.(e))}function c(e,t,n){return _(e,t,t=>{let{aliasSymbol:r,aliasTypeArguments:i}=t;return!!r&&!!i&&(!!((0,o.isSymbolFromDefaultLibrary)(e,r)&&n(t))||null)})}function u(e,t,n){return _(e,t,t=>{let r=t.getSymbol();if(!r)return!1;let i=r.getName();return!!((Array.isArray(n)?n.some(e=>i===e):i===n)&&(0,o.isSymbolFromDefaultLibrary)(e,r))||null})}function _(e,t,n){if(t.isIntersection())return t.types.some(t=>_(e,t,n));if(t.isUnion())return t.types.every(t=>_(e,t,n));if(i.isTypeParameter(t)){let r=t.getConstraint();return!!r&&_(e,r,n)}let r=n(t);if("boolean"==typeof r)return r;let o=t.getSymbol();if(o&&i.isSymbolFlagSet(o,a.SymbolFlags.Class|a.SymbolFlags.Interface)){let t=e.getTypeChecker(),r=t.getDeclaredTypeOfSymbol(o);for(let i of t.getBaseTypes(r))if(_(e,i,n))return!0}return!1}return hm}(),hf),t(function(){if(nw)return yG;nw=1;var e,t=yG&&yG.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=yG&&yG.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=yG&&yG.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(yG,"__esModule",{value:!0}),yG.containsAllTypesByName=function e(t,n,r,s=!1){if((0,o.isTypeFlagSet)(t,a.TypeFlags.Any|a.TypeFlags.Unknown))return!n;i.isTypeReference(t)&&(t=t.target);let l=t.getSymbol();if(l&&r.has(l.name))return!0;let c=t=>e(t,n,r,s);if(i.isUnionOrIntersectionType(t))return s?t.types.some(c):t.types.every(c);let u=t.getBaseTypes();return null!=u&&(s?u.some(c):u.length>0&&u.every(c))};let i=r(y$),a=r(mA()),o=yX();return yG}(),hf),t((nA||(nA=1,Object.defineProperty(yQ,"__esModule",{value:!0}),yQ.getConstrainedTypeAtLocation=function(e,t){let n=e.getTypeAtLocation(t);return e.program.getTypeChecker().getBaseConstraintOfType(n)??n}),yQ),hf),t(function(){if(nD)return yZ;nD=1;var e,t=yZ&&yZ.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=yZ&&yZ.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=yZ&&yZ.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(yZ,"__esModule",{value:!0}),yZ.getContextualType=function(e,t){let n=t.parent;if(i.isCallExpression(n)||i.isNewExpression(n)){if(t===n.expression)return}else if(i.isVariableDeclaration(n)||i.isPropertyDeclaration(n)||i.isParameter(n))return n.type?e.getTypeFromTypeNode(n.type):void 0;else if(i.isJsxExpression(n))return e.getContextualType(n);else if(i.isIdentifier(t)&&(i.isPropertyAssignment(n)||i.isShorthandPropertyAssignment(n)));else if(i.isBinaryExpression(n)&&n.operatorToken.kind===i.SyntaxKind.EqualsToken&&n.right===t)return e.getTypeAtLocation(n.left);else if(![i.SyntaxKind.JsxExpression,i.SyntaxKind.TemplateSpan].includes(n.kind))return;return e.getContextualType(t)};let i=r(mA());return yZ}(),hf),t((nN||(nN=1,Object.defineProperty(y0,"__esModule",{value:!0}),y0.getDeclaration=function(e,t){let n=e.getSymbolAtLocation(t);if(!n)return null;let r=n.getDeclarations();return r?.[0]??null}),y0),hf),t(function(){if(nF)return y1;nF=1;var e,t=y1&&y1.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=y1&&y1.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=y1&&y1.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(y1,"__esModule",{value:!0}),y1.getSourceFileOfNode=function(e){for(;e.kind!==i.SyntaxKind.SourceFile;)e=e.parent;return e};let i=r(mA());return y1}(),hf),t(function(){if(nI)return y2;nI=1;var e,t=y2&&y2.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=y2&&y2.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=y2&&y2.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(y2,"__esModule",{value:!0}),y2.getTypeName=function e(t,n){if(i.isTypeFlagSet(n,a.TypeFlags.StringLike))return"string";if(i.isTypeFlagSet(n,a.TypeFlags.TypeParameter)){let r=n.getSymbol(),i=r?.getDeclarations(),o=i?.[0];if(null!=o&&a.isTypeParameterDeclaration(o)&&null!=o.constraint)return e(t,t.getTypeFromTypeNode(o.constraint))}return n.isUnion()&&n.types.map(n=>e(t,n)).every(e=>"string"===e)||n.isIntersection()&&n.types.map(n=>e(t,n)).some(e=>"string"===e)?"string":t.typeToString(n)};let i=r(y$),a=r(mA());return y2}(),hf),t(yK(),hf),t(function(){if(nO)return y3;nO=1;var e,t=y3&&y3.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=y3&&y3.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=y3&&y3.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(y3,"__esModule",{value:!0}),y3.isTypeBrandedLiteralLike=function(e){return e.isUnion()?e.types.every(o):o(e)};let i=r(y$),a=r(mA());function o(e){if(!e.isIntersection())return!1;let t=!1,n=!1;for(let r of e.types)if(!r.getCallSignatures().length&&!r.getConstructSignatures().length&&i.isObjectType(r))n=!0;else{if(!(r.isLiteral()||i.isTypeFlagSet(r,a.TypeFlags.BigInt|a.TypeFlags.Number|a.TypeFlags.String|a.TypeFlags.TemplateLiteral)))return!1;t=!0}return n&&t}return y3}(),hf),t((aa||(aa=1,!function(e){var t,n,r,i=y6&&y6.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=y6&&y6.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=y6&&y6.__importStar||(t=function(e){return(t=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)},function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var r=t(e),o=0;o<r.length;o++)"default"!==r[o]&&i(n,e,r[o]);return a(n,e),n});Object.defineProperty(e,"__esModule",{value:!0}),e.readonlynessOptionsDefaults=e.readonlynessOptionsSchema=void 0,e.isTypeReadonly=function(t,n,i=e.readonlynessOptionsDefaults){return p(t,n,i,new Set)===r.Readonly};let s=o(y$),l=o(mA()),c=y5(),u=T4();function _(e){return Object.hasOwn(e,"symbol")}function d(e,t,n,i){let a=e.getTypeChecker();function o(o){let s=a.getIndexInfoOfType(t,o);return s?s.isReadonly?s.type===t||i.has(s.type)?r.Readonly:p(e,s.type,n,i):r.Mutable:r.UnknownType}let u=t.getProperties();if(u.length){for(let e of u){if(n.treatMethodsAsReadonly){if(null!=e.valueDeclaration&&_(e.valueDeclaration)&&s.isSymbolFlagSet(e.valueDeclaration.symbol,l.SymbolFlags.Method))continue;let t=e.getDeclarations(),n=null!=t&&t.length>0?t[t.length-1]:void 0;if(null!=n&&_(n)&&s.isSymbolFlagSet(n.symbol,l.SymbolFlags.Method))continue}if(s.isPropertyReadonlyInType(t,e.getEscapedName(),a))continue;let i=l.getNameOfDeclaration(e.valueDeclaration);if(!(i&&l.isPrivateIdentifier(i)))return r.Mutable}for(let o of u){let s=y4.ESLintUtils.nullThrows((0,c.getTypeOfPropertyOfType)(a,t,o),y4.ESLintUtils.NullThrowsReasons.MissingToken(`property "${o.name}"`,"type"));if(!i.has(s)&&p(e,s,n,i)===r.Mutable)return r.Mutable}}let d=o(l.IndexKind.String);if(d===r.Mutable)return d;let f=o(l.IndexKind.Number);return f===r.Mutable?f:r.Readonly}function p(e,t,n,i){let a=e.getTypeChecker();if(i.add(t),t.aliasSymbol&&n.allow){let e=t.aliasSymbol;if(n.allow.some(t=>{let n="string"==typeof t?t:t.name;return(Array.isArray(n)?n:[n]).includes(e.getName())}))return r.Readonly}if((0,u.typeMatchesSomeSpecifier)(t,n.allow,e))return r.Readonly;if(s.isUnionType(t))return s.unionConstituents(t).every(t=>i.has(t)||p(e,t,n,i)===r.Readonly)?r.Readonly:r.Mutable;if(s.isIntersectionType(t)){if(t.types.some(e=>a.isArrayType(e)||a.isTupleType(e)))return t.types.every(t=>i.has(t)||p(e,t,n,i)===r.Readonly)?r.Readonly:r.Mutable;let o=d(e,t,n,i);if(o!==r.UnknownType)return o}if(s.isConditionalType(t))return[t.root.node.trueType,t.root.node.falseType].map(a.getTypeFromTypeNode).every(t=>i.has(t)||p(e,t,n,i)===r.Readonly)?r.Readonly:r.Mutable;if(!s.isObjectType(t)||t.getCallSignatures().length>0&&0===t.getProperties().length)return r.Readonly;let o=function(e,t,n,i){let a=e.getTypeChecker();function o(t){let o=a.getTypeArguments(t);return 0===o.length?r.Readonly:o.some(t=>p(e,t,n,i)===r.Mutable)?r.Mutable:r.Readonly}return a.isArrayType(t)?"Array"===y4.ESLintUtils.nullThrows(t.getSymbol(),y4.ESLintUtils.NullThrowsReasons.MissingToken("symbol","array type")).getEscapedName()?r.Mutable:o(t):a.isTupleType(t)?t.target.readonly?o(t):r.Mutable:r.UnknownType}(e,t,n,i);if(o!==r.UnknownType)return o;let l=d(e,t,n,i);if(l!==r.UnknownType)return l;throw Error("Unhandled type")}(n=r||(r={}))[n.UnknownType=1]="UnknownType",n[n.Mutable=2]="Mutable",n[n.Readonly=3]="Readonly",e.readonlynessOptionsSchema={additionalProperties:!1,properties:{allow:u.typeOrValueSpecifiersSchema,treatMethodsAsReadonly:{type:"boolean"}},type:"object"},e.readonlynessOptionsDefaults={allow:[],treatMethodsAsReadonly:!1}}(y6)),y6),hf),t(function(){if(as)return T8;as=1;var e,t=T8&&T8.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T8&&T8.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=T8&&T8.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(T8,"__esModule",{value:!0}),T8.isUnsafeAssignment=function(e,t,n,r){return function e(t,n,r,o,s){if((0,a.isTypeAnyType)(t)){if((0,a.isTypeUnknownType)(n))return!1;if(!(0,a.isTypeAnyType)(n))return{receiver:n,sender:t}}let l=s.get(t);if(l){if(l.has(n))return!1;l.add(n)}else s.set(t,new Set([n]));if(i.isTypeReference(t)&&i.isTypeReference(n)){if(t.target!==n.target||o?.type===y4.AST_NODE_TYPES.NewExpression&&o.callee.type===y4.AST_NODE_TYPES.Identifier&&"Map"===o.callee.name&&0===o.arguments.length&&null==o.typeArguments)return!1;let i=t.typeArguments??[],a=n.typeArguments??[];for(let l=0;l<i.length;l+=1)if(e(i[l],a[l],r,o,s))return{receiver:n,sender:t}}return!1}(e,t,n,r,new Map)};let i=r(y$),a=T7();return T8}(),hf),t(T7(),hf),t(y5(),hf),t(function(){if(al)return T9;al=1;var e,t=T9&&T9.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=T9&&T9.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=T9&&T9.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var a=e(r),o=0;o<a.length;o++)"default"!==a[o]&&t(i,r,a[o]);return n(i,r),i});Object.defineProperty(T9,"__esModule",{value:!0}),T9.requiresQuoting=function(e,t=i.ScriptTarget.ESNext){if(0===e.length||!i.isIdentifierStart(e.charCodeAt(0),t))return!0;for(let n=1;n<e.length;n+=1)if(!i.isIdentifierPart(e.charCodeAt(n),t))return!0;return!1};let i=r(mA());return T9}(),hf),t(yX(),hf),t(T4(),hf),t(function(){if(ac)return Se;ac=1;var e,t,n,r=Se&&Se.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=Se&&Se.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=Se&&Se.__importStar||(e=function(t){return(e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(t)},function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var a=e(t),o=0;o<a.length;o++)"default"!==a[o]&&r(n,t,a[o]);return i(n,t),n});Object.defineProperty(Se,"__esModule",{value:!0}),Se.AnyType=void 0,Se.discriminateAnyType=function(e,t,r,i){return function e(t,r,i,a,l){if(l.has(t))return n.Safe;if(l.add(t),(0,s.isTypeAnyType)(t))return n.Any;if((0,s.isTypeAnyArrayType)(t,r))return n.AnyArray;for(let s of o.typeConstituents(t))if(o.isThenableType(r,a,s)){let t=r.getAwaitedType(s);if(t&&e(t,r,i,a,l)===n.Any)return n.PromiseAny}return n.Safe}(e,t,r,i,new Set)};let o=a(y$),s=T7();return(t=n||(Se.AnyType=n={}))[t.Any=0]="Any",t[t.PromiseAny=1]="PromiseAny",t[t.AnyArray=2]="AnyArray",t[t.Safe=3]="Safe",Se}(),hf),n=T2(),Object.defineProperty(hf,"getDecorators",{enumerable:!0,get:function(){return n.getDecorators}}),Object.defineProperty(hf,"getModifiers",{enumerable:!0,get:function(){return n.getModifiers}}),Object.defineProperty(hf,"typescriptVersionIsAtLeast",{enumerable:!0,get:function(){return n.typescriptVersionIsAtLeast}}),hf)}(),Sn=T2(),Sr=Object.defineProperty,Si=(e,t)=>{let n={};for(var r in e)Sr(n,r,{get:e[r],enumerable:!0});return Sr(n,Symbol.toStringTag,{value:"Module"}),n},Sa=Si({name:()=>So,rules:()=>Ss});let So="react-x/disable-conflict-eslint-plugin-react",Ss=Object.fromEntries(["react/button-has-type","react/destructuring-assignment","react/display-name","react/forbid-prop-types","react/forward-ref-uses-ref","react/hook-use-state","react/iframe-missing-sandbox","react/jsx-boolean-value","react/jsx-filename-extension","react/jsx-fragments","react/jsx-key","react/jsx-no-comment-textnodes","react/jsx-no-constructed-context-values","react/jsx-no-leaked-render","react/jsx-no-script-url","react/jsx-no-target-blank","react/jsx-no-useless-fragment","react/jsx-pascal-case","react/no-access-state-in-setstate","react/no-array-index-key","react/no-children-prop","react/no-danger","react/no-danger-with-children","react/no-deprecated","react/no-did-mount-set-state","react/no-did-update-set-state","react/no-direct-mutation-state","react/no-find-dom-node","react/no-namespace","react/no-object-type-as-default-prop","react/no-render-return-value","react/no-string-refs","react/no-unknown-property","react/no-unsafe","react/no-unstable-nested-components","react/no-unused-class-component-members","react/no-unused-state","react/no-will-update-set-state","react/prop-types","react/void-dom-elements-no-children"].map(e=>[e,"off"]));var Sl=Si({name:()=>Sc,rules:()=>Su});let Sc="react-x/disable-conflict-eslint-plugin-react-hooks",Su=Object.fromEntries(["react-hooks/exhaustive-deps","react-hooks/rules-of-hooks","react-hooks/error-boundaries","react-hooks/globals","react-hooks/immutability","react-hooks/purity","react-hooks/refs","react-hooks/set-state-in-effect","react-hooks/set-state-in-render","react-hooks/unsupported-syntax","react-hooks/use-memo"].map(e=>[e,"off"])),S_=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/${e}`});var Sd=S_({meta:{type:"problem",docs:{description:"Validates usage of Error Boundaries instead of try/catch for errors in child components."},messages:{tryCatchWithJsx:"Use an Error Boundary to catch errors in child components. Try/catch can't catch errors during React's rendering process.",tryCatchWithUse:"Use an Error Boundary instead of try/catch around the 'use' hook. The 'use' hook suspends the component, and its errors can only be caught by Error Boundaries."},schema:[]},name:"error-boundaries",create:function(e){if(!e.sourceCode.text.includes("try"))return{};let t=mn.DoNotIncludeJsxWithNullValue|mn.DoNotIncludeJsxWithNumberValue|mn.DoNotIncludeJsxWithBigIntValue|mn.DoNotIncludeJsxWithStringValue|mn.DoNotIncludeJsxWithBooleanValue|mn.DoNotIncludeJsxWithUndefinedValue|mn.DoNotIncludeJsxWithEmptyArrayValue,n=g$(e),r=gW(e),i=new Set,a=new Set;return hr(n.visitor,r.visitor,{CallExpression(t){m1(e,t)&&a.add(t)},"Program:exit"(o){let s=[...n.api.getAllComponents(o),...r.api.getAllHooks(o)];for(let t of a){let n=Sp(t),r=ua.findParent(n,e=>s.some(t=>t.node===e));null==n||null==r||i.has(n)||(e.report({messageId:"tryCatchWithUse",node:n}),i.add(n))}for(let{rets:n}of s)for(let r of n){if(null==r||!mi(e,r,t))continue;let n=Sp(r);null==n||i.has(n)||(e.report({messageId:"tryCatchWithJsx",node:n}),i.add(n))}}})},defaultOptions:[]});function Sp(e){let t=ua.findParent(e,cW(av.AST_NODE_TYPES.TryStatement));return null==t?null:null!=ua.findParent(e,e=>e===t.block)?t:Sp(t)}let Sf={meta:{type:"suggestion",docs:{description:"Verifies the list of dependencies for Hooks like 'useEffect' and similar.",recommended:!0,url:"https://github.com/facebook/react/issues/14920"},fixable:"code",hasSuggestions:!0,schema:[{type:"object",additionalProperties:!1,enableDangerousAutofixThisMayCauseInfiniteLoops:!1,properties:{additionalHooks:{type:"string"},enableDangerousAutofixThisMayCauseInfiniteLoops:{type:"boolean"},experimental_autoDependenciesHooks:{type:"array",items:{type:"string"}},requireExplicitEffectDeps:{type:"boolean"}}}]},create(e){let t=e.options&&e.options[0],n=t&&t.additionalHooks?new RegExp(t.additionalHooks):cM(e).additionalEffectHooks,r=t&&t.enableDangerousAutofixThisMayCauseInfiniteLoops||!1,i={additionalHooks:n,experimental_autoDependenciesHooks:t&&Array.isArray(t.experimental_autoDependenciesHooks)?t.experimental_autoDependenciesHooks:[],requireExplicitEffectDeps:t&&t.requireExplicitEffectDeps||!1};function a(t){r&&Array.isArray(t.suggest)&&t.suggest.length>0&&t.suggest[0]&&(t.fix=t.suggest[0].fix),e.report(t)}let o="function"==typeof e.getSourceCode?()=>e.getSourceCode():()=>e.sourceCode,s="function"==typeof e.getScope?()=>e.getScope():t=>e.sourceCode.getScope(t),l=o().scopeManager,c=new WeakMap,u=new WeakSet,_=new WeakMap,d=new WeakMap,p=new WeakSet;function f(e,t){return function(n){if(t.has(n))return t.get(n);let r=e(n);return t.set(n,r),r}}function m(e,t,n,r,i,s){i&&e.async&&a({node:e,message:"Effect callbacks are synchronous to prevent race conditions. Put the async function inside:\n\nuseEffect(() => {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching"});let m=l.acquire(e);if(!m)throw Error("Unable to acquire scope for the current node. This is a bug in eslint-plugin-react-hooks, please file an issue.");let g=new Set,h=null;{let e=m.upper;for(;e&&(g.add(e),"function"!==e.type&&"hook"!==e.type&&"component"!==e.type);)e=e.upper;if(!e)return;h=e}let y=Array.isArray,b=f(function(e){var t;if(!y(e.defs))return!1;let n=e.defs[0];if(null==n)return!1;let r=n.node;if("VariableDeclarator"!==r.type)return!1;let i=r.init;if(null==i)return!1;for(;"TSAsExpression"===i.type||"AsExpression"===i.type;)i=i.expression;let a=r.parent;if(null==a&&null!=h&&(Sv(h.block,n.node.id),null==(a=n.node.parent)))return!1;if(null!=a&&"kind"in a&&"const"===a.kind&&"Literal"===i.type&&("string"==typeof i.value||"number"==typeof i.value||null===i.value))return!0;if("CallExpression"!==i.type)return!1;let o=i.callee;if("MemberExpression"===o.type&&"name"in o.object&&"React"===o.object.name&&null!=o.property&&!o.computed&&(o=o.property),"Identifier"!==o.type)return!1;let s=n.node.id,{name:l}=o;if("useRef"===l&&"Identifier"===s.type)return!0;if("Identifier"===(t=o).type&&"useEffectEvent"===t.name&&"Identifier"===s.type){for(let t of e.references)t!==s&&p.add(t.identifier);return!0}if("useState"===l||"useReducer"===l||"useActionState"===l){if("ArrayPattern"===s.type&&2===s.elements.length&&y(e.identifiers)){if(s.elements[1]===e.identifiers[0]){if("useState"===l){let t=e.references,n=0;for(let e of t){if(e.isWrite()&&n++,n>1)return!1;c.set(e.identifier,s.elements[0])}}return!0}else if(s.elements[0]===e.identifiers[0]&&"useState"===l)for(let t of e.references)u.add(t.identifier)}}else if("useTransition"===l&&"ArrayPattern"===s.type&&2===s.elements.length&&Array.isArray(e.identifiers)&&s.elements[1]===e.identifiers[0])return!0;return!1},_),x=f(function(e){if(!y(e.defs))return!1;let t=e.defs[0];if(null==t||null==t.node||null==t.node.id)return!1;let n=t.node,r=h?.childScopes||[],i=null;for(let e of r){let t=e.block;if("FunctionDeclaration"===n.type&&t===n||"VariableDeclarator"===n.type&&t.parent===n){i=e;break}}if(null==i)return!1;for(let e of i.through)if(null!=e.resolved&&g.has(e.resolved.scope)&&!b(e.resolved))return!1;return!0},d),T=new Map,S=new Map,E=new Map;!function t(n){for(let t of n.references){if(!t.resolved||!g.has(t.resolved.scope))continue;let n=Sv(e,t.identifier);if(null==n)continue;let r=function e(t){return t.parent&&("MemberExpression"===t.parent.type||"OptionalMemberExpression"===t.parent.type)&&t.parent.object===t&&"name"in t.parent.property&&"current"!==t.parent.property.name&&!t.parent.computed&&(null==t.parent.parent||"CallExpression"!==t.parent.parent.type&&"OptionalCallExpression"!==t.parent.parent.type||t.parent.parent.callee!==t.parent)?e(t.parent):"MemberExpression"===t.type&&t.parent&&"AssignmentExpression"===t.parent.type&&t.parent.left===t?t.object:t}(n),a=Sh(r,E);if(i&&"Identifier"===r.type&&(r.parent?.type==="MemberExpression"||r.parent?.type==="OptionalMemberExpression")&&!r.parent.computed&&"Identifier"===r.parent.property.type&&"current"===r.parent.property.name&&function(t){let n=t.from,r=!1;for(;null!=n&&n.block!==e;)"function"===n.type&&(r=null!=n.block.parent&&"ReturnStatement"===n.block.parent.type),n=n.upper;return r}(t)&&T.set(a,{reference:t,dependencyNode:r}),r.parent?.type==="TSTypeQuery"||r.parent?.type==="TSTypeReference")continue;let o=t.resolved.defs[0];if(null!=o&&(null==o.node||o.node.init!==e.parent)&&"TypeParameter"!==o.type&&r.parent?.type!=="GenericTypeAnnotation")if(S.has(a))S.get(a)?.references.push(t);else{let e=t.resolved,n=b(e)||x(e);S.set(a,{isStable:n,references:[t]})}}for(let e of n.childScopes)t(e)}(m),T.forEach(({reference:e,dependencyNode:t},n)=>{let r=e.resolved?.references||[],i=!1;for(let e of r){let{identifier:t}=e,{parent:n}=t;if(null!=n&&"MemberExpression"===n.type&&!n.computed&&"Identifier"===n.property.type&&"current"===n.property.name&&n.parent?.type==="AssignmentExpression"&&n.parent.left===n){i=!0;break}}i||a({node:t.parent.property,message:`The ref value '${n}.current' will likely have changed by the time this effect cleanup function runs. If this ref points to a node rendered by React, copy '${n}.current' to a variable inside the effect, and use that variable in the cleanup function.`})});let k=new Set,P=new Set;if(S.forEach(({isStable:e,references:t},r)=>{e&&P.add(r),t.forEach(e=>{var t;e.writeExpr&&(t=e.writeExpr,k.has(r)||(k.add(r),a({node:t,message:`Assignments to the '${r}' variable from inside React Hook ${o().getText(n)} will be lost after each render. To preserve the value over time, store it in a useRef Hook and keep the mutable value in the '.current' property. Otherwise, you can move this variable directly inside ${o().getText(n)}.`})))})}),k.size>0)return;if(!t){if(s)return;let t=null;if(S.forEach(({references:n},r)=>{t||n.forEach(n=>{if(t)return;let i=n.identifier;if(!c.has(i))return;let a=n.from;for(;null!=a&&"function"!==a.type;)a=a.upper;a?.block===e&&(t=r)})}),t){let{suggestedDependencies:i}=Sm({dependencies:S,declaredDependencies:[],stableDependencies:P,externalDependencies:new Set,isEffect:!0});a({node:n,message:`React Hook ${r} contains a call to '${t}'. Without a list of dependencies, this can lead to an infinite chain of updates. To fix this, pass [`+i.join(", ")+`] as a second argument to the ${r} Hook.`,suggest:[{desc:`Add dependencies array: [${i.join(", ")}]`,fix:t=>t.insertTextAfter(e,`, [${i.join(", ")}]`)}]})}return}if(s&&"Literal"===t.type&&null===t.value)return;let C=[],w=new Set,A="ArrayExpression"===t.type,D="TSAsExpression"===t.type&&"ArrayExpression"===t.expression.type;A||D?(D?t.expression:t).elements.forEach(e=>{let t;if(null===e)return;if("SpreadElement"===e.type)return void a({node:e,message:`React Hook ${o().getText(n)} has a spread element in its dependency array. This means we can't statically verify whether you've passed the correct dependencies.`});p.has(e)&&a({node:e,message:`Functions returned from \`useEffectEvent\` must not be included in the dependency array. Remove \`${o().getText(e)}\` from the list.`,suggest:[{desc:`Remove the dependency \`${o().getText(e)}\``,fix:t=>t.removeRange(e.range)}]});try{t=Sh(e,null)}catch(t){if(t instanceof Error&&/Unsupported node type/.test(t.message))return void("Literal"===e.type?e.value&&S.has(e.value)?a({node:e,message:`The ${e.raw} literal is not a valid dependency because it never changes. Did you mean to include ${e.value} in the array instead?`}):a({node:e,message:`The ${e.raw} literal is not a valid dependency because it never changes. You can safely remove it.`}):a({node:e,message:`React Hook ${o().getText(n)} has a complex expression in the dependency array. Extract it to a separate variable so it can be statically checked.`}));throw t}let r=e;for(;"MemberExpression"===r.type||"OptionalMemberExpression"===r.type||"ChainExpression"===r.type;)r=r.object||r.expression.object;let i=!h.through.some(e=>e.identifier===r);C.push({key:t,node:e}),i||w.add(t)}):a({node:t,message:`React Hook ${o().getText(n)} was passed a dependency list that is not an array literal. This means we can't statically verify whether you've passed the correct dependencies.`});let{suggestedDependencies:N,unnecessaryDependencies:F,missingDependencies:I,duplicateDependencies:O}=Sm({dependencies:S,declaredDependencies:C,stableDependencies:P,externalDependencies:w,isEffect:i}),L=N;if(O.size+I.size+F.size===0)return void(function({declaredDependencies:e,declaredDependenciesNode:t,componentScope:n,scope:r}){return e.map(({key:e})=>{let t=n.variables.find(t=>t.name===e);if(null==t)return null;let r=t.defs[0];if(null==r)return null;if("Variable"===r.type&&"VariableDeclarator"===r.node.type&&"Identifier"===r.node.id.type&&null!=r.node.init){let e=function e(t){switch(t.type){case"ObjectExpression":return"object";case"ArrayExpression":return"array";case"ArrowFunctionExpression":case"FunctionExpression":return"function";case"ClassExpression":return"class";case"ConditionalExpression":if(null!=e(t.consequent)||null!=e(t.alternate))return"conditional";break;case"LogicalExpression":if(null!=e(t.left)||null!=e(t.right))return"logical expression";break;case"JSXFragment":return"JSX fragment";case"JSXElement":return"JSX element";case"AssignmentExpression":if(null!=e(t.right))return"assignment expression";break;case"NewExpression":return"object construction";case"Literal":if(t.value instanceof RegExp)return"regular expression";break;case"TypeCastExpression":case"AsExpression":case"TSAsExpression":return e(t.expression)}return null}(r.node.init);if(e)return[t,e]}return"FunctionName"===r.type&&"FunctionDeclaration"===r.node.type?[t,"function"]:"ClassName"===r.type&&"ClassDeclaration"===r.node.type?[t,"class"]:null}).filter(Boolean).map(([e,n])=>({construction:e.defs[0],depType:n,isUsedOutsideOfHook:function(e){let n=!1;for(let i of e.references){if(i.writeExpr)if(n)return!0;else{n=!0;continue}let e=i.from;for(;e!==r&&null!=e;)e=e.upper;if(e!==r&&!Sx(t,i.identifier))return!0}return!1}(e)}))})({declaredDependencies:C,declaredDependenciesNode:t,componentScope:h,scope:m}).forEach(({construction:e,isUsedOutsideOfHook:n,depType:i})=>{let o,s="function"===i?"useCallback":"useMemo",l="function"===i?"definition":"initialization",c=`wrap the ${l} of '${e.name.name}' in its own ${s}() Hook.`,u=n?`To fix this, ${c}`:`Move it inside the ${r} callback. Alternatively, ${c}`,_=`The '${e.name.name}' ${i} ${"conditional"===i||"logical expression"===i?"could make":"makes"} the dependencies of ${r} Hook (at line ${t.loc?.start.line}) change on every render. ${u}`;n&&"Variable"===e.type&&"function"===i&&(o=[{desc:`Wrap the ${l} of '${e.name.name}' in its own ${s}() Hook.`,fix(t){let[n,r]="useMemo"===s?["useMemo(() => { return ","; })"]:["useCallback(",")"];return[t.insertTextBefore(e.node.init,n),t.insertTextAfter(e.node.init,r)]}}]),a({node:e.node,message:_,suggest:o})});function M(e){let t=e.split("."),n="";for(let e=0;e<t.length;e++){if(0!==e){let r=t.slice(0,e+1).join(".");n+=!0===E.get(r)?"?.":"."}n+=t[e]}return n}function R(e,t,n,r){return 0===e.size?null:(e.size>1?"":t+" ")+n+" "+(e.size>1?"dependencies":"dependency")+": "+function(e){let t="";for(let n=0;n<e.length;n++)t+=e[n],0===n&&2===e.length?t+=" and ":n===e.length-2&&e.length>2?t+=", and ":n<e.length-1&&(t+=", ");return t}(Array.from(e).sort().map(e=>"'"+M(e)+"'"))+`. Either ${r} ${e.size>1?"them":"it"} or remove the dependency array.`}!i&&I.size>0&&(L=Sm({dependencies:S,declaredDependencies:[],stableDependencies:P,externalDependencies:w,isEffect:i}).suggestedDependencies),function(){if(0===C.length)return!0;let e=C.map(e=>e.key),t=e.slice().sort();return e.join(",")===t.join(",")}()&&L.sort();let j="";if(F.size>0){let e=null;if(Array.from(F.keys()).forEach(t=>{null===e&&t.endsWith(".current")&&(e=t)}),null!==e)j=` Mutable values like '${e}' aren't valid dependencies because mutating them doesn't re-render the component.`;else if(w.size>0){let e=Array.from(w)[0];m.set.has(e)||(j=` Outer scope values like '${e}' aren't valid dependencies because mutating them doesn't re-render the component.`)}}if(!j&&I.has("props")){let e=S.get("props");if(null==e)return;let t=e.references;if(!Array.isArray(t))return;let i=!0;for(let e of t){let t=Sv(h.block,e.identifier);if(!t){i=!1;break}let n=t.parent;if(null==n||"MemberExpression"!==n.type&&"OptionalMemberExpression"!==n.type){i=!1;break}}i&&(j=` However, 'props' will change when *any* prop changes, so the preferred fix is to destructure the 'props' object outside of the ${r} call and refer to those specific props inside ${o().getText(n)}.`)}if(!j&&I.size>0){let e=null;I.forEach(t=>{let n;if(e)return;let r=h.set.get(t),i=S.get(t);if(!i?.references||i?.references[0]?.resolved!==r)return;let a=r?.defs[0];if(null==a||null==a.name||"Parameter"!==a.type)return;let o=!1;for(let e of i.references)if(null!=(n=e.identifier)&&null!=n.parent&&("CallExpression"===n.parent.type||"OptionalCallExpression"===n.parent.type)&&n.parent.callee===n){o=!0;break}o&&(e=t)}),null!==e&&(j=` If '${e}' changes too often, find the parent component that defines it and wrap that definition in useCallback.`)}if(!j&&I.size>0){let e=null;for(let t of I){let n,r;if(null!==e)break;for(let i of S.get(t).references){for(r=(n=i.identifier).parent;null!=r&&r!==h.block;){if("CallExpression"===r.type){let a=c.get(r.callee);if(null!=a){if("name"in a&&a.name===t)e={missingDep:t,setter:"name"in r.callee?r.callee.name:"",form:"updater"};else if(u.has(n))e={missingDep:t,setter:"name"in r.callee?r.callee.name:"",form:"reducer"};else{let n=i.resolved;if(null!=n){let i=n.defs[0];null!=i&&"Parameter"===i.type&&(e={missingDep:t,setter:"name"in r.callee?r.callee.name:"",form:"inlineReducer"})}}break}}r=r.parent}if(null!==e)break}}if(null!==e)switch(e.form){case"reducer":j=` You can also replace multiple useState variables with useReducer if '${e.setter}' needs the current value of '${e.missingDep}'.`;break;case"inlineReducer":j=` If '${e.setter}' needs the current value of '${e.missingDep}', you can also switch to useReducer instead of useState and read '${e.missingDep}' in the reducer.`;break;case"updater":j=` You can also do a functional update '${e.setter}(${e.missingDep.slice(0,1)} => ...)' if you only need '${e.missingDep}' in the '${e.setter}' call.`;break;default:throw Error("Unknown case.")}}a({node:t,message:`React Hook ${o().getText(n)} has `+(R(I,"a","missing","include")||R(F,"an","unnecessary","exclude")||R(O,"a","duplicate","omit"))+j,suggest:[{desc:`Update the dependencies array to be: [${L.map(M).join(", ")}]`,fix:e=>e.replaceText(t,`[${L.map(M).join(", ")}]`)}]})}return{CallExpression:function(e){let t=function(e,t){let n=Sy(e);if("Identifier"!==n.type)return -1;switch(n.name){case"useEffect":case"useLayoutEffect":case"useCallback":case"useMemo":return 0;case"useImperativeHandle":return 1;default:if(n!==e||!t||!t.additionalHooks)return -1;{let e;try{e=Sh(n,null)}catch(e){if(e instanceof Error&&/Unsupported node type/.test(e.message))return 0;throw e}return t.additionalHooks.test(e)?0:-1}}}(e.callee,i);if(-1===t)return;let n=e.arguments[t],r=e.callee,o=Sy(r),l="name"in o?o.name:"",c=e.arguments[t+1],u=c&&("Identifier"!==c.type||"undefined"!==c.name)?c:void 0,_=/Effect($|[^a-z])/g.test(l);if(!n)return void a({node:r,message:`React Hook ${l} requires an effect callback. Did you forget to pass a callback to the hook?`});!c&&_&&i.requireExplicitEffectDeps&&a({node:r,message:`React Hook ${l} always requires dependencies. Please add a dependency array or an explicit \`undefined\``});let d=i.experimental_autoDependenciesHooks.includes(l);if((!u||d&&"Literal"===u.type&&null===u.value)&&!_){("useMemo"===l||"useCallback"===l)&&a({node:r,message:`React Hook ${l} does nothing when called with only one argument. Did you forget to pass an array of dependencies?`});return}for(;"TSAsExpression"===n.type||"AsExpression"===n.type;)n=n.expression;switch(n.type){case"FunctionExpression":case"ArrowFunctionExpression":m(n,u,r,l,_,d);return;case"Identifier":if(!u||d&&"Literal"===u.type&&null===u.value||"elements"in u&&u.elements&&u.elements.some(e=>e&&"Identifier"===e.type&&e.name===n.name))return;let p=s(n).set.get(n.name);if(null==p||null==p.defs)return;let f=p.defs[0];if(!f||!f.node)break;if("Parameter"===f.type)return void a({node:r,message:ST(l)});if("Variable"!==f.type&&"FunctionName"!==f.type)break;switch(f.node.type){case"FunctionDeclaration":m(f.node,u,r,l,_,d);return;case"VariableDeclarator":let g=f.node.init;if(!g)break;switch(g.type){case"ArrowFunctionExpression":case"FunctionExpression":m(g,u,r,l,_,d);return}}break;default:a({node:r,message:ST(l)});return}a({node:r,message:`React Hook ${l} has a missing dependency: '${n.name}'. Either include it or remove the dependency array.`,suggest:[{desc:`Update the dependencies array to be: [${n.name}]`,fix:e=>e.replaceText(u,`[${n.name}]`)}]})}}}};function Sm({dependencies:e,declaredDependencies:t,stableDependencies:n,externalDependencies:r,isEffect:i}){let a=o();function o(){return{isUsed:!1,isSatisfiedRecursively:!1,isSubtreeUsed:!1,children:new Map}}function s(e,t){let n=t.split("."),r=e;for(let e of n){let t=r.children.get(e);t||(t=o(),r.children.set(e,t)),r=t}return r}e.forEach((e,t)=>{s(a,t).isUsed=!0,function(e,t,n){let r=t.split("."),i=e;for(let e of r){let t=i.children.get(e);if(!t)return;n(t),i=t}}(a,t,e=>{e.isSubtreeUsed=!0})}),t.forEach(({key:e})=>{s(a,e).isSatisfiedRecursively=!0}),n.forEach(e=>{s(a,e).isSatisfiedRecursively=!0});let l=new Set,c=new Set;!function e(t,n,r,i){t.children.forEach((t,a)=>{let o=i(a);if(t.isSatisfiedRecursively){t.isSubtreeUsed&&r.add(o);return}t.isUsed?n.add(o):e(t,n,r,e=>o+"."+e)})}(a,l,c,e=>e);let u=[],_=new Set,d=new Set;return t.forEach(({key:e})=>{c.has(e)?-1===u.indexOf(e)?u.push(e):d.add(e):!i||e.endsWith(".current")||r.has(e)?_.add(e):-1===u.indexOf(e)&&u.push(e)}),l.forEach(e=>{u.push(e)}),{suggestedDependencies:u,unnecessaryDependencies:_,duplicateDependencies:d,missingDependencies:l}}function Sg(e,t,n){t&&("optional"in e&&e.optional?t.has(n)||t.set(n,!0):t.set(n,!1))}function Sh(e,t){if("Identifier"===e.type||"JSXIdentifier"===e.type){let n=e.name;return t&&t.set(n,!1),n}if("MemberExpression"!==e.type||e.computed)if("OptionalMemberExpression"!==e.type||e.computed)if("ChainExpression"!==e.type||"computed"in e&&e.computed)throw Error(`Unsupported node type: ${e.type}`);else{let n=e.expression;if("CallExpression"===n.type)throw Error(`Unsupported node type: ${n.type}`);let r=`${Sh(n.object,t)}.${Sh(n.property,null)}`;return Sg(n,t,r),r}else{let n=`${Sh(e.object,t)}.${Sh(e.property,null)}`;return Sg(e,t,n),n}{let n=`${Sh(e.object,t)}.${Sh(e.property,null)}`;return Sg(e,t,n),n}}function Sy(e){return"MemberExpression"!==e.type||"Identifier"!==e.object.type||"React"!==e.object.name||"Identifier"!==e.property.type||e.computed?e:e.property}function Sv(e,t){let n,r=[e];for(;r.length;){var i,a;if(i=n=r.shift(),a=t,("Identifier"===i.type||"JSXIdentifier"===i.type)&&i.type===a.type&&i.name===a.name&&i.range&&a.range&&i.range[0]===a.range[0]&&i.range[1]===a.range[1])return n;if(Sx(n,t))for(let[e,t]of Object.entries(n))"parent"!==e&&(Sb(t)?(t.parent=n,r.push(t)):Array.isArray(t)&&t.forEach(e=>{Sb(e)&&(e.parent=n,r.push(e))}))}return null}function Sb(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&"type"in e&&"string"==typeof e.type}function Sx(e,t){return!!e.range&&!!t.range&&e.range[0]<=t.range[0]&&e.range[1]>=t.range[1]}function ST(e){return`React Hook ${e} received a function whose dependencies are unknown. Pass an inline function instead.`}let SS=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);var SE=S_({meta:{type:"problem",docs:{description:"Validates against assignment/mutation of globals during render, part of ensuring that side effects must run outside of render."},messages:{mutatingGlobal:"Do not mutate '{{name}}' during render. Global variables exist outside React's control and make rendering impure.",mutatingGlobalArrayMethod:"Do not call '{{method}}()' on '{{name}}' during render. Mutating global arrays during render makes rendering impure.",mutatingGlobalProperty:"Do not mutate '{{name}}' during render. Modifying global objects during render makes rendering impure."},schema:[]},name:"globals",create:function(e){let t=gW(e),n=g$(e),r=[];function i(t){let n=ab.findVariable(e.sourceCode.getScope(t),t);if(null==n||0===n.defs.length)return!0;let r=n.scope.type;return"global"===r||"module"===r}function a(e,t,n){let i=ua.findParent(e,c$.isFunction);null!=i&&r.push({data:n,func:i,messageId:t,node:e})}return hr(t.visitor,n.visitor,{UpdateExpression(t){let n=ue.unwrap(t.argument);if(n.type===av.AST_NODE_TYPES.Identifier){if(!i(n))return;a(t,"mutatingGlobal",{name:n.name});return}if(n.type===av.AST_NODE_TYPES.MemberExpression){let r=ue.getRootIdentifier(n);if(null==r||!i(r))return;a(t,"mutatingGlobalProperty",{name:e.sourceCode.getText(n)})}},AssignmentExpression(t){let n=ue.unwrap(t.left);if(n.type===av.AST_NODE_TYPES.Identifier){if(!i(n))return;a(t,"mutatingGlobal",{name:n.name});return}if(n.type===av.AST_NODE_TYPES.MemberExpression){let r=ue.getRootIdentifier(n);if(null==r||!i(r))return;a(t,"mutatingGlobalProperty",{name:e.sourceCode.getText(n)})}},CallExpression(e){let t=ue.unwrap(e.callee);if(t.type!==av.AST_NODE_TYPES.MemberExpression)return;let{object:n,property:r}=t;if(r.type!==av.AST_NODE_TYPES.Identifier||!SS.has(r.name))return;let o=ue.getRootIdentifier(n);null==o||i(o)&&a(e,"mutatingGlobalArrayMethod",{name:o.name,method:r.name})},"Program:exit"(i){let a=[...n.api.getAllComponents(i),...t.api.getAllHooks(i)];for(let{data:t,func:n,messageId:i,node:o}of r)a.some(e=>e.node===n)&&e.report({data:t,messageId:i,node:o})}})},defaultOptions:[]});let Sk=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);var SP=S_({meta:{type:"problem",docs:{description:"Validates against mutating props, state, and other values that are immutable."},messages:{mutatingArrayMethod:"Do not call '{{method}}()' on '{{name}}'. Props and state are immutable — create a new array instead.",mutatingAssignment:"Do not mutate '{{name}}' directly. Props and state are immutable — create a new object instead."},schema:[]},name:"immutability",create:function(e){let{additionalStateHooks:t}=cM(e),n=gW(e),r=g$(e),i=[];function a(n){let r,i=fQ(e,n);if(null==i||i.type!==av.AST_NODE_TYPES.CallExpression||!gJ(i,t)&&((r=ue.unwrap(i.callee)).type===av.AST_NODE_TYPES.Identifier?"useReducer"!==r.name:r.type!==av.AST_NODE_TYPES.MemberExpression||ue.getRootIdentifier(r)?.name!=="React"||"useReducer"!==ue.getPropertyName(r.property)))return!1;let a=i.parent;return!("id"in a)||a.id?.type!==av.AST_NODE_TYPES.ArrayPattern||0===a.id.elements.findIndex(e=>e?.type===av.AST_NODE_TYPES.Identifier&&e.name===n.name)}function o(t){let n=ab.findVariable(e.sourceCode.getScope(t),t);if(null==n)return null;for(let e of n.defs){if(e.type!==fX.DefinitionType.Parameter||null==e.node)continue;let n=e.node;for(;null!=n&&!c$.isFunction(n);)n=n.parent??null;if(null==n)continue;let r=n;if(r.params.some(e=>(function e(t,n){switch(t.type){case av.AST_NODE_TYPES.Identifier:return t.name===n;case av.AST_NODE_TYPES.ObjectPattern:return t.properties.some(t=>t.type===av.AST_NODE_TYPES.Property?e(t.value,n):t.type===av.AST_NODE_TYPES.RestElement&&e(t.argument,n));case av.AST_NODE_TYPES.ArrayPattern:return t.elements.some(t=>null!=t&&e(t,n));case av.AST_NODE_TYPES.RestElement:return e(t.argument,n);case av.AST_NODE_TYPES.AssignmentPattern:return e(t.left,n);case av.AST_NODE_TYPES.MemberExpression:return ue.getRootIdentifier(t)?.name===n;default:return!1}})(e,t.name)))return r}return null}return hr(n.visitor,r.visitor,{CallExpression(t){let n=ue.unwrap(t.callee);if(n.type!==av.AST_NODE_TYPES.MemberExpression)return;let{object:r,property:s}=n;if(s.type!==av.AST_NODE_TYPES.Identifier||!Sk.has(s.name))return;let l=ue.getRootIdentifier(r);if(null==l||"draft"===l.name)return;let c=ua.findParent(t,c$.isFunction);if(null==c)return;let u=a(l),_=u?null:o(l);(u||null!=_)&&i.push({data:{name:e.sourceCode.getText(r),method:s.name},func:c,messageId:"mutatingArrayMethod",node:t,...null!=_?{propsDefiningFunc:_}:{}})},AssignmentExpression(t){if(t.left.type!==av.AST_NODE_TYPES.MemberExpression)return;let n=ue.getRootIdentifier(t.left);if(null==n||"draft"===n.name)return;let r=ua.findParent(t,c$.isFunction);if(null==r)return;let s=a(n),l=s?null:o(n);(s||null!=l)&&i.push({data:{name:e.sourceCode.getText(t.left.object)},func:r,messageId:"mutatingAssignment",node:t,...null!=l?{propsDefiningFunc:l}:{}})},"Program:exit"(t){let a=[...r.api.getAllComponents(t),...n.api.getAllHooks(t)];for(let{data:t,func:n,messageId:r,node:o,propsDefiningFunc:s}of i){let i=n,l=!1;for(;null!=i;){if(a.some(e=>e.node===i)){l=!0;break}i=ua.findParent(i,c$.isFunction)}l&&(null==s||a.some(e=>e.node===s))&&e.report({data:t,messageId:r,node:o})}}})},defaultOptions:[]});function SC(){}function Sw(){return!0}function SA(){return!1}function SD(e,t,n){if(e.has(t))return e.get(t);let r=n(t);return e.set(t,r),r}var SN=S_({meta:{type:"problem",docs:{description:"Disallows accessing 'this.state' inside 'setState' calls."},messages:{default:"Do not access 'this.state' within 'setState'. Use the update function instead."},schema:[]},name:"no-access-state-in-setstate",create:function(e){if(!e.sourceCode.text.includes("setState"))return{};let t=[],n=[],r=[];return hr({CallExpression(e){gE(e)&&r.push([e,!1])},"CallExpression:exit"(e){gE(e)&&r.pop()},ClassDeclaration(e){t.push([e,g_(e)])},"ClassDeclaration:exit"(){t.pop()},ClassExpression(e){t.push([e,g_(e)])},"ClassExpression:exit"(){t.pop()},MemberExpression(i){if(i.object.type!==av.AST_NODE_TYPES.ThisExpression)return;let[a,o=!1]=t.at(-1)??[];if(null==a||!o)return;let[s,l=!1]=n.at(-1)??[];if(null==s||l)return;let[c,u=!1]=r.at(-1)??[];null==c||u||"state"===ue.getPropertyName(i.property)&&e.report({messageId:"default",node:i})},MethodDefinition(e){n.push([e,e.static])},"MethodDefinition:exit"(){n.pop()},PropertyDefinition(e){n.push([e,e.static])},"PropertyDefinition:exit"(){n.pop()},VariableDeclarator(i){let[a,o=!1]=t.at(-1)??[];if(null==a||!o)return;let[s,l=!1]=n.at(-1)??[];if(null==s||l)return;let[c,u=!1]=r.at(-1)??[];null==c||u||null==i.init||i.init.type!==av.AST_NODE_TYPES.ThisExpression||i.id.type!==av.AST_NODE_TYPES.ObjectPattern||i.id.properties.some(e=>{var t;return e.type===av.AST_NODE_TYPES.Property&&(t=e.key,oi.match(t).with({type:av.AST_NODE_TYPES.Literal},Sw).with({type:av.AST_NODE_TYPES.TemplateLiteral,expressions:[]},Sw).with({type:av.AST_NODE_TYPES.Identifier},()=>!e.computed).otherwise(SA))&&"state"===ue.getPropertyName(e.key)})&&e.report({messageId:"default",node:i})}})},defaultOptions:[]});function SF(e){return t=>{if(null!=t)return e.report(t)}}var SI=S_({meta:{type:"suggestion",docs:{description:"Disallows using an item's index in the array as its key."},messages:{default:"Do not use item index in the array as its key."},schema:[]},name:"no-array-index-key",create:function(e){let t=[];function n(e){return e.type===av.AST_NODE_TYPES.Identifier&&t.some(t=>null!=t&&t===e.name)}function r(e){switch(e.type){case av.AST_NODE_TYPES.Identifier:if(t.some(t=>null!=t&&t===e.name))return[{messageId:"default",node:e}];break;case av.AST_NODE_TYPES.TemplateLiteral:case av.AST_NODE_TYPES.BinaryExpression:{let t=[];for(let r of e.type===av.AST_NODE_TYPES.TemplateLiteral?e.expressions:function e(t){return t.type===av.AST_NODE_TYPES.Identifier?[t]:t.type===av.AST_NODE_TYPES.BinaryExpression?[...e(t.left),...e(t.right)]:[]}(e))n(r)&&t.push({messageId:"default",node:r});return t}case av.AST_NODE_TYPES.CallExpression:{let t=ue.unwrap(e.callee);switch(!0){case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&"toString"===t.property.name&&n(t.object):return[{messageId:"default",node:t.object}];case t.type===av.AST_NODE_TYPES.Identifier&&"String"===t.name&&null!=e.arguments[0]&&n(e.arguments[0]):return[{messageId:"default",node:e.arguments[0]}]}}}return[]}return hr({CallExpression(n){if(t.push(function(e,t){let n=ue.unwrap(t.callee);if(n.type!==av.AST_NODE_TYPES.MemberExpression||n.property.type!==av.AST_NODE_TYPES.Identifier)return null;let{name:r}=n.property,i=function(e){switch(e){case"every":case"filter":case"find":case"findIndex":case"findLast":case"findLastIndex":case"flatMap":case"forEach":case"map":case"some":return 1;case"reduce":case"reduceRight":return 2;default:return -1}}(r);if(-1===i)return null;let a=t.arguments[mY(e,n)||mj(e,n)?1:0];if(null==a||!cK([av.AST_NODE_TYPES.ArrowFunctionExpression,av.AST_NODE_TYPES.FunctionExpression])(a))return null;let{params:o}=a;if(o.length<i+1)return null;let s=o.at(i);return null!=s&&"name"in s?s.name:null}(e,n)),0===n.arguments.length||!(mH(e,n)||mK(e,n)))return;let[,i]=n.arguments;if(i?.type===av.AST_NODE_TYPES.ObjectExpression){for(let t of i.properties)if(oi.isMatching({key:{name:"key"}})(t)&&"value"in t)for(let n of r(t.value))SF(e)(n)}},"CallExpression:exit"(){t.pop()},JSXAttribute(n){if("key"===n.name.name&&0!==t.length&&n.value?.type===av.AST_NODE_TYPES.JSXExpressionContainer)for(let t of r(n.value.expression))SF(e)(t)}})},defaultOptions:[]}),SO=S_({meta:{type:"suggestion",docs:{description:"Disallows the use of 'Children.count' from the 'react' package."},messages:{default:"Using 'Children.count' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-children-count",create:function(e){return hr({MemberExpression(t){mR(e,t)&&e.report({messageId:"default",node:t.property})}})},defaultOptions:[]}),SL=S_({meta:{type:"suggestion",docs:{description:"Disallows the use of 'Children.forEach' from the 'react' package."},messages:{default:"Using 'Children.forEach' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-children-for-each",create:function(e){return hr({MemberExpression(t){mj(e,t)&&e.report({messageId:"default",node:t.property})}})},defaultOptions:[]}),SM=S_({meta:{type:"suggestion",docs:{description:"Disallows the use of 'Children.map' from the 'react' package."},messages:{default:"Using 'Children.map' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-children-map",create:function(e){return hr({MemberExpression(t){mY(e,t)&&e.report({messageId:"default",node:t.property})}})},defaultOptions:[]}),SR=S_({meta:{type:"suggestion",docs:{description:"Disallows the use of 'Children.only' from the 'react' package."},messages:{default:"Using 'Children.only' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-children-only",create:function(e){return hr({MemberExpression(t){mU(e,t)&&e.report({messageId:"default",node:t.property})}})},defaultOptions:[]}),Sj=S_({meta:{type:"suggestion",docs:{description:"Disallows the use of 'Children.toArray' from the 'react' package."},messages:{default:"Using 'Children.toArray' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-children-to-array",create:function(e){return hr({MemberExpression(t){mB(e,t)&&e.report({messageId:"default",node:t.property})}})},defaultOptions:[]}),SY=S_({meta:{type:"suggestion",docs:{description:"Disallows class components except for error boundaries."},messages:{default:"Avoid using class components. Use function components instead."},schema:[]},name:"no-class-component",create:function(e){if(!e.sourceCode.text.includes("Component"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{name:r="anonymous",node:i}of t.getAllComponents(n))i.body.body.some(e=>gp(e)||gT(e))||e.report({data:{name:r},messageId:"default",node:i})}})},defaultOptions:[]}),SU=S_({meta:{type:"suggestion",docs:{description:"Disallows 'cloneElement'."},messages:{default:"Using 'cloneElement' is uncommon and can lead to fragile code. Use alternatives instead."},schema:[]},name:"no-clone-element",create:function(e){return hr({CallExpression(t){mK(e,t)&&e.report({messageId:"default",node:t})}})},defaultOptions:[]}),SB=S_({meta:{type:"problem",docs:{description:"Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'."},fixable:"code",messages:{default:"[Deprecated] Use 'UNSAFE_componentWillMount' instead."},schema:[]},name:"no-component-will-mount",create:function(e){if(!e.sourceCode.text.includes("componentWillMount"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gg(n)&&e.report({fix:e=>"key"in n?e.replaceText(n.key,"UNSAFE_componentWillMount"):null,messageId:"default",node:n})}}})},defaultOptions:[]}),SV=S_({meta:{type:"problem",docs:{description:"Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'."},fixable:"code",messages:{default:"[Deprecated] Use 'UNSAFE_componentWillReceiveProps' instead."},schema:[]},name:"no-component-will-receive-props",create:function(e){if(!e.sourceCode.text.includes("componentWillReceiveProps"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gh(n)&&e.report({fix:e=>"key"in n?e.replaceText(n.key,"UNSAFE_componentWillReceiveProps"):null,messageId:"default",node:n})}}})},defaultOptions:[]}),SJ=S_({meta:{type:"problem",docs:{description:"Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'."},fixable:"code",messages:{default:"[Deprecated] Use 'UNSAFE_componentWillUpdate' instead."},schema:[]},name:"no-component-will-update",create:function(e){if(!e.sourceCode.text.includes("componentWillUpdate"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gy(n)&&e.report({fix:e=>"key"in n?e.replaceText(n.key,"UNSAFE_componentWillUpdate"):null,messageId:"default",node:n})}}})},defaultOptions:[]}),Sz=S_({meta:{type:"suggestion",docs:{description:"Replaces usage of '<Context.Provider>' with '<Context>'."},fixable:"code",hasSuggestions:!0,messages:{default:"In React 19, you can render '<Context>' as a provider instead of '<Context.Provider>'.",replace:"Replace '<Context.Provider>' with '<Context>'."},schema:[]},name:"no-context-provider",create:function(e){if(!e.sourceCode.text.includes("Provider"))return{};let{version:t}=cM(e);return hu(t,"19.0.0","<")?{}:hr({JSXElement(t){let n=f7(t).split("."),r=n.pop(),i=n.join("."),a=n.pop();"Provider"!==r||null!=a&&a.endsWith("Context")&&e.report({messageId:"default",node:t,suggest:[{fix(e){if(!gO(a))return null;let n=t.openingElement,r=t.closingElement;return null==r?e.replaceText(n.name,i):[e.replaceText(n.name,i),e.replaceText(r.name,i)]},messageId:"replace"}]})}})},defaultOptions:[]}),Sq=S_({meta:{type:"suggestion",docs:{description:"Disallows 'createRef' in function components."},messages:{default:"[Deprecated] Use 'useRef' instead."},schema:[]},name:"no-create-ref",create:function(e){return hr({CallExpression(t){mX(e,t)&&null==ua.findParent(t,g_)&&e.report({messageId:"default",node:t})}})},defaultOptions:[]});function S$(e){return cK([av.AST_NODE_TYPES.FunctionDeclaration,av.AST_NODE_TYPES.FunctionExpression])(e)&&c$.isPropertyOrMethod(e.parent)&&e.parent.key.type===av.AST_NODE_TYPES.Identifier&&"constructor"===e.parent.key.name}var SW=S_({meta:{type:"problem",docs:{description:"Disallows direct mutation of 'this.state'."},messages:{default:"Do not mutate state directly. Use 'setState()' instead."},schema:[]},name:"no-direct-mutation-state",create:function(e){return hr({AssignmentExpression(t){if(!function(e){let{left:t}=e;return t.type===av.AST_NODE_TYPES.MemberExpression&&t.object.type===av.AST_NODE_TYPES.ThisExpression&&"state"===ue.getPropertyName(t.property)}(t))return;let n=ua.findParent(t,cK([av.AST_NODE_TYPES.ClassDeclaration,av.AST_NODE_TYPES.ClassExpression]));null!=n&&g_(n)&&e.sourceCode.getScope(t).block!==ua.findParent(t,S$)&&e.report({messageId:"default",node:t})}})},defaultOptions:[]}),SK=S_({meta:{type:"problem",docs:{description:"Prevents duplicate 'key' props on sibling elements when rendering lists."},messages:{default:"The 'key' prop must be unique to its sibling elements."},schema:[]},name:"no-duplicate-key",create:function(e){if(!e.sourceCode.text.includes("key="))return{};let t=new Map;return hr({"JSXAttribute[name.name='key']"(e){let n=e.parent.parent;switch(n.parent.type){case av.AST_NODE_TYPES.ArrayExpression:case av.AST_NODE_TYPES.JSXElement:case av.AST_NODE_TYPES.JSXFragment:{let r=n.parent,i=t.get(r)?.keys??[];t.set(r,{hasDuplicate:i.some(t=>{let n,r;return n=t.value,r=e.value,null!=n&&null!=r&&ur.isEqual(n,r)}),keys:[...i,e],root:n.parent});break}default:{let r=ua.findParent(n,e=>{if(e.type!==av.AST_NODE_TYPES.CallExpression)return!1;let t=ue.unwrap(e.callee);return t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&"map"===t.property.name}),i=ua.findParent(n,e=>e===r||c$.isFunction(e));if(!c$.isFunction(i))return;let a=r?.arguments[0];if(null==r||null==a||ue.unwrap(a)!==i)return;t.set(r,{hasDuplicate:e.value?.type===av.AST_NODE_TYPES.Literal,keys:[e],root:r})}}},"Program:exit"(){for(let{hasDuplicate:n,keys:r}of t.values())if(n)for(let t of r)e.report({data:{value:e.sourceCode.getText(t)},messageId:"default",node:t})}})},defaultOptions:[]}),SG=S_({meta:{type:"suggestion",docs:{description:"Replaces usage of 'forwardRef' with passing 'ref' as a prop."},fixable:"code",hasSuggestions:!0,messages:{default:"In React 19, 'forwardRef' is no longer necessary. Pass 'ref' as a prop instead.",replace:"Replace 'forwardRef' with passing 'ref' as a prop."},schema:[]},name:"no-forward-ref",create:function(e){if(!e.sourceCode.text.includes("forwardRef"))return{};let{version:t}=cM(e);return hu(t,"19.0.0","<")?{}:hr({CallExpression(t){var n,r;if(!mQ(e,t))return;let i=gP(t),a=!function(e,t){let{importSource:n}=cM(e),r=e.sourceCode.getScope(t),i=ue.unwrap(t.callee);switch(i.type){case av.AST_NODE_TYPES.Identifier:return mL(i.name,r,n);case av.AST_NODE_TYPES.MemberExpression:return i.object.type===av.AST_NODE_TYPES.Identifier&&mL(i.object.name,r,n);default:return!1}}(e,t)?[]:[{fix:(n=e,r=t,e=>{let[t]=r.arguments;return null!=t&&c$.isFunction(t)?[e.removeRange([r.range[0],t.range[0]]),e.removeRange([t.range[1],r.range[1]]),...function(e,t,n,r){let i=t=>e.sourceCode.getText(t),[a,o]=n.params,[s,l]=r;if(null==a){let r=e.sourceCode.getFirstToken(n,{filter:e=>"("===e.value});if(null==r||null==s||null==l)return[];let a=i(s),o=i(l);return[t.insertTextAfter(r,`{ ref }: ${o} & { ref?: React.RefObject<${a} | null> }`)]}let c=oi.match(a).with({type:av.AST_NODE_TYPES.Identifier},e=>`...${e.name}`).with({type:av.AST_NODE_TYPES.ObjectPattern},e=>e.properties.map(i).join(", ")).otherwise(()=>null),u=oi.match(o).with(oi.P.nullish,()=>"ref").with({type:av.AST_NODE_TYPES.Identifier,name:"ref"},()=>"ref").with({type:av.AST_NODE_TYPES.Identifier,name:oi.P.string},e=>`ref: ${e.name}`).otherwise(()=>null);if(null==c||null==u)return[];if(null==s||null==l)return[t.replaceText(a,["{",u+",",c,"}"].join(" ")),...null==o?[]:[t.remove(o),t.removeRange([a.range[1],o.range[0]])]];let _=i(s),d=i(l);return[t.replaceText(a,["{",u+",",c,"}:",d,"& { ref?:",`React.RefObject<${_} | null>`,"}"].join(" ")),...null==o?[]:[t.remove(o),t.removeRange([a.range[1],o.range[0]])]]}(n,e,t,r.typeArguments?.params??[])]:[]}),messageId:"replace"}];e.report({messageId:"default",node:i??t,suggest:a})}})},defaultOptions:[]});let SH=/react\.(reactnode|reactelement|reactportal)$/i;var SX=S_({meta:{type:"problem",docs:{description:"Prevents implicitly passing the 'children' prop to components."},messages:{default:"This spread attribute implicitly passes the 'children' prop to a component, this could lead to unexpected behavior. If you intend to pass the 'children' prop, use 'children={value}'."},schema:[]},name:"no-implicit-children",create:function(e){let t=ay.ESLintUtils.getParserServices(e,!1),n=t.program.getTypeChecker();return hr({JSXSpreadAttribute(r){for(let i of yC(St.getConstrainedTypeAtLocation(t,r.argument))){let t=i.getProperty("children");if(null==t)continue;let a=hn(n,t).toLowerCase();if(a.endsWith("attributes.children")||a.endsWith("propswithchildren.children"))continue;let o=n.getTypeOfSymbol(t),s=o.aliasSymbol??o.symbol;if(null!=s){let e=n.getFullyQualifiedName(s);if(SH.test(e)||/^JSX\.Element$/i.test(e))continue}e.report({messageId:"default",node:r})}}})},defaultOptions:[]}),SQ=S_({meta:{type:"problem",docs:{description:"Prevents implicitly passing the 'key' prop to components."},messages:{default:"This spread attribute implicitly passes the 'key' prop to a component, this could lead to unexpected behavior. If you intend to pass the 'key' prop, use 'key={value}'."},schema:[]},name:"no-implicit-key",create:function(e){let t=ay.ESLintUtils.getParserServices(e,!1),n=t.program.getTypeChecker();return hr({JSXSpreadAttribute(r){for(let i of yC(St.getConstrainedTypeAtLocation(t,r.argument))){let t=i.getProperty("key");if(null==t||hn(n,t).toLowerCase().endsWith("react.attributes.key"))continue;let a=n.getTypeOfSymbol(t);null!=a.aliasSymbol&&n.getFullyQualifiedName(a.aliasSymbol).toLowerCase().endsWith("react.key")||e.report({messageId:"default",node:r})}}})},defaultOptions:[]});let SZ=/react\.(ref|legacyref|refcallback|refobject)$/i;var S0=S_({meta:{type:"problem",docs:{description:"Prevents implicitly passing the 'ref' prop to components."},messages:{default:"This spread attribute implicitly passes the 'ref' prop to a component, this could lead to unexpected behavior. If you intend to pass the 'ref' prop, use 'ref={value}'."},schema:[]},name:"no-implicit-ref",create:function(e){let t=ay.ESLintUtils.getParserServices(e,!1),n=t.program.getTypeChecker();return hr({JSXSpreadAttribute(r){for(let i of yC(St.getConstrainedTypeAtLocation(t,r.argument))){let t=i.getProperty("ref");if(null==t||hn(n,t).toLowerCase().endsWith("attributes.ref"))continue;let a=n.getTypeOfSymbol(t),o=a.aliasSymbol??a.symbol;if(null!=o){let e=n.getFullyQualifiedName(o);if(SZ.test(e))continue}e.report({messageId:"default",node:r})}}})},defaultOptions:[]}),S1=S_({meta:{type:"problem",docs:{description:"Prevents problematic leaked values from being rendered."},messages:{default:"Potential leaked value {{value}} that might cause unintentionally rendered values or rendering crashes."},schema:[]},name:"no-leaked-conditional-rendering",create:function(e){if(!e.sourceCode.text.includes("&&"))return{};let{version:t}=cM(e),n=["any","boolean","nullish","object","enum","falsy boolean","truthy bigint","truthy boolean","truthy number","truthy string",...hu(t,"18.0.0","<")?[]:["string","falsy string"]],r=ay.ESLintUtils.getParserServices(e,!1);return hr({JSXExpressionContainer:function(e,t,n,r,i,a,o,s,l){switch(arguments.length){case 1:return e;case 2:return function(){return t(e.apply(this,arguments))};case 3:return function(){return n(t(e.apply(this,arguments)))};case 4:return function(){return r(n(t(e.apply(this,arguments))))};case 5:return function(){return i(r(n(t(e.apply(this,arguments)))))};case 6:return function(){return a(i(r(n(t(e.apply(this,arguments))))))};case 7:return function(){return o(a(i(r(n(t(e.apply(this,arguments)))))))};case 8:return function(){return s(o(a(i(r(n(t(e.apply(this,arguments))))))))};case 9:return function(){return l(s(o(a(i(r(n(t(e.apply(this,arguments)))))))))}}}(function t(i){return null==i?null:cW(av.AST_NODE_TYPES.JSXExpressionContainer)(i)?t(i.expression):c$.isJSX(i)?null:c$.isTypeExpression(i)?t(i.expression):oi.match(i).with({type:av.AST_NODE_TYPES.LogicalExpression,operator:"&&"},({left:i,right:a})=>{if(i.type===av.AST_NODE_TYPES.UnaryExpression&&"!"===i.operator)return t(a);let o=e.sourceCode.getScope(i);return c$.isIdentifier("NaN")(i)||ab.getStaticValue(i,o)?.value==="NaN"?{data:{value:e.sourceCode.getText(i)},messageId:"default",node:i}:Array.from((function(e){let t=new Set;if(e.some(ht))return t.add("unknown"),t;e.some(g6)&&t.add("nullish");let n=e.filter(gQ),r=n[0];if(1===n.length&&null!=r)if(gG(r)&&"false"===r.intrinsicName)t.add("falsy boolean");else gG(r)&&"true"===r.intrinsicName&&t.add("truthy boolean");else 2===n.length&&t.add("boolean");let i=e.filter(g5);if(i.length>0){let e=oi.match(i).when(e=>e.every(he),()=>"truthy string").when(e=>e.every(g2),()=>"falsy string").otherwise(()=>"string");t.add(e)}let a=e.filter(gX);if(a.length>0){let e=oi.match(a).when(e=>e.every(g7),()=>"truthy bigint").when(e=>e.every(g0),()=>"falsy bigint").otherwise(()=>"bigint");t.add(e)}let o=e.filter(g4);if(o.length>0){let e=oi.match(o).when(e=>e.every(g9),()=>"truthy number").when(e=>e.every(g1),()=>"falsy number").otherwise(()=>"number");t.add(e)}return e.some(gZ)&&t.add("enum"),e.some(g8)&&t.add("object"),e.some(gH)&&t.add("any"),e.some(g3)&&t.add("never"),t})(yC(St.getConstrainedTypeAtLocation(r,i))).values()).every(e=>n.some(t=>t===e))?t(a):{data:{value:e.sourceCode.getText(i)},messageId:"default",node:i}}).with({type:av.AST_NODE_TYPES.ConditionalExpression},({alternate:e,consequent:n})=>t(n)??t(e)).with({type:av.AST_NODE_TYPES.Identifier},n=>{let r=ab.findVariable(e.sourceCode.getScope(n),n.name)?.defs.at(0)?.node;return oi.match(r).with({init:oi.P.select({type:oi.P.not(av.AST_NODE_TYPES.VariableDeclaration)})},t).otherwise(()=>null)}).otherwise(()=>null)},t=>{if(null!=t)return e.report(t)})})},defaultOptions:[]}),S2=S_({meta:{type:"suggestion",docs:{description:"Enforces that all components have a 'displayName' that can be used in DevTools."},messages:{default:"Add missing 'displayName' for component."},schema:[]},name:"no-missing-component-display-name",create:function(e){if(!e.sourceCode.text.includes("memo")&&!e.sourceCode.text.includes("forwardRef"))return{};let{api:t,visitor:n}=g$(e,{collectDisplayName:!0,hint:gR});return hr(n,{"Program:exit"(n){for(let{displayName:r,flag:i,node:a}of t.getAllComponents(n)){let t=gP(a),n=(i&(gD.ForwardRef|gD.Memo))>0n;null==t&&n&&null==r&&e.report({messageId:"default",node:a})}}})},defaultOptions:[]}),S3=S_({meta:{type:"suggestion",docs:{description:"Enforces that all contexts have a 'displayName' that can be used in DevTools."},fixable:"code",messages:{default:"Add missing 'displayName' for context."},schema:[]},name:"no-missing-context-display-name",create:function(e){if(!e.sourceCode.text.includes("createContext"))return{};let t=[],n=[];return hr({CallExpression(n){mG(e,n)&&t.push(n)},[gA](e){n.push(e)},"Program:exit"(){for(let r of t){let t=f3(r);if(null==t){e.report({messageId:"default",node:r});continue}n.some(n=>{let r=n.left;return r.type===av.AST_NODE_TYPES.MemberExpression&&f2(e,t,r.object)})||e.report({fix:n=>t.type!==av.AST_NODE_TYPES.Identifier||t.parent!==r.parent?[]:n.insertTextAfter(e.sourceCode.getTokenAfter(r)??r,["\n",t.name,".","displayName"," ","="," ",JSON.stringify(t.name),";"].join("")),messageId:"default",node:t})}}})},defaultOptions:[]});function S6(e){return t=>{if(null!=t)return e.report(t)}}var S4=S_({meta:{type:"problem",docs:{description:"Disallows missing 'key' on items in list rendering."},messages:{default:"Missing 'key' for element when rendering list.",unexpectedFragmentSyntax:"Use fragment component instead of '<>' because it does not support `key`."},schema:[]},name:"no-missing-key",create:function(e){let t=!1;function n(t){return t.type===av.AST_NODE_TYPES.JSXElement?me(e,t,"key")?null:{messageId:"default",node:t}:t.type===av.AST_NODE_TYPES.JSXFragment?{messageId:"unexpectedFragmentSyntax",node:t}:null}return hr({ArrayExpression(n){if(t)return;let r=n.elements.filter(cW(av.AST_NODE_TYPES.JSXElement));if(0!==r.length)for(let t of r)me(e,t,"key")||e.report({messageId:"default",node:t})},CallExpression(r){if(t||=mW(e,r))return;let i=ue.unwrap(r.callee);if(i.type!==av.AST_NODE_TYPES.MemberExpression||i.property.type!==av.AST_NODE_TYPES.Identifier)return;let a=i.property.name,o="from"===a?1:"map"===a?0:-1;if(o<0)return;let s=r.arguments[o];c$.isFunction(s)&&(s.body.type===av.AST_NODE_TYPES.BlockStatement?(function(e){let t,r,i=[];for(let a of(t=[],r=c$.isFunction(e)?e:ua.findParent(e,c$.isFunction),Sn.simpleTraverse(e,{enter(e){e.type!==av.AST_NODE_TYPES.ReturnStatement||ua.findParent(e,c$.isFunction)===r&&t.push(e)}}),t)){if(null==a.argument)continue;let e=n(a.argument);null!=e&&i.push(e)}return i})(s.body).forEach(S6(e)):S6(e)(function(e){switch(e.type){case av.AST_NODE_TYPES.ConditionalExpression:return n(e.consequent)??n(e.alternate);case av.AST_NODE_TYPES.LogicalExpression:return n(e.left)??n(e.right);case av.AST_NODE_TYPES.JSXElement:case av.AST_NODE_TYPES.JSXFragment:return n(e);default:return null}}(s.body)))},"CallExpression:exit"(n){mW(e,n)&&(t=!1)},JSXFragment(n){t||n.parent.type===av.AST_NODE_TYPES.ArrayExpression&&e.report({messageId:"unexpectedFragmentSyntax",node:n})}})},defaultOptions:[]});function S8(e){return null!=e&&e.type===av.AST_NODE_TYPES.MemberExpression&&e.object.type===av.AST_NODE_TYPES.MemberExpression&&e.object.object.type===av.AST_NODE_TYPES.Identifier&&"process"===e.object.object.name&&e.object.property.type===av.AST_NODE_TYPES.Identifier&&"env"===e.object.property.name&&e.property.type===av.AST_NODE_TYPES.Identifier&&"NODE_ENV"===e.property.name}function S5(e){var t,n;return e.type===av.AST_NODE_TYPES.IfStatement&&(t=e.test,n="production",null!=t&&t.type===av.AST_NODE_TYPES.BinaryExpression&&"!=="===t.operator&&(S8(t.left)&&c$.isLiteral("string")(t.right)?t.right.value===n:!!(c$.isLiteral("string")(t.left)&&S8(t.right))&&t.left.value===n))}var S7=S_({meta:{type:"problem",docs:{description:"Prevents incorrect usage of 'captureOwnerStack'."},messages:{missingDevelopmentOnlyCheck:"Don't call 'captureOwnerStack' directly. Use 'if (process.env.NODE_ENV !== \"production\") {...}' to conditionally access it.",useNamespaceImport:"Don't use named imports of 'captureOwnerStack' in files that are bundled for development and production. Use a namespace import instead."},schema:[]},name:"no-misused-capture-owner-stack",create:function(e){if(!e.sourceCode.text.includes("captureOwnerStack"))return{};let{importSource:t}=cM(e);return hr({CallExpression(t){mV(e,t)&&null==ua.findParent(t,S5)&&e.report({messageId:"missingDevelopmentOnlyCheck",node:t})},ImportDeclaration(n){if(n.source.value===t)for(let t of n.specifiers)t.type===av.AST_NODE_TYPES.ImportSpecifier&&t.imported.type===av.AST_NODE_TYPES.Identifier&&"captureOwnerStack"===t.imported.name&&e.report({messageId:"useNamespaceImport",node:t})}})},defaultOptions:[]}),S9=S_({meta:{type:"problem",docs:{description:"Disallows nesting component definitions inside other components."},messages:{default:"Do not nest component definitions inside other components or props. {{suggestion}}"},schema:[]},name:"no-nested-component-definitions",create:function(e){let t=g$(e,{hint:gM.DoNotIncludeJsxWithNumberValue|gM.DoNotIncludeJsxWithBooleanValue|gM.DoNotIncludeJsxWithNullValue|gM.DoNotIncludeJsxWithStringValue|gM.DoNotIncludeJsxWithUndefinedValue|gM.RequireBothSidesOfLogicalExpressionToBeJsx|gM.RequireBothBranchesOfConditionalExpressionToBeJsx|gM.DoNotIncludeFunctionDefinedAsArrayPatternElement|gM.DoNotIncludeFunctionDefinedAsArrayExpressionElement|gM.DoNotIncludeFunctionDefinedAsArrayMapCallback}),n=gk(e);return hr(t.visitor,n.visitor,{"Program:exit"(r){let i=[...t.api.getAllComponents(r)],a=[...n.api.getAllComponents(r)];function o(e){return ua.findParent(e,e=>c$.isFunction(e)?i.some(t=>t.node===e):!!c$.isClass(e)&&a.some(t=>t.node===e))}for(let{name:t,node:n}of i)if(null!=t){if(n.parent.type===av.AST_NODE_TYPES.JSXAttribute||null!=function(e,t=()=>!0){return ua.findParent(e,e=>e.type===av.AST_NODE_TYPES.JSXAttribute&&t(e))}(n,e=>e.value?.type===av.AST_NODE_TYPES.JSXExpressionContainer)||function(e,t){let n=ua.findParent(t,mH(e));if(null==n)return!1;let r=ua.findParent(t,cW(av.AST_NODE_TYPES.ObjectExpression));return null!=r&&r===n.arguments[1]}(e,n)){e.report({data:{name:t,suggestion:"Move it to the top level or pass it as a prop."},messageId:"default",node:n});continue}if(null!=o(n)){e.report({data:{name:t,suggestion:n.parent.type===av.AST_NODE_TYPES.Property?"Move it to the top level or pass it as a prop.":"Move it to the top level."},messageId:"default",node:n});continue}null!=ua.findParent(n,e=>gS(e)&&g_(e.parent.parent))&&e.report({data:{name:t,suggestion:"Move it to the top level."},messageId:"default",node:n})}for(let{name:t="unknown",node:n}of a)null!=o(n)&&e.report({data:{name:t,suggestion:n.parent.type===av.AST_NODE_TYPES.Property?"Move it to the top level or pass it as a prop.":"Move it to the top level."},messageId:"default",node:n})}})},defaultOptions:[]}),Ee=S_({meta:{type:"problem",docs:{description:"Disallows nesting lazy component declarations inside other components or hooks."},messages:{default:"Do not declare lazy components inside other components or hooks. Instead, always declare them at the top level of your module."},schema:[]},name:"no-nested-lazy-component-declarations",create:function(e){let t=g$(e),n=gk(e),r=gW(e),i=new Set;return hr(t.visitor,n.visitor,r.visitor,{ImportExpression(t){let n=ua.findParent(t,t=>m0(e,t));null!=n&&i.add(n)},"Program:exit"(a){let o=[...t.api.getAllComponents(a),...r.api.getAllHooks(a),...n.api.getAllComponents(a)];for(let t of i)ua.findParent(t,e=>o.some(t=>t.node===e))&&e.report({messageId:"default",node:t})}})},defaultOptions:[]}),Et=S_({meta:{type:"problem",docs:{description:"Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks."},messages:{default:"Do not call `this.setState` in `componentDidMount` outside functions such as callbacks."},schema:[]},name:"no-set-state-in-component-did-mount",create:function(e){return e.sourceCode.text.includes("componentDidMount")?hr({CallExpression(t){if(!gE(t))return;let n=ua.findParent(t,g_),r=ua.findParent(t,e=>e===n||gf(e));if(null==n||null==r||r===n)return;let i=e.sourceCode.getScope(r),a=e.sourceCode.getScope(t).upper;r.parent===n.body&&a===i&&e.report({messageId:"default",node:t})}}):{}},defaultOptions:[]}),En=S_({meta:{type:"problem",docs:{description:"Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks."},messages:{default:"Do not call `this.setState` in `componentDidUpdate` outside functions such as callbacks."},schema:[]},name:"no-set-state-in-component-did-update",create:function(e){return e.sourceCode.text.includes("componentDidUpdate")?hr({CallExpression(t){if(!gE(t))return;let n=ua.findParent(t,g_),r=ua.findParent(t,e=>e===n||gm(e));if(null==n||null==r||r===n)return;let i=e.sourceCode.getScope(r),a=e.sourceCode.getScope(t).upper;r.parent===n.body&&a===i&&e.report({messageId:"default",node:t})}}):{}},defaultOptions:[]}),Er=S_({meta:{type:"problem",docs:{description:"Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks."},messages:{default:"Do not call `this.setState` in `componentWillUpdate` outside functions such as callbacks."},schema:[]},name:"no-set-state-in-component-will-update",create:function(e){return e.sourceCode.text.includes("componentWillUpdate")?hr({CallExpression(t){if(!gE(t))return;let n=ua.findParent(t,g_),r=ua.findParent(t,e=>e===n||gy(e));if(null==n||null==r||r===n)return;let i=e.sourceCode.getScope(r),a=e.sourceCode.getScope(t).upper;r.parent===n.body&&a===i&&e.report({messageId:"default",node:t})}}):{}},defaultOptions:[]});let Ei=["useMDXComponents"];function Ea(e){var t;return null!=e&&c$.isFunction(e)&&e.parent.type===av.AST_NODE_TYPES.CallExpression&&null!=(t=e.parent.callee)&&t.type===av.AST_NODE_TYPES.MemberExpression&&t.object.type===av.AST_NODE_TYPES.Identifier&&t.property.type===av.AST_NODE_TYPES.Identifier&&"mock"===t.property.name&&e.parent.arguments[1]===e}var Eo=S_({meta:{type:"problem",docs:{description:"Enforces that a function with the 'use' prefix uses at least one Hook inside it."},messages:{default:"If your function doesn't call any Hooks, avoid the 'use' prefix. Instead, write it as a regular function without the 'use' prefix."},schema:[]},name:"no-unnecessary-use-prefix",create:function(e){let{api:t,visitor:n}=gW(e);return hr(n,{"Program:exit"(n){for(let{id:r,name:i,hookCalls:a,node:o}of t.getAllHooks(n)){if(!(null==i||a.length>0||o.body.type===av.AST_NODE_TYPES.BlockStatement&&0===o.body.body.length||Ei.includes(i)))e.sourceCode.getCommentsInside(o).some(({value:e})=>/use\([\s\S]*?\)/u.test(e)||/use[A-Z0-9]\w*\([\s\S]*?\)/u.test(e))||null==ua.findParent(o,Ea)&&e.report({data:{name:i},messageId:"default",node:r??o})}}})},defaultOptions:[]}),Es=S_({meta:{type:"problem",docs:{description:"Warns about the use of 'UNSAFE_componentWillMount' in class components."},messages:{default:"Do not use 'UNSAFE_componentWillMount'."},schema:[]},name:"no-unsafe-component-will-mount",create:function(e){if(!e.sourceCode.text.includes("UNSAFE_componentWillMount"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gv(n)&&e.report({messageId:"default",node:n})}}})},defaultOptions:[]}),El=S_({meta:{type:"problem",docs:{description:"Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components."},messages:{default:"Do not use 'UNSAFE_componentWillReceiveProps'."},schema:[]},name:"no-unsafe-component-will-receive-props",create:function(e){if(!e.sourceCode.text.includes("UNSAFE_componentWillReceiveProps"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gb(n)&&e.report({messageId:"default",node:n})}}})},defaultOptions:[]}),Ec=S_({meta:{type:"problem",docs:{description:"Warns about the use of 'UNSAFE_componentWillUpdate' in class components."},messages:{default:"Do not use 'UNSAFE_componentWillUpdate'."},schema:[]},name:"no-unsafe-component-will-update",create:function(e){if(!e.sourceCode.text.includes("UNSAFE_componentWillUpdate"))return{};let{api:t,visitor:n}=gk(e);return hr(n,{"Program:exit"(n){for(let{node:r}of t.getAllComponents(n)){let{body:t}=r.body;for(let n of t)gx(n)&&e.report({messageId:"default",node:n})}}})},defaultOptions:[]}),Eu=S_({meta:{type:"problem",docs:{description:"Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'."},messages:{unstableContextValue:"A/an '{{kind}}' passed as the value prop to the context provider should not be constructed. It will change on every render. {{suggestion}}"},schema:[]},name:"no-unstable-context-value",create:function(e){let{compilationMode:t,version:n}=cM(e);if("infer"===t||"all"===t||"annotation"===t&&e.sourceCode.ast.body.some(c$.isDirective("use memo")))return{};let r=hu(n,"19.0.0","<"),{api:i,visitor:a}=g$(e),o=new WeakMap;return hr(a,{JSXOpeningElement(n){let i=f7(n.parent).split(".").at(-1);if(null==i||!("Provider"===i||!r&&(i.endsWith("Context")||i.endsWith("CONTEXT"))))return;let a=ua.findParent(n,c$.isFunction);if(null==a||"annotation"===t&&gw(a).some(e=>"use memo"===e.directive))return;let s=n.attributes.find(e=>e.type===av.AST_NODE_TYPES.JSXAttribute&&"value"===e.name.name);if(null==s||!("value"in s))return;let l=s.value;if(l?.type!==av.AST_NODE_TYPES.JSXExpressionContainer)return;let c=fZ(e,l.expression);null==c||gB(c.node)||SD(o,a,()=>[]).push(c)},"Program:exit"(n){for(let{directives:r,node:a}of i.getAllComponents(n))if(!("annotation"===t&&r.some(e=>"use memo"===e.directive)))for(let t of o.get(a)??[]){let{kind:n,node:r}=t,i="function"===n?"Consider wrapping it in a useCallback hook.":"Consider wrapping it in a useMemo hook.";e.report({data:{kind:ue.getHumanReadableKind(r),suggestion:i},messageId:"unstableContextValue",node:r})}}})},defaultOptions:[]}),E_=S_({meta:{type:"problem",docs:{description:"Prevents using referential-type values as default props in object destructuring."},messages:{default:"A/an '{{kind}}' as default prop. This could lead to potential infinite render loop in React. Use a variable instead of '{{kind}}'."},schema:[{type:"object",additionalProperties:!1,properties:{safeDefaultProps:{type:"array",items:{type:"string"}}}}]},name:"no-unstable-default-props",create:function(e,[t]){let{compilationMode:n}=cM(e);if("infer"===n||"all"===n||"annotation"===n&&e.sourceCode.ast.body.some(c$.isDirective("use memo")))return{};let{api:r,visitor:i}=g$(e),a=new WeakMap,{safeDefaultProps:o=[]}=t,s=o.map(e=>cF(e));return hr(i,{"Program:exit"(t){for(let{node:n}of r.getAllComponents(t)){let{params:t}=n,[r]=t;if(null!=r)for(let t of oi.match(r).with({type:av.AST_NODE_TYPES.ObjectPattern},({properties:e})=>e).with({type:av.AST_NODE_TYPES.Identifier},({name:e})=>a.get(n)?.filter(t=>t.init.name===e).flatMap(e=>e.id.properties)??[]).otherwise(()=>[])){if(t.type!==av.AST_NODE_TYPES.Property||t.value.type!==av.AST_NODE_TYPES.AssignmentPattern)continue;let{value:n}=t,{right:r}=n,i=fZ(e,n);if(null!=i&&!gB(i.node)){if(s.length>0){let e=function(e){if(e.type===av.AST_NODE_TYPES.NewExpression){let t=ue.unwrap(e.callee);if(t.type===av.AST_NODE_TYPES.Identifier)return t.name}if(e.type===av.AST_NODE_TYPES.CallExpression){let t=ue.unwrap(e.callee);if(t.type===av.AST_NODE_TYPES.Identifier)return t.name;if(t.type===av.AST_NODE_TYPES.MemberExpression){let{object:e}=t;if(e.type===av.AST_NODE_TYPES.Identifier)return e.name}}return null}(r);if(null!=e&&s.some(t=>t.test(e)))continue}e.report({data:{kind:ue.getHumanReadableKind(r)},messageId:"default",node:r})}}}},"VariableDeclarator[id.type='ObjectPattern'][init.type='Identifier']"(e){let t=ua.findParent(e,c$.isFunction);null!=t&&SD(a,t,()=>[]).push(e)}})},defaultOptions:[{safeDefaultProps:[]}]});let Ed=new Set(["componentDidCatch","componentDidMount","componentDidUpdate","componentWillMount","componentWillReceiveProps","componentWillUnmount","componentWillUpdate","constructor","getSnapshotBeforeUpdate","render","shouldComponentUpdate","state","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate"]);function Ep(e,t){return oi.match(t).with({type:av.AST_NODE_TYPES.Literal},Sw).with({type:av.AST_NODE_TYPES.TemplateLiteral,expressions:[]},Sw).with({type:av.AST_NODE_TYPES.Identifier},()=>!e.computed).otherwise(SA)}var Ef=S_({meta:{type:"suggestion",docs:{description:"Warns about unused class component methods and properties."},messages:{default:"Unused method or property '{{methodName}}'' of class '{{className}}'."},schema:[]},name:"no-unused-class-component-members",create:function(e){let t=[],n=[],r=new WeakMap,i=new WeakMap;function a(e){t.push(e),g_(e)&&(r.set(e,new Set),i.set(e,new Set))}function o(){let n=t.pop();if(null==n||!g_(n))return;let a=gu(n),o=r.get(n),s=i.get(n);if(null!=o)for(let t of o){let n=ue.getPropertyName(t);null!=n&&(s?.has(n)||Ed.has(n)||e.report({data:{className:null!=a?e.sourceCode.getText(a):"Component",methodName:n},messageId:"default",node:t}))}}function s(e){n.push(e);let i=t.at(-1);null!=i&&g_(i)&&!e.static&&Ep(e,e.key)&&r.get(i)?.add(e.key)}function l(){n.pop()}return hr({ClassDeclaration:a,"ClassDeclaration:exit":o,ClassExpression:a,"ClassExpression:exit":o,MemberExpression(e){let a=t.at(-1),o=n.at(-1);if(null==a||null==o||!g_(a)||o.static||e.object.type!==av.AST_NODE_TYPES.ThisExpression||!Ep(e,e.property))return;if(e.parent.type===av.AST_NODE_TYPES.AssignmentExpression&&e.parent.left===e)return void r.get(a)?.add(e.property);let s=ue.getPropertyName(e.property);null!=s&&i.get(a)?.add(s)},MethodDefinition:s,"MethodDefinition:exit":l,PropertyDefinition:s,"PropertyDefinition:exit":l,VariableDeclarator(e){let r=t.at(-1),a=n.at(-1);if(null!=r&&null!=a&&g_(r)&&!a.static&&null!=e.init&&e.init.type===av.AST_NODE_TYPES.ThisExpression&&e.id.type===av.AST_NODE_TYPES.ObjectPattern){for(let t of e.id.properties)if(t.type===av.AST_NODE_TYPES.Property&&Ep(t,t.key)){let e=ue.getPropertyName(t.key);null!=e&&i.get(r)?.add(e)}}}})},defaultOptions:[]});function Em(e,t,n){for(let o of n.properties)switch(o.type){case av.AST_NODE_TYPES.Property:{let e=Eh(o.key);if(null==e)return!1;t.add(e);break}case av.AST_NODE_TYPES.RestElement:var r,i,a;if(r=e,i=t,!((a=o).argument.type===av.AST_NODE_TYPES.Identifier&&Eg(r,i,a.argument)))return!1}return!0}function Eg(e,t,n){let r=e.sourceCode.getScope(n).variables.find(e=>e.name===n.name);if(null==r)return!1;for(let i of r.references)if(i.identifier!==n&&!function(e,t,n){let r=n.identifier;for(;c$.isTypeExpression(r.parent)||r.parent.type===av.AST_NODE_TYPES.ChainExpression;)r=r.parent;let i=r.parent;switch(i.type){case av.AST_NODE_TYPES.MemberExpression:if(i.object===r){let e=Eh(i.property);if(null==e)return!1;return t.add(e),!0}break;case av.AST_NODE_TYPES.VariableDeclarator:if(i.id.type===av.AST_NODE_TYPES.ObjectPattern&&i.init===r)return Em(e,t,i.id)}return!1}(e,t,i))return!1;return!0}function Eh(e){switch(e.type){case av.AST_NODE_TYPES.Identifier:return e.name;case av.AST_NODE_TYPES.Literal:if("string"==typeof e.value)return e.value}return null}var Ey=S_({meta:{type:"suggestion",docs:{description:"Warns about component props that are defined but never used."},messages:{default:"Prop `{{name}}` is declared but never used"},schema:[]},name:"no-unused-props",create:function(e){let t=ay.ESLintUtils.getParserServices(e,!1),n=t.program.getTypeChecker(),{api:r,visitor:i}=g$(e);return hr(i,{"Program:exit"(i){let a=new Map,o=new Set;for(let s of r.getAllComponents(i)){let[r]=s.node.params;if(null==r)continue;let i=new Set;if(!function(e,t,n){switch(n.type){case av.AST_NODE_TYPES.Identifier:return Eg(e,t,n);case av.AST_NODE_TYPES.ObjectPattern:return Em(e,t,n);default:return!1}}(e,i,r))continue;let l=t.esTreeNodeToTSNodeMap.get(r);for(let e of n.getTypeAtLocation(l).getProperties()){let t=e.getDeclarations()?.[0];null!=t&&(a.has(t)||a.set(t,e),i.has(e.name)&&o.add(t))}}for(let[n,r]of a.entries())o.has(n)||function(e,t,n){let r=n.getDeclarations()?.[0];if(null==r)return;let i=t.tsNodeToESTreeNodeMap.get(r);if(null==i)return;let a=i.type===av.AST_NODE_TYPES.TSPropertySignature?i.key:i;e.report({data:{name:n.name},messageId:"default",node:a})}(e,t,r)}})},defaultOptions:[]}),Ev=S_({meta:{type:"suggestion",docs:{description:"Replaces usage of 'useContext' with 'use'."},fixable:"code",hasSuggestions:!0,messages:{default:"In React 19, 'use' is preferred over 'useContext' because it is more flexible.",replace:"Replace 'useContext' with 'use'."},schema:[]},name:"no-use-context",create:function(e){if(!e.sourceCode.text.includes("useContext"))return{};let{version:t}=cM(e);return hu(t,"19.0.0","<")?{}:hr({CallExpression(t){m6(e,t)&&e.report({messageId:"default",node:t.callee,suggest:[{fix(e){switch(t.callee.type){case av.AST_NODE_TYPES.Identifier:return e.replaceText(t.callee,"use");case av.AST_NODE_TYPES.MemberExpression:return e.replaceText(t.callee.property,"use")}return null},messageId:"replace"}]})}})},defaultOptions:[]});let Eb=new Map([["Atomics",new Set(["add","and","compareExchange","exchange","load","notify","or","store","sub","wait","waitAsync","xor"])],["caches",new Set(["delete","has","keys","match","open"])],["clipboard",new Set(["read","readText","write","writeText"])],["cookieStore",new Set(["delete","get","getAll","set"])],["crypto",new Set(["getRandomValues","randomUUID"])],["Date",new Set(["now"])],["document",new Set(["adoptNode","append","close","createAttribute","createAttributeNS","createCDATASection","createComment","createDocumentFragment","createDocumentType","createElement","createElementNS","createEvent","createNodeIterator","createProcessingInstruction","createRange","createTextNode","createTreeWalker","elementFromPoint","elementsFromPoint","execCommand","exitFullscreen","exitPictureInPicture","exitPointerLock","getAnimations","getElementById","getElementsByClassName","getElementsByName","getElementsByTagName","getElementsByTagNameNS","getSelection","hasFocus","importNode","open","prepend","querySelector","querySelectorAll","replaceChildren","requestStorageAccess","startViewTransition","write","writeln"])],["globalThis",new Set(["addEventListener","alert","blur","cancelAnimationFrame","cancelIdleCallback","clearInterval","clearTimeout","close","confirm","dispatchEvent","fetch","focus","getComputedStyle","getSelection","matchMedia","moveBy","moveTo","open","postMessage","print","prompt","queueMicrotask","removeEventListener","reportError","requestAnimationFrame","requestIdleCallback","resizeBy","resizeTo","scroll","scrollBy","scrollTo","setInterval","setTimeout","stop","structuredClone"])],["history",new Set(["back","forward","go","pushState","replaceState"])],["indexedDB",new Set(["databases","deleteDatabase","open"])],["localStorage",new Set(["clear","getItem","key","removeItem","setItem"])],["location",new Set(["assign","reload","replace"])],["Math",new Set(["random"])],["navigation",new Set(["back","forward","navigate","reload","traverseTo","updateCurrentEntry"])],["navigator",new Set(["canShare","getBattery","getGamepads","getUserMedia","javaEnabled","registerProtocolHandler","requestMediaKeySystemAccess","requestMIDIAccess","sendBeacon","share","vibrate"])],["Notification",new Set(["requestPermission"])],["Object",new Set(["assign","defineProperties","defineProperty","freeze","preventExtensions","seal","setPrototypeOf"])],["performance",new Set(["clearMarks","clearMeasures","getEntries","getEntriesByName","getEntriesByType","mark","measure","now"])],["process",new Set(["abort","chdir","cpuUsage","emitWarning","exit","hrtime","kill","memoryUsage","nextTick","send","stderr","stdout"])],["Reflect",new Set(["defineProperty","deleteProperty","preventExtensions","set","setPrototypeOf"])],["scheduler",new Set(["postTask","yield"])],["sessionStorage",new Set(["clear","getItem","key","removeItem","setItem"])],["URL",new Set(["createObjectURL","revokeObjectURL"])],["window",new Set(["addEventListener","alert","blur","cancelAnimationFrame","cancelIdleCallback","clearInterval","clearTimeout","close","confirm","dispatchEvent","fetch","focus","getComputedStyle","getSelection","matchMedia","moveBy","moveTo","open","postMessage","print","prompt","queueMicrotask","removeEventListener","reportError","requestAnimationFrame","requestIdleCallback","resizeBy","resizeTo","scroll","scrollBy","scrollTo","setInterval","setTimeout","stop","structuredClone"])]]),Ex=new Set(["Audio","AudioContext","BroadcastChannel","Date","EventSource","FileReader","Image","IntersectionObserver","MediaRecorder","MediaSource","MediaStream","MessageChannel","MutationObserver","Notification","OfflineAudioContext","PerformanceObserver","ReportingObserver","ResizeObserver","RTCPeerConnection","SharedWorker","WebSocket","Worker","XMLHttpRequest"]);var ET=S_({meta:{type:"problem",docs:{description:"Validates that components and hooks are pure by checking that they do not call known-impure functions during render."},messages:{default:"Do not call '{{name}}' during render. Components and hooks must be pure. Move this call into an event handler, effect, or state initializer."},schema:[]},name:"purity",create:function(e){let t=gW(e),n=g$(e),r=[],i=[];return hr(t.visitor,n.visitor,{CallExpression(t){let n=ue.unwrap(t.callee);switch(!0){case n.type===av.AST_NODE_TYPES.Identifier:{let i=ES(e,n);if(null==i||!Eb.get("globalThis")?.has(i))return;let a=ua.findParent(t,c$.isFunction);if(null==a)return;r.push({func:a,node:t});break}case n.type===av.AST_NODE_TYPES.MemberExpression&&n.property.type===av.AST_NODE_TYPES.Identifier:{let i=ue.getRootIdentifier(n.object);if(null==i)return;let a=ES(e,i);if(null==a)return;let o=n.property.name;if(!Eb.get(a)?.has(o))return;let s=ua.findParent(t,c$.isFunction);if(null==s)return;r.push({func:s,node:t})}}},NewExpression(t){let n=ue.unwrap(t.callee);if(n.type!==av.AST_NODE_TYPES.Identifier)return;let r=ES(e,n);if(null==r||!Ex.has(r)||"Date"===r&&t.arguments.length>0)return;let a=ua.findParent(t,c$.isFunction);null!=a&&i.push({func:a,node:t})},"Program:exit"(a){let o=[...n.api.getAllComponents(a),...t.api.getAllHooks(a)];for(let{func:t,node:n}of[...r,...i])o.some(e=>e.node===t)&&e.report({data:{name:e.sourceCode.getText(n)},messageId:"default",node:n})}})},defaultOptions:[]});function ES(e,t,n=new Set){if(n.has(t.name))return null;n.add(t.name);let r=ab.findVariable(e.sourceCode.getScope(t),t);if(null==r)return t.name;let i=r.defs[0];if(null==i||i.type===fX.DefinitionType.ImplicitGlobalVariable)return t.name;if(i.type===fX.DefinitionType.Variable&&null!=i.node.init){let t=ue.unwrap(i.node.init);if(t.type===av.AST_NODE_TYPES.Identifier)return ES(e,t,n);if(t.type===av.AST_NODE_TYPES.MemberExpression){let r=ue.getRootIdentifier(t);if(null!=r)return ES(e,r,n)}}return null}function EE(e,t){if(e.type!==av.AST_NODE_TYPES.BinaryExpression||!/^(===|==|!==|!=)$/.test(e.operator))return!1;let{left:n,right:r}=e,i=(e,n)=>{if((e=c$.isTypeExpression(e)?ue.unwrap(e):e).type!==av.AST_NODE_TYPES.MemberExpression||"current"!==ue.getPropertyName(e.property))return!1;let r=ue.unwrap(e.object);return r.type===av.AST_NODE_TYPES.Identifier&&r.name===t&&n.type===av.AST_NODE_TYPES.Literal&&null==n.value};return i(n,r)||i(r,n)}function Ek(e,t){if(EE(e,t))return!0;if(e.type===av.AST_NODE_TYPES.UnaryExpression&&"!"===e.operator){let n=ue.unwrap(e.argument);if(n.type===av.AST_NODE_TYPES.MemberExpression){let e=ue.unwrap(n.object);return e.type===av.AST_NODE_TYPES.Identifier&&e.name===t&&"current"===ue.getPropertyName(n.property)}return EE(n,t)}return!1}function EP(e,t,n){for(let{node:r}of ab.findVariable(n,t)?.defs??[]){if(r.type!==av.AST_NODE_TYPES.VariableDeclarator)continue;let t=r.init;if(null!=t)switch(!0){case t.type===av.AST_NODE_TYPES.MemberExpression:{let e=ue.unwrap(t.object);if(e.type===av.AST_NODE_TYPES.Identifier&&("ref"===e.name||e.name.endsWith("Ref")))return!0;break}case t.type===av.AST_NODE_TYPES.CallExpression&&go(e,t):return!0}}return!1}var EC=S_({meta:{type:"problem",docs:{description:"Validates correct usage of refs by checking that 'ref.current' is not read or written during render."},messages:{readDuringRender:"Do not read 'ref.current' during render. Refs are not available during rendering and their values may be stale or inconsistent. Move this read into an effect or event handler.",refPassedToFunction:"Passing a ref to a function may cause its value to be read during render. Pass 'ref.current' instead if the function only needs the value, or move the call into an effect.",writeDuringRender:"Do not write to 'ref.current' during render. Refs should only be mutated in effects or event handlers. Move this write into an effect or event handler."},schema:[]},name:"refs",create:function(e){let t=gW(e),n=g$(e),r=[],i=new Set,a=new Map,o=[];return hr(t.visitor,n.visitor,{AssignmentExpression(e){if("="!==e.operator)return;let t=ue.unwrap(e.left),n=ue.unwrap(e.right);t.type===av.AST_NODE_TYPES.Identifier&&n.type===av.AST_NODE_TYPES.Identifier&&a.set(t.name,n.name)},CallExpression(t){let n=ue.unwrap(t.callee),r=n.type===av.AST_NODE_TYPES.Identifier?n.name:n.type===av.AST_NODE_TYPES.MemberExpression?ue.getPropertyName(n.property):null;if(!(null!=r&&(r.startsWith("use")||"mergeRefs"===r)))for(let n of t.arguments){let r=ue.unwrap(n);if(r.type!==av.AST_NODE_TYPES.Identifier)continue;let s=Ew(r.name,a);("ref"===s||s.endsWith("Ref")||i.has(s)||EP(e,s,e.sourceCode.getScope(r)))&&o.push({callNode:t,node:r})}},JSXAttribute(e){if(!0==(e.name.type===av.AST_NODE_TYPES.JSXIdentifier&&"ref"===e.name.name&&e.value?.type===av.AST_NODE_TYPES.JSXExpressionContainer)){let t=ue.unwrap(e.value.expression);t.type===av.AST_NODE_TYPES.Identifier&&i.add(t.name);return}},MemberExpression(e){"current"===ue.getPropertyName(e.property)&&r.push({isWrite:(()=>{let t=e.parent;for(;c$.isTypeExpression(t);)t=t.parent;return oi.match(t).with({type:av.AST_NODE_TYPES.AssignmentExpression},t=>t.left===e||ue.unwrap(t.left)===e).with({type:av.AST_NODE_TYPES.UpdateExpression},t=>t.argument===e||ue.unwrap(t.argument)===e).otherwise(()=>!1)})(),node:e})},"Program:exit"(s){let l=n.api.getAllComponents(s),c=t.api.getAllHooks(s),u=new Set([...l.map(e=>e.node),...c.map(e=>e.node)]),_=e=>c$.isFunction(e)&&u.has(e);for(let{isWrite:t,node:n}of r){let r=ue.unwrap(n.object);if(r.type!==av.AST_NODE_TYPES.Identifier)continue;let o=Ew(r.name,a);switch(!0){case"ref"===o||o.endsWith("Ref"):case i.has(o):case EP(e,o,e.sourceCode.getScope(n.object)):break;default:continue}let s=ua.findParent(n,_);if(null==s||ua.findParent(n,c$.isFunction)!==s)continue;let l=function(e){let t,n=e.parent;for(;c$.isTypeExpression(n);)n=n.parent;let r=e=>e.parent?.type===av.AST_NODE_TYPES.IfStatement&&e.parent.test===e;if((t=n).type===av.AST_NODE_TYPES.BinaryExpression&&/^(===|==|!==|!=)$/.test(t.operator)){let t;if((t=n.left===e||ue.unwrap(n.left)===e?n.right:n.left).type!==av.AST_NODE_TYPES.Literal||null!=t.value)return!1;if(r(n))return!0;let i=n.parent;return!!(i?.type===av.AST_NODE_TYPES.UnaryExpression&&"!"===i.operator&&r(i))}return n.type===av.AST_NODE_TYPES.UnaryExpression&&"!"===n.operator&&r(n)}(n);if(!l){let e=n.parent;c:for(;null!=e;){if(e.type===av.AST_NODE_TYPES.IfStatement){Ek(e.test,o)&&(l=!0);break}switch(e.type){case av.AST_NODE_TYPES.ExpressionStatement:case av.AST_NODE_TYPES.BlockStatement:case av.AST_NODE_TYPES.ReturnStatement:case av.AST_NODE_TYPES.JSXExpressionContainer:case av.AST_NODE_TYPES.JSXElement:case av.AST_NODE_TYPES.JSXOpeningElement:case av.AST_NODE_TYPES.JSXClosingElement:case av.AST_NODE_TYPES.AssignmentExpression:case av.AST_NODE_TYPES.VariableDeclaration:case av.AST_NODE_TYPES.VariableDeclarator:case av.AST_NODE_TYPES.MemberExpression:case av.AST_NODE_TYPES.ChainExpression:case av.AST_NODE_TYPES.CallExpression:break;default:break c}e=e.parent}}if(!l&&t){let e=n;for(;null!=e.parent&&e.parent.type!==av.AST_NODE_TYPES.BlockStatement;)e=e.parent;if(e.parent?.type===av.AST_NODE_TYPES.BlockStatement){let t=e.parent,n=t.body.indexOf(e);if(n>=0)for(let e=n-1;e>=0;e--){let n=t.body[e];if(null!=n&&n.type===av.AST_NODE_TYPES.IfStatement&&Ek(n.test,o)){l=!0;break}}}}l||e.report({messageId:t?"writeDuringRender":"readDuringRender",node:n})}for(let{node:t}of o){let n=ua.findParent(t,_);null!=n&&ua.findParent(t,c$.isFunction)===n&&e.report({messageId:"refPassedToFunction",node:t})}},VariableDeclarator(e){if(null==e.init)return;let t=e.id,n=ue.unwrap(e.init);t.type===av.AST_NODE_TYPES.Identifier&&n.type===av.AST_NODE_TYPES.Identifier&&a.set(t.name,n.name)}})},defaultOptions:[]});function Ew(e,t){let n=new Set;for(;t.has(e)&&!n.has(e);)n.add(e),e=t.get(e);return e}function EA(e,t){if(!e)throw Error(t??"Assertion violated.")}function ED(e){return e.reachable}var EN=class e{id;nextSegments;prevSegments;allNextSegments;allPrevSegments;reachable;internal;constructor(e,t,n){this.id=e,this.nextSegments=[],this.prevSegments=t.filter(ED),this.allNextSegments=[],this.allPrevSegments=t,this.reachable=n,this.internal={used:!1,loopedPrevSegments:[]}}isLoopedPrevSegment(e){return this.internal.loopedPrevSegments.includes(e)}static newRoot(t){return new e(t,[],!0)}static newNext(t,n){return new e(t,e.flattenUnusedSegments(n),n.some(ED))}static newUnreachable(t,n){let r=new e(t,e.flattenUnusedSegments(n),!1);return e.markUsed(r),r}static newDisconnected(t,n){return new e(t,[],n.some(ED))}static markUsed(e){let t;if(!e.internal.used)if(e.internal.used=!0,e.reachable)for(t=0;t<e.allPrevSegments.length;++t){let n=e.allPrevSegments[t];n.allNextSegments.push(e),n.nextSegments.push(e)}else for(t=0;t<e.allPrevSegments.length;++t)e.allPrevSegments[t].allNextSegments.push(e)}static markPrevSegmentAsLooped(e,t){e.internal.loopedPrevSegments.push(t)}static flattenUnusedSegments(e){let t=Object.create(null),n=[];for(let r=0;r<e.length;++r){let i=e[r];if(!t[i.id])if(i.internal.used)t[i.id]=!0,n.push(i);else for(let e=0;e<i.allPrevSegments.length;++e){let r=i.allPrevSegments[e];t[r.id]||(t[r.id]=!0,n.push(r))}}return n}};function EF(e){return e.reachable}function EI(e,t,n,r){let i=e.segmentsList,a=t>=0?t:i.length+t,o=n>=0?n:i.length+n,s=[];for(let t=0;t<e.count;++t){let n=[];for(let e=a;e<=o;++e)n.push(i[e][t]);s.push(r(e.idGenerator.next(),n))}return s}function EO(e,t){let n=t;for(;n.length>e.count;){let t=[];for(let r=0,i=n.length/2|0;r<i;++r)t.push(EN.newNext(e.idGenerator.next(),[n[r],n[r+i]]));n=t}return n}var EL=class e{idGenerator;upper;count;segmentsList;constructor(e,t,n){this.idGenerator=e,this.upper=t,this.count=n,this.segmentsList=[]}get head(){let e=this.segmentsList;return 0===e.length?[]:e[e.length-1]}get empty(){return 0===this.segmentsList.length}get reachable(){let e=this.head;return e.length>0&&e.some(EF)}makeNext(e,t){return EI(this,e,t,EN.newNext)}makeUnreachable(e,t){return EI(this,e,t,EN.newUnreachable)}makeDisconnected(e,t){return EI(this,e,t,EN.newDisconnected)}add(e){EA(e.length>=this.count,`${e.length} >= ${this.count}`),this.segmentsList.push(EO(this,e))}replaceHead(e){EA(e.length>=this.count,`${e.length} >= ${this.count}`),this.segmentsList.splice(-1,1,EO(this,e))}addAll(e){EA(e.count===this.count);let t=e.segmentsList;for(let e=0;e<t.length;++e)this.segmentsList.push(t[e])}clear(){this.segmentsList=[]}static newRoot(t){let n=new e(t,null,1);return n.add([EN.newRoot(t.next())]),n}static newEmpty(t,n){return new e(t.idGenerator,t,(n?2:1)*t.count)}};function EM(e,t,n,r){for(let i=0;i<r.length;++i){let a=r[i];e.push(a),t.includes(a)||n.push(a)}}function ER(e){let t=e.tryContext;for(;t;){if(t.hasFinalizer&&"finally"!==t.position)return t;t=t.upper}return e}function Ej(e){let t=e.tryContext;for(;t;){if("try"===t.position||t.hasFinalizer&&"catch"===t.position)return t;t=t.upper}return e}function EY(e,t){e.splice(e.indexOf(t),1)}function EU(e,t,n){let r=EN.flattenUnusedSegments(t),i=EN.flattenUnusedSegments(n),a=Math.min(r.length,i.length);for(let t=0;t<a;++t){let n=r[t],a=i[t];a.reachable&&n.nextSegments.push(a),n.reachable&&a.prevSegments.push(n),n.allNextSegments.push(a),a.allPrevSegments.push(n),a.allPrevSegments.length>=2&&EN.markPrevSegmentAsLooped(a,n),e.notifyLooped(n,a)}}function EB(e,t,n){t.processed||(t.trueForkContext.add(n),t.falseForkContext.add(n),t.qqForkContext.add(n)),!0!==e.test&&e.brokenForkContext.addAll(t.falseForkContext),e.endOfTestSegments=t.trueForkContext.makeNext(0,-1)}var EV=class{idGenerator;notifyLooped;forkContext;choiceContext;switchContext;tryContext;loopContext;breakContext;chainContext;currentSegments;initialSegment;finalSegments;returnedForkContext;thrownForkContext;constructor(e,t){this.idGenerator=e,this.notifyLooped=t,this.forkContext=EL.newRoot(e),this.choiceContext=null,this.switchContext=null,this.tryContext=null,this.loopContext=null,this.breakContext=null,this.chainContext=null,this.currentSegments=[],this.initialSegment=this.forkContext.head[0];let n=[];this.finalSegments=n;let r=[],i=[];this.returnedForkContext=r,this.thrownForkContext=i,r.add=EM.bind(null,r,i,n),i.add=EM.bind(null,i,r,n)}get headSegments(){return this.forkContext.head}get parentForkContext(){let e=this.forkContext;return e&&e.upper}pushForkContext(e){return this.forkContext=EL.newEmpty(this.forkContext,e),this.forkContext}popForkContext(){let e=this.forkContext;return this.forkContext=e.upper,this.forkContext.replaceHead(e.makeNext(0,-1)),e}forkPath(){this.forkContext.add(this.parentForkContext.makeNext(-1,-1))}forkBypassPath(){this.forkContext.add(this.parentForkContext.head)}pushChoiceContext(e,t){this.choiceContext={upper:this.choiceContext,kind:e,isForkingAsResult:t,trueForkContext:EL.newEmpty(this.forkContext),falseForkContext:EL.newEmpty(this.forkContext),qqForkContext:EL.newEmpty(this.forkContext),processed:!1}}popChoiceContext(){let e=this.choiceContext;this.choiceContext=e.upper;let t=this.forkContext,n=t.head;switch(e.kind){case"&&":case"||":case"??":if(e.processed||(e.trueForkContext.add(n),e.falseForkContext.add(n),e.qqForkContext.add(n)),e.isForkingAsResult){let t=this.choiceContext;return t.trueForkContext.addAll(e.trueForkContext),t.falseForkContext.addAll(e.falseForkContext),t.qqForkContext.addAll(e.qqForkContext),t.processed=!0,e}break;case"test":e.processed?(e.falseForkContext.clear(),e.falseForkContext.add(n)):(e.trueForkContext.clear(),e.trueForkContext.add(n));break;case"loop":return e;default:throw Error("unreachable")}let r=e.trueForkContext;return r.addAll(e.falseForkContext),t.replaceHead(r.makeNext(0,-1)),e}makeLogicalRight(){let e=this.choiceContext,t=this.forkContext;if(e.processed){let n;switch(e.kind){case"&&":n=e.trueForkContext;break;case"||":n=e.falseForkContext;break;case"??":n=e.qqForkContext;break;default:throw Error("unreachable")}t.replaceHead(n.makeNext(0,-1)),n.clear(),e.processed=!1}else{switch(e.kind){case"&&":e.falseForkContext.add(t.head);break;case"||":e.trueForkContext.add(t.head);break;case"??":e.trueForkContext.add(t.head),e.falseForkContext.add(t.head);break;default:throw Error("unreachable")}t.replaceHead(t.makeNext(-1,-1))}}makeIfConsequent(){let e=this.choiceContext,t=this.forkContext;e.processed||(e.trueForkContext.add(t.head),e.falseForkContext.add(t.head),e.qqForkContext.add(t.head)),e.processed=!1,t.replaceHead(e.trueForkContext.makeNext(0,-1))}makeIfAlternate(){let e=this.choiceContext,t=this.forkContext;e.trueForkContext.clear(),e.trueForkContext.add(t.head),e.processed=!0,t.replaceHead(e.falseForkContext.makeNext(0,-1))}pushChainContext(){this.chainContext={upper:this.chainContext,countChoiceContexts:0}}popChainContext(){let e=this.chainContext;this.chainContext=e.upper;for(let t=e.countChoiceContexts;t>0;--t)this.popChoiceContext()}makeOptionalNode(){this.chainContext&&(this.chainContext.countChoiceContexts+=1,this.pushChoiceContext("??",!1))}makeOptionalRight(){this.chainContext&&this.makeLogicalRight()}pushSwitchContext(e,t){this.switchContext={upper:this.switchContext,hasCase:e,defaultSegments:null,defaultBodySegments:null,foundDefault:!1,lastIsDefault:!1,countForks:0},this.pushBreakContext(!0,t)}popSwitchContext(){let e=this.switchContext;this.switchContext=e.upper;let t=this.forkContext,n=this.popBreakContext().brokenForkContext;if(0===e.countForks){n.empty||(n.add(t.makeNext(-1,-1)),t.replaceHead(n.makeNext(0,-1)));return}let r=t.head;this.forkBypassPath();let i=t.head;n.add(r),e.lastIsDefault||(e.defaultBodySegments?(!function(e,t){for(let n=0;n<e.length;++n){let r=e[n],i=t[n];EY(r.nextSegments,i),EY(r.allNextSegments,i),EY(i.prevSegments,r),EY(i.allPrevSegments,r)}}(e.defaultSegments,e.defaultBodySegments),EU(this,i,e.defaultBodySegments)):n.add(i));for(let t=0;t<e.countForks;++t)this.forkContext=this.forkContext.upper;this.forkContext.replaceHead(n.makeNext(0,-1))}makeSwitchCaseBody(e,t){let n=this.switchContext;if(!n.hasCase)return;let r=this.forkContext,i=this.pushForkContext();i.add(r.makeNext(0,-1)),t?(n.defaultSegments=r.head,e?n.foundDefault=!0:n.defaultBodySegments=i.head):!e&&n.foundDefault&&(n.foundDefault=!1,n.defaultBodySegments=i.head),n.lastIsDefault=t,n.countForks+=1}pushTryContext(e){this.tryContext={upper:this.tryContext,position:"try",hasFinalizer:e,returnedForkContext:e?EL.newEmpty(this.forkContext):null,thrownForkContext:EL.newEmpty(this.forkContext),lastOfTryIsReachable:!1,lastOfCatchIsReachable:!1}}popTryContext(){let e=this.tryContext;if(this.tryContext=e.upper,"catch"===e.position)return void this.popForkContext();let t=e.returnedForkContext,n=e.thrownForkContext;if((null==t||t.empty)&&n.empty)return;let r=this.forkContext.head;this.forkContext=this.forkContext.upper;let i=r.slice(0,r.length/2|0),a=r.slice(r.length/2|0);t&&!t.empty&&ER(this).returnedForkContext.add(a),n.empty||Ej(this).thrownForkContext.add(a),this.forkContext.replaceHead(i),e.lastOfTryIsReachable||e.lastOfCatchIsReachable||this.forkContext.makeUnreachable(-1,-1)}makeCatchBlock(){let e=this.tryContext,t=this.forkContext,n=e.thrownForkContext;e.position="catch",e.thrownForkContext=EL.newEmpty(t),e.lastOfTryIsReachable=t.reachable,n.add(t.head);let r=n.makeNext(0,-1);this.pushForkContext(),this.forkBypassPath(),this.forkContext.add(r)}makeFinallyBlock(){let e=this.tryContext,t=this.forkContext,n=e.returnedForkContext,r=e.thrownForkContext,i=t.head;if("catch"===e.position?(this.popForkContext(),e.lastOfCatchIsReachable=(t=this.forkContext).reachable):e.lastOfTryIsReachable=t.reachable,e.position="finally",n.empty&&r.empty)return;let a=t.makeNext(-1,-1);for(let e=0;e<t.count;++e){let t=[i[e]];for(let r=0;r<n.segmentsList.length;++r)t.push(n.segmentsList[r][e]);for(let n=0;n<r.segmentsList.length;++n)t.push(r.segmentsList[n][e]);a.push(EN.newNext(this.idGenerator.next(),t))}this.pushForkContext(!0),this.forkContext.add(a)}makeFirstThrowablePathInTryBlock(){let e=this.forkContext;if(!e.reachable)return;let t=Ej(this);t!==this&&"try"===t.position&&t.thrownForkContext.empty&&(t.thrownForkContext.add(e.head),e.replaceHead(e.makeNext(-1,-1)))}pushLoopContext(e,t){let n=this.forkContext,r=this.pushBreakContext(!0,t);switch(e){case"WhileStatement":this.pushChoiceContext("loop",!1),this.loopContext={upper:this.loopContext,type:"WhileStatement",label:t,test:void 0,continueDestSegments:null,brokenForkContext:r.brokenForkContext};break;case"DoWhileStatement":this.pushChoiceContext("loop",!1),this.loopContext={upper:this.loopContext,type:"DoWhileStatement",label:t,test:void 0,entrySegments:null,continueForkContext:EL.newEmpty(n),brokenForkContext:r.brokenForkContext};break;case"ForStatement":this.pushChoiceContext("loop",!1),this.loopContext={upper:this.loopContext,type:"ForStatement",label:t,test:void 0,endOfInitSegments:null,testSegments:null,endOfTestSegments:null,updateSegments:null,endOfUpdateSegments:null,continueDestSegments:null,brokenForkContext:r.brokenForkContext};break;case"ForInStatement":case"ForOfStatement":this.loopContext={upper:this.loopContext,type:e,label:t,prevSegments:null,leftSegments:null,endOfLeftSegments:null,continueDestSegments:null,brokenForkContext:r.brokenForkContext};break;default:throw Error(`unknown type: "${e}"`)}}popLoopContext(){let e=this.loopContext;this.loopContext=e.upper;let t=this.forkContext,n=this.popBreakContext().brokenForkContext;switch(e.type){case"WhileStatement":case"ForStatement":this.popChoiceContext(),EU(this,t.head,e.continueDestSegments);break;case"DoWhileStatement":{let r=this.popChoiceContext();r.processed||(r.trueForkContext.add(t.head),r.falseForkContext.add(t.head)),!0!==e.test&&n.addAll(r.falseForkContext);let i=r.trueForkContext.segmentsList;for(let t=0;t<i.length;++t)EU(this,i[t],e.entrySegments);break}case"ForInStatement":case"ForOfStatement":n.add(t.head),EU(this,t.head,e.leftSegments);break;default:throw Error("unreachable")}n.empty?t.replaceHead(t.makeUnreachable(-1,-1)):t.replaceHead(n.makeNext(0,-1))}makeWhileTest(e){let t=this.loopContext,n=this.forkContext,r=n.makeNext(0,-1);t.test=e,t.continueDestSegments=r,n.replaceHead(r)}makeWhileBody(){let e=this.loopContext,t=this.choiceContext,n=this.forkContext;t.processed||(t.trueForkContext.add(n.head),t.falseForkContext.add(n.head)),!0!==e.test&&e.brokenForkContext.addAll(t.falseForkContext),n.replaceHead(t.trueForkContext.makeNext(0,-1))}makeDoWhileBody(){let e=this.loopContext,t=this.forkContext,n=t.makeNext(-1,-1);e.entrySegments=n,t.replaceHead(n)}makeDoWhileTest(e){let t=this.loopContext,n=this.forkContext;if(t.test=e,!t.continueForkContext.empty){t.continueForkContext.add(n.head);let e=t.continueForkContext.makeNext(0,-1);n.replaceHead(e)}}makeForTest(e){let t=this.loopContext,n=this.forkContext,r=n.head,i=n.makeNext(-1,-1);t.test=e,t.endOfInitSegments=r,t.continueDestSegments=t.testSegments=i,n.replaceHead(i)}makeForUpdate(){let e=this.loopContext,t=this.choiceContext,n=this.forkContext;e.testSegments?EB(e,t,n.head):e.endOfInitSegments=n.head;let r=n.makeDisconnected(-1,-1);e.continueDestSegments=e.updateSegments=r,n.replaceHead(r)}makeForBody(){let e=this.loopContext,t=this.choiceContext,n=this.forkContext;e.updateSegments?(e.endOfUpdateSegments=n.head,e.testSegments&&EU(this,e.endOfUpdateSegments,e.testSegments)):e.testSegments?EB(e,t,n.head):e.endOfInitSegments=n.head;let r=e.endOfTestSegments;if(!r){let t=EL.newEmpty(n);t.add(e.endOfInitSegments),e.endOfUpdateSegments&&t.add(e.endOfUpdateSegments),r=t.makeNext(0,-1)}e.continueDestSegments=e.continueDestSegments||r,n.replaceHead(r)}makeForInOfLeft(){let e=this.loopContext,t=this.forkContext,n=t.makeDisconnected(-1,-1);e.prevSegments=t.head,e.leftSegments=e.continueDestSegments=n,t.replaceHead(n)}makeForInOfRight(){let e=this.loopContext,t=this.forkContext,n=EL.newEmpty(t);n.add(e.prevSegments);let r=n.makeNext(-1,-1);e.endOfLeftSegments=t.head,t.replaceHead(r)}makeForInOfBody(){let e=this.loopContext,t=this.forkContext,n=EL.newEmpty(t);n.add(e.endOfLeftSegments);let r=n.makeNext(-1,-1);EU(this,t.head,e.leftSegments),e.brokenForkContext.add(t.head),t.replaceHead(r)}pushBreakContext(e,t){return this.breakContext={upper:this.breakContext,breakable:e,label:t,brokenForkContext:EL.newEmpty(this.forkContext)},this.breakContext}popBreakContext(){let e=this.breakContext,t=this.forkContext;if(this.breakContext=e.upper,!e.breakable){let n=e.brokenForkContext;n.empty||(n.add(t.head),t.replaceHead(n.makeNext(0,-1)))}return e}makeBreak(e){let t=this.forkContext;if(!t.reachable)return;let n=function(e,t){let n=e.breakContext;for(;n;){if(t?n.label===t:n.breakable)return n;n=n.upper}return null}(this,e);n&&n.brokenForkContext.add(t.head),t.replaceHead(t.makeUnreachable(-1,-1))}makeContinue(e){let t=this.forkContext;if(!t.reachable)return;let n=function(e,t){if(!t)return e.loopContext;let n=e.loopContext;for(;n;){if(n.label===t)return n;n=n.upper}return null}(this,e);n&&(null!=n.continueDestSegments?(EU(this,t.head,n.continueDestSegments),("ForInStatement"===n.type||"ForOfStatement"===n.type)&&n.brokenForkContext.add(t.head)):n.continueForkContext.add(t.head)),t.replaceHead(t.makeUnreachable(-1,-1))}makeReturn(){let e=this.forkContext;e.reachable&&(ER(this).returnedForkContext.add(e.head),e.replaceHead(e.makeUnreachable(-1,-1)))}makeThrow(){let e=this.forkContext;e.reachable&&(Ej(this).thrownForkContext.add(e.head),e.replaceHead(e.makeUnreachable(-1,-1)))}makeFinal(){let e=this.currentSegments;e.length>0&&e[0].reachable&&this.returnedForkContext.add(e)}},EJ=class{prefix;n;constructor(e){this.prefix=String(e),this.n=0}next(){return this.n=1+this.n|0,this.n<0&&(this.n=1),this.prefix+this.n}},Ez=class{id;origin;upper;childCodePaths;internal;constructor({id:e,origin:t,upper:n,onLooped:r}){this.id=e,this.origin=t,this.upper=n,this.childCodePaths=[],this.internal=new EV(new EJ(`${e}_`),r),n&&n.childCodePaths.push(this)}static getState(e){return e.internal}get initialSegment(){return this.internal.initialSegment}get finalSegments(){return this.internal.finalSegments}get returnedSegments(){return this.internal.returnedForkContext}get thrownSegments(){return this.internal.thrownForkContext}get currentSegments(){return this.internal.currentSegments}traverseSegments(e,t){let n,r;"function"==typeof e?(r=e,n={}):(n=e||{},r=t);let i=n.first||this.internal.initialSegment,a=n.last,o=null,s=0,l=0,c=null,u=Object.create(null),_=[[i,0]],d=null,p=!1,f={skip(){_.length<=1?p=!0:d=_[_.length-2][0]},break(){p=!0}};function m(e){return u[e.id]||c.isLoopedPrevSegment(e)}for(;_.length>0;){if(c=(o=_[_.length-1])[0],0===(s=o[1])){if(u[c.id]||c!==i&&c.prevSegments.length>0&&!c.prevSegments.every(m)){_.pop();continue}if(d&&c.prevSegments.includes(d)&&(d=null),u[c.id]=!0,!d&&(r.call(this,c,f),c===a&&f.skip(),p))break}s<(l=c.nextSegments.length-1)?(o[1]+=1,_.push([c.nextSegments[s],0])):s===l?(o[0]=c.nextSegments[s],o[1]=0):_.pop()}}};let Eq=/^(?:(?:Do)?While|For(?:In|Of)?|Switch)Statement$/u;function E$(e){return!!e.test}function EW(e){let t=e.parent;return t&&"PropertyDefinition"===t.type&&t.value===e}function EK(e){return"&&"===e||"||"===e||"??"===e}function EG(e){return"&&="===e||"||="===e||"??="===e}function EH(e){return"LabeledStatement"===e.parent.type?e.parent.label.name:null}function EX(e){let t=e.parent;switch(t.type){case"ConditionalExpression":case"IfStatement":case"WhileStatement":case"DoWhileStatement":case"ForStatement":return t.test===e;case"LogicalExpression":return EK(t.operator);case"AssignmentExpression":return EG(t.operator);default:return!1}}function EQ(e){if("Literal"===e.type)return!!e.value}function EZ(e,t){let n,r,i,a=e.codePath,o=Ez.getState(a),s=o.currentSegments,l=o.headSegments,c=Math.max(s.length,l.length);for(n=0;n<c;++n)(r=s[n])!==(i=l[n])&&r&&r.reachable&&e.emitter.emit("onCodePathSegmentEnd",r,t);for(n=0,o.currentSegments=l;n<c;++n)(r=s[n])!==(i=l[n])&&i&&(EN.markUsed(i),i.reachable&&e.emitter.emit("onCodePathSegmentStart",i,t))}var E0=class{emitter;codePath;idGenerator;currentNode;onLooped;constructor(e){this.emitter={emit(t,...n){e[t]?.(...n)}},this.codePath=null,this.idGenerator=new EJ("s"),this.currentNode=null,this.onLooped=this._onLooped.bind(this)}enterNode(e){this.currentNode=e,e.parent&&function(e,t){let n=e.codePath,r=Ez.getState(n),i=t.parent;switch(i.type){case"CallExpression":!0===i.optional&&i.arguments.length>=1&&i.arguments[0]===t&&r.makeOptionalRight();break;case"MemberExpression":!0===i.optional&&i.property===t&&r.makeOptionalRight();break;case"LogicalExpression":i.right===t&&EK(i.operator)&&r.makeLogicalRight();break;case"AssignmentExpression":i.right===t&&EG(i.operator)&&r.makeLogicalRight();break;case"ConditionalExpression":case"IfStatement":i.consequent===t?r.makeIfConsequent():i.alternate===t&&r.makeIfAlternate();break;case"SwitchCase":i.consequent[0]===t&&r.makeSwitchCaseBody(!1,!i.test);break;case"TryStatement":i.handler===t?r.makeCatchBlock():i.finalizer===t&&r.makeFinallyBlock();break;case"WhileStatement":i.test===t?r.makeWhileTest(EQ(t)):(EA(i.body===t),r.makeWhileBody());break;case"DoWhileStatement":i.body===t?r.makeDoWhileBody():(EA(i.test===t),r.makeDoWhileTest(EQ(t)));break;case"ForStatement":i.test===t?r.makeForTest(EQ(t)):i.update===t?r.makeForUpdate():i.body===t&&r.makeForBody();break;case"ForInStatement":case"ForOfStatement":i.left===t?r.makeForInOfLeft():i.right===t?r.makeForInOfRight():(EA(i.body===t),r.makeForInOfBody());break;case"AssignmentPattern":i.right===t&&(r.pushForkContext(),r.forkBypassPath(),r.forkPath())}}(this,e),function(e,t){let n=e.codePath,r=n&&Ez.getState(n),i=t.parent;function a(i){n&&EZ(e,t),n=e.codePath=new Ez({id:e.idGenerator.next(),origin:i,upper:n,onLooped:e.onLooped}),r=Ez.getState(n),e.emitter.emit("onCodePathStart",n,t)}switch(EW(t)&&a("class-field-initializer"),t.type){case"Program":a("program");break;case"FunctionDeclaration":case"ComponentDeclaration":case"HookDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":a("function");break;case"StaticBlock":a("class-static-block");break;case"ChainExpression":r.pushChainContext();break;case"CallExpression":case"MemberExpression":!0===t.optional&&r.makeOptionalNode();break;case"LogicalExpression":EK(t.operator)&&r.pushChoiceContext(t.operator,EX(t));break;case"AssignmentExpression":EG(t.operator)&&r.pushChoiceContext(t.operator.slice(0,-1),EX(t));break;case"ConditionalExpression":case"IfStatement":r.pushChoiceContext("test",!1);break;case"SwitchStatement":r.pushSwitchContext(t.cases.some(E$),EH(t));break;case"TryStatement":r.pushTryContext(!!t.finalizer);break;case"SwitchCase":i.discriminant!==t&&i.cases[0]!==t&&r.forkPath();break;case"WhileStatement":case"DoWhileStatement":case"ForStatement":case"ForInStatement":case"ForOfStatement":r.pushLoopContext(t.type,EH(t));break;case"LabeledStatement":Eq.test(t.body.type)||r.pushBreakContext(!1,t.label.name)}EZ(e,t)}(this,e),this.currentNode=null}leaveNode(e){this.currentNode=e,function(e,t){let n=e.codePath,r=Ez.getState(n),i=!1;switch(t.type){case"ChainExpression":r.popChainContext();break;case"IfStatement":case"ConditionalExpression":r.popChoiceContext();break;case"LogicalExpression":EK(t.operator)&&r.popChoiceContext();break;case"AssignmentExpression":EG(t.operator)&&r.popChoiceContext();break;case"SwitchStatement":r.popSwitchContext();break;case"SwitchCase":0===t.consequent.length&&r.makeSwitchCaseBody(!0,!t.test),r.forkContext.reachable&&(i=!0);break;case"TryStatement":r.popTryContext();break;case"BreakStatement":EZ(e,t),r.makeBreak(t.label&&t.label.name),i=!0;break;case"ContinueStatement":EZ(e,t),r.makeContinue(t.label&&t.label.name),i=!0;break;case"ReturnStatement":EZ(e,t),r.makeReturn(),i=!0;break;case"ThrowStatement":EZ(e,t),r.makeThrow(),i=!0;break;case"Identifier":(function(e){let t=e.parent;switch(t.type){case"LabeledStatement":case"BreakStatement":case"ContinueStatement":case"ArrayPattern":case"RestElement":case"ImportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"CatchClause":return!1;case"FunctionDeclaration":case"ComponentDeclaration":case"HookDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ClassDeclaration":case"ClassExpression":case"VariableDeclarator":return t.id!==e;case"Property":case"PropertyDefinition":case"MethodDefinition":return t.key!==e||t.computed||t.shorthand;case"AssignmentPattern":return t.key!==e;default:return!0}})(t)&&(r.makeFirstThrowablePathInTryBlock(),i=!0);break;case"CallExpression":case"ImportExpression":case"MemberExpression":case"NewExpression":case"YieldExpression":r.makeFirstThrowablePathInTryBlock();break;case"WhileStatement":case"DoWhileStatement":case"ForStatement":case"ForInStatement":case"ForOfStatement":r.popLoopContext();break;case"AssignmentPattern":r.popForkContext();break;case"LabeledStatement":Eq.test(t.body.type)||r.popBreakContext()}i||EZ(e,t)}(this,e);var t=this;function n(){let n=t.codePath;Ez.getState(n).makeFinal();let r=Ez.getState(t.codePath),i=r.currentSegments;for(let n=0;n<i.length;++n){let r=i[n];r.reachable&&t.emitter.emit("onCodePathSegmentEnd",r,e)}r.currentSegments=[],t.emitter.emit("onCodePathEnd",n,e),t.codePath=t.codePath.upper}switch(e.type){case"Program":case"FunctionDeclaration":case"ComponentDeclaration":case"HookDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"StaticBlock":n();break;case"CallExpression":!0===e.optional&&0===e.arguments.length&&Ez.getState(t.codePath).makeOptionalRight()}EW(e)&&n(),this.currentNode=null}_onLooped(e,t){e.reachable&&t.reachable&&this.emitter.emit("onCodePathSegmentLoop",e,t,this.currentNode)}};function E1(e){let t=ue.unwrap(e);if("Identifier"===t.type){var n;return"use"===(n=t.name)||/^use[A-Z0-9]/.test(n)}if(!("MemberExpression"===t.type&&!t.computed&&E1(t.property)))return!1;{let e=t.object;return"Identifier"===e.type&&/^[A-Z].*/.test(e.name)}}function E2(e){return"Identifier"===e.type&&/^[A-Z]/.test(e.name)}function E3(e,t){return"name"in e&&e.name===t||"MemberExpression"===e.type&&"name"in e.object&&"React"===e.object.name&&"name"in e.property&&e.property.name===t}function E6(e){return!!(e.parent&&"callee"in e.parent&&e.parent.callee&&E3(e.parent.callee,"forwardRef"))}function E4(e){return!!(e.parent&&"callee"in e.parent&&e.parent.callee&&E3(e.parent.callee,"memo"))}function E8(e){for(;e;){let t=kn(e);if(t&&(E2(t)||E1(t))||E6(e)||E4(e))return!0;e=e.parent}return!1}function E5(e){for(;e;){if("DoWhileStatement"===e.type)return!0;e=e.parent}return!1}function E7(e){return"Identifier"===e.type&&"useEffectEvent"===e.name}function E9(e,t){return null===e?'React Hook "useEffectEvent" can only be called at the top level of your component. It cannot be passed down.':`\`${e}\` is a function created with React Hook "useEffectEvent", and can only be called from Effects and Effect Events in the same component.`+(t?"":" It cannot be assigned to a variable or passed down.")}function ke(e){return E3(e,"use")}let kt={meta:{type:"problem",docs:{description:"Enforces the Rules of Hooks.",recommended:!0,url:"https://react.dev/reference/rules/rules-of-hooks"},schema:[{type:"object",additionalProperties:!1,properties:{additionalHooks:{type:"string"}}}]},create(e){e.settings;let t=e.options&&e.options[0],n=t&&t.additionalHooks?new RegExp(t.additionalHooks):cM(e).additionalEffectHooks,r=null,i=[],a=[],o=new WeakSet;function s(e){for(let t of e.references){let e=t.identifier.parent;if(e?.type==="VariableDeclarator"&&e.init&&"CallExpression"===e.init.type&&e.init.callee&&E7(e.init.callee)){if(null===t.resolved)throw Error("Unexpected null reference.resolved");for(let e of t.resolved.references)e!==t&&o.add(e.identifier)}}}let l="function"==typeof e.getSourceCode?()=>e.getSourceCode():()=>e.sourceCode,c="function"==typeof e.getScope?()=>e.getScope():e=>l().getScope(e),u=new E0({onCodePathSegmentStart:e=>a.push(e),onCodePathSegmentEnd:()=>a.pop(),onCodePathStart:()=>i.push(new Map),onCodePathEnd(t,n){let r=i.pop();if(r?.size===0)return;if(void 0===r)throw Error("Unexpected undefined reactHooksMap");let a=new Set;function o(e,n){let{cache:r}=o,i=r.get(e.id),s=new Set(n);if(s.has(e.id)){let t=[...s];for(let n of t.slice(t.indexOf(e.id)+1))a.add(n);return BigInt("0")}if(s.add(e.id),void 0!==i)return i;if(t.thrownSegments.includes(e))i=BigInt("0");else if(0===e.prevSegments.length)i=BigInt("1");else for(let t of(i=BigInt("0"),e.prevSegments))i+=o(t,s);return e.reachable&&i===BigInt("0")?r.delete(e.id):r.set(e.id,i),i}function s(e,n){let{cache:r}=s,i=r.get(e.id),o=new Set(n);if(o.has(e.id)){let t=Array.from(o);for(let n of t.slice(t.indexOf(e.id)+1))a.add(n);return BigInt("0")}if(o.add(e.id),void 0!==i)return i;if(t.thrownSegments.includes(e))i=BigInt("0");else if(0===e.nextSegments.length)i=BigInt("1");else for(let t of(i=BigInt("0"),e.nextSegments))i+=s(t,o);return r.set(e.id,i),i}function c(e){let{cache:t}=c,n=t.get(e.id);if(null===n)return 1/0;if(void 0!==n)return n;if(t.set(e.id,null),0===e.prevSegments.length)n=1;else{for(let t of(n=1/0,e.prevSegments)){let e=c(t);e<n&&(n=e)}n+=1}return t.set(e.id,n),n}o.cache=new Map,s.cache=new Map,c.cache=new Map;let u=s(t.initialSegment),_=kn(n),d=E8(n),p=_?E2(_)||E1(_):E6(n)||E4(n),f=1/0;for(let e of t.finalSegments){if(!e.reachable)continue;let t=c(e);t<f&&(f=t)}for(let[t,i]of r){if(!t.reachable)continue;let r=0===t.nextSegments.length?f<=c(t):f<c(t),m=o(t)*s(t),g=a.has(t.id);for(let t of i)if(!function(e,t){let n=l().getAllComments(),r=RegExp("\\$FlowFixMe\\["+t+"\\]");return n.some(t=>r.test(t.value)&&null!=t.loc&&null!=e.loc&&t.loc.end.line===e.loc.start.line-1)}(t,"react-rule-hook")){if(ke(t)&&function(e){for(;e;){if("TryStatement"===e.type||"CatchClause"===e.type)return!0;e=e.parent}return!1}(t)&&e.report({node:t,message:`React Hook "${l().getText(t)}" cannot be called in a try/catch block.`}),(g||E5(t))&&!ke(t)&&e.report({node:t,message:`React Hook "${l().getText(t)}" may be executed more than once. Possibly because it is called in a loop. React Hooks must be called in the exact same order in every component render.`}),p){if(n.async&&e.report({node:t,message:`React Hook "${l().getText(t)}" cannot be called in an async function.`}),!g&&m!==u&&!ke(t)&&!E5(t)){let n=`React Hook "${l().getText(t)}" is called conditionally. React Hooks must be called in the exact same order in every component render.`+(r?" Did you accidentally call a React Hook after an early return?":"");e.report({node:t,message:n})}}else if(null!=n.parent&&("MethodDefinition"===n.parent.type||"ClassProperty"===n.parent.type||"PropertyDefinition"===n.parent.type)&&n.parent.value===n){let n=`React Hook "${l().getText(t)}" cannot be called in a class component. React Hooks must be called in a React function component or a custom React Hook function.`;e.report({node:t,message:n})}else if(_){let n=`React Hook "${l().getText(t)}" is called in function "${l().getText(_)}" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word "use".`;e.report({node:t,message:n})}else if("Program"===n.type){let n=`React Hook "${l().getText(t)}" cannot be called at the top level. React Hooks must be called in a React function component or a custom React Hook function.`;e.report({node:t,message:n})}else if(d&&!ke(t)){let n=`React Hook "${l().getText(t)}" cannot be called inside a callback. React Hooks must be called in a React function component or a custom React Hook function.`;e.report({node:t,message:n})}}}}});return{"*"(e){u.enterNode(e)},"*:exit"(e){u.leaveNode(e)},CallExpression(t){var o;let s=ue.unwrap(t.callee);if(E1(s)){let e=kr(i),t=kr(a),n=e.get(t);n||(n=[],e.set(t,n)),n.push(s)}let l="MemberExpression"!==(o=t.callee).type||"Identifier"!==o.object.type||"React"!==o.object.name||"Identifier"!==o.property.type||o.computed?o:o.property;if(("Identifier"===l.type&&("useEffect"===l.name||"useLayoutEffect"===l.name||"useInsertionEffect"===l.name)||n&&"Identifier"===l.type&&n.test(l.name)||E7(l))&&t.arguments.length>0&&(r=t),E7(l)&&t.parent?.type!=="VariableDeclarator"&&t.parent?.type!=="ExpressionStatement"){let n=E9(null,!1);e.report({node:t,message:n})}},Identifier(t){if(null==r&&o.has(t)){let n=E9(l().getText(t),"CallExpression"===t.parent.type);e.report({node:t,message:n})}},"CallExpression:exit"(e){e===r&&(r=null)},FunctionDeclaration(e){E8(e)&&s(c(e))},ArrowFunctionExpression(e){E8(e)&&s(c(e))},ComponentDeclaration(e){s(c(e))},HookDeclaration(e){s(c(e))}}}};function kn(e){if("ComponentDeclaration"===e.type||"HookDeclaration"===e.type||"FunctionDeclaration"===e.type||"FunctionExpression"===e.type&&e.id)return e.id;if("FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type)if(e.parent?.type==="VariableDeclarator"&&e.parent.init===e)return e.parent.id;else if(e.parent?.type==="AssignmentExpression"&&e.parent.right===e&&"="===e.parent.operator)return e.parent.left;else if(e.parent?.type==="Property"&&e.parent.value===e&&!e.parent.computed)return e.parent.key;else if(e.parent?.type==="AssignmentPattern"&&e.parent.right===e&&!e.parent.computed)return e.parent.left;else return}function kr(e){return e[e.length-1]}function ki(e){let t=[];if(e.type===av.AST_NODE_TYPES.Identifier&&t.push(e),"arguments"in e){let n=e.arguments.flatMap(ki);t.push(...n)}if("elements"in e){let n=e.elements.filter(e=>null!=e).flatMap(ki);t.push(...n)}if("properties"in e){let n=e.properties.flatMap(ki);t.push(...n)}if("expressions"in e){let n=e.expressions.flatMap(ki);t.push(...n)}if("left"in e){let n=ki(e.left);t.push(...n)}if("right"in e){let n=ki(e.right);t.push(...n)}if(e.type===av.AST_NODE_TYPES.Property){let n=ki(e.value);t.push(...n)}if(e.type===av.AST_NODE_TYPES.SpreadElement){let n=ki(e.argument);t.push(...n)}if(e.type===av.AST_NODE_TYPES.MemberExpression&&(t.push(...ki(e.object)),e.computed&&t.push(...ki(e.property))),e.type===av.AST_NODE_TYPES.UnaryExpression){let n=ki(e.argument);t.push(...n)}if(e.type===av.AST_NODE_TYPES.ChainExpression){let n=ki(e.expression);t.push(...n)}if(e.type===av.AST_NODE_TYPES.TSNonNullExpression){let n=ki(e.expression);t.push(...n)}if(e.type===av.AST_NODE_TYPES.TSAsExpression){let n=ki(e.expression);t.push(...n)}if(e.type===av.AST_NODE_TYPES.TSSatisfiesExpression){let n=ki(e.expression);t.push(...n)}return e.type===av.AST_NODE_TYPES.ConditionalExpression&&(t.push(...ki(e.test)),t.push(...ki(e.consequent)),t.push(...ki(e.alternate))),e.type===av.AST_NODE_TYPES.AwaitExpression&&t.push(...ki(e.argument)),e.type===av.AST_NODE_TYPES.YieldExpression&&null!=e.argument&&t.push(...ki(e.argument)),e.type===av.AST_NODE_TYPES.UpdateExpression&&t.push(...ki(e.argument)),(e.type===av.AST_NODE_TYPES.CallExpression||e.type===av.AST_NODE_TYPES.NewExpression)&&t.push(...ki(e.callee)),e.type===av.AST_NODE_TYPES.TaggedTemplateExpression&&(t.push(...ki(e.tag)),t.push(...ki(e.quasi))),e.type===av.AST_NODE_TYPES.ImportExpression&&t.push(...ki(e.source)),e.type===av.AST_NODE_TYPES.TSTypeAssertion&&t.push(...ki(e.expression)),e.type===av.AST_NODE_TYPES.TSInstantiationExpression&&t.push(...ki(e.expression)),t}function ka(e){if(e.type!==av.AST_NODE_TYPES.VariableDeclarator||e.id.type!==av.AST_NODE_TYPES.Identifier)return!1;let t=e.init;if(null==t||t.type!==av.AST_NODE_TYPES.CallExpression)return!1;let n=ue.unwrap(t.callee);switch(n.type){case av.AST_NODE_TYPES.Identifier:return gY(n.name);case av.AST_NODE_TYPES.MemberExpression:return n.property.type===av.AST_NODE_TYPES.Identifier&&gY(n.property.name);default:return!1}}function ko(e,t,n){for(let{node:r}of ab.findVariable(n,t)?.defs??[]){if(r.type!==av.AST_NODE_TYPES.VariableDeclarator)continue;let t=r.init;if(null!=t)switch(!0){case t.type===av.AST_NODE_TYPES.MemberExpression&&t.object.type===av.AST_NODE_TYPES.Identifier&&("ref"===t.object.name||t.object.name.endsWith("Ref")):case t.type===av.AST_NODE_TYPES.CallExpression&&go(e,t):return!0;case t.type===av.AST_NODE_TYPES.CallExpression:return ki(t).some(t=>ko(e,t.name,e.sourceCode.getScope(t)))}}return!1}function ks(e,t){let n=t.parent;for(;null!=n&&!c$.isFunction(n);){if(n.type===av.AST_NODE_TYPES.IfStatement&&kl(e,n.test)||n.type===av.AST_NODE_TYPES.ConditionalExpression&&kl(e,n.test))return!0;n=n.parent}return!1}function kl(e,t){return ki(t).some(t=>ko(e,t.name,e.sourceCode.getScope(t)))}function kc(e){return e.type===av.AST_NODE_TYPES.Identifier&&e.parent?.type===av.AST_NODE_TYPES.CallExpression?e.parent:e}var ku=S_({meta:{type:"problem",docs:{description:"Validates against setting state synchronously in an effect, which can lead to re-renders that degrade performance."},messages:{default:"Do not call the 'set' function '{{name}}' of 'useState' synchronously in an effect. This can lead to unnecessary re-renders and performance issues."},schema:[]},name:"set-state-in-effect",create:function(e){if(!/use\w*Effect/u.test(e.sourceCode.text))return{};let{additionalEffectHooks:t,additionalStateHooks:n}=cM(e),r=[],i={current:null},a=[],o=[],s=new WeakMap,l=new WeakMap,c=new Map,u=new WeakMap,_=t=>e.sourceCode.getText(t);function d(e){let t=ue.unwrap(e.callee);return t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&"then"===t.property.name}function p(e){return gJ(e,n)}function f(e){return gV(e,t)}function m(e){return e.type===av.AST_NODE_TYPES.CallExpression?ue.getFullyQualifiedName(e.callee,_):ue.getFullyQualifiedName(e,_)}function g(t,n){let r=fQ(e,t);if(null==r||r.type!==av.AST_NODE_TYPES.CallExpression||!p(r))return!1;let i=r.parent;return!("id"in i)||i.id?.type!==av.AST_NODE_TYPES.ArrayPattern||i.id.elements.findIndex(e=>e?.type===av.AST_NODE_TYPES.Identifier&&e.name===t.name)===n}function h(t){let n=ue.unwrap(t.callee);switch(n.type){case av.AST_NODE_TYPES.CallExpression:{let r=ue.unwrap(n.callee);if(r.type!==av.AST_NODE_TYPES.MemberExpression||!("name"in r.object))return!1;let i=r.property.type===av.AST_NODE_TYPES.Identifier&&"at"===r.property.name,[a]=n.arguments;if(!i||null==a)return!1;return ab.getStaticValue(a,e.sourceCode.getScope(t))?.value===1&&g(r.object)}case av.AST_NODE_TYPES.Identifier:return g(n,1);case av.AST_NODE_TYPES.MemberExpression:{if(!("name"in n.object))return!1;let r=n.property;return ab.getStaticValue(r,e.sourceCode.getScope(t))?.value===1&&g(n.object,1)}default:return!1}}return hr({":function"(e){let t=function(e){var t;let n=ua.findParent(e,(t=c$.isTypeExpression,e=>!t(e)))??e.parent;switch(!0){case e.async:case n.type===av.AST_NODE_TYPES.CallExpression&&d(n):return"deferred";case e.type!==av.AST_NODE_TYPES.FunctionDeclaration&&n.type===av.AST_NODE_TYPES.CallExpression&&n.callee===e:return"immediate";case e.parent?.type===av.AST_NODE_TYPES.CallExpression&&e.parent.callee!==e&&f(e.parent):return"setup";default:return"other"}}(e);r.push({kind:t,node:e}),"setup"===t&&(i.current=e)},":function:exit"(e){let{kind:t}=r.at(-1)??{};"setup"===t&&i.current===e&&(i.current=null),r.pop()},CallExpression(t){let n=i.current,l=r.at(-1);null!=l&&!l.node.async&&oi.match(oi.match(t).when(p,()=>"useState").when(f,()=>"useEffect").when(h,()=>"setState").when(d,()=>"then").otherwise(()=>"other")).with("setState",()=>{switch(!0){case"deferred"===l.kind:case l.node.async:break;case l.node===n:case"immediate"===l.kind&&ua.findParent(l.node,c$.isFunction)===n:{let n,r=t.arguments.at(0);if(null==r||(n=t=>{switch(t.type){case av.AST_NODE_TYPES.Identifier:return ko(e,t.name,e.sourceCode.getScope(t));case av.AST_NODE_TYPES.MemberExpression:return n(t.object);case av.AST_NODE_TYPES.CallExpression:return n(t.callee)||ki(t).some(n);case av.AST_NODE_TYPES.BinaryExpression:case av.AST_NODE_TYPES.LogicalExpression:return n(t.left)||n(t.right);case av.AST_NODE_TYPES.UnaryExpression:case av.AST_NODE_TYPES.UpdateExpression:return n(t.argument);case av.AST_NODE_TYPES.ConditionalExpression:return n(t.consequent)||n(t.alternate);case av.AST_NODE_TYPES.SequenceExpression:return t.expressions.some(n);case av.AST_NODE_TYPES.AssignmentExpression:return n(t.right);default:return!1}})(r)||c$.isFunction(r)&&e.sourceCode.getScope(r.body).references.some(e=>n(e.identifier))||ks(e,t))return;e.report({data:{name:e.sourceCode.getText(ue.unwrap(t.callee))},messageId:"default",node:t});return}default:{let e=ua.findParent(t,ka)?.init;null==e?SD(s,l.node,()=>[]).push(t):SD(u,e,()=>[]).push(t)}}}).with("useEffect",()=>{c$.isFunction(t.arguments.at(0))||a.push(...ki(t))}).with("other",()=>{l.node===n&&o.push(t)}).otherwise(SC)},Identifier(t){if((t.parent.type!==av.AST_NODE_TYPES.CallExpression||t.parent.callee!==t)&&g(t,1))switch(t.parent.type){case av.AST_NODE_TYPES.ArrowFunctionExpression:{let n=t.parent.parent;if(n.type!==av.AST_NODE_TYPES.CallExpression||!gr(e,n))break;let r=ua.findParent(n,ka)?.init;null!=r&&SD(l,r,()=>[]).push(t);break}case av.AST_NODE_TYPES.CallExpression:if(t!==t.parent.arguments.at(0))break;if(m3(e,t.parent)){let e=ua.findParent(t.parent,ka)?.init;null!=e&&SD(l,e,()=>[]).push(t);break}f(t.parent)&&SD(c,t.parent,()=>[]).push(t)}},"Program:exit"(){let t=(e,t)=>{let n=fQ(e,t);switch(n?.type){case av.AST_NODE_TYPES.ArrowFunctionExpression:case av.AST_NODE_TYPES.FunctionDeclaration:case av.AST_NODE_TYPES.FunctionExpression:return s.get(n)??[];case av.AST_NODE_TYPES.CallExpression:return u.get(n)??l.get(n)??[]}return[]};for(let[,t]of c)for(let n of t)ks(e,kc(n))||e.report({data:{name:n.name},messageId:"default",node:n});for(let{callee:n}of o){let r=ue.unwrap(n);if(r.type===av.AST_NODE_TYPES.Identifier)for(let n of t(e,r))ks(e,kc(n))||e.report({data:{name:m(n)},messageId:"default",node:n})}for(let n of a)for(let r of t(e,n))ks(e,kc(r))||e.report({data:{name:m(r)},messageId:"default",node:r})}})},defaultOptions:[]}),k_=S_({meta:{type:"problem",docs:{description:"Validates against unconditionally setting state during render, which can trigger additional renders and potential infinite render loops."},messages:{default:"Do not call the 'set' function '{{name}}' unconditionally during render. This will trigger an infinite render loop."},schema:[]},name:"set-state-in-render",create:function(e){let{additionalStateHooks:t}=cM(e),n=[],r={current:null},i={current:!1};function a(n,r){let i=fQ(e,n);if(null==i||i.type!==av.AST_NODE_TYPES.CallExpression||!gJ(i,t))return!1;let a=i.parent;return!("id"in a)||a.id?.type!==av.AST_NODE_TYPES.ArrayPattern||a.id.elements.findIndex(e=>e?.type===av.AST_NODE_TYPES.Identifier&&e.name===n.name)===r}return hr({":function"(e){let t=function(e){var t;let n;if(null!=(n=gP(e))&&(n.type===av.AST_NODE_TYPES.Identifier?gI(n.name)||gY(n.name):n.type===av.AST_NODE_TYPES.MemberExpression&&n.property.type===av.AST_NODE_TYPES.Identifier&&(gI(n.property.name)||gY(n.property.name))))return"component";let r=ua.findParent(e,(t=c$.isTypeExpression,e=>!t(e)))??e.parent;return r.type===av.AST_NODE_TYPES.CallExpression&&r.callee!==e?"callback":"other"}(e);n.push({kind:t,node:e}),"component"===t&&(r.current=e,i.current=!1)},":function:exit"(e){n.at(-1)?.kind==="component"&&r.current===e&&(r.current=null,i.current=!1),n.pop()},CallExpression(t){let n=r.current;null==n||!function(t){let n=ue.unwrap(t.callee);switch(n.type){case av.AST_NODE_TYPES.CallExpression:{let r=ue.unwrap(n.callee);if(r.type!==av.AST_NODE_TYPES.MemberExpression||!("name"in r.object))return!1;let i=r.property.type===av.AST_NODE_TYPES.Identifier&&"at"===r.property.name,[o]=n.arguments;if(!i||null==o)return!1;return ab.getStaticValue(o,e.sourceCode.getScope(t))?.value===1&&a(r.object)}case av.AST_NODE_TYPES.Identifier:return a(n,1);case av.AST_NODE_TYPES.MemberExpression:{if(!("name"in n.object))return!1;let r=n.property;return ab.getStaticValue(r,e.sourceCode.getScope(t))?.value===1&&a(n.object,1)}default:return!1}}(t)||function(e,t){let n=e.parent;for(;null!=n&&n!==t;){if(c$.isFunction(n)&&n!==t)return!0;n=n.parent}return!1}(t,n)||function(e,t){let n=e.parent;for(;null!=n&&n!==t;){switch(n.type){case av.AST_NODE_TYPES.IfStatement:case av.AST_NODE_TYPES.ConditionalExpression:case av.AST_NODE_TYPES.LogicalExpression:case av.AST_NODE_TYPES.SwitchStatement:case av.AST_NODE_TYPES.SwitchCase:return!0}n=n.parent}return!1}(t,n)||i.current||e.report({data:{name:e.sourceCode.getText(ue.unwrap(t.callee))},messageId:"default",node:t})},ReturnStatement(e){let t=r.current;if(null==t)return;let a=n.at(-1);if(null==a||a.node!==t||t.body.type!==av.AST_NODE_TYPES.BlockStatement)return;let o=t.body.body,s=e;for(;s.parent!==t.body;){if(null==s.parent)return;s=s.parent}let l=o.indexOf(s);-1!==l&&l<o.length-1&&(i.current=!0)}})},defaultOptions:[]});function kd(e,t,n,r){let i=ue.unwrap(t);switch(i.type){case av.AST_NODE_TYPES.FunctionExpression:case av.AST_NODE_TYPES.ArrowFunctionExpression:case av.AST_NODE_TYPES.NewExpression:case av.AST_NODE_TYPES.CallExpression:case av.AST_NODE_TYPES.ClassExpression:return i;case av.AST_NODE_TYPES.ConditionalExpression:{let t=kd(e,i.consequent,n,r);if(null!=t)return t;return kd(e,i.alternate,n,r)}case av.AST_NODE_TYPES.Identifier:case av.AST_NODE_TYPES.JSXIdentifier:{let t=kp(e,i);if(null==t)return null;return kf(e,t,n,r).creationNode}default:return null}}function kp(e,t){let n=e.sourceCode.getScope(t);for(;null!=n;){let e=n.variables.find(e=>e.name===t.name);if(null!=e)return e;n=n.upper}return null}function kf(e,t,n,r=new Set){if(r.has(t))return{creationNode:null,isDynamic:!1};for(let i of(r.add(t),t.defs)){let a=i.node;if(n(a)){if(a.type===av.AST_NODE_TYPES.FunctionDeclaration||a.type===av.AST_NODE_TYPES.ClassDeclaration)return{creationNode:a,isDynamic:!0};if(a.type===av.AST_NODE_TYPES.VariableDeclarator){if(null!=a.init){let t=kd(e,a.init,n,r);if(null!=t)return{creationNode:t,isDynamic:!0}}for(let i of t.references){if(!i.isWrite())continue;let t=i.identifier;if(t.parent?.type===av.AST_NODE_TYPES.AssignmentExpression&&t.parent.left===t){let i=kd(e,t.parent.right,n,r);if(null!=i)return{creationNode:i,isDynamic:!0}}}}}}return{creationNode:null,isDynamic:!1}}var km=S_({meta:{type:"problem",docs:{description:"Validates that components are static, not recreated every render."},messages:{default:"Cannot create components during render. Components created during render will reset their state each time they are created. Declare components outside of render.",createdHere:"The component is created during render here."},schema:[]},name:"static-components",create:function(e){let t=g$(e,{hint:gM.DoNotIncludeJsxWithNumberValue|gM.DoNotIncludeJsxWithBooleanValue|gM.DoNotIncludeJsxWithNullValue|gM.DoNotIncludeJsxWithStringValue|gM.DoNotIncludeJsxWithUndefinedValue|gM.RequireBothSidesOfLogicalExpressionToBeJsx|gM.RequireBothBranchesOfConditionalExpressionToBeJsx|gM.DoNotIncludeFunctionDefinedAsArrayPatternElement|gM.DoNotIncludeFunctionDefinedAsArrayExpressionElement|gM.DoNotIncludeFunctionDefinedAsArrayMapCallback}),n=gk(e),r=[];return hr(t.visitor,n.visitor,{JSXOpeningElement(e){if(e.name.type!==av.AST_NODE_TYPES.JSXIdentifier)return;let t=e.name.name;gI(t)&&r.push({name:t,node:e})},"Program:exit"(i){let a=[...t.api.getAllComponents(i)],o=[...n.api.getAllComponents(i)];function s(e){return ua.findParent(e,e=>c$.isFunction(e)?a.some(t=>t.node===e):!!c$.isClass(e)&&o.some(t=>t.node===e))}let l=e=>null!=s(e);for(let{name:t,node:n}of r){let r=kp(e,n.name);if(null==r||0===r.defs.length)continue;let i=r.defs.at(0);if(null==i||null==s(i.node))continue;let a=kf(e,r,l);a.isDynamic&&(e.report({data:{name:t},messageId:"default",node:n.name}),null!=a.creationNode&&e.report({data:{name:t},messageId:"createdHere",node:a.creationNode}))}}})},defaultOptions:[]});function kg(e){let t=e.parent;for(;c$.isTypeExpression(t)||t.type===av.AST_NODE_TYPES.ChainExpression;)t=t.parent;return t.type===av.AST_NODE_TYPES.CallExpression&&ue.unwrap(t.callee)===e}var kh=S_({meta:{type:"problem",docs:{description:"Validates against syntax that React Compiler does not support."},messages:{eval:"Do not use 'eval' inside components or hooks. 'eval' cannot be statically analyzed and is not supported by React Compiler.",iife:"Do not use immediately-invoked function expressions in JSX. IIFEs will not be optimized by React Compiler.",with:"Do not use 'with' statements inside components or hooks. 'with' changes scope dynamically and is not supported by React Compiler."},schema:[]},name:"unsupported-syntax",create:function(e){let t=gW(e),n=g$(e),r=[],i=[];return hr(t.visitor,n.visitor,{CallExpression(e){let t;if((t=ue.unwrap(e.callee)).type!==av.AST_NODE_TYPES.Identifier||"eval"!==t.name)return;let n=ua.findParent(e,c$.isFunction);null!=n&&r.push({func:n,node:e})},"JSXElement :function"(t){kg(t)&&e.report({messageId:"iife",node:t.parent})},"JSXFragment :function"(t){kg(t)&&e.report({messageId:"iife",node:t.parent})},"Program:exit"(a){let o=[...n.api.getAllComponents(a),...t.api.getAllHooks(a)];for(let{func:t,node:n}of r)o.some(e=>e.node===t)&&e.report({messageId:"eval",node:n});for(let{func:t,node:n}of i)o.some(e=>e.node===t)&&e.report({messageId:"with",node:n})},WithStatement(e){let t=ua.findParent(e,c$.isFunction);null!=t&&i.push({func:t,node:e})}})},defaultOptions:[]}),ky=S_({meta:{type:"problem",docs:{description:"Validates that 'useMemo' is called with a callback that returns a value."},messages:{mustReturnAValue:"useMemo() callbacks must return a value.\n\nThis useMemo() callback doesn't return a value. useMemo() is for computing and caching values, not for arbitrary side effects.",noAsyncOrGeneratorFunctions:"useMemo() callbacks may not be async or generator functions.\n\nuseMemo() callbacks are called once and must synchronously return a value.",noParameters:"useMemo() callbacks may not accept parameters.\n\nuseMemo() callbacks are called by React to cache calculations across re-renders. They should not take parameters. Instead, directly reference the props, state, or local variables needed for the computation.",noReassigningOuterVariables:"useMemo() callbacks may not reassign variables declared outside of the callback.\n\nuseMemo() callbacks must be pure functions and cannot reassign variables defined outside of the callback function.",resultMustBeUsed:"useMemo() result is unused.\n\nThis useMemo() value is unused. useMemo() is for computing and caching values, not for arbitrary side effects."},schema:[]},name:"use-memo",create:function(e){return e.sourceCode.text.includes("useMemo")?hr({CallExpression(t){let n,r,i;if(!gr(e,t))return;let a=t.parent;for(;c$.isTypeExpression(a);)a=a.parent;if(a.type!==av.AST_NODE_TYPES.VariableDeclarator&&a.type!==av.AST_NODE_TYPES.AssignmentExpression&&a.type!==av.AST_NODE_TYPES.AssignmentPattern&&a.type!==av.AST_NODE_TYPES.Property&&a.type!==av.AST_NODE_TYPES.ReturnStatement&&a.type!==av.AST_NODE_TYPES.JSXExpressionContainer&&a.type!==av.AST_NODE_TYPES.CallExpression&&a.type!==av.AST_NODE_TYPES.NewExpression&&a.type!==av.AST_NODE_TYPES.ArrayExpression&&a.type!==av.AST_NODE_TYPES.ConditionalExpression&&a.type!==av.AST_NODE_TYPES.LogicalExpression&&a.type!==av.AST_NODE_TYPES.SequenceExpression&&a.type!==av.AST_NODE_TYPES.SpreadElement&&a.type!==av.AST_NODE_TYPES.TemplateLiteral&&a.type!==av.AST_NODE_TYPES.BinaryExpression&&a.type!==av.AST_NODE_TYPES.UnaryExpression&&a.type!==av.AST_NODE_TYPES.MemberExpression&&a.type!==av.AST_NODE_TYPES.TaggedTemplateExpression&&a.type!==av.AST_NODE_TYPES.ChainExpression&&a.type!==av.AST_NODE_TYPES.ArrowFunctionExpression&&a.type!==av.AST_NODE_TYPES.ForOfStatement&&a.type!==av.AST_NODE_TYPES.ForInStatement)return void e.report({messageId:"resultMustBeUsed",node:t});let[o]=t.arguments;if(null==o)return;let s=ue.unwrap(o);if(!c$.isFunction(s))return;if(s.params.length>0){let t=s.params[0];if(null==t)return;e.report({messageId:"noParameters",node:t.type===av.AST_NODE_TYPES.Identifier?t:s})}for(let t of((s.async||s.generator)&&e.report({messageId:"noAsyncOrGeneratorFunctions",node:s}),n=[],null==s.body||Sn.simpleTraverse(s.body,{enter(t){if(t.type!==av.AST_NODE_TYPES.AssignmentExpression)return;let r=ue.unwrap(t.left);if(r.type!==av.AST_NODE_TYPES.Identifier||function(e,t){let n=e.parent;for(;n&&n!==t;){if(c$.isFunction(n))return!0;n=n.parent}return!1}(t,s))return;let i=ab.findVariable(e.sourceCode.getScope(r),r);null!=i&&i.defs.length>0&&function(e,t){let n=e.scope;for(;null!=n;){if(n.block===t)return!0;n=n.upper}return!1}(i,s)||n.push({messageId:"noReassigningOuterVariables",node:r})}}),n))e.report(t);if(s.type===av.AST_NODE_TYPES.ArrowFunctionExpression&&s.body.type!==av.AST_NODE_TYPES.BlockStatement||s.body.type!==av.AST_NODE_TYPES.BlockStatement)return;let l=(r=[],i=c$.isFunction(s)?s:ua.findParent(s,c$.isFunction),Sn.simpleTraverse(s,{enter(e){e.type!==av.AST_NODE_TYPES.ReturnStatement||ua.findParent(e,c$.isFunction)===i&&r.push(e)}}),r);0===l.length?e.report({messageId:"mustReturnAValue",node:o}):l.some(e=>null!=e.argument)||e.report({messageId:"mustReturnAValue",node:o})}}):{}},defaultOptions:[]});let kv=["Boolean","String","Number"];function kb(e){let t=cW(e),n=e=>{let r=[];if(t(e)&&r.push(e),"arguments"in e){let t=e.arguments.flatMap(n);r.push(...t)}if("expression"in e&&!0!==e.expression&&!1!==e.expression){let t=n(e.expression);r.push(...t)}if("left"in e){let t=n(e.left);r.push(...t)}if("right"in e){let t=n(e.right);r.push(...t)}if("test"in e&&null!=e.test){let t=n(e.test);r.push(...t)}if("consequent"in e){let t=Array.isArray(e.consequent)?e.consequent.flatMap(n):n(e.consequent);r.push(...t)}if("alternate"in e&&null!=e.alternate){let t=Array.isArray(e.alternate)?e.alternate.flatMap(n):n(e.alternate);r.push(...t)}if("elements"in e){let t=e.elements.filter(e=>null!=e).flatMap(n);r.push(...t)}if("properties"in e){let t=e.properties.flatMap(n);r.push(...t)}if("expressions"in e){let t=e.expressions.flatMap(n);r.push(...t)}if(e.type===av.AST_NODE_TYPES.Property){let t=n(e.value);r.push(...t)}if(e.type===av.AST_NODE_TYPES.SpreadElement){let t=n(e.argument);r.push(...t)}if(e.type===av.AST_NODE_TYPES.MemberExpression&&(r.push(...n(e.object)),e.computed&&r.push(...n(e.property))),e.type===av.AST_NODE_TYPES.UnaryExpression){let t=n(e.argument);r.push(...t)}return e.type===av.AST_NODE_TYPES.AwaitExpression&&r.push(...n(e.argument)),e.type===av.AST_NODE_TYPES.YieldExpression&&null!=e.argument&&r.push(...n(e.argument)),e.type===av.AST_NODE_TYPES.UpdateExpression&&r.push(...n(e.argument)),(e.type===av.AST_NODE_TYPES.CallExpression||e.type===av.AST_NODE_TYPES.NewExpression)&&r.push(...n(e.callee)),e.type===av.AST_NODE_TYPES.TaggedTemplateExpression&&(r.push(...n(e.tag)),r.push(...n(e.quasi))),e.type===av.AST_NODE_TYPES.ImportExpression&&r.push(...n(e.source)),r};return n}let kx=kb(av.AST_NODE_TYPES.NewExpression),kT=kb(av.AST_NODE_TYPES.CallExpression),kS=[{enforceAssignment:!0,enforceLazyInitialization:!0,enforceSetterName:!0}],kE={"error-boundaries":Sd,"exhaustive-deps":Sf,globals:SE,immutability:SP,"no-access-state-in-setstate":SN,"no-array-index-key":SI,"no-children-count":SO,"no-children-for-each":SL,"no-children-map":SM,"no-children-only":SR,"no-children-to-array":Sj,"no-class-component":SY,"no-clone-element":SU,"no-component-will-mount":SB,"no-component-will-receive-props":SV,"no-component-will-update":SJ,"no-context-provider":Sz,"no-create-ref":Sq,"no-direct-mutation-state":SW,"no-duplicate-key":SK,"no-forward-ref":SG,"no-implicit-children":SX,"no-implicit-key":SQ,"no-implicit-ref":S0,"no-leaked-conditional-rendering":S1,"no-missing-component-display-name":S2,"no-missing-context-display-name":S3,"no-missing-key":S4,"no-misused-capture-owner-stack":S7,"no-nested-component-definitions":S9,"no-nested-lazy-component-declarations":Ee,"no-set-state-in-component-did-mount":Et,"no-set-state-in-component-did-update":En,"no-set-state-in-component-will-update":Er,"no-unnecessary-use-prefix":Eo,"no-unsafe-component-will-mount":Es,"no-unsafe-component-will-receive-props":El,"no-unsafe-component-will-update":Ec,"no-unstable-context-value":Eu,"no-unstable-default-props":E_,"no-unused-class-component-members":Ef,"no-unused-props":Ey,"no-use-context":Ev,purity:ET,refs:EC,"rules-of-hooks":kt,"set-state-in-effect":ku,"set-state-in-render":k_,"static-components":km,"unsupported-syntax":kh,"use-memo":ky,"use-state":S_({meta:{type:"suggestion",docs:{description:"Enforces correct usage of 'useState', including destructuring, symmetric naming of the value and setter, and wrapping expensive initializers in a lazy initializer function."},messages:{invalidAssignment:"useState should be destructured into a value and setter pair, e.g., const [state, setState] = useState(...).",invalidInitialization:"To prevent re-computation, consider using lazy initial state for useState calls that involve function calls. Ex: 'useState(() => getValue())'.",invalidSetterName:"The setter should be named 'set' followed by the capitalized state variable name, e.g., 'setState' for 'state'."},schema:[{type:"object",additionalProperties:!1,properties:{enforceAssignment:{type:"boolean",default:!0},enforceLazyInitialization:{type:"boolean",default:!0},enforceSetterName:{type:"boolean",default:!0}}}]},name:"use-state",create:function(e){let{enforceAssignment:t=!0,enforceLazyInitialization:n=!0,enforceSetterName:r=!0}=e.options[0]??kS[0],{additionalStateHooks:i}=cM(e);return hr({CallExpression(a){if(!gJ(a,i))return;if(n){let[t]=a.arguments;if(null!=t){for(let n of kx(t))!("name"in n.callee)||kv.includes(n.callee.name)||null==ua.findParent(n,t=>m1(e,t))&&e.report({messageId:"invalidInitialization",node:n});for(let n of kT(t))!("name"in n.callee)||gY(n.callee.name)||kv.includes(n.callee.name)||null==ua.findParent(n,t=>m1(e,t))&&e.report({messageId:"invalidInitialization",node:n})}}let o=a.parent;for(;c$.isTypeExpression(o);)o=o.parent;if(o.type!==av.AST_NODE_TYPES.VariableDeclarator){if(!t)return;e.report({messageId:"invalidAssignment",node:a});return}let s=f3(a);if(s?.type!==av.AST_NODE_TYPES.ArrayPattern){if(!t)return;e.report({messageId:"invalidAssignment",node:s??a});return}let[l,c]=s.elements;if(null==l){if(!t)return;e.report({messageId:"invalidAssignment",node:s});return}if(null!=c&&r){if(l.type!==av.AST_NODE_TYPES.Identifier)return void e.report({messageId:"invalidAssignment",node:l});if(c.type!==av.AST_NODE_TYPES.Identifier||!c.name.startsWith("set"))return void e.report({messageId:"invalidSetterName",node:c});cq(c.name)!==`set_${cq(l.name)}`&&e.report({messageId:"invalidSetterName",node:c})}}})},defaultOptions:kS})},kk={"disable-conflict-eslint-plugin-react":Sa,"disable-conflict-eslint-plugin-react-hooks":Sl},kP=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/dom-${e}`});var kC=kP({meta:{type:"problem",docs:{description:"Disallows DOM elements from using 'dangerouslySetInnerHTML' and 'children' at the same time."},messages:{default:"A DOM component cannot use both children and 'dangerouslySetInnerHTML'."},schema:[]},name:"no-dangerously-set-innerhtml-with-children",create:function(e){return e.sourceCode.text.includes(kw)?hr({JSXElement(t){if(!me(e,t,kw))return;let n=f4(e,t,"children")??t.children.find(e=>!(e.type===av.AST_NODE_TYPES.JSXText&&""===e.raw.trim()&&e.raw.includes("\n")));null!=n&&e.report({messageId:"default",node:n})}}):{}},defaultOptions:[]});let kw="dangerouslySetInnerHTML",kA="dangerouslySetInnerHTML";var kD=kP({meta:{type:"problem",docs:{description:"Disallows DOM elements from using 'dangerouslySetInnerHTML'."},messages:{default:"Using 'dangerouslySetInnerHTML' may have security implications."},schema:[]},name:"no-dangerously-set-innerhtml",create:function(e){return e.sourceCode.text.includes(kA)?hr({JSXElement(t){let n=f4(e,t,kA);null!=n&&e.report({messageId:"default",node:n})}}):{}},defaultOptions:[]}),kN=kP({meta:{type:"problem",docs:{description:"Disallows 'findDOMNode'."},messages:{default:"[Deprecated] Use alternatives instead."},schema:[]},name:"no-find-dom-node",create:function(e){return e.sourceCode.text.includes(kF)?hr({CallExpression(t){let{callee:n}=t;switch(n.type){case av.AST_NODE_TYPES.Identifier:n.name===kF&&e.report({messageId:"default",node:t});return;case av.AST_NODE_TYPES.MemberExpression:n.property.type===av.AST_NODE_TYPES.Identifier&&n.property.name===kF&&e.report({messageId:"default",node:t});return}}}):{}},defaultOptions:[]});let kF="findDOMNode";var kI=kP({meta:{type:"problem",docs:{description:"Disallows 'flushSync'."},messages:{default:"Using 'flushSync' is uncommon and can hurt the performance of your app."},schema:[]},name:"no-flush-sync",create:function(e){return e.sourceCode.text.includes(kO)?hr({CallExpression(t){let{callee:n}=t;switch(n.type){case av.AST_NODE_TYPES.Identifier:n.name===kO&&e.report({messageId:"default",node:t});return;case av.AST_NODE_TYPES.MemberExpression:n.property.type===av.AST_NODE_TYPES.Identifier&&n.property.name===kO&&e.report({messageId:"default",node:t});return}}}):{}},defaultOptions:[]});let kO="flushSync";var kL=kP({meta:{type:"problem",docs:{description:"Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'."},fixable:"code",messages:{default:"[Deprecated] Use 'hydrateRoot()' instead."},schema:[]},name:"no-hydrate",create:function(e){if(!e.sourceCode.text.includes(kM)||hu(cM(e).version,"18.0.0","<"))return{};let t=new Set,n=new Set;return hr({CallExpression(r){let i=ue.unwrap(r.callee);switch(!0){case i.type===av.AST_NODE_TYPES.Identifier&&n.has(i.name):case i.type===av.AST_NODE_TYPES.MemberExpression&&i.object.type===av.AST_NODE_TYPES.Identifier&&i.property.type===av.AST_NODE_TYPES.Identifier&&i.property.name===kM&&t.has(i.object.name):var a,o;e.report({fix:(a=e,o=r,e=>{let[t,n]=o.arguments;return null==t||null==n?null:[e.insertTextBefore(a.sourceCode.ast,'import { hydrateRoot } from "react-dom/client";\n'),e.replaceText(o,`hydrateRoot(${a.sourceCode.getText(n)}, ${a.sourceCode.getText(t)})`)]}),messageId:"default",node:r});return}},ImportDeclaration(e){let[r]=e.source.value.split("/");if("react-dom"===r)for(let r of e.specifiers)switch(r.type){case av.AST_NODE_TYPES.ImportSpecifier:if(r.imported.type!==av.AST_NODE_TYPES.Identifier)continue;r.imported.name===kM&&n.add(r.local.name);continue;case av.AST_NODE_TYPES.ImportDefaultSpecifier:case av.AST_NODE_TYPES.ImportNamespaceSpecifier:t.add(r.local.name);continue}}})},defaultOptions:[]});let kM="hydrate";function kR(e){let{polymorphicPropName:t}=cM(e);return{resolve(n){let r=f7(n),i={domElementType:r,jsxElementType:r};if(r===r.toLowerCase()||null==t)return i;let a=f5(e,n,t);return"string"==typeof a?{...i,domElementType:a}:i}}}let kj=["button","submit","reset"];var kY=kP({meta:{type:"problem",docs:{description:"Enforces an explicit 'type' attribute for 'button' elements."},hasSuggestions:!0,messages:{addTypeAttribute:"Add type attribute with value '{{ type }}'.",missingTypeAttribute:"Missing an explicit type attribute for button."},schema:[]},name:"no-missing-button-type",create:function(e){let t=kR(e);return hr({JSXElement(n){"button"!==t.resolve(n).domElementType||me(e,n,"type")||e.report({messageId:"missingTypeAttribute",node:n.openingElement,suggest:kj.map(e=>({data:{type:e},fix:t=>t.insertTextAfter(n.openingElement.name,` type="${e}"`),messageId:"addTypeAttribute"}))})}})},defaultOptions:[]}),kU=kP({meta:{type:"problem",docs:{description:"Enforces an explicit 'sandbox' attribute for 'iframe' elements."},fixable:"code",hasSuggestions:!0,messages:{addSandboxAttribute:"Add sandbox attribute with value '{{ value }}'.",missingSandboxAttribute:"Missing an explicit sandbox attribute for iframe."},schema:[]},name:"no-missing-iframe-sandbox",create:function(e){let t=kR(e);return hr({JSXElement(n){let{domElementType:r}=t.resolve(n);if("iframe"!==r)return;let i=f4(e,n,"sandbox");if(null==i)return void e.report({messageId:"missingSandboxAttribute",node:n.openingElement,suggest:[{data:{value:""},fix:e=>e.insertTextAfter(n.openingElement.name,' sandbox=""'),messageId:"addSandboxAttribute"}]});let a=f8(e,i);"string"==typeof a.toStatic()||("spreadProps"!==a.kind||"string"!=typeof a.getProperty("sandbox"))&&e.report({messageId:"missingSandboxAttribute",node:a.node??i,suggest:[{data:{value:""},fix:e=>a.kind.startsWith("spread")?null:e.replaceText(i,'sandbox=""'),messageId:"addSandboxAttribute"}]})}})},defaultOptions:[]});let kB=[av.AST_NODE_TYPES.VariableDeclarator,av.AST_NODE_TYPES.Property,av.AST_NODE_TYPES.ReturnStatement,av.AST_NODE_TYPES.ArrowFunctionExpression,av.AST_NODE_TYPES.AssignmentExpression];function kV(e){let t=e.parent;for(;c$.isTypeExpression(t);)t=t.parent;return kB.includes(t.type)}var kJ=kP({meta:{type:"problem",docs:{description:"Disallows the return value of 'ReactDOM.render'."},messages:{default:"Do not depend on the return value from 'ReactDOM.render'."},schema:[]},name:"no-render-return-value",create:function(e){let t=new Set(["ReactDOM","ReactDOM"]),n=new Set;return hr({CallExpression(r){let i=ue.unwrap(r.callee);switch(!0){case i.type===av.AST_NODE_TYPES.Identifier&&n.has(i.name)&&kV(r):case i.type===av.AST_NODE_TYPES.MemberExpression&&i.object.type===av.AST_NODE_TYPES.Identifier&&i.property.type===av.AST_NODE_TYPES.Identifier&&"render"===i.property.name&&t.has(i.object.name)&&kV(r):e.report({messageId:"default",node:r});return}},ImportDeclaration(e){let[r]=e.source.value.split("/");if("react-dom"===r)for(let r of e.specifiers)switch(r.type){case av.AST_NODE_TYPES.ImportSpecifier:if(r.imported.type!==av.AST_NODE_TYPES.Identifier)continue;"render"===r.imported.name&&n.add(r.local.name);continue;case av.AST_NODE_TYPES.ImportDefaultSpecifier:case av.AST_NODE_TYPES.ImportNamespaceSpecifier:t.add(r.local.name);continue}}})},defaultOptions:[]}),kz=kP({meta:{type:"problem",docs:{description:"Replaces usage of 'ReactDOM.render()' with 'createRoot(node).render()'."},fixable:"code",messages:{default:"[Deprecated] Use 'createRoot(node).render()' instead."},schema:[]},name:"no-render",create:function(e){if(!e.sourceCode.text.includes("render")||hu(cM(e).version,"18.0.0","<"))return{};let t=new Set(["ReactDOM","ReactDOM"]),n=new Set;return hr({CallExpression(r){let i=ue.unwrap(r.callee);switch(!0){case i.type===av.AST_NODE_TYPES.Identifier&&n.has(i.name):case i.type===av.AST_NODE_TYPES.MemberExpression&&i.object.type===av.AST_NODE_TYPES.Identifier&&i.property.type===av.AST_NODE_TYPES.Identifier&&"render"===i.property.name&&t.has(i.object.name):var a,o;e.report({fix:(a=e,o=r,e=>{let[t,n]=o.arguments;return null==t||null==n?null:[e.insertTextBefore(a.sourceCode.ast,'import { createRoot } from "react-dom/client";\n'),e.replaceText(o,`createRoot(${a.sourceCode.getText(n)}).render(${a.sourceCode.getText(t)})`)]}),messageId:"default",node:r});return}},ImportDeclaration(e){let[r]=e.source.value.split("/");if("react-dom"===r)for(let r of e.specifiers)switch(r.type){case av.AST_NODE_TYPES.ImportSpecifier:if(r.imported.type!==av.AST_NODE_TYPES.Identifier)continue;"render"===r.imported.name&&n.add(r.local.name);continue;case av.AST_NODE_TYPES.ImportDefaultSpecifier:case av.AST_NODE_TYPES.ImportNamespaceSpecifier:t.add(r.local.name);continue}}})},defaultOptions:[]}),kq=kP({meta:{type:"problem",docs:{description:"Disallows 'javascript:' URLs as attribute values."},messages:{default:"Using a `javascript:` URL is a security risk and should be avoided."},schema:[]},name:"no-script-url",create:function(e){return hr({JSXAttribute(t){if(t.name.type!==av.AST_NODE_TYPES.JSXIdentifier||null==t.value)return;let n=f8(e,t).toStatic();"string"==typeof n&&cE.test(n)&&e.report({messageId:"default",node:t.value})}})},defaultOptions:[]}),k$=kP({meta:{type:"problem",docs:{description:"Disallows the use of string style prop in JSX. Use an object instead."},messages:{default:"Do not use string style prop. Use an object instead."},schema:[]},name:"no-string-style-prop",create:function(e){return hr({JSXElement(t){if(!mt(t))return;let n=f4(e,t,"style");if(null==n)return;let r=f8(e,n);"string"==typeof r.toStatic()&&e.report({messageId:"default",node:r.node??n})}})},defaultOptions:[]});let kW={"accept-charset":"acceptCharset",class:"className",crossorigin:"crossOrigin",for:"htmlFor","http-equiv":"httpEquiv",nomodule:"noModule"},kK={"accent-height":"accentHeight","alignment-baseline":"alignmentBaseline","arabic-form":"arabicForm","baseline-shift":"baselineShift","cap-height":"capHeight","clip-path":"clipPath","clip-rule":"clipRule","color-interpolation":"colorInterpolation","color-interpolation-filters":"colorInterpolationFilters","color-profile":"colorProfile","color-rendering":"colorRendering","dominant-baseline":"dominantBaseline","enable-background":"enableBackground","fill-opacity":"fillOpacity","fill-rule":"fillRule","flood-color":"floodColor","flood-opacity":"floodOpacity","font-family":"fontFamily","font-size":"fontSize","font-size-adjust":"fontSizeAdjust","font-stretch":"fontStretch","font-style":"fontStyle","font-variant":"fontVariant","font-weight":"fontWeight","glyph-name":"glyphName","glyph-orientation-horizontal":"glyphOrientationHorizontal","glyph-orientation-vertical":"glyphOrientationVertical","horiz-adv-x":"horizAdvX","horiz-origin-x":"horizOriginX","image-rendering":"imageRendering","letter-spacing":"letterSpacing","lighting-color":"lightingColor","marker-end":"markerEnd","marker-mid":"markerMid","marker-start":"markerStart","overline-position":"overlinePosition","overline-thickness":"overlineThickness","paint-order":"paintOrder","panose-1":"panose1","pointer-events":"pointerEvents","rendering-intent":"renderingIntent","shape-rendering":"shapeRendering","stop-color":"stopColor","stop-opacity":"stopOpacity","strikethrough-position":"strikethroughPosition","strikethrough-thickness":"strikethroughThickness","stroke-dasharray":"strokeDasharray","stroke-dashoffset":"strokeDashoffset","stroke-linecap":"strokeLinecap","stroke-linejoin":"strokeLinejoin","stroke-miterlimit":"strokeMiterlimit","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","text-anchor":"textAnchor","text-decoration":"textDecoration","text-rendering":"textRendering","underline-position":"underlinePosition","underline-thickness":"underlineThickness","unicode-bidi":"unicodeBidi","unicode-range":"unicodeRange","units-per-em":"unitsPerEm","v-alphabetic":"vAlphabetic","v-hanging":"vHanging","v-ideographic":"vIdeographic","v-mathematical":"vMathematical","vector-effect":"vectorEffect","vert-adv-y":"vertAdvY","vert-origin-x":"vertOriginX","vert-origin-y":"vertOriginY","word-spacing":"wordSpacing","writing-mode":"writingMode","x-height":"xHeight","xlink:actuate":"xlinkActuate","xlink:arcrole":"xlinkArcrole","xlink:href":"xlinkHref","xlink:role":"xlinkRole","xlink:show":"xlinkShow","xlink:title":"xlinkTitle","xlink:type":"xlinkType","xml:base":"xmlBase","xml:lang":"xmlLang","xml:space":"xmlSpace"},kG={abbr:["th","td"],align:["applet","caption","col","colgroup","hr","iframe","img","table","tbody","td","tfoot","th","thead","tr"],allowFullScreen:["iframe","video"],as:["link"],autoPictureInPicture:["video"],charset:["meta"],checked:["input"],controls:["audio","video"],controlsList:["audio","video"],crossOrigin:["script","img","video","audio","link","image"],disablePictureInPicture:["video"],disableRemotePlayback:["audio","video"],displaystyle:["math"],download:["a","area"],fill:["altGlyph","circle","ellipse","g","line","marker","mask","path","polygon","polyline","rect","svg","symbol","text","textPath","tref","tspan","use","animate","animateColor","animateMotion","animateTransform","set"],focusable:["svg"],imageSizes:["link"],imageSrcSet:["link"],loop:["audio","video"],mozAllowFullScreen:["iframe","video"],muted:["audio","video"],noModule:["script"],onAbort:["audio","video"],onCancel:["dialog"],onCanPlay:["audio","video"],onCanPlayThrough:["audio","video"],onClose:["dialog"],onDurationChange:["audio","video"],onEmptied:["audio","video"],onEncrypted:["audio","video"],onEnded:["audio","video"],onError:["audio","video","img","link","source","script","picture","iframe"],onLoad:["script","img","link","picture","iframe","object","source"],onLoadedData:["audio","video"],onLoadedMetadata:["audio","video"],onLoadStart:["audio","video"],onPause:["audio","video"],onPlay:["audio","video"],onPlaying:["audio","video"],onProgress:["audio","video"],onRateChange:["audio","video"],onResize:["audio","video"],onSeeked:["audio","video"],onSeeking:["audio","video"],onStalled:["audio","video"],onSuspend:["audio","video"],onTimeUpdate:["audio","video"],onVolumeChange:["audio","video"],onWaiting:["audio","video"],playsInline:["video"],poster:["video"],preload:["audio","video"],property:["meta"],returnValue:["dialog"],scrolling:["iframe"],valign:["tr","td","th","thead","tbody","tfoot","colgroup","col"],viewBox:["marker","pattern","svg","symbol","view"],webkitAllowFullScreen:["iframe","video"],webkitDirectory:["input"]},kH=["dir","draggable","hidden","id","lang","nonce","part","slot","style","title","translate","inert","accept","action","allow","alt","as","async","buffered","capture","challenge","cite","code","cols","content","coords","csp","data","decoding","default","defer","disabled","form","headers","height","high","href","icon","importance","integrity","kind","label","language","loading","list","loop","low","manifest","max","media","method","min","multiple","muted","name","open","optimum","pattern","ping","placeholder","poster","preload","profile","rel","required","reversed","role","rows","sandbox","scope","seamless","selected","shape","size","sizes","span","src","start","step","summary","target","type","value","width","wmode","wrap","accumulate","additive","alphabetic","amplitude","ascent","azimuth","bbox","begin","bias","by","clip","color","cursor","cx","cy","d","decelerate","descent","direction","display","divisor","dur","dx","dy","elevation","end","exponent","fill","filter","format","from","fr","fx","fy","g1","g2","hanging","height","hreflang","ideographic","in","in2","intercept","k","k1","k2","k3","k4","kerning","local","mask","mode","offset","opacity","operator","order","orient","orientation","origin","overflow","path","ping","points","r","radius","rel","restart","result","rotate","rx","ry","scale","seed","slope","spacing","speed","stemh","stemv","string","stroke","to","transform","u1","u2","unicode","values","version","visibility","widths","x","x1","x2","xmlns","y","y1","y2","z","property","ref","key","children","results","security","controls"],kX=["accessKey","autoCapitalize","autoFocus","contentEditable","enterKeyHint","exportParts","inputMode","itemID","itemRef","itemProp","itemScope","itemType","spellCheck","tabIndex","acceptCharset","autoComplete","autoPlay","border","cellPadding","cellSpacing","classID","codeBase","colSpan","contextMenu","dateTime","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hrefLang","httpEquiv","imageSizes","imageSrcSet","isMap","keyParams","keyType","marginHeight","marginWidth","maxLength","mediaGroup","minLength","noValidate","onAnimationEnd","onAnimationIteration","onAnimationStart","onBlur","onChange","onClick","onContextMenu","onCopy","onCompositionEnd","onCompositionStart","onCompositionUpdate","onCut","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onError","onFocus","onInput","onKeyDown","onKeyPress","onKeyUp","onLoad","onWheel","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onPaste","onScroll","onSelect","onSubmit","onToggle","onTransitionEnd","radioGroup","readOnly","referrerPolicy","rowSpan","srcDoc","srcLang","srcSet","useMap","fetchPriority","crossOrigin","accentHeight","alignmentBaseline","arabicForm","attributeName","attributeType","baseFrequency","baselineShift","baseProfile","calcMode","capHeight","clipPathUnits","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","diffuseConstant","dominantBaseline","edgeMode","enableBackground","fillOpacity","fillRule","filterRes","filterUnits","floodColor","floodOpacity","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","horizAdvX","horizOriginX","imageRendering","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","markerEnd","markerMid","markerStart","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","numOctaves","overlinePosition","overlineThickness","panose1","paintOrder","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","referrerPolicy","refX","refY","rendering-intent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","shapeRendering","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textRendering","textLength","transformOrigin","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","viewBox","viewTarget","wordSpacing","writingMode","xHeight","xChannelSelector","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlnsXlink","xmlSpace","yChannelSelector","zoomAndPan","autoCorrect","autoSave","className","dangerouslySetInnerHTML","defaultValue","defaultChecked","htmlFor","onBeforeInput","onChange","onInvalid","onReset","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","suppressContentEditableWarning","suppressHydrationWarning","onAbort","onCanPlay","onCanPlayThrough","onDurationChange","onEmptied","onEncrypted","onEnded","onLoadedData","onLoadedMetadata","onLoadStart","onPause","onPlay","onPlaying","onProgress","onRateChange","onResize","onSeeked","onSeeking","onStalled","onSuspend","onTimeUpdate","onVolumeChange","onWaiting","onCopyCapture","onCutCapture","onPasteCapture","onCompositionEndCapture","onCompositionStartCapture","onCompositionUpdateCapture","onFocusCapture","onBlurCapture","onChangeCapture","onBeforeInputCapture","onInputCapture","onResetCapture","onSubmitCapture","onInvalidCapture","onLoadCapture","onErrorCapture","onKeyDownCapture","onKeyPressCapture","onKeyUpCapture","onAbortCapture","onCanPlayCapture","onCanPlayThroughCapture","onDurationChangeCapture","onEmptiedCapture","onEncryptedCapture","onEndedCapture","onLoadedDataCapture","onLoadedMetadataCapture","onLoadStartCapture","onPauseCapture","onPlayCapture","onPlayingCapture","onProgressCapture","onRateChangeCapture","onSeekedCapture","onSeekingCapture","onStalledCapture","onSuspendCapture","onTimeUpdateCapture","onVolumeChangeCapture","onWaitingCapture","onSelectCapture","onTouchCancelCapture","onTouchEndCapture","onTouchMoveCapture","onTouchStartCapture","onScrollCapture","onWheelCapture","onAnimationEndCapture","onAnimationIteration","onAnimationStartCapture","onTransitionEndCapture","onAuxClick","onAuxClickCapture","onClickCapture","onContextMenuCapture","onDoubleClickCapture","onDragCapture","onDragEndCapture","onDragEnterCapture","onDragExitCapture","onDragLeaveCapture","onDragOverCapture","onDragStartCapture","onDropCapture","onMouseDown","onMouseDownCapture","onMouseMoveCapture","onMouseOutCapture","onMouseOverCapture","onMouseUpCapture","autoPictureInPicture","controlsList","disablePictureInPicture","disableRemotePlayback"],kQ=["charset","allowFullScreen","webkitAllowFullScreen","mozAllowFullScreen","webkitDirectory"],kZ=["aria-atomic","aria-braillelabel","aria-brailleroledescription","aria-busy","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-dropeffect","aria-errormessage","aria-flowto","aria-grabbed","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-relevant","aria-roledescription","aria-autocomplete","aria-checked","aria-expanded","aria-level","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-placeholder","aria-pressed","aria-readonly","aria-required","aria-selected","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","aria-activedescendant","aria-colcount","aria-colindex","aria-colindextext","aria-colspan","aria-posinset","aria-rowcount","aria-rowindex","aria-rowindextext","aria-rowspan","aria-setsize"],k0=["onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCapture","onLostPointerCaptureCapture","onPointerCancel","onPointerCancelCapture","onPointerDown","onPointerDownCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerMove","onPointerMoveCapture","onPointerOut","onPointerOutCapture","onPointerOver","onPointerOverCapture","onPointerUp","onPointerUpCapture"],k1=["popover","popoverTarget","popoverTargetAction","onToggle","onBeforeToggle"];function k2(e,t,n){let{version:r}=cM(e);return hu(r,n,t)}function k3(e,t){return Object.hasOwn(e,t)}let k6=[];var k4=kP({meta:{type:"problem",docs:{description:"Disallows unknown 'DOM' properties."},fixable:"code",messages:{dataLowercaseRequired:"React does not recognize data-* props with uppercase characters on a DOM element. Found '{{name}}', use '{{lowerCaseName}}' instead",invalidPropOnTag:"Invalid property '{{name}}' found on tag '{{tagName}}', but it is only allowed on: {{allowedTags}}",unknownProp:"Unknown property '{{name}}' found",unknownPropWithStandardName:"Unknown property '{{name}}' found, use '{{standardName}}' instead"},schema:[{type:"object",additionalProperties:!1,properties:{ignore:{type:"array",items:{type:"string"}},requireDataLowercase:{type:"boolean",default:!1}}}]},name:"no-unknown-property",create:function(e){return hr({JSXAttribute(t){var n;let r=e.options[0]?.ignore??k6,i=(n=t.name,e.sourceCode.getText(n));if(r.includes(i))return;let a=kQ.find(e=>e.toLowerCase()===i.toLowerCase())??i;if(t.parent.name.type===av.AST_NODE_TYPES.JSXMemberExpression)return;if(!/^data-xml/i.test(a)&&/^data-[^:]*$/.test(a)){e.options[0]?.requireDataLowercase&&a.toLowerCase()!==a&&e.report({data:{name:i,lowerCaseName:i.toLowerCase()},messageId:"dataLowercaseRequired",node:t});return}if(kZ.some(e=>e===a))return;let o=t.parent.name.type===av.AST_NODE_TYPES.JSXIdentifier?t.parent.name.name:null;if("fbt"===o||"fbs"===o||!(t.parent.name.type===av.AST_NODE_TYPES.JSXIdentifier&&/^[a-z][^-]*$/.test(t.parent.name.name)&&!t.parent.attributes.some(e=>e.type===av.AST_NODE_TYPES.JSXAttribute&&e.name.type===av.AST_NODE_TYPES.JSXIdentifier&&"is"===e.name.name)))return;let s=k3(kG,a)?kG[a]:null;if(null!=o&&null!=s){s.includes(o)||e.report({data:{name:i,allowedTags:s.join(", "),tagName:o},messageId:"invalidPropOnTag",node:t});return}let l=function(e,t){let n;return k3(kW,e)?kW[e]??null:k3(kK,e)?kK[e]??null:(n=kX.concat(kH),k2(t,"<=","16.1.0")?n.push("allowTransparency"):(k2(t,">=","16.4.0")&&n.push(...k0),k2(t,">=","19.0.0-rc.0")?n.push(...k1):n.push(...k1.map(e=>e.toLowerCase()))),n).find(t=>t.toLowerCase()===e.toLowerCase())??null}(a,e),c=null!=l&&l!==a;if(null==l||l!==a){if(c)return void e.report({data:{name:i,standardName:l},fix:e=>e.replaceText(t.name,l),messageId:"unknownPropWithStandardName",node:t});e.report({data:{name:i},messageId:"unknownProp",node:t})}}})},defaultOptions:[]});let k8=["allow-scripts","allow-same-origin"];var k5=kP({meta:{type:"problem",docs:{description:"Enforces that the 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations."},messages:{default:"Unsafe 'sandbox' attribute value on 'iframe' component."},schema:[]},name:"no-unsafe-iframe-sandbox",create:function(e){let t=kR(e);return hr({JSXElement(n){var r;if("iframe"!==t.resolve(n).domElementType)return;let i=f4(e,n,"sandbox");if(null==i)return;let a=f8(e,i);"string"==typeof(r="spreadProps"===a.kind?a.getProperty("sandbox"):a.toStatic())&&k8.every(e=>r.includes(e))&&e.report({messageId:"default",node:a.node??i})}})},defaultOptions:[]}),k7=kP({meta:{type:"problem",docs:{description:"Disallows 'target=\"_blank\"' without 'rel=\"noreferrer noopener\"'."},fixable:"code",hasSuggestions:!0,messages:{addRelNoreferrerNoopener:"Add 'rel=\"noreferrer noopener\"' to the link to prevent security risks.",default:"Using 'target=\"_blank\"' on an external link without 'rel=\"noreferrer noopener\"' is a security risk."},schema:[]},name:"no-unsafe-target-blank",create:function(e){let t=kR(e);return hr({JSXElement(n){var r,i;let{domElementType:a}=t.resolve(n);if("a"!==a||"_blank"!==f5(e,n,"target")||!("string"==typeof(r=f5(e,n,"href"))&&(r.startsWith("https://")||/^(?:\w+:|\/\/)/u.test(r))))return;let o=f4(e,n,"rel");null==o?e.report({messageId:"default",node:n.openingElement,suggest:[{fix:e=>e.insertTextAfter(n.openingElement.name,' rel="noreferrer noopener"'),messageId:"addRelNoreferrerNoopener"}]}):"string"==typeof(i=f5(e,n,"rel"))&&("noreferrer"===i||/\bnoreferrer\b/u.test(i))||e.report({messageId:"default",node:o,suggest:[{fix:e=>e.replaceText(o,'rel="noreferrer noopener"'),messageId:"addRelNoreferrerNoopener"}]})}})},defaultOptions:[]}),k9=kP({meta:{type:"problem",docs:{description:"Replaces usage of 'useFormState' with 'useActionState'."},fixable:"code",messages:{default:"[Deprecated] Use 'useActionState' from 'react' package instead."},schema:[]},name:"no-use-form-state",create:function(e){if(!e.sourceCode.text.includes("useFormState")||hu(cM(e).version,"19.0.0","<"))return{};let t=new Set,n=new Set;return hr({CallExpression(r){let i=ue.unwrap(r.callee);switch(!0){case i.type===av.AST_NODE_TYPES.Identifier&&n.has(i.name):case i.type===av.AST_NODE_TYPES.MemberExpression&&i.object.type===av.AST_NODE_TYPES.Identifier&&i.property.type===av.AST_NODE_TYPES.Identifier&&"useFormState"===i.property.name&&t.has(i.object.name):e.report({fix:function(e,t){let{importSource:n}=cM(e);return r=>[r.insertTextBefore(e.sourceCode.ast,`import { useActionState } from "${n}";
|
|
417
|
+
`),r.replaceText(t.callee,"useActionState")]}(e,r),messageId:"default",node:r});return}},ImportDeclaration(e){let[r]=e.source.value.split("/");if("react-dom"===r)for(let r of e.specifiers)switch(r.type){case av.AST_NODE_TYPES.ImportSpecifier:if(r.imported.type!==av.AST_NODE_TYPES.Identifier)continue;"useFormState"===r.imported.name&&n.add(r.local.name);continue;case av.AST_NODE_TYPES.ImportDefaultSpecifier:case av.AST_NODE_TYPES.ImportNamespaceSpecifier:t.add(r.local.name);continue}}})},defaultOptions:[]});let Pe=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"]);var Pt=kP({meta:{type:"problem",docs:{description:"Disallows 'children' in void DOM elements."},messages:{default:"'{{elementType}}' is a void element tag and must not have children."},schema:[]},name:"no-void-elements-with-children",create:function(e){let t=kR(e);return hr({JSXElement(n){let{domElementType:r}=t.resolve(n);Pe.has(r)&&(n.children.length>0||f9(e,n,["children","dangerouslySetInnerHTML"]))&&e.report({data:{elementType:r},messageId:"default",node:n})}})},defaultOptions:[]});let Pn=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/${e}`});var Pr=Pn({meta:{type:"problem",docs:{description:"Disallows passing 'children' as a prop when children are also passed as nested content."},fixable:"code",hasSuggestions:!0,messages:{default:"Do not pass 'children' as a prop when the element already has children content.",removeChildrenContent:"Remove the nested children content.",removeChildrenProp:"Remove the 'children' prop."},schema:[]},name:"no-children-prop-with-children",create:function(e){return hr({JSXElement(t){let n=f4(e,t,"children");if(null!=n&&0!==t.children.length&&!t.children.every(e=>{var t;return(t=e).type===av.AST_NODE_TYPES.JSXText&&""===t.raw.trim()})){if(n.type!==av.AST_NODE_TYPES.JSXAttribute)return void e.report({messageId:"default",node:n});e.report({messageId:"default",node:n,suggest:[{fix(t){let[r,i]=function(e,t){let{sourceCode:n}=e,r=t.range[0],i=t.range[1];for(;r>0&&/\s/.test(n.text[r-1]);)r--;return[r,i]}(e,n);return t.removeRange([r,i])},messageId:"removeChildrenProp"},{fix(e){let n=function(e){if(0===e.children.length)return null;let t=e.children[0],n=e.children[e.children.length-1];return[t.range[0],n.range[1]]}(t);return null==n?[]:e.removeRange(n)},messageId:"removeChildrenContent"}]})}}})},defaultOptions:[]}),Pi=Pn({meta:{type:"suggestion",docs:{description:"Disallows passing 'children' as a prop."},fixable:"code",hasSuggestions:!0,messages:{default:"Do not pass 'children' as props.",moveChildrenToContent:"Move 'children' to element content."},schema:[]},name:"no-children-prop",create:function(e){return hr({JSXElement(t){let n=f4(e,t,"children");if(null==n)return;if(n.type!==av.AST_NODE_TYPES.JSXAttribute)return void e.report({messageId:"default",node:n});let r=function(e,t){let{sourceCode:n}=e,{value:r}=t;if(null==r)return null;if(r.type===av.AST_NODE_TYPES.Literal)return String(r.value);if(r.type===av.AST_NODE_TYPES.JSXExpressionContainer){let{expression:e}=r;if(e.type===av.AST_NODE_TYPES.JSXEmptyExpression)return null;let t=n.getText(e);return c$.isJSXElementOrFragment(e)?t:`{${t}}`}return null}(e,n);null==r?e.report({messageId:"default",node:n}):e.report({messageId:"default",node:n,suggest:[{fix(i){let a=e.sourceCode,{openingElement:o}=t,[s,l]=function(e,t){let{sourceCode:n}=e,r=t.range[0],i=t.range[1];for(;r>0&&/\s/.test(n.text[r-1]);)r--;return[r,i]}(e,n);if(o.selfClosing){let e=a.getText(o.name),t=a.getText(o).lastIndexOf("/>"),n=o.range[0]+t;for(;n>l&&/\s/.test(a.text[n-1]);)n--;return[i.removeRange([s,l]),i.replaceTextRange([n,o.range[1]],`>${r}</${e}>`)]}let c=[i.removeRange([s,l])];return null!=t.closingElement&&c.push(i.insertTextBefore(t.closingElement,r)),c},messageId:"moveChildrenToContent"}]})}})},defaultOptions:[]}),Pa=Pn({meta:{type:"problem",docs:{description:"Prevents comment strings from being accidentally inserted into a JSX element's text nodes."},messages:{default:"Possible misused comment in text node. Comments inside children section of tag should be placed inside braces."},schema:[]},name:"no-comment-textnodes",create:function(e){let t=t=>{c$.isJSXElementOrFragment(t.parent)&&!cK([av.AST_NODE_TYPES.JSXAttribute,av.AST_NODE_TYPES.JSXExpressionContainer])(t.parent)&&/^\s*\/(?:\/|\*)/mu.test(e.sourceCode.getText(t))&&e.report({messageId:"default",node:t})};return hr({JSXText:t,Literal:t})},defaultOptions:[]}),Po=Pn({meta:{type:"problem",docs:{description:"Prevent patterns that cause deoptimization when using the automatic JSX runtime."},messages:{noKeyAfterSpread:"Placing 'key' after spread props causes deoptimization when using the automatic JSX runtime. Put 'key' before any spread props."},schema:[]},name:"no-key-after-spread",create:function(e){let{jsx:t}=ms(e);return 4!==t&&5!==t?{}:hr({JSXOpeningElement(t){let n=null;for(let[r,i]of t.attributes.entries()){if(i.type===av.AST_NODE_TYPES.JSXSpreadAttribute){n??=r;continue}null!=n&&i.name.type===av.AST_NODE_TYPES.JSXIdentifier&&"key"===i.name.name&&r>n&&e.report({messageId:"noKeyAfterSpread",node:i})}}})},defaultOptions:[]}),Ps=Pn({meta:{type:"suggestion",docs:{description:'Catches `$` before `{expr}` in JSX — typically from template literal `${expr}` being copy-pasted into JSX without removing the `$`. The `$` "leaks" into the rendered output.'},fixable:"code",hasSuggestions:!0,messages:{default:"Leaked '$' in JSX. This '$' will be rendered as text nodes.",removeDollarSign:"Remove the text node '$'."},schema:[]},name:"no-leaked-dollar",create:function(e){let t=t=>{for(let[n,r]of t.children.entries()){if(r.type!==av.AST_NODE_TYPES.JSXText||!r.value.endsWith("$")||t.children[n+1]?.type!==av.AST_NODE_TYPES.JSXExpressionContainer||"$"===r.value&&2===t.children.length)continue;let i=r.loc.end;e.report({loc:{end:{column:i.column,line:i.line},start:{column:i.column-1,line:i.line}},messageId:"default",node:r,suggest:[{fix:e=>e.removeRange([r.range[1]-1,r.range[1]]),messageId:"removeDollarSign"}]})}};return hr({JSXElement:t,JSXFragment:t})},defaultOptions:[]}),Pl=Pn({meta:{type:"problem",docs:{description:'Catches `;` at the start of JSX text nodes — typically from accidentally placing a statement-ending `;` inside JSX. The `;` "leaks" into the rendered output.'},hasSuggestions:!0,messages:{default:"Leaked ';' in JSX. This ';' will be rendered as text nodes.",removeSemicolon:"Remove the text node ';'."},schema:[]},name:"no-leaked-semicolon",create:function(e){let t=t=>{var n;c$.isJSXElementOrFragment(t.parent)&&((n=e.sourceCode.getText(t)).startsWith(";\n")||n.startsWith(";\r"))&&e.report({messageId:"default",node:t,suggest:[{fix:e=>e.removeRange([t.range[0],t.range[0]+1]),messageId:"removeSemicolon"}]})};return hr({JSXText:t,Literal:t})},defaultOptions:[]}),Pc=Pn({meta:{type:"problem",docs:{description:"Disallow JSX namespace syntax, as React does not support them."},messages:{noNamespace:"A React component '{{name}}' must not be in a namespace, as React does not support them."},schema:[]},name:"no-namespace",create:function(e){return hr({JSXElement(t){let n=f7(t);"string"==typeof n&&n.includes(":")&&e.report({data:{name:n},messageId:"noNamespace",node:t.openingElement.name})}})},defaultOptions:[]});let Pu=[{allowEmptyFragment:!1,allowExpressions:!0}];var P_=Pn({meta:{type:"suggestion",defaultOptions:[...Pu],docs:{description:"Disallows useless fragment elements."},fixable:"code",messages:{default:"A fragment {{reason}} is useless."},schema:[{type:"object",additionalProperties:!1,properties:{allowEmptyFragment:{type:"boolean",description:"Allow empty fragments"},allowExpressions:{type:"boolean",description:"Allow fragments with a single expression child"}}}]},name:"no-useless-fragment",create:function(e,[t]){let{allowEmptyFragment:n=!1,allowExpressions:r=!0}=t,i=ms(e);function a(t){return(c$.isJSXElementOrFragment(t.parent)?mt(t.parent):0!==t.children.length&&!t.children.some(e=>{if(e.type===av.AST_NODE_TYPES.JSXExpressionContainer)return!0;if(e.type===av.AST_NODE_TYPES.JSXText)return e.type!==av.AST_NODE_TYPES.JSXText||""!==e.raw.trim();return!1}))?n=>{let r,i,a,o,s=function(e,t){let{sourceCode:n}=e,r=t.type===av.AST_NODE_TYPES.JSXFragment?t.openingFragment:t.openingElement,i=t.type===av.AST_NODE_TYPES.JSXFragment?t.closingFragment:t.closingElement;return r.type===av.AST_NODE_TYPES.JSXOpeningElement&&r.selfClosing||null==i?"":n.text.slice(r.range[1],i.range[0])}(e,t);return n.replaceText(t,(r=/^\s*/.exec(s)?.[0]??"",i=/\s*$/.exec(s)?.[0]??"",a=r.includes("\n")?r.length:0,o=i.includes("\n")?s.length-i.length:s.length,s.slice(a,o)))}:null}function o(t){mt(t.parent)&&e.report({data:{reason:"placed inside a host component"},fix:a(t),messageId:"default",node:t}),function(e){if(0===e.children.length)return!n;let t=c$.isJSXElementOrFragment(e.parent);if(!r&&(t||1===e.children.length))return!0;if(r&&!t&&1===e.children.length){let t=e.children[0];if(null!=t&&t.type===av.AST_NODE_TYPES.JSXText)return!1}let i=e.children.filter(e=>{var t;return!((t=e).type===av.AST_NODE_TYPES.JSXText&&""===t.raw.trim()&&t.raw.includes("\n"))});return 0===i.length||1===i.length&&i[0].type!==av.AST_NODE_TYPES.JSXExpressionContainer}(t)&&e.report({data:{reason:"contains less than two children"},fix:a(t),messageId:"default",node:t})}return hr({JSXElement(t){!function(e,t="React.Fragment"){if(e.type===av.AST_NODE_TYPES.JSXFragment)return!0;if(e.type!==av.AST_NODE_TYPES.JSXElement)return!1;let n=t.split(".").at(-1)??"Fragment";return f7(e).split(".").at(-1)===n}(t,i.jsxFragmentFactory)||f9(e,t,["key","ref"])||o(t)},JSXFragment(e){o(e)}})},defaultOptions:Pu});let Pd=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/naming-convention-${e}`});var Pp=Pd({meta:{type:"suggestion",docs:{description:"Enforces the context name to be a valid component name with the suffix 'Context'."},messages:{invalidContextName:"A context name must be a valid component name with the suffix 'Context'."},schema:[]},name:"context-name",create:function(e){return e.sourceCode.text.includes("createContext")?hr({CallExpression(t){if(!mG(e,t))return;let[n,r]=oi.match(f3(t)).with({type:av.AST_NODE_TYPES.Identifier,name:oi.P.string},e=>[e,e.name]).with({type:av.AST_NODE_TYPES.MemberExpression,property:{name:oi.P.string}},e=>[e,e.property.name]).otherwise(()=>[null,null]);null==n||gI(r)&&r.endsWith("Context")||e.report({messageId:"invalidContextName",node:n})}}):{}},defaultOptions:[]}),Pf=Pd({meta:{type:"suggestion",docs:{description:"Enforces identifier names assigned from 'useId' calls to be either 'id' or end with 'Id'."},messages:{invalidIdName:"An identifier assigned from 'useId' must be named 'id' or end with 'Id'."},schema:[]},name:"id-name",create:function(e){return e.sourceCode.text.includes("useId")?hr({CallExpression(t){if(!m9(e,t))return;let[n,r]=oi.match(f3(t)).with({type:av.AST_NODE_TYPES.Identifier,name:oi.P.string},e=>[e,e.name]).with({type:av.AST_NODE_TYPES.MemberExpression,property:{name:oi.P.string}},e=>[e,e.property.name]).otherwise(()=>[null,null]);null==n||r.endsWith("Id")||"id"===r||e.report({messageId:"invalidIdName",node:n})}}):{}},defaultOptions:[]}),Pm=Pd({meta:{type:"suggestion",docs:{description:"Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'."},messages:{invalidRefName:"A ref identifier must be named 'ref' or ending in 'Ref'."},schema:[]},name:"ref-name",create:function(e){return e.sourceCode.text.includes("useRef")?hr({CallExpression(t){if(!go(e,t)||ue.unwrap(t.parent).type===av.AST_NODE_TYPES.MemberExpression)return;let[n,r]=oi.match(f3(t)).with({type:av.AST_NODE_TYPES.Identifier,name:oi.P.string},e=>[e,e.name]).with({type:av.AST_NODE_TYPES.MemberExpression,property:{name:oi.P.string}},e=>[e,e.property.name]).otherwise(()=>[null,null]);null==n||r.endsWith("Ref")||"ref"===r||e.report({messageId:"invalidRefName",node:n})}}):{}},defaultOptions:[]}),Pg=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/${e}`})({meta:{type:"problem",docs:{description:"Validates and transforms React Client/Server Function definitions."},fixable:"code",messages:{file:"Functions exported from files with `use server` directive are React Server Functions and therefore must be async.",fileDirectivePosition:"The '{{name}}' directive must be at the very beginning of the file, before any imports or other code.",fileDirectiveQuote:"The '{{name}}' directive must be written with single or double quotes, not backticks.",local:"Functions with `use server` directive are React Server Functions and therefore must be async.",localDirectivePosition:"The '{{name}}' directive must be at the very beginning of the function body.",localDirectiveQuote:"The '{{name}}' directive must be written with single or double quotes, not backticks.",localDirectiveUnexpected:"The '{{name}}' directive can only be used at the top of a file, not inside a function body."},schema:[]},name:"function-definition",create:function(e){let t=e.sourceCode.text.includes("use server"),n=e.sourceCode.text.includes("use client");if(!t&&!n)return{};let r=e.sourceCode.ast.body.some(c$.isDirective("use server"));function i(t,n){if(null==t)return!1;let r=ue.unwrap(t);return!!c$.isFunction(r)&&!r.async&&(e.report({fix:function(t){if(t.type===av.AST_NODE_TYPES.FunctionDeclaration||t.type===av.AST_NODE_TYPES.FunctionExpression){let n=e.sourceCode.getFirstToken(t);return null!=n?e=>e.insertTextBefore(n,"async "):null}return t.type===av.AST_NODE_TYPES.ArrowFunctionExpression?e=>e.insertTextBefore(t,"async "):null}(r),messageId:n,node:r}),!0)}function a(e){gw(e).some(e=>"use server"===e.directive)&&i(e,"local")}function o(t){let n=fQ(e,t);if(null==n)return;let r=ue.unwrap(n);c$.isFunction(r)&&i(r,"file")}function s(t){if(t.body.type===av.AST_NODE_TYPES.BlockStatement){for(let n of t.body.body)if(n.type===av.AST_NODE_TYPES.ExpressionStatement){if(c$.isLiteral("string")(n.expression)){let t=n.expression.value;"use server"===t&&null==n.directive&&e.report({data:{name:t},messageId:"localDirectivePosition",node:n}),"use client"===t&&e.report({data:{name:t},messageId:"localDirectiveUnexpected",node:n});continue}if(n.expression.type===av.AST_NODE_TYPES.TemplateLiteral&&1===n.expression.quasis.length&&0===n.expression.expressions.length){let t=n.expression.quasis[0]?.value.cooked;("use server"===t||"use client"===t)&&e.report({data:{name:t},messageId:"localDirectiveQuote",node:n})}}}}return hr({ArrowFunctionExpression(e){s(e),a(e)},ExportDefaultDeclaration(e){if(!r)return;let t=e.declaration;i(t,"file")||t.type===av.AST_NODE_TYPES.Identifier&&o(t)},ExportNamedDeclaration(e){if(r){if(null!=e.declaration){let t=e.declaration;if(i(t,"file"))return;if(t.type===av.AST_NODE_TYPES.VariableDeclaration)for(let e of t.declarations)i(e.init,"file");return}if(null==e.source&&e.specifiers.length>0)for(let t of e.specifiers)o(t.local)}},FunctionDeclaration(e){s(e),a(e)},FunctionExpression(e){s(e),a(e)},Program(){for(let t of e.sourceCode.ast.body)if(t.type===av.AST_NODE_TYPES.ExpressionStatement){if(c$.isLiteral("string")(t.expression)){let n=t.expression.value;("use server"===n||"use client"===n)&&null==t.directive&&e.report({data:{name:n},messageId:"fileDirectivePosition",node:t});continue}if(t.expression.type===av.AST_NODE_TYPES.TemplateLiteral&&1===t.expression.quasis.length&&0===t.expression.expressions.length){let n=t.expression.quasis[0]?.value.cooked;("use server"===n||"use client"===n)&&e.report({data:{name:n},messageId:"fileDirectiveQuote",node:t})}}}})},defaultOptions:[]});let Ph=a5(function(){if(ad)return a_;ad=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,i={},a={BiRecord:()=>l,default:()=>s,reverse:()=>c};for(var o in a)e(i,o,{get:a[o],enumerable:!0});function s(e){return new l(e)}a_=((i,a,o,s)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let l of n(a))r.call(i,l)||l===o||e(i,l,{get:()=>a[l],enumerable:!(s=t(a,l))||s.enumerable});return i})(e({},"__esModule",{value:!0}),i);var l=class{constructor(e,t=c(e)){this.original=e,this.reversed=t}get(e){return this.original[e]??this.reversed[e]}has(e){return e in this.original||e in this.reversed}};function c(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[t,e]))}return a_}())({setup:"cleanup"});function Py(e){return oi.match(e).when(gz,()=>"setup").when(gq,()=>"cleanup").otherwise(()=>null)}let Pv=ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/web-api-${e}`});function Pb(e,t){for(let n of e){if(n.type===av.AST_NODE_TYPES.Property&&ue.getPropertyName(n.key)===t)return n;if(n.type===av.AST_NODE_TYPES.SpreadElement&&n.argument.type===av.AST_NODE_TYPES.ObjectExpression){let e=Pb(n.argument.properties,t);if(null!=e)return e}}return null}let Px={capture:!1,signal:null};function PT(e,t){let n=e.sourceCode.getScope(t);return function t(r){switch(r.type){case av.AST_NODE_TYPES.Identifier:{let n=fQ(e,r);if(n?.type===av.AST_NODE_TYPES.ObjectExpression)return t(n);return Px}case av.AST_NODE_TYPES.Literal:return{...Px,capture:!!r.value};case av.AST_NODE_TYPES.ObjectExpression:{let t=oi.match(Pb(r.properties,"capture")).with(oi.P.nullish,()=>!1).with({type:av.AST_NODE_TYPES.Property},e=>{let t=e.value;return t.type===av.AST_NODE_TYPES.Literal?!!t.value:!!ab.getStaticValue(t,n)?.value}).otherwise(()=>!1),i=Pb(r.properties,"signal");return{capture:t,signal:i?.type===av.AST_NODE_TYPES.Property?function e(t,n){if(null==n)return null;switch(n.type){case av.AST_NODE_TYPES.Identifier:{let r=fQ(t,n),i=null==r?null:ue.unwrap(r);if(null!=i&&c$.isFunction(i))return n;return e(t,i)}case av.AST_NODE_TYPES.MemberExpression:return n;default:return null}}(e,i.value):null}}default:return Px}}(t)}var PS=Pv({meta:{type:"problem",docs:{description:"Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'."},messages:{expectedRemoveEventListenerInCleanup:"An 'addEventListener' in '{{effectMethodKind}}' should have a corresponding 'removeEventListener' in its cleanup function.",unexpectedInlineFunction:"A/an '{{eventMethodKind}}' should not have an inline listener function."},schema:[]},name:"no-leaked-event-listener",create:function(e){if(!e.sourceCode.text.includes("addEventListener")||!/use\w*Effect/u.test(e.sourceCode.text))return{};let t=[],n=[],r=[],i=[];function a(t,n,r){let i=t.arguments.at(1);c$.isFunction(i)&&null==r.signal&&e.report({data:{eventMethodKind:n},messageId:"unexpectedInlineFunction",node:i})}return hr({":function"(e){let n=Py(e)??"other";t.push({kind:n,node:e})},":function:exit"(){t.pop()},CallExpression(o){let s=t.findLast(e=>"other"!==e.kind)?.kind;if(null==s||!Ph.has(s))return;let l=ue.unwrap(o.callee);oi.match(function(e){let t=ue.unwrap(e.callee);switch(!0){case t.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("addEventListener","removeEventListener","abort"))(t.name):return t.name;case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("addEventListener","removeEventListener","abort"))(t.property.name):return t.property.name;default:return"other"}}(o)).with("addEventListener",t=>{if(l.type===av.AST_NODE_TYPES.MemberExpression&&l.object.type===av.AST_NODE_TYPES.Identifier&&mM(l.object.name,e.sourceCode.getScope(o)))return;let[r,i,c]=o.arguments;if(null==r||null==i)return;let u=null==c?Px:PT(e,c),{callee:_}=o;a(o,t,u),n.push({...u,type:r,callee:_,listener:i,method:"addEventListener",node:o,phase:s})}).with("removeEventListener",t=>{let[n,i,l]=o.arguments;if(null==n||null==i)return;let c=null==l?Px:PT(e,l),{callee:u}=o;a(o,t,c),r.push({...c,type:n,callee:u,listener:i,method:"removeEventListener",node:o,phase:s})}).with("abort",()=>{i.push(o.callee)}).otherwise(()=>null)},"Program:exit"(){for(let t of n)if(null==t.signal&&!r.some(n=>(function(t,n){let{type:r,callee:i,capture:a,listener:o,phase:s}=t,{type:l,callee:c,capture:u,listener:_,phase:d}=n;return Ph.get(s)===d&&!0==(i.type===av.AST_NODE_TYPES.MemberExpression&&c.type===av.AST_NODE_TYPES.MemberExpression)&&ur.isEqual(i.object,c.object)&&ur.isEqual(o,_)&&f1(e,r,l)&&a===u})(t,n)))switch(t.phase){case"setup":case"cleanup":e.report({data:{effectMethodKind:"useEffect"},messageId:"expectedRemoveEventListenerInCleanup",node:t.node});continue}}})},defaultOptions:[]}),PE=Pv({meta:{type:"problem",docs:{description:"Enforces that every 'fetch' in a component or custom hook has a corresponding 'AbortController' abort in the cleanup function."},messages:{expectedAbortController:"A 'fetch' must be provided with an 'AbortController' for proper cleanup.",expectedAbortInCleanup:"A 'fetch' started in effect must be aborted with 'AbortController.abort' in the cleanup function."},schema:[]},name:"no-leaked-fetch",create:function(e){if(!e.sourceCode.text.includes("fetch")||!/use\w*Effect/u.test(e.sourceCode.text))return{};let t=[],n=[],r=[];return hr({":function"(e){let n=Py(e)??"other";t.push({kind:n,node:e})},":function:exit"(){t.pop()},CallExpression(i){let a=t.at(-1);if(null!=a&&Ph.has(a.kind))switch(function(e){let t=ue.unwrap(e.callee);switch(!0){case t.type===av.AST_NODE_TYPES.Identifier&&"fetch"===t.name:case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&"fetch"===t.property.name:return"fetch";case t.type===av.AST_NODE_TYPES.Identifier&&"abort"===t.name:case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&"abort"===t.property.name:return"abort";default:return"other"}}(i)){case"fetch":{if("setup"!==a.kind)return;let{controller:t,isParamSignal:r}=function(e,t){let[,n]=t.arguments;if(null==n)return{controller:null,isParamSignal:!1};let r=function(e,t){switch((t=ue.unwrap(t)).type){case av.AST_NODE_TYPES.ObjectExpression:return t;case av.AST_NODE_TYPES.Identifier:{let n=fQ(e,t);if(n=null==n?null:ue.unwrap(n),n?.type===av.AST_NODE_TYPES.ObjectExpression)return n;return null}default:return null}}(e,n);if(null==r)return{controller:null,isParamSignal:!1};let i=function e(t,n){for(let r of t){if(r.type===av.AST_NODE_TYPES.Property&&ue.getPropertyName(r.key)===n)return r;if(r.type===av.AST_NODE_TYPES.SpreadElement&&r.argument.type===av.AST_NODE_TYPES.ObjectExpression){let t=e(r.argument.properties,n);if(null!=t)return t}}return null}(r.properties,"signal");if(i?.type!==av.AST_NODE_TYPES.Property)return{controller:null,isParamSignal:!1};var a=i.value;switch((a=ue.unwrap(a)).type){case av.AST_NODE_TYPES.MemberExpression:return{controller:a.object,isParamSignal:!1};case av.AST_NODE_TYPES.Identifier:{let t=fQ(e,a),n=null==t?null:ue.unwrap(t);if(n?.type===av.AST_NODE_TYPES.MemberExpression)return{controller:n.object,isParamSignal:!1};if(null!=t&&c$.isFunction(t))return{controller:a,isParamSignal:!0};return{controller:null,isParamSignal:!1}}default:return{controller:null,isParamSignal:!1}}}(e,i);n.push({controller:t,isParamSignal:r,node:i,phase:a.kind});break}case"abort":{let e;if("cleanup"!==a.kind)return;let t=(e=ue.unwrap(i.callee)).type===av.AST_NODE_TYPES.MemberExpression?e.object:null;if(null==t)break;r.push({controller:t,node:i,phase:a.kind})}}},"Program:exit"(){for(let t of n){let n=t.controller;if(null==n){e.report({messageId:"expectedAbortController",node:t.node});continue}!t.isParamSignal&&(r.some(t=>f2(e,t.controller,n))||e.report({messageId:"expectedAbortInCleanup",node:t.node}))}}})},defaultOptions:[]}),Pk=Pv({meta:{type:"problem",docs:{description:"Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'."},messages:{expectedClearIntervalInCleanup:"A 'setInterval' created in '{{ kind }}' must be cleared with 'clearInterval' in the cleanup function.",expectedIntervalId:"A 'setInterval' must be assigned to a variable for proper cleanup."},schema:[]},name:"no-leaked-interval",create:function(e){if(!e.sourceCode.text.includes("setInterval"))return{};let t=[],n=[],r=[];return hr({":function"(e){let n=Py(e)??"other";t.push({kind:n,node:e})},":function:exit"(){t.pop()},CallExpression(i){switch(function(e){let t=ue.unwrap(e.callee);switch(!0){case t.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("setInterval","clearInterval"))(t.name):return t.name;case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("setInterval","clearInterval"))(t.property.name):return t.property.name;default:return"other"}}(i)){case"setInterval":{let r=t.findLast(e=>"other"!==e.kind);if(null==r||!Ph.has(r.kind))break;let a=f3(i);if(null==a){e.report({messageId:"expectedIntervalId",node:i});break}n.push({kind:"interval",callee:i.callee,node:i,phase:r.kind,timerId:a});break}case"clearInterval":{let e=t.findLast(e=>"other"!==e.kind);if(null==e||!Ph.has(e.kind))break;let[n]=i.arguments;if(null==n)break;r.push({kind:"interval",callee:i.callee,node:i,phase:e.kind,timerId:n})}}},"Program:exit"(){for(let t of n)if(!r.some(n=>f2(e,t.timerId,n.timerId)))switch(t.phase){case"setup":case"cleanup":e.report({data:{kind:"useEffect"},messageId:"expectedClearIntervalInCleanup",node:t.node});continue}}})},defaultOptions:[]});cK([av.AST_NODE_TYPES.DoWhileStatement,av.AST_NODE_TYPES.ForInStatement,av.AST_NODE_TYPES.ForOfStatement,av.AST_NODE_TYPES.ForStatement,av.AST_NODE_TYPES.WhileStatement]);let PP=cK([av.AST_NODE_TYPES.DoWhileStatement,av.AST_NODE_TYPES.ForInStatement,av.AST_NODE_TYPES.ForOfStatement,av.AST_NODE_TYPES.ForStatement,av.AST_NODE_TYPES.WhileStatement,av.AST_NODE_TYPES.IfStatement,av.AST_NODE_TYPES.SwitchStatement,av.AST_NODE_TYPES.LogicalExpression,av.AST_NODE_TYPES.ConditionalExpression]);function PC(e){if(e?.type!==av.AST_NODE_TYPES.NewExpression)return!1;let t=ue.unwrap(e.callee);return t.type===av.AST_NODE_TYPES.Identifier&&"ResizeObserver"===t.name}function Pw(e,t){switch(!0){case t.type===av.AST_NODE_TYPES.Identifier:{let n=fQ(e,t);return PC(null==n?null:ue.unwrap(n))}case t.type===av.AST_NODE_TYPES.MemberExpression:return Pw(e,t.object);default:return!1}}var PA=Pv({meta:{type:"problem",docs:{description:"Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'."},messages:{expectedDisconnectInControlFlow:"Dynamically added 'ResizeObserver.observe' should be cleared all at once using 'ResizeObserver.disconnect' in the cleanup function.",expectedDisconnectOrUnobserveInCleanup:"A 'ResizeObserver' instance created in 'useEffect' must be disconnected in the cleanup function.",unexpectedFloatingInstance:"A 'ResizeObserver' instance created in component or custom hook must be assigned to a variable for proper cleanup."},schema:[]},name:"no-leaked-resize-observer",create:function(e){if(!e.sourceCode.text.includes("ResizeObserver"))return{};let t=[],n=[],r=[],i=[],a=[];return hr({":function"(e){let n=Py(e)??"other";t.push({kind:n,node:e})},":function:exit"(){t.pop()},CallExpression(n){let o=ue.unwrap(n.callee);if(o.type!==av.AST_NODE_TYPES.MemberExpression)return;let s=t.findLast(e=>"other"!==e.kind)?.kind;if(null==s||!Ph.has(s))return;let{object:l}=o;oi.match(function(e,t){let n=ue.unwrap(t.callee);switch(!0){case n.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("observe","unobserve","disconnect"))(n.name)&&Pw(e,n):return n.name;case n.type===av.AST_NODE_TYPES.MemberExpression&&n.property.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("observe","unobserve","disconnect"))(n.property.name)&&Pw(e,n):return n.property.name;default:return"other"}}(e,n)).with("disconnect",()=>{a.push({kind:"ResizeObserver",callee:n.callee,method:"disconnect",node:n,observer:l,phase:s})}).with("observe",()=>{let[e]=n.arguments;null!=e&&r.push({kind:"ResizeObserver",callee:n.callee,element:e,method:"observe",node:n,observer:l,phase:s})}).with("unobserve",()=>{let[e]=n.arguments;null!=e&&i.push({kind:"ResizeObserver",callee:n.callee,element:e,method:"unobserve",node:n,observer:l,phase:s})}).otherwise(()=>null)},NewExpression(r){let i=t.findLast(e=>"other"!==e.kind);if(null==i||!Ph.has(i.kind)||!PC(r))return;let a=f3(r);null==a?e.report({messageId:"unexpectedFloatingInstance",node:r}):n.push({id:a,node:r,phase:i.kind,phaseNode:i.node})},"Program:exit"(){for(let{id:t,node:o,phaseNode:s}of n){if(a.some(n=>f2(e,n.observer,t)))continue;let n=r.filter(n=>f2(e,n.observer,t)),l=i.filter(n=>f2(e,n.observer,t)),c=e=>e?.type===av.AST_NODE_TYPES.CallExpression||PP(e),u=e=>e===s;if(n.some(e=>!u(ua.findParent(e.node,function(e,t){return n=>e(n)||t(n)}(c,u))))){e.report({messageId:"expectedDisconnectInControlFlow",node:o});continue}for(let t of n)l.some(n=>f2(e,n.element,t.element))||e.report({messageId:"expectedDisconnectOrUnobserveInCleanup",node:t.node})}}})},defaultOptions:[]}),PD=Pv({meta:{type:"problem",docs:{description:"Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'."},messages:{expectedClearTimeoutInCleanup:"A 'setTimeout' created in '{{ kind }}' must be cleared with 'clearTimeout' in the cleanup function.",expectedTimeoutId:"A 'setTimeout' must be assigned to a variable for proper cleanup."},schema:[]},name:"no-leaked-timeout",create:function(e){if(!e.sourceCode.text.includes("setTimeout"))return{};let t=[],n=[],r=[];return hr({":function"(e){let n=Py(e)??"other";t.push({kind:n,node:e})},":function:exit"(){t.pop()},CallExpression(i){let a=t.findLast(e=>"other"!==e.kind);if(Ph.has(a?.kind))switch(function(e){let t=ue.unwrap(e.callee);switch(!0){case t.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("setTimeout","clearTimeout"))(t.name):return t.name;case t.type===av.AST_NODE_TYPES.MemberExpression&&t.property.type===av.AST_NODE_TYPES.Identifier&&oi.isMatching(oi.P.union("setTimeout","clearTimeout"))(t.property.name):return t.property.name;default:return"other"}}(i)){case"setTimeout":{let t=f3(i);if(null==t){e.report({messageId:"expectedTimeoutId",node:i});break}n.push({kind:"timeout",callee:i.callee,node:i,phase:a.kind,timerId:t});break}case"clearTimeout":{let[e]=i.arguments;if(null==e)break;r.push({kind:"timeout",callee:i.callee,node:i,phase:a.kind,timerId:e})}}},"Program:exit"(){for(let t of n)if(!r.some(n=>f2(e,t.timerId,n.timerId)))switch(t.phase){case"setup":case"cleanup":e.report({data:{kind:"useEffect"},messageId:"expectedClearTimeoutInCleanup",node:t.node});continue}}})},defaultOptions:[]}),PN=Object.defineProperty,PF=(e,t)=>{let n={};for(var r in e)PN(n,r,{get:e[r],enumerable:!0});return PN(n,Symbol.toStringTag,{value:"Module"}),n},PI=PF({name:()=>PO,rules:()=>PL,settings:()=>PM});let PO="@eslint-react/x",PL={"@eslint-react/error-boundaries":"error","@eslint-react/exhaustive-deps":"warn","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/no-array-index-key":"warn","@eslint-react/no-children-count":"warn","@eslint-react/no-children-for-each":"warn","@eslint-react/no-children-map":"warn","@eslint-react/no-children-only":"warn","@eslint-react/no-children-to-array":"warn","@eslint-react/no-clone-element":"warn","@eslint-react/no-component-will-mount":"error","@eslint-react/no-component-will-receive-props":"error","@eslint-react/no-component-will-update":"error","@eslint-react/no-context-provider":"warn","@eslint-react/no-create-ref":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/no-forward-ref":"warn","@eslint-react/no-missing-key":"error","@eslint-react/no-nested-component-definitions":"error","@eslint-react/no-nested-lazy-component-declarations":"error","@eslint-react/no-set-state-in-component-did-mount":"warn","@eslint-react/no-set-state-in-component-did-update":"warn","@eslint-react/no-set-state-in-component-will-update":"warn","@eslint-react/no-unnecessary-use-prefix":"warn","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/no-unused-class-component-members":"warn","@eslint-react/no-use-context":"warn","@eslint-react/purity":"warn","@eslint-react/rules-of-hooks":"error","@eslint-react/set-state-in-effect":"warn","@eslint-react/set-state-in-render":"error","@eslint-react/static-components":"error","@eslint-react/unsupported-syntax":"error","@eslint-react/use-memo":"error","@eslint-react/use-state":"warn"},PM={"react-x":cO};var PR=PF({name:()=>Pj,rules:()=>PY,settings:()=>PU});let Pj="@eslint-react/all",PY={"@eslint-react/error-boundaries":"error","@eslint-react/exhaustive-deps":"warn","@eslint-react/globals":"warn","@eslint-react/immutability":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/no-array-index-key":"warn","@eslint-react/no-children-count":"warn","@eslint-react/no-children-for-each":"warn","@eslint-react/no-children-map":"warn","@eslint-react/no-children-only":"warn","@eslint-react/no-children-to-array":"warn","@eslint-react/no-class-component":"warn","@eslint-react/no-clone-element":"warn","@eslint-react/no-component-will-mount":"error","@eslint-react/no-component-will-receive-props":"error","@eslint-react/no-component-will-update":"error","@eslint-react/no-context-provider":"warn","@eslint-react/no-create-ref":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-forward-ref":"warn","@eslint-react/no-missing-component-display-name":"warn","@eslint-react/no-missing-context-display-name":"warn","@eslint-react/no-missing-key":"error","@eslint-react/no-misused-capture-owner-stack":"error","@eslint-react/no-nested-component-definitions":"error","@eslint-react/no-nested-lazy-component-declarations":"error","@eslint-react/no-set-state-in-component-did-mount":"warn","@eslint-react/no-set-state-in-component-did-update":"warn","@eslint-react/no-set-state-in-component-will-update":"warn","@eslint-react/no-unnecessary-use-prefix":"warn","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/no-unstable-context-value":"warn","@eslint-react/no-unstable-default-props":"warn","@eslint-react/no-unused-class-component-members":"warn","@eslint-react/no-use-context":"warn","@eslint-react/purity":"warn","@eslint-react/refs":"error","@eslint-react/rules-of-hooks":"error","@eslint-react/set-state-in-effect":"warn","@eslint-react/set-state-in-render":"error","@eslint-react/static-components":"error","@eslint-react/unsupported-syntax":"error","@eslint-react/use-memo":"error","@eslint-react/use-state":"warn","@eslint-react/jsx-no-children-prop":"warn","@eslint-react/jsx-no-children-prop-with-children":"error","@eslint-react/jsx-no-comment-textnodes":"warn","@eslint-react/jsx-no-key-after-spread":"error","@eslint-react/jsx-no-leaked-dollar":"warn","@eslint-react/jsx-no-leaked-semicolon":"warn","@eslint-react/jsx-no-namespace":"error","@eslint-react/jsx-no-useless-fragment":"warn","@eslint-react/rsc-function-definition":"error","@eslint-react/dom-no-dangerously-set-innerhtml":"warn","@eslint-react/dom-no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom-no-find-dom-node":"error","@eslint-react/dom-no-flush-sync":"error","@eslint-react/dom-no-hydrate":"error","@eslint-react/dom-no-missing-button-type":"warn","@eslint-react/dom-no-missing-iframe-sandbox":"warn","@eslint-react/dom-no-render":"error","@eslint-react/dom-no-render-return-value":"error","@eslint-react/dom-no-script-url":"warn","@eslint-react/dom-no-string-style-prop":"error","@eslint-react/dom-no-unknown-property":"warn","@eslint-react/dom-no-unsafe-iframe-sandbox":"warn","@eslint-react/dom-no-unsafe-target-blank":"warn","@eslint-react/dom-no-use-form-state":"warn","@eslint-react/dom-no-void-elements-with-children":"error","@eslint-react/web-api-no-leaked-event-listener":"warn","@eslint-react/web-api-no-leaked-fetch":"warn","@eslint-react/web-api-no-leaked-interval":"warn","@eslint-react/web-api-no-leaked-resize-observer":"warn","@eslint-react/web-api-no-leaked-timeout":"warn","@eslint-react/naming-convention-context-name":"warn","@eslint-react/naming-convention-id-name":"warn","@eslint-react/naming-convention-ref-name":"warn"},PU={...PM};var PB=PF({name:()=>PV,rules:()=>PJ});let PV="@eslint-react/disable-conflict-eslint-plugin-react",PJ=kk["disable-conflict-eslint-plugin-react"].rules??{};var Pz=PF({name:()=>Pq,rules:()=>P$});let Pq="@eslint-react/disable-conflict-eslint-plugin-react-hooks",P$=kk["disable-conflict-eslint-plugin-react-hooks"].rules??{};var PW=PF({name:()=>PK,rules:()=>PG});let PK="@eslint-react/dom",PG={"@eslint-react/dom-no-dangerously-set-innerhtml":"warn","@eslint-react/dom-no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom-no-find-dom-node":"error","@eslint-react/dom-no-flush-sync":"error","@eslint-react/dom-no-hydrate":"error","@eslint-react/dom-no-render":"error","@eslint-react/dom-no-render-return-value":"error","@eslint-react/dom-no-script-url":"warn","@eslint-react/dom-no-unsafe-iframe-sandbox":"warn","@eslint-react/dom-no-use-form-state":"error","@eslint-react/dom-no-void-elements-with-children":"error"};var PH=PF({name:()=>PX,rules:()=>PQ});let PX="@eslint-react/disable-dom",PQ=Object.fromEntries(Object.entries(PG).map(([e])=>[e,"off"]));var PZ=PF({name:()=>P0,rules:()=>P1});let P0="@eslint-react/disable-experimental",P1={"@eslint-react/globals":"off","@eslint-react/immutability":"off","@eslint-react/no-duplicate-key":"off","@eslint-react/no-implicit-children":"off","@eslint-react/no-implicit-key":"off","@eslint-react/no-implicit-ref":"off","@eslint-react/no-misused-capture-owner-stack":"off","@eslint-react/no-unused-props":"off","@eslint-react/refs":"off","@eslint-react/set-state-in-render":"off","@eslint-react/static-components":"off","@eslint-react/rsc-function-definition":"off","@eslint-react/web-api-no-leaked-fetch":"off"};var P2=PF({name:()=>P3,rules:()=>P6});let P3="@eslint-react/jsx",P6={"@eslint-react/jsx-no-children-prop":"warn","@eslint-react/jsx-no-children-prop-with-children":"error","@eslint-react/jsx-no-comment-textnodes":"warn","@eslint-react/jsx-no-key-after-spread":"error","@eslint-react/jsx-no-leaked-dollar":"warn","@eslint-react/jsx-no-leaked-semicolon":"warn","@eslint-react/jsx-no-namespace":"error"};var P4=PF({name:()=>P8,rules:()=>P5});let P8="@eslint-react/disable-jsx",P5=Object.fromEntries(Object.entries(P6).map(([e])=>[e,"off"]));var P7=PF({name:()=>P9,rules:()=>Ce});let P9="@eslint-react/naming-convention",Ce={"@eslint-react/naming-convention-context-name":"warn","@eslint-react/naming-convention-id-name":"warn","@eslint-react/naming-convention-ref-name":"warn"};var Ct=PF({name:()=>Cn,rules:()=>Cr});let Cn="@eslint-react/disable-naming-convention",Cr=Object.fromEntries(Object.entries(Ce).map(([e])=>[e,"off"]));var Ci=PF({name:()=>Ca,rules:()=>Co});let Ca="@eslint-react/rsc",Co={"@eslint-react/rsc-function-definition":"error"};var Cs=PF({name:()=>Cl,rules:()=>Cc});let Cl="@eslint-react/disable-rsc",Cc=Object.fromEntries(Object.entries(Co).map(([e])=>[e,"off"]));var Cu=PF({name:()=>C_,rules:()=>Cd});let C_="@eslint-react/disable-type-checked",Cd={"@eslint-react/no-implicit-children":"off","@eslint-react/no-implicit-key":"off","@eslint-react/no-implicit-ref":"off","@eslint-react/no-leaked-conditional-rendering":"off","@eslint-react/no-unused-props":"off"};var Cp=PF({name:()=>Cf,rules:()=>Cm,settings:()=>Cg});let Cf="@eslint-react/web-api",Cm={"@eslint-react/web-api-no-leaked-event-listener":"warn","@eslint-react/web-api-no-leaked-fetch":"warn","@eslint-react/web-api-no-leaked-interval":"warn","@eslint-react/web-api-no-leaked-resize-observer":"warn","@eslint-react/web-api-no-leaked-timeout":"warn"},Cg={...PM};var Ch=PF({name:()=>Cy,rules:()=>Cv});let Cy="@eslint-react/disable-web-api",Cv=Object.fromEntries(Object.entries(Cm).map(([e])=>[e,"off"]));var Cb=PF({name:()=>Cx,rules:()=>CT});let Cx="@eslint-react/off",CT={...Object.fromEntries(Object.entries(PY).map(([e])=>[e,"off"])),...Cd};var CS=PF({name:()=>CE,rules:()=>Ck,settings:()=>CP});let CE="@eslint-react/recommended",Ck={...PL,...P6,...Co,...PG,...Cm,...Ce},CP={...PM};var CC=PF({name:()=>Cw,rules:()=>CA,settings:()=>CD});let Cw="@eslint-react/recommended-typescript",CA={...Ck},CD={...CP};var CN=PF({name:()=>CF,rules:()=>CI,settings:()=>CO});let CF="@eslint-react/recommended-type-checked",CI={...CA,"@eslint-react/no-leaked-conditional-rendering":"error"},CO={...CD};var CL=PF({name:()=>CM,rules:()=>CR,settings:()=>Cj});let CM="@eslint-react/strict",CR={...Ck,"@eslint-react/no-class-component":"error","@eslint-react/no-misused-capture-owner-stack":"error","@eslint-react/no-unstable-context-value":"warn","@eslint-react/no-unstable-default-props":"warn","@eslint-react/jsx-no-children-prop":"error","@eslint-react/jsx-no-useless-fragment":"warn","@eslint-react/dom-no-missing-button-type":"warn","@eslint-react/dom-no-missing-iframe-sandbox":"warn","@eslint-react/dom-no-unsafe-target-blank":"warn"},Cj={...CP};var CY=PF({name:()=>CU,rules:()=>CB,settings:()=>CV});let CU="@eslint-react/strict-typescript",CB={...CR},CV={...Cj};var CJ=PF({name:()=>Cz,rules:()=>Cq,settings:()=>C$});let Cz="@eslint-react/strict-type-checked",Cq={...CB,"@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unused-props":"warn"},C$={...CV};function CW(e,t){if("object"!==Object.prototype.toString.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase())return e;let n={};for(let r in e){let i;n[i=r,`${t}${i}`]=e[r]}return n}let CK={meta:{name:"@eslint-react/eslint-plugin",version:"5.6.2"},rules:{...kE,...CW(kE,"x-"),...CW({"no-children-prop":Pi,"no-children-prop-with-children":Pr,"no-comment-textnodes":Pa,"no-key-after-spread":Po,"no-leaked-dollar":Ps,"no-leaked-semicolon":Pl,"no-namespace":Pc,"no-useless-fragment":P_},"jsx-"),...CW({"function-definition":Pg},"rsc-"),...CW({"no-dangerously-set-innerhtml":kD,"no-dangerously-set-innerhtml-with-children":kC,"no-find-dom-node":kN,"no-flush-sync":kI,"no-hydrate":kL,"no-missing-button-type":kY,"no-missing-iframe-sandbox":kU,"no-render":kz,"no-render-return-value":kJ,"no-script-url":kq,"no-string-style-prop":k$,"no-unknown-property":k4,"no-unsafe-iframe-sandbox":k5,"no-unsafe-target-blank":k7,"no-use-form-state":k9,"no-void-elements-with-children":Pt},"dom-"),...CW({"no-leaked-event-listener":PS,"no-leaked-fetch":PE,"no-leaked-interval":Pk,"no-leaked-resize-observer":PA,"no-leaked-timeout":PD},"web-api-"),...CW({"context-name":Pp,"id-name":Pf,"ref-name":Pm},"naming-convention-")}};function CG(e){return{...e,plugins:{...e.plugins,"@eslint-react":CK}}}let CH={...CK,configs:{all:CG(PR),"disable-conflict-eslint-plugin-react":CG(PB),"disable-conflict-eslint-plugin-react-hooks":CG(Pz),"disable-dom":CG(PH),"disable-experimental":CG(PZ),"disable-jsx":CG(P4),"disable-naming-convention":CG(Ct),"disable-rsc":CG(Cs),"disable-type-checked":CG(Cu),"disable-web-api":CG(Ch),dom:CG(PW),jsx:CG(P2),"naming-convention":CG(P7),off:CG(Cb),recommended:CG(CS),"recommended-type-checked":CG(CN),"recommended-typescript":CG(CC),rsc:CG(Ci),strict:CG(CL),"strict-type-checked":CG(CJ),"strict-typescript":CG(CY),"web-api":CG(Cp),x:CG(PI)}};var CX="@eslint-react/kit";ay.ESLintUtils.RuleCreator(function(e){return`https://eslint-react.xyz/docs/rules/${e}`});let CQ=(t={},n={getConfig:()=>({name:CX,files:["**/*.{js,jsx,cjs,mjs,ts,tsx,cts,mts}"],plugins:{[CX]:n.getPlugin()},rules:Object.keys(t).reduce((e,t)=>(e[`${CX}/${t}`]="error",e),{})}),getPlugin:()=>({meta:{name:CX,version:"5.6.2"},rules:t}),use:(e,...r)=>(Reflect.set(t,""===e.name?ax.randomBytes(8).toString("hex"):cY(cz(cU(e.name),"-")),{meta:{fixable:"code",hasSuggestions:!0},create:t=>e(...r)(t,{ast:{findParent:ua.findParent,unwrap:ue.unwrap},collect:{components(e,t){let{api:n,visitor:r}=g$(e,t);return{query:{all:e=>n.getAllComponents(e)},visitor:r}},hooks(e){let{api:t,visitor:n}=gW(e);return{query:{all:e=>t.getAllHooks(e)},visitor:n}}},flag:{component:gD},hint:{component:{...gM,Default:gR}},is:{API:e=>mI(e)(t),APICall:e=>mO(e)(t),APIFromReact:mL,APIFromReactNative:mM,captureOwnerStackCall:mV(t),childrenCountCall:mJ(t),childrenForEachCall:mz(t),childrenMapCall:mq(t),childrenOnlyCall:m$(t),childrenToArrayCall:mW(t),cloneElementCall:mK(t),componentDecl:(e,n)=>gj(t,e,n),componentName:gI,componentNameLoose:gO,componentWrapperCall:e=>gN(t,e),componentWrapperCallback:e=>(function(e,t){if(!c$.isFunction(t))return!1;let n=t.parent;for(;c$.isTypeExpression(n);)n=n.parent;return n.type===av.AST_NODE_TYPES.CallExpression&&gN(e,n)})(t,e),createContextCall:mG(t),createElementCall:mH(t),createRefCall:mX(t),forwardRefCall:mQ(t),hookCall:gB,hookDecl:gU,hookName:gY,lazyCall:m0(t),memoCall:mZ(t),useActionStateCall:m2(t),useCall:m1(t),useCallbackCall:m3(t),useContextCall:m6(t),useDebugValueCall:m4(t),useDeferredValueCall:m8(t),useEffectCall:m5(t),useEffectCleanupCallback:gq,useEffectLikeCall:gV,useEffectSetupCallback:gz,useFormStatusCall:m7(t),useIdCall:m9(t),useImperativeHandleCall:ge(t),useInsertionEffectCall:gt(t),useLayoutEffectCall:gn(t),useMemoCall:gr(t),useOptimisticCall:gi(t),useReducerCall:ga(t),useRefCall:go(t),useStateCall:gs(t),useStateLikeCall:gJ,useSyncExternalStoreCall:gl(t),useTransitionCall:gc(t)},settings:cM(t)})}),n)}).use(function(){return(e,{is:t,settings:n})=>{let r=new Map,i=[];return{CallExpression(a){if(t.useStateLikeCall(a,n.additionalStateHooks)){let{parent:t}=a;if(t.type===av.AST_NODE_TYPES.VariableDeclarator&&t.id.type===av.AST_NODE_TYPES.ArrayPattern){let[n,i]=t.id.elements;if(n?.type===av.AST_NODE_TYPES.Identifier&&i?.type===av.AST_NODE_TYPES.Identifier){let t=e.sourceCode.getScope(a),o=ab.findVariable(t,n.name),s=ab.findVariable(t,i.name);null!=o&&null!=s&&r.set(s,o)}}return}if(a.callee.type!==av.AST_NODE_TYPES.Identifier)return;let o=e.sourceCode.getScope(a),s=ab.findVariable(o,a.callee.name);null!=s&&i.push({callerVar:s,node:a})},"Program:exit":function(){for(let{callerVar:t,node:n}of i){if(!r.has(t))continue;let i=r.get(t),a=n.arguments[0];if(null==a||function({type:e}){return e===av.AST_NODE_TYPES.FunctionDeclaration||e===av.AST_NODE_TYPES.FunctionExpression||e===av.AST_NODE_TYPES.ArrowFunctionExpression}(a))continue;let[o,s]=a.range;i.references.some(e=>o<=e.identifier.range[0]&&e.identifier.range[1]<=s)&&e.report({node:n,message:`Do not reference '${e.sourceCode.getText(n.callee)}' directly; use the updater function form instead.`})}}}}}).use(function(){return(e,{is:t,settings:n})=>{let{additionalStateHooks:r,additionalEffectHooks:i}=n,a=new Map,o=[];return{CallExpression(n){if(t.useStateLikeCall(n,r)){let{parent:t}=n;if(t.type===av.AST_NODE_TYPES.VariableDeclarator&&t.id.type===av.AST_NODE_TYPES.ArrayPattern){let[r,i]=t.id.elements;if(r?.type===av.AST_NODE_TYPES.Identifier&&i?.type===av.AST_NODE_TYPES.Identifier){let t=e.sourceCode.getScope(n),o=ab.findVariable(t,r.name),s=ab.findVariable(t,i.name);null!=o&&null!=s&&a.set(s,o)}}return}t.useEffectLikeCall(n,i)&&o.push(n)},"Program:exit":function(){let t=new Set(a.values()),n=[];for(let r of o){let i=r.arguments[0],o=r.arguments[1];if(null==i||null==o)continue;let s=[];if(o.type===av.AST_NODE_TYPES.ArrayExpression){for(let n of o.elements)if(n?.type===av.AST_NODE_TYPES.Identifier){let r=e.sourceCode.getScope(n),i=ab.findVariable(r,n.name);null!=i&&t.has(i)&&s.push(i)}}if(0===s.length)continue;let l=[],[c,u]=i.range;for(let[e,t]of a)for(let n of e.references){let[e,r]=n.identifier.range;if(e<c||r>u)continue;let{parent:i}=n.identifier;if(i?.type===av.AST_NODE_TYPES.CallExpression&&i.callee===n.identifier){l.push(t);break}}0!==l.length&&n.push({deps:s,targets:l,node:r})}let r=new Map;for(let{deps:e,targets:t}of n)for(let n of e)for(let e of t)r.has(n)||r.set(n,new Set),r.get(n).add(e);let i=new Set,s=new Set,l=new Set;for(let e of r.keys())!function e(t){if(s.has(t))return!0;if(i.has(t))return!1;i.add(t),s.add(t);let n=!1;for(let i of r.get(t)??[])if(e(i)){l.add(t),l.add(i),n=!0;break}return s.delete(t),n}(e);if(0!==l.size)for(let{deps:t,targets:r,node:i}of n){let n=t.filter(e=>l.has(e)),a=r.filter(e=>l.has(e));if(0===n.length||0===a.length)continue;let o=n.map(e=>e.name).join(", "),s=a.map(e=>e.name).join(", ");e.report({node:i,message:`Circular effect detected: this effect depends on [${o}] and updates [${s}], creating an infinite update loop.`})}}}}}).getConfig(),CZ=ap.memo(CH,"@eslint-react/eslint-plugin"),C0=ap.memo(aR.fixupPluginRules(aM),"eslint-plugin-ssr-friendly");async function C1({opt:e={}}={}){let t=(await import("@stylexjs/eslint-plugin")).default;return[{plugins:{"@stylexjs":ap.asPlugin(t)},files:[ap.constants.GLOB_TS,ap.constants.GLOB_TSX,ap.constants.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",e],"@stylexjs/valid-shorthands":["error",e],"@stylexjs/sort-keys":"off"}}]}exports.next=function(){return[{...af.configs["core-web-vitals"],files:[ap.constants.GLOB_TS,ap.constants.GLOB_TSX,ap.constants.GLOB_JSX],rules:{...af.configs["core-web-vitals"].rules,"@next/next/no-img-element":"off","@next/next/no-html-link-for-pages":"off"}}]},exports.react=function({files:e=[ap.constants.GLOB_TS,ap.constants.GLOB_TSX,ap.constants.GLOB_JSX],additionalHooks:t="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample|useAbortableEffect)",nextjs:n=!1,remix:r=!1,reactRefresh:i={},additionalHooksWithType:a={useLayoutEffect:["useIsomorphicLayoutEffect"],useEffect:["useAbortableEffect"]},additionalComponents:o=[{name:"Link",as:"a",attributes:[{name:"to",as:"href"},{name:"rel",as:"rel"}]}]}={}){let{allowConstantExport:s}=i;e="function"==typeof e?e([ap.constants.GLOB_TS,ap.constants.GLOB_TSX,ap.constants.GLOB_JSX]):aY.castArray(e);let l=[ap.UNSAFE_excludeJsonYamlFiles({name:"@eslint-sukka/react base",files:e,plugins:{"react-prefer-function-component":ap.memo(on,"eslint-plugin-react-prefer-function-component"),...ap.collectPlugins([CZ.configs["strict-type-checked"],CZ.configs.rsc]),"ssr-friendly":C0},settings:{"react-x":{version:"detect",additionalHooks:a,additionalComponents:o}},languageOptions:{globals:ap.globals.browser},rules:{...CZ.configs["strict-type-checked"].rules,...CZ.configs.rsc.rules,"@eslint-react/jsx-no-comment-textnodes":"error","@eslint-react/dom-no-unsafe-target-blank":"error","@eslint-react/jsx-no-children-prop":"error","@eslint-react/dom-no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom-no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom-no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom-no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","react-prefer-function-component/react-prefer-function-component":"error","@eslint-react/dom-no-void-elements-with-children":"error","@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/jsx-no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-component-definitions":"error","@eslint-react/dom-no-missing-iframe-sandbox":"warn","@eslint-react/dom-no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom-no-missing-button-type":"error","@eslint-react/jsx-no-namespace":"error","@eslint-react/no-unnecessary-use-prefix":"error","@eslint-react/use-state":"error","@eslint-react/jsx-no-leaked-semicolon":"warn","@eslint-react/jsx-no-leaked-dollar":"warn","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"],ignoreClassesThatImplementAnInterface:"public-fields"}]}}),ap.withFiles(ap.UNSAFE_excludeJsonYamlFiles({...am.configs.flat["recommended-latest"],rules:{...am.configs.flat["recommended-latest"].rules,"react-hooks/exhaustive-deps":["error",{additionalHooks:t}]}}),e),ap.withFiles(ap.UNSAFE_excludeJsonYamlFiles(aj.eslint_plugin_jsx_a11y_minimal.configs.minimal),e),ap.withFiles(ap.UNSAFE_excludeJsonYamlFiles(aL.configs.recommended_react),e),Object.assign(ap.withFiles(ap.UNSAFE_excludeJsonYamlFiles(CQ),e),{name:"@eslint-sukka/react kit"})];return n?l.push(ap.withFiles(a4.next({allowConstantExport:s}),n)):r?l.push(ap.withFiles(a4.vite({allowExportNames:["meta","links","headers","loader","action"],allowConstantExport:s}),r)):l.push(a4.recommended({allowConstantExport:s})),l},exports.stylex=C1;
|