Skip to content

chore: replace recast with range approach in code-sample-minimizer - #20682

Merged
mdjermanovic merged 5 commits into
mainfrom
copilot/bug-fix-eslint-fuzzer-error
May 7, 2026
Merged

mdjermanovic merged 5 commits into
mainfrom
copilot/bug-fix-eslint-fuzzer-error

Conversation

Copilot AI commented Mar 26, 2026 •

Copy link
Copy Markdown
Contributor

npm run test:fuzz crashes with an unhandled exception when the fuzzer encounters code containing ES2022+ class fields (PropertyDefinition nodes) — ast-types (used internally by recast) doesn't recognize these node types and throws both during comment attachment and when printing modified nodes.

Error: did not recognize object of type "PropertyDefinition"
    at Object.getFieldNames (node_modules/ast-types/lib/types.js:669:19)
    at getSortedChildNodes (node_modules/recast/lib/comments.js:53:23)
    ...

Changes

  • tools/code-sample-minimizer.js: Replace recast (and the subsequently introduced astring) with a source-range-based approach that requires no external code generator. Modifications are tracked as { start, end, replacement } objects and applied to the original source text via a buildSource() helper. After pruning, the source is re-parsed so that extractRelevantChild can use source.slice(node.range[0], node.range[1]) to extract node text — a plain string slice that works for every node type and ECMAScript version without crashing.

  • package.json: Remove astring devDependency (no longer needed).

  • tests/tools/code-sample-minimizer.js: Add a regression test for ES2022+ class fields with comments (the previously crashing case) to verify that minimization works correctly with modern syntax.


⌨️ Start Copilot coding agent tasks without leaving your editor — available in VS Code, Visual Studio, JetBrains IDEs and Eclipse.

@netlify

netlify Bot commented Mar 26, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for docs-eslint ready!

Name Link
🔨 Latest commit 43df96f
🔍 Latest deploy log https://app.netlify.com/projects/docs-eslint/deploys/69fc41814dc30900089d0aa9
😎 Deploy Preview https://deploy-preview-20682--docs-eslint.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@eslint-github-bot

Copy link
Copy Markdown

Hi @Copilot!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The commit message tag wasn't recognized. Did you mean "docs", "fix", or "feat"?
  • There should be a space following the initial tag and colon, for example 'feat: Message'.
  • The first letter of the tag should be in lowercase

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

@eslint-github-bot

Copy link
Copy Markdown

Hi @Copilot!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The commit message tag wasn't recognized. Did you mean "docs", "fix", or "feat"?
  • There should be a space following the initial tag and colon, for example 'feat: Message'.
  • The first letter of the tag should be in lowercase

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

@eslint-github-bot

Copy link
Copy Markdown

Hi @Copilot!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The commit message tag wasn't recognized. Did you mean "docs", "fix", or "feat"?
  • There should be a space following the initial tag and colon, for example 'feat: Message'.
  • The first letter of the tag should be in lowercase

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

1 similar comment
@eslint-github-bot

Copy link
Copy Markdown

Hi @Copilot!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The commit message tag wasn't recognized. Did you mean "docs", "fix", or "feat"?
  • There should be a space following the initial tag and colon, for example 'feat: Message'.
  • The first letter of the tag should be in lowercase

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

Copilot AI changed the title [WIP] Fix eslint-fuzzer error for property definition recognition fix: handle recast parse failure in code-sample-minimizer for ES2022+ syntax Mar 26, 2026
@eslint-github-bot

Copy link
Copy Markdown

Hi @Copilot!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The length of the commit message must be less than or equal to 72

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

Copilot AI requested a review from nzakas March 26, 2026 21:15
Comment thread tools/code-sample-minimizer.js Outdated
Comment on lines +97 to +103
try {
parseResult = recast.parse(sourceText, { parser });
} catch {
// recast doesn't support all ESTree node types (e.g., PropertyDefinition from ES2022).
// If recast fails to parse the source text, return the original source text without minimizing.
return sourceText;
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fallback to using non-minimized source code in error reports when minimizing fails has already been implemented in #20252.

What we could consider is whether it is possible to make recast work with newer syntax or to replace recast with something else.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot see @mdjermanovic's comment above. Can we use something that supports newer syntax to achieve the same result?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replaced recast with astring (a modern ESTree code generator that supports all ECMAScript syntax including ES2022+ nodes like PropertyDefinition). The parsing now uses parser.parse() directly (espree), and code generation uses astring.generate() instead of recast.print().code. Fixed in d4aaac5.

@eslint-github-bot

Copy link
Copy Markdown

Hi @Copilot!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The length of the commit message must be less than or equal to 72

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

1 similar comment
@eslint-github-bot

Copy link
Copy Markdown

Hi @Copilot!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The length of the commit message must be less than or equal to 72

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

Copilot AI changed the title fix: handle recast parse failure in code-sample-minimizer for ES2022+ syntax fix: replace recast with astring in code-sample-minimizer to support ES2022+ syntax Mar 27, 2026
@eslint-github-bot

Copy link
Copy Markdown

Hi @Copilot!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The length of the commit message must be less than or equal to 72

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

@mdjermanovic mdjermanovic changed the title fix: replace recast with astring in code-sample-minimizer to support ES2022+ syntax chore: replace recast with astring in code-sample-minimizer Mar 28, 2026
@eslint-github-bot eslint-github-bot Bot added the chore This change is not user-facing label Mar 28, 2026
@mdjermanovic mdjermanovic moved this from Needs Triage to Implementing in Triage Mar 28, 2026
Comment thread tests/tools/code-sample-minimizer.js Outdated
Comment on lines +69 to +70
// Previously, recast would crash with "did not recognize object of type PropertyDefinition"
// when trying to attach comments to PropertyDefinition nodes (ES2022 class fields).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Previously, recast would crash with "did not recognize object of type PropertyDefinition"
// when trying to attach comments to PropertyDefinition nodes (ES2022 class fields).
/*
* Previously, recast would crash with "did not recognize object of type PropertyDefinition"
* when trying to attach comments to PropertyDefinition nodes (ES2022 class fields).
*/

To fix lint error.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in c30dfa2. Replaced astring entirely with a source-range-based approach — no code generator needed. pruneIrrelevantSubtrees now tracks modifications as {start, end, replacement} objects applied to the original source text via buildSource(). After pruning, the source is re-parsed and extractRelevantChild uses source.slice(node.range[0], node.range[1]) instead of generate(). This fixes all 32+ crash-causing node types (SwitchCase, CatchClause, ImportSpecifier, etc.) and works for all ECMAScript versions without any external package.

@mdjermanovic

Copy link
Copy Markdown
Member

Now there are some new cases where the minimizer crashes. I updated the eqeqeq rule to throw an error for testing purposes, ran the fuzzer and filtered the output by those cases (they have "sampleMinimizerError" property set to error.stack of the error thrown by the minimizer):

Minimizer errors
{
  "results": [
    {
      "type": "crash",
      "text": "\"\";\n/*\r\nisgf\r mbmiqsn\r k*/\"use strict\"\r// m\fiuuy  k \r\n\"use strict\";\n//j  o ar\facx d\n;//v i gugdk  ygh\r\n\ndebugger\r/* */\nthrow /*  e  ugkuqe y    bl */(`Ö${((2e308))//z akxl  zaqff \r\n >/*h\rjid   z dm  e  o */ [(++null.n),//   \r//    pco l \tt   fy\r ,//lp i h\r\n/**/ ,/*  a  */ //  tv p\r, /*r  d cd*///\r\n]/*\f\u000b f \tae dkdxsp\r\n   *//*  q*///u  s\fvis\r ^//\u000b \u000b \t\fihn  \r\n/**/ (typeof/* o\t\r\ro zg*//*kqqb \u000bjq xe  *//*\u000bvotm  q*/ class {}/*jj   l  knm\r vsj u *//*tdu\r\n\f\n   rfk   y*/ //\tkt\u000byl \u000bc \r\n?/*eye qyi  rkdnox \r */ 2e308/*r d */ // yt \r:\r\n/*euk   i  qiel\u000bn*//*f b xa*///j  ffs  rotskzpi \r(++f))}\u0012*(ðU${async \r\n/*uoz  qk\tdzv */\r\n =/* chd t\fepbl*/ /* n lvnc  */(async /* c t v\rer t v j f*///m  syhk\r\n= /* \r\nke oo*/((v,// \u000bpy xjya   \r //z\nb,\r\n//\t en  \r\r\n\r\ns)/*  */ /*umgetn s   *//*ig\t*/=>/*r*/ {/**///v \n\n/**/  // \try um\r\n\"\";\n// t  \r\n  \"ZD\u0019L\f\"\r//hxub gq\r\n/*  *//* yc \t\nf */ \r\r//   y  ckn\r\"use strict\"\r//\r/* fjf h \rlg f *//*bg\n sd zv*/  \"use strict\"\r\n/*\t\ra*/\n/* pd nmgnn i p\tx\fs *//* \u000btyup \nf basd\r  */ // \fm g s n a z \n\r\n//i\t gmje    h\u000bi \u000b \r \"use strict\"; //\u000bgy\fgv pr v yk i \r\n }) /* s  c*//*guldbai  mgx p*//*  nyc dyu  \u000bt goed*/?//dm\u000bc g  dbd efncm\r // \r 2e308\n\n /* u c   o zy \r\n\r\n\rz*/?//x\f d   \r 154944405557940//m b\n ://t  eub\f k\n\r\n\r\n//s\f ese\r2e308//d fagvah\f  u  j\n ://y h  o\u000bfak ll  \r\n/* gd\r\no xoh*/ (/[^]{47830}(?!){93393,99265}?(?:)/gsy))}\u0016\u0015${/(?=[]|$<|)\\xec/guy}`);//b\f\f  kg   tpev  \r\n\n//dfq \r\n//a\u000bf hb kdmlxx t h\n",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "module"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:13\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.ThrowStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:409:29)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:112:8)\n    at reduceBadExampleSize (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:214:2)\n    at fuzz (C:\\projects\\eslint\\tools\\eslint-fuzzer.js:210:17)\n    at run (C:\\projects\\eslint\\tools\\fuzzer-runner.js:62:27)"
    },
    {
      "type": "crash",
      "text": "\"¯�åu\"; \r\n\r\n// or  m x a\r\n\r\n\r\n//yx gr\n\"use strict\";\r\n\n\"use strict\";\n\n\"\"\r \"\";/**/\r\rfor\r(null;/*  zgymit \r\ng \n */ class pykqvecmeq\r\r\n{  get \r[null]()/*b \tgg \n\n */ {\r\r  \n\n\"Ð6³\"; \r/*   fhx  */ //n\u000b bv\u000b b\u000b\u000bqp\tjd v \r\n//bc\u000bm\r// my    v ca ehdsp\n \n try\n{}/*b \u000b\rm*/\r\n//f urj i  \n\r\nfinally\r\n {}/*  v  \rzp\t\nbz*//*\ngu\r rf  \u000bg  e*//*\r\n b  */\n\n//  bm afe om \n//\u000b\u000beoo \r\n}\r\n//hy\fr  c\u000b    u sg \n static async ei(g//od  ubt \r\n =\r\r2e308, async //    \t ubj jqd yc\n= 0x15E96E3953639E)\t\r\n{\n\r\r\r\n   \"çL¥�½\";\r\n\r\n\n\n// q   gqzbs ot r  \n \n//  x t\fc j ak ta k \n//u t  r   \r\"ÝU\"\n //npzgq l\r\n\n/*kcas*//*q c el x*/\n\r\n\n //h e c \r\n \u000bfor (;;)\r//o p \r//  m   g\t   qb\nbreak;  \u000b   \n\n{} \r\n  \u000bfor \f(;;)\r\n\r\nreturn;\r\n\r\n\r\n\r\n    switch (async) {\n//trqu\r\n\n/*im i*/\r//\r\r\r// ia n beokgem lf\r\r\rdefault: \r\n /*  */ //ef   f c z\tzs\r\n\n/*j\rj \u000b k*/} \r\n\r\n } };) ((class/*lh\r\njv*/ hsgwssxbo/*kppuq xu \t\rc\r*/ {\r\r static\r\n\r\n\"\"()\r\n\r\n{/* */ /*he sgt a*/ //  c\u000bxnymcji ib\t   \n\r\n\r\n //zpg \fg\n \"ï\";\r\n \n\n/*mm n vqmbnuk\u000bp\r n*/}/* */ /*\t dt gili*/\n\nstatic\r\n\r\nget\f//sftc\tyq\u000by jits\r\n[`�\b`]()\r\n {\n/*\td\r\n*/ \r\r\n\n// zvkxo  o   v  c\r\n/*k*/\"Tù\u0013F\"\r\n\r\r\r //  llndm k j    e \r//l\r\n /* s\r\n \fs  mfv\f */\"\\\r¯ÛÓG\";    for /*\ri\nr u\f  \tpy ib v*/(let\rx/*\r vur  \thzx yp*/\rof null)\n\n return;\u000b\r\r\r\n\n//x    auoe hsd\r\r//\t\fo uvtyrz\r\nfor (;;)// \f     zc dbqr\r\r// k  zumhtoixa ba l\ncontinue\r\n\t\r\n\r\n\r\n\n\u000b//\r\n{}\r\n\r\n//f\f\r\n /*pp ci  xa*/// d dsj\r\n//lydj y ogc\u000bjp \n//jvcjk c  qt uoxs\rfunction\n\nw()/*jq  o bbsx  gpvq  */  {/*   \rxv*/\n\n \f\r\n\r\n  //pc riepv s\n  \"�ÅÛú�\";\n//aq  \u000b x fd zp r\r\n\n\f /*l\ry\u000bu  r \u000bpj\r\tab*///b   s \fpy\t\r\n  \"use strict\";\n\r\n //hls ab\r\n  //xq\u000b rn joq\n \"ô�t\"\r\n\r/*p   c d  y   */\r\r\n\n\n\n \"QEÐ\"; \r\r /*f y */\n \n //npshgaq\frj\fhnn\n \"ùêÎ\"; \r\n /* aj  tm */ }\f//ar h  su\r\n // pmozc sv\r\n \n\n //     k cp\n//o     x  \t\r\nwhile\r\r\r\n (this) continue\r\n\r\n\r\n /*gttq \ti v\tv m*///  \n\f /*  x  pg v*/}\n\n \r set// \u000bqgtxlbcdbg st  c\r\n\n\n// ih\r\n[async\r/*i\r\ny\r\nm h  cv n*/=/*l\n\r\n ymz\torl ipn\r \nd*///\u000b \tntabgu lue z \t\r\n(/(?=)??^/sy)]//vkqkb  \t\r// e krat  k jt q \r\n(kg)\r{ /**/\r\r\r\r \"ø\";\n /*\rcm\r\nnis \re  l\fvt*/  /*u \n s ah\n */ \"use strict\";\r\n/**/\r/*vh*/   \"use strict\"\n// \n//rv q h r\r\n//p \r\n //\fsmacslaef\f js e\r\n /*  \r\ni arbuxn\r u  */ /**/\"µ\u001eFd\";\n\r\n\r\n\r\r\n\n\r\r\n\n\r/*r ay\u000b    \u000bx\u000b \th\to*/\r\n\n ;\r\n\r\n\r\n\r\n\r\n// uqp\t\fe  asl   ii z \n\t\r\n\n;\r\r/*\reev*/  \r\ng: //lmhvm zfoh   \r\n/*sgic xq ng\n\fttx\u000b l */while (1059.16) \n\r\ndebugger;\r\n\r\n\r\r\f/* zh h   b\t n e \ni */\n\n/*y m\t c a \nouyky*/\r\n\r\ndo/*f um\to l  q d anv  *//*zpm  e*/\n\f\n/* ye b  ge \r\n */return;\nwhile\r\n(this);// vf v h dfcojg \r\n\r//   c\r\r\n// uvr \n//n\u000brl\fb   nhgv\n\r {} //ktoepd  o\n\n\n// u f \r\n  }\n\n})); \r\n\r\n/*qe  jange ddq \fi */export\n\nfunction*\fasync(async\r\n=\r\n\r\n0)/*ecjyg \u000bxnpxp    */// kkp q mr\u000bd  \r { \n\n\"O\";\r\n\r\n\r\n\r\r\u000b\"_Ì\";\r\r\n//   y   \n// uqde  r i\u000bl in\n\n/*usgojn\r  ta*/\r\r//vrxah  n  vy\n\"XCJ*\";\f// z a zlonm xkyum\r\n// rup xnnfac  a  fo\n\r\n\r\n\"ðnmPü\"; \ftry\r\n/*x\r\n*/\r\n{ \n\n /**/\r\n/* \f fz q\t p\fs\ri \tz\t  *//*nxv\r c  j\r\n c */\r\n\n\n//u \tc rl \r// \fi a t \r\r//jsn\r\nif (/(?!(?=)(?!)7)+?(?:){21364}(?:)(?=(?=)*)/isy)\r\rfor\r\n\r\n/*h  j*/(;;)  /*\ti  \u000b vk*/\u000b;//r\r\r\n//qee\n\r\n\r\n\r\r\n\njldsovmlgrkgord:\tdo\u000b  continue; while\r\n\r\n(((\"\u0014+hG�\")));\f//pj s sav  g\r\r\n\n\r\n \"Äì�h\"\r?\r\"y\"\n\n:\u000b ((u))\n\r\n//dqs \u000bt  y   g yqe s\r/*  nzp \rvylls\r\nph *///j \tdrkxqf\r\n\r\n\r\n\r\n\f\f/*\r\nd*/ }\n catch \u000b([,\n\n\r\r // s  ot\r, ...h]) {}/*   */  finally\r{ /*\fh l*///  q  j  \r/* rq\r\n */  /*y  e z pj\r\np\r\nid\u000b*/\r\n{} \r\n\r\n \r//pd\r\n\r/*p \t\rhuxn*/ //s\fu h   q c  eo \nfor\r/**///   nqfsv \r//  x\f\fd rcke sjx\n(;\r\r!(yield);)\r\n//gih\n\r\n\r\n/*yn\r fi l py*/ for// my  t gr l \r//   v   zpfj\u000biug\n(var y\r\n\r\nin ((this))) break;\r\n/*u   r geij*/ /*  */  \r\r//b\tc  dpqv pru\r\nfor \r\n(false.s\nin //    x\rthis) ((arguments));\n\n\n\r\n do\n/*z\n*///dxe\rthrow  true\r/*mk    mi sq */\rwhile\r\r (\"C\"//ngf \u000bto\u000bn af m ix \r\n/*   b f  \f  \tn u */| 0)\r\n\r\n/*r uon\fe\n\r\n xifhvfjf*/\r\n\n\n//\tvx oc   lgd \r   if/*hdox  */  ((yield)())\n\n//\ffz   dg k  \u000b\n\u000b/*\t   \r\n ogs*/\n//    \nx:\n\n\rdebugger\r\n \n\n\r\nelse eval:\r\n/* n bd  a\tqt v ileu*//*   cr\f*/\n\ndebugger;\r\n/* c   */ /*     \t s \u000bgm *///ccv ptvsu\r}\r\r\n/*d b \r\no\u000b xh ndeb*///zo sucbrql n u t\n\t/*k p  \nb   u \u000bx gu */({[yield]:\n\ntrue, n,\r\r\t\rarguments})\r \n\n/*ke   o s sv  zs*//*khigrv bvke t*/\r\nreturn  this; \n\treturn [(yield* \"r\u0010\")`°ÚÙ�${(((class\r/*  rt\nks u\fzjx n k*/{})))}Ò��\u0000${~this}p\rw\u001e`,\r\n, \t,\r\n\r\n]; }// x p\f     t\frqn s   \n\nimport \r/*e\nykj   ridaazlm n\tx*/qianheqxnbvjdcr//qg  v y\u000b\r\n //nb \u000ba  \fp\r\n// yij dj  g\rfrom\r\n\r\n\r\n/* \r\na\nb oa\ns z  capb */\"�\";\n\n;\r\r",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "module"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:430\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: state.generator[node.type] is not a function\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at extractRelevantChild (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:169:27)\n    at extractRelevantChild (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:164:13)\n    at extractRelevantChild (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:164:13)\n    at extractRelevantChild (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:164:13)\n    at extractRelevantChild (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:164:13)\n    at reduceBadExampleSize (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:215:33)\n    at fuzz (C:\\projects\\eslint\\tools\\eslint-fuzzer.js:210:17)\n    at run (C:\\projects\\eslint\\tools\\fuzzer-runner.js:62:27)\n    at target.fuzz (C:\\projects\\eslint\\Makefile.js:585:22)"
    },
    {
      "type": "crash",
      "text": "switch /*\f \t*/((\"¢yÑ4!\")) /* xsc  fn\r\nml  c jdiy*//*ln\tdzcdus    \r*/{} export  var//  ta vqoattt \r\n fqotlyrgbiygupj, nvisk, //odnsqj  sxzt\r\nasync = (((((\"\")))())[(((g = (null))))] = ({}))\nthrow (((((void !((((true) \r\n\r\n\r\n?/* dn  l v\nq   sahs f\r\n*/ \r\n\r\n/* j   jdjlz jol\u000bbm\n\rj*/(((true)) != (((2e308))))\r\n\r\n/*x  */:/*\t*/ (((this))))))))))`�t¤ï�${(8019.11)}\u001f`)\r\n",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "module"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:15\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.TaggedTemplateExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:795:26)\n    at Object.ThrowStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:409:29)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:112:8)\n    at reduceBadExampleSize (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:214:2)"
    },
    {
      "type": "crash",
      "text": "\"õ´�\"\r\"Þ\"\r \"©ó\"\n \"¹_)\"\nconst p = [y, , protected = e, c \r\n\r\n\n=\n\n\"l\", ...package]\n  = (this)(null(), ...\"µ£à1\", ((null[true])), ...true, ...o),\n\n\r\nrsriaxhp = 4184.88[(false)] |= yield --,\r\n package = (new (.76 ? 2e308 : \n\n\rfalse)(...this,\n\npublic \r!= ((public)), \"6Üì\", (true)[/(?:)??[^-J-V](?:)(?=)+?\\r{57758,70874}|F{25591,43320}(?!)/sy] ^= async)`ß${((((this))).y /= ((this)).n)}â\u0002\u0003${(await, async)   =>\r\n\r\n {\n  \"\"\r\n \r  \"use strict\"\r \"use strict\"\r\n}}?ð${~2944.48()}Éò�${([...\"\", ...\"þù\",\f[]])}Æ${((((((--\"�²��\u001c\"[(((/(?:)/gimsu)))]))))))}�rà`), arguments\n= (/(?=(?:)L+?[]??)(?!)(?!)/msy -\f(\"�'m\u0004\"))[[]\u000b=\r\n\r\n true]\r ",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "script"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:20\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.TaggedTemplateExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:795:26)\n    at Object.VariableDeclarator (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:511:27)\n    at formatVariableDeclaration (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:207:17)\n    at Object.VariableDeclaration (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:503:5)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)"
    },
    {
      "type": "crash",
      "text": "\"use strict\";\n\"use strict\";\nfor //u fh e sjs  \fdxx o\r(rllvmbfeliwu in/*\t xc \r  e\r*//*vsqtpar ev \na\f */\r\n/*\r uu  s\f  y */ (((/\\2*\\b(?=)^[^-]*?()()/gmuy)))`${async function (rxkvcjc, async, rfl, ipenrc) {\n  \"ó\";\n  \"use strict\";\n //  yvs  \t  euy \to v\n/*\u000b\t\tyf n */ //o \r\n\"use strict\"\r\n  \"Ü7ùD\";\n  debugger\r  debugger\r\n}}${(async//\ft e\u000b gz kv\u000b s b cgf\r |= (delete (((u = .94)) - {})))}y/çç&${((0))}\tª5�`) continue;\n",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "module"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:19\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.TaggedTemplateExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:795:26)\n    at Object.ForInStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:487:26)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:112:8)\n    at reduceBadExampleSize (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:214:2)"
    },
    {
      "type": "crash",
      "text": "\"«RÜE\"\r\"Ygë!\"\r\n\"¸ðg\"\r\n;\nclass  await//o \r extends \r\n\r\n\r\n\r\n(((k -= (((this)))))) {}\nfunction* ogdlciouvbxcesqb(nklxlwx =//s x\u000b\r//\n ([, ,//  \tvu ast j tr zn\r , (null)])) {\n//  dp   \n/*\r  g o   h */  \"�©³qG\"\n \"xÖÑ\";\u000b  function* /* d xkbczpbt pha */nabemjbowpmfbok({[4196.72]: implements/*i  qs mnp\r al\f*/ =/*fya*/ // h\r\n((new.target)), eval, c,//v  ysr   \u000b\n/*or\nry */ //c\f \fmp n \tj vxrav \r\n...protected} = (\"µèz\")`C\u0010:${(2736)}RJ�7${((~((((new.target) >>> (((0))))))))}��¡\t${((() =>/* i ta\f i  ix \r\nu    */ /\\S+(?:){18292}?|^|$(?!)Y{79583,83027}?|\\6??()()()()()()/gisuy))}\u0014')`) {\n// p n   b \r//h mv z\t \t  ko u\n/*  fisc \tox yg*/ //zc\u000b   q\r\n //xivlyuv fos\u000b nc\r//h\tf a  lls u\r  \"ñyë9\"\r\n   //lqelm hs q\n //a  i d  \f\r\n\"\u0006C\u0007\"\n//lriztlq\n    \"\";\n\n\n  \"f+ûÝ\";\n//    r   \r  }// yq  \n\r\n}\n// j    qjq\r\nthrow /* o  et hy\fm\u000bq  tll*//*x   vjxns jmiylr\f*/((((async public  /*p  v   mvu*/=>/*rqvvh\ra  *///uu en\u000bj    u   \r /* qu xol \rf   ln  */(`ß${((/(?:)/gmsuy))}ü\f${\"_Hû\" ? ((this)) : ((((2e308)`�=${((\"ª\"))}Ñ�¨Ñ ${((public = (true)))}2K${(interface)}¤GÒ\u0006\u0013${(((`Ùù`)))}âI`)))}Jø¨${\"Ê\"}${(({async [((6654))](v) /*f\t qx znq*/{\n  \"use strict\";\r /* dby m \r\n\r\nfy \ro*/ \"use strict\";\n/*\to\u000bap  raun rml k*/}, w, x, /*u lj a  \ti y*/...(`Pw`),//my\n o}))}�\u001e\u001e${(class /*\u000bzs\fvms\n   zv*/extends /*v y*/((this))\n\n\r\r{//pol\r\n//zo szr\r\n  constructor() //iqfh\f \r\n{}\n\n\r\r/**/set\r\n[2e308]//pd\tv  \u000b  ca j   jk\r\n (j)/*\tnu\n glhl   *//* rirjeezog y    f */ { \r\r\n\r\n\r\n\"use strict\";\n/*   *//*abi tsi\r\n s*/    \"use strict\";//l  cu   o m  p a kt\t\r\n\n  \n\n\r\n// nd bdn\t l l mss \n\r\n \"s\";\n  //j \r\n  \"\"\r\n  //  qp   gs\u000ba cua tb \r\n}/*kex \f nzi   mqf *///ll ke um\r\n/*\t \r\ns ml  e  q j*/  static\r/*\r\n eft*///yzlchhm\t\f mfr \r\r// \ffbj hn  lq\r\r\r\rset //mtuxgxm a mikr\r\n[(null)]/*lv\u000b n h    gcu os*/ /*mm\u000bf m z \f  eh  b  */(await)\r\n{\n/*m x\t sq \f q*/\r\n  //q pxn j  e n\r \"use strict\";\n   //fhe    em\r//\r \"use strict\"\n\r\r\n\r\n  /*v \fe*/ /*\r  \tn */ \"use strict\";\n  }/*lnfjd  h */\n/*m dxk u ju*/ /* b n exxzqbnb  l*/  set /*k \u000b mpgc\rg*/[(0xA8F891B9DF122)] (y/* \r yy*/ = (f))/* \r\naq\fnhr\nk */ /*a\f   tx */{} //x\n/*jyx */  static set\u000b[\"\u0001r\"]\t\r\n/*ymn   \u000bpi\r rf*/(i\t=/*irgpj ts*/ ((null)))  {//im x v\r\n\n //y v r u\u000bc\u000bx lj\n   \"n�6å/\";  \r\n\n/**/\n}\n})}`)))(...null,\t ...(function* /*l */(await)  \r\n\r\n{\n  \"»ug¥ô\";\n//\r\n\n// c   kqvjqb\n//fuv\n //  xz\r \"A\t\";/*  e ub\f xs c k*/ //  \r\n  \"use strict\";\r//bsp \u000bkf  sp\r\n  \"use strict\"\r\n}), (function\r\n\r\n()\n{\n\n//vzh y fc m  jmg\fb\r//e\t si  \f ug\f\n  \"ô}\";\n  switch// af  p m \r (({})) {   \n\n case/* \r\n c*//*pg*///  jsnm uzu  g\n 7.957264424115989e53:\n  /*\r\noe ktyh*/   const/*\r\np\r\n v \fuc m \tk gg*/ \r\n/*\f jk\u000bjrfnnjuml*/ static //dx  \r= (async);\n// mv   h\u000bkm  i fo\u000btf \n/* \u000bq  \u000bxzxpu*/ //   yi \n  //p\f  h\t \r//z n  ns kq r kpq r\r\n  /*\fb   s gk */ /[^][^\\D-\\ww-\\|-]d?/gisy;/*\f*/\n\n//e   y\r\n   for (let n in (null)) debugger;\n    default:\r\n\r //up  r f \f\n  // f gc e\tos cyk rmvg\r /* e  \t \ntsb\t\u000bju zlp */ for// zcj   \u000b tta  \n/*rpyb\t p   y\r gp*/ (var /*\u000bc\fci\r\nek\rqivjaqe*///x    nudjmz\u000b uo\rx in//x tm\u000bx a  \r\n//d    vdf  ks\u000b ob\fz  \r\n 1581) return;\n    case/*d\t g \u000bzx  r\n pn\f \r\n q*/ ({}): /*s\nb*/   //zvsj epb\u000b q  ypol  \r\n  for (;;) debugger\r\n    /*ih b  o i\nq\nz\f*//*j\ft\fve*/ /*t */ return\n  //v \n/*\rk j\fk*/\r\n   eval: return;/* k \u000bs*/\n/**//**/\r//\f fnlkkp \fftryd\t \r   /*p yz\nclkqi n\u000b t*/ /*\f*/switch ((new.target)) {\n//l de\t \n //hhnrpv\feb\n/* bb a htihaf */   \r\n\r\n/* k*/  default:/*y oci sug*/\n//hc  l y\n \r\n\n\n  }//r\n\n//  a g\t\r  //j   tgh     b  e \r\n}\n}),//fiu   \u000bj n \r\n/*\nj \r\nqsfi y  ieab*/ ...({await, ...((delete (((/\\s{3758}[\\*\\55-\\.](?=(?=)Z){56360,}M/g))))), ...((null)), get//ld   a l yb  bsn  \n//zspilkd \t l \u000bz \r\n /*\n v  y  r\rbvvaavi p*/[function* (await, //q  qjn\u000byxz\r\r\nx,\n q, /*  g \u000b  \fpu*/m, async)/*k\r\n  \r\ndko\f   er  l \f */ //\r/* q */{  /*\r\nss  hq ts  qda\r\n*/  \"9'ºY\"\r\n\n\"�.ü\";\n\r\r\r\n\"use strict\"\r \r\n\r\n}]() {\n  with//dcp zmudn\r /*amq k */((null)) return;\n/* i*//*ms\r\n\tr vjn h jxik xk*/\r\n/*  jvg\f oc o\fu*/\r\n{}\n/*c t\f hq  b bv a a*/}, ...(async function ()/* \r\n */ {\n  /*\nyj a l f oxp\nm yyc *//*z v   \r\n \f*/\"å\";\n//k  i\n /*x \u000bsv*/ /* o\thd*/\"Û�\"\r\n \n\u000b\"use strict\"\n /*p\r\n\tmb\f\u000b  z */})}), (7.480596818362908e136)))); \r\n\r\n",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "script"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:23\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.TaggedTemplateExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:795:26)\n    at Object.AssignmentPattern (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1001:26)\n    at formatSequence (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:89:29)\n    at Object.FunctionDeclaration (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:497:5)\n    at Object.BlockStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:267:29)\n    at Object.FunctionDeclaration (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:499:25)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)"
    },
    {
      "type": "crash",
      "text": "try\u000b{} catch \r\n\r\n (public)  \r{\n  // qe  \tfskyy o\tjcb\nwith // ur n   m akec  \r\n(.3279609154288359) throw new\n\n(/^(?:\\|)\\uF364[^-\\[\\x0F-V-]/g)\r\n\r/*p h */\ntry /* qpkv \r m  */{\n// xfm\r\n/*ll\u000bhr s m  s   mi*/\r // xbb f\t balef ps\rlet/*te u v   a a  */\u000binterface\r\n\r\n\r\n  } /*a */catch\n\n/*cb\f et */([])  {}/**/\n //  em x\n/* ykl  ooqavlxf  */ do\nbreak\n/*  ho   */ while\r(/$/imsy)\r\n\r\n\r\n} //jn  p vg\fqame\r\nfinally {\n\n  for (eval of\n\nfalse.bannuermoitock)//jqkx \n//  br  \r\n// f  \r for\n\n(const\r\nv in/*h rl \nfjkt\t\ta*/\r\n\n(((\"\u001d×\"))[0] **= yield) ?//qr lt \fa yltx\f b\r\n {} :\n\n//a \r\n/*c qaec*//*mlj\trh yy  amss*/ /[^\\+-o]{70326,82966}[^-]{7985,81219}?[\\0-U\\0-\\(]\\bV/gms// ux cj  y  \n// y   m\tx\f\n/*\r qxhd c  c a i \f o\u000b*/ >>> null) /*cjgvkubb\r\ni\r cvr*/debugger\r//\u000bxy y btp \u000b \r//d fqjd pz y \u000bg\fm \n// rq\n}\n",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "script"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:48\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: state.generator[node.type] is not a function\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at extractRelevantChild (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:169:27)\n    at extractRelevantChild (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:164:13)\n    at reduceBadExampleSize (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:215:33)\n    at fuzz (C:\\projects\\eslint\\tools\\eslint-fuzzer.js:210:17)\n    at run (C:\\projects\\eslint\\tools\\fuzzer-runner.js:62:27)\n    at target.fuzz (C:\\projects\\eslint\\Makefile.js:585:22)\n    at global.target.<computed> [as fuzz] (C:\\projects\\eslint\\node_modules\\shelljs\\make.js:36:40)\n    at C:\\projects\\eslint\\node_modules\\shelljs\\make.js:48:27\n    at Array.forEach (<anonymous>)"
    },
    {
      "type": "crash",
      "text": "\"\"\r\n//qepie   ya ivcvz q\r\n\"�\u0003Ì8\";\n//dsq  n   i kh \r\"�r\u0019\u0018\"; /*qp uyh   ll  l */ \"\"\r/* \fs*/\nexport var\rsbpdlsa = (this),\n \n\n{async =\n\n\r\r(true)}//\n //f lmp pjyvli   i\r\n// \tzmr\u000b  f lnzars e\r= //leu a  c\n((((2e308))`${(((\"\").interface))}¸[áM\u0001${((((4.054592274992064e101)))(...this,/*s   */ /* z f km r*/...(true)))}${(((+((this)))))}Ñf4${({}) >= ((/(?:)/gimsuy ? (2e308)//  nc v b nvyrq\r\n : //rr v t txf  jirpd\r(\"E\")))}${(this)}~`)), {...jtofcubp}\r\r=// plcy f    atbg\n (null), [, vhcyawmdaabndt]/*ou f  cx*/ = /*l  t  vh   *//*xs\rmmd hpq*/((new ((((null).q /*z jrbe  i  n*/++)).prototype)((((true)[(null)] //t  g \t  n   mvce bk\n|= /* u  \nkj *//* */class //c\f jh j r\u000btno\r\n//\tti uauob b   \r\n{})),/* t*/ (~(((2e308)[(0xF3DB8979F270A)]))), (async function ()/*c*/ {\n  \"pýH¯\"\r\n  /*ave  hzt \nme b\r \rv*/\"\";\n/**/ //d daeg  ahq q\fcq\n \"�Ô\u000fo�\"\r\n\n\n\n/*z koxs \r\n vllpj*/ // titzmoed\r/*t\rt*/// \r  \"use strict\";\r\n}))))\rfor (let idaabibwid\n\nof //   \r\n//y u   d s gu k\n(8919))// e    sf\r //mgqxk    \t h eipx \nif\r\n(((((function*/**/ hyombxmmbfpyves({} =\r(this))\r\n\r\n\r\n{//un hy x\r\r\n/*k ly   e \n   x\u000b\r\n p*/  \"\"\r/*  n trc*/\n  ;((p =\r(eval)));\n\n\r\n\r\n\r\r  qytts:/*bu\nm  z d  lm*/ do\r\n\r\nreturn;/*  h*/ //k  p z  rgh mkxo e\n/*hdah     \n\tz*/while\r\n((((0))))\n  switch //x z  uqk  i j  j\r\n//o l  l \f n nvd qqr\u000b\n(((function*/*x u\f\r\r\n\u000b rz\f l*/ (o,\r\rm,//ypv  \f  fvj gi\n async)\n\n\u000b\r{/*\rr n*/\n   /*m\r bbe rt  iy \u000b\n s*///e ptd   rvmlrp\r\n\"�Ä\"\r\n//gx v k  jmj e s  \td\r\n /*\t\r\tx  hd*///o   z   niz\r\r\n\n\n // x b v  s\r\n\"use strict\";\n\n /* lq  g\nare pm y e */ \"use strict\"\r\n//   fdau \r\n/* qn  cu el*/    \"use strict\"\r   \"Ð\u000bh³F\"\n\r\n/* qmrq\f g \r\nkv\r*/  }))) {/* lvi*/\n// re\fc\u000b\n// \r\n//\r  /*xze dhr   djr*/\n\ncase\n(((false))):\n   default:\n//\t\fs   it  r l dfm  \n// dbq \r\n   case/**/ (0x19BC71EDF085C6):\n //\r\n  case \r\n\r\n ((new.target)):\n//g\r\n \r\n// f  b zh  q\r /*      anbu\tzf\r\nz*/ case /*bdlz  \r\r sht*/((m))://a\r\n\n//  b i aey\r//  mgg j\tzy\n    case//hqj rrosn  p sn   \r\n /*ik u txf qm   k*/\"\":\n/* e y h\fv ba\rkt */ //zio jm f\f ky\tt\r  }\n//zc fkcy zk  \r})))(...((.09[(w)] **= ((8437))))/*   \n   n\fs  ddo kgou*///  \r\n <= ((n//\fiyklfcp i\r\n //m catgl  l vi gk\r// \r\n**= (/(?:)/y))), ...((2e308)), ...((((({})).let)))))) for\r\n\r\n\r\n//tp     le  \n\r\n\t(let// \f\tkx kxbvj  \u000bxcg \r\n [] in// fn ji flhzze\r // m  xkuz  qv mjp\n//  vnq z t ak bqjd\n \r\n((r//ks r n \n/* en t  \fs */ =//kvq\u000bodrlh tlhg \t yuy\r\r\n\r\n\r\n\n(((new //slspqa\r\n (((this).do /*d  \tv d qknz\t gl z*//*   k  z \f \tx\fnp \f *//*ltk\tb\fk kgbvfa*/++))((function //op \f\fn\r/* f \rr  z t  y\n */() /* \r\n qv*/{/*\nv \rg  q   a*//* zf    ah\u000by\n  v */// lcqmk\n\n  //r  hpdo i  k\ts s\fy\n\"qe\u0000\";// f\u000beivm\t   pqg \r\n\n//cphcxah \r\n  \"�e_\";//p im   l  cc\u000b\txr ta \r\n}), //f x\u000b    knaj \r...(true)))))))) do continue;/*gb\u000bgpjfhk\r\n e \fm *//*ruupce \t  \u000by m jtb*/ //s \t bnd  hso aj  n \r\nwhile\f\r(((null)))\r\n",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "module"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:19\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.TaggedTemplateExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:795:26)\n    at Object.VariableDeclarator (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:511:27)\n    at formatVariableDeclaration (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:207:17)\n    at Object.VariableDeclaration (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:503:5)\n    at Object.ExportNamedDeclaration (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:625:34)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)"
    },
    {
      "type": "crash",
      "text": "throw /**/`${.32}½åÀ${new\n((([]\r\r\n\n? \"dÎ\b\"/*s  ys\rpoj \n kzt\r  \f*/ : (/(?:)/gmy))))(/(?:)/gmsu)}${(0 /*ce x\nmciuc *//*\n ky\r\n  ejm b  k f  */!=\r\n// jf  kzu i q\r\r\n [,//qhb vn     rj\n ])}�\u0013��ö${(reqgidi)}µ${(([.../(?:)/gms,/*i q rpb\u000bh u\u000bj p  */ ,/*\u000be  tv*/\r,//o g u zr fnf arakz\r\n ...`ó]`]))}¨·Þ` //rb\u000b\f eq  ov \n? //ngx o i xiuk   f d\r26915950.90171197 : {...\"\u001a\u000fNñ\",\n/*\f  v y ma p*//**//*x */agavyx, ...((false))};\nswitch//e  gu\n \r\r(2e308)//  \r\n {}\n//\r\n",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "script"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:8\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.ConditionalExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1028:22)\n    at Object.ThrowStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:409:29)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:112:8)\n    at reduceBadExampleSize (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:214:2)"
    },
    {
      "type": "crash",
      "text": "\"w.ñØ\";  \"}çaDÐ\";\r\n\r\r\"P\"; \"\";\rswitch ((this)) /*\r\n*/{\n\r// x fviypepaj u    h\rdefault:\n\r\n\r\n\r\n\r\n\r\r try {\n\f\r\r    var l = (0x633FE5978729A);\r\r\r\r\t\r\n\n\n\rclass await\nextends (async () => {\n\n\r\n\n\r\n\r\n      \"�\";\n \n\n    // \u000b \u000bu lih\r \"\"\r\r\r\n\r\n\r\n\r\n   })\r\n\r\n{  /* */\n\n\r\n get [(((0x12D8D6816A4024)))]() {\r\n\n\r\r \r\n\r\r\n\r\n \"use strict\";\r \r  \r\n\r\n\r\n}\n  \r\n\u000b    set\n[null] (o) {}\r    //z  f \u000b  fr  eo  cqq \r\n}\n /* zb*/ \n \nfor (var\n\neval\r\r=\r\r/*\r*//*zd r   ujib vif\r\n  z*/ \nawait; ((/(?:)/y));)\r\r\nvar k\n //b     emdjub   s\r=\u000b ((2e308));\r    }\r\r\r\ncatch ([{},\n\n  ,\n,\r\n\r\n\n,\n\n...{}])\r\n {\r\n \r\n\r\n\r\n  \nwith ((true)) debugger;\r\r    //cko   q\u000bkky  \n  {}     \n\nfor\r\n\r\n (;;) //   xdq\ndebugger;\n\n//pjf fp    \n \r\n\r\n}\r//\n//\tkz q fyi tnnv y   g\r\n/*jnrsmm q  s*/   break;     try {\r\n\r\n\r//ftrdvy u j  q m \n\r\r\n\n\nswitch \r((((((true)) instanceof  0x1DD6372938D36A)))) {\n    \n\ncase\f2e308:\n\n\n    case \n \"Gö\":\r\n\r\n\r\n\r\r\r\n\r /*yoc\n \t v a*/\r//  m\r\r\r\rcase (static):  \f \r \r  case\n\"=»\":\n  \r\r\r\n\r\n   \n\ncase //fb mbjs n sk zb \u000b \r// nym  qh\u000b x q \r\n((this)):\u000b     /*m hgvzk\rcio   \r\nn  r*/\r\ndefault:\r  \r    case/*  rtka\r\n*//*\f*/ .66:\r\r   \f//   bm m fi     \n  /* e *//*\r\nh  p\f\ts */\r\n\r\r case 702360626474358:\n \r\n\r\n  // x du   m fbn   sl\r\n \r\ncase \n\n((2e308)): //fe jg  n\r\n/*\fj\tl  o  ttpaa  kx*/\n\n     case\n\f\r\n\r\nfalse:\n\n\r\n\r\n\r\n\r\n\r\n// eja d\n/* \f q  cf*///d \fe \r\r\n \r\n// i i\n\r\n//    \n/*nmsfyb f*/\r  \r}\n   \n}\n\ncatch\r\n\r\n(lhjyegjel)\r{\r\n/*ehn h   u*/ /* t*/ //n\n/*n  i\t oq r */ \n/**/\n  try {} catch \n\n(public) {} \n\t\r\nthrow (false);\r\t /*j \nu     */   \t\r\nbreak;  /*\nn*/// zs\f \u000bj   hue  aig \n \r\n   i: for\r\n\r\n//ux   h   gd z zvqt\r\n /*jb jcb*//*  n  c qf\u000b*/(let async\f \r\nof\r\r\r/*j x */true) break  i\r\f \r\n\r\n\r\n}\n \n\nbreak;\r\r\u000b  case\r(((delete ((this)).jyrxxdggnsbya))):\r   debugger;\f\t//\r\n //b \u000biy   u cek fn\r\n//s \u000b savzk\fnq   x s\r \r\n\nbreak;\n} \n\n",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "script"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:126\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: state.generator[node.type] is not a function\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at extractRelevantChild (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:169:27)\n    at extractRelevantChild (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:164:13)\n    at reduceBadExampleSize (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:215:33)\n    at fuzz (C:\\projects\\eslint\\tools\\eslint-fuzzer.js:210:17)\n    at run (C:\\projects\\eslint\\tools\\fuzzer-runner.js:62:27)\n    at target.fuzz (C:\\projects\\eslint\\Makefile.js:585:22)\n    at global.target.<computed> [as fuzz] (C:\\projects\\eslint\\node_modules\\shelljs\\make.js:36:40)\n    at C:\\projects\\eslint\\node_modules\\shelljs\\make.js:48:27\n    at Array.forEach (<anonymous>)"
    },
    {
      "type": "crash",
      "text": "\"Ú\"\r\n/*h*///\u000b  pubu ho \f\r\"use strict\"\n;\r\nthrow ([(0x165B605EBAF782), ...papynxmxu /* jkq\u000bl fpa*//*ojut\trv  */=\r\n/* p   p \rg b\r m\ttdlo*///i urpgov\r/*h \r sk\u000b\r \ffgx cs  se*/ ((async/* iqmy*/\r\n\r\n\r\n\r\n= //  pyg m \r\n\r\n\r\n(((.27))),\r\n\r\nj//\t ls\n/*px jz\nt bszlph*/ //sn   o uv  y lp  i\r= this, o)/*     n ekxr   zr*/ =>\u000b {\n//bk\n\n/* m y\r\nero\f\nuy*/\n\"\"\n/*  tlom  */  \"�·â\"; /*e\r\nuq*/\r//\t yyit jrx d  ct\r \"8½ë\"\n \r\r// h    in y oug\n \"�Fyî\"\r\n//xi fi\u000b \r\n\r/* uq ug */\rswitch //a\u000bmc gvh fj m  q r \r\n(\"\") /*ce u    \n\t\ny   q\nd\fo*///p n h o\r\n{}//zk v hpys  \r\n/*og u */\n /*  */ while ((/(?:){53874}?/m))/* m\rv\r \r */ return\n//e   o r\t\n \n\n}),//hlu  sr \fsr\n ...{set [(((((2e308)))/*cbt r   */\n^// y \r\r\n(this)))]/*  g   c brb  */ ({}\n//     u t\n/**/=//cqvs pt uaf krmr \r\n (new.target))//\r\n {\n  /*m\rm\r\n \n \u000b   g*/\"¦Î\"\r\n\n\n \r\n\r\"q\"\r\n//ub  \n\r\n\r\n/*np  z a\febem\n rdhl*/  // t   e iy\tu\t u\r\"ª~D\"\r// z pb\n}, [(/^\\B(?:)\\B/imsuy)]: (`}ô¢ó`), arguments},//s\u000b  \f \tase \r\n\n\n...((-(((.89)))))[([] //k iica ut y\r/*nz fo r\u000b*//*l\tilg \r\ng  rxr\r\n\u000b*/=//  \r\n /*rvs\n \r imugf \u000bm\f\r\nm*/null)]])\n //nx \r/**/",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "script"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:56\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'type')\n    at Object.MethodDefinition (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:721:26)\n    at Object.Property (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:893:12)\n    at Object.ObjectExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:852:28)\n    at Object.RestElement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:756:29)\n    at Object.ArrayExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:808:29)\n    at Object.ThrowStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:409:29)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:125:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:112:8)"
    },
    {
      "type": "crash",
      "text": "\"\";  \"¸è�´\";\n\"yÓ\";/*px  lilc m\ns  d\fjyh*/\n\"ªí\";\n\nwith (false`${(((this)))}}Î@${`¤J��${null[(false)] &=/*o yh */ (((1406)).q.id)}½\u0004µÈ${(whddyle)}${((ju = ({let, //     k \r[v]: /*dpo*/false})))}\u001bcRÁ${new/*\r\f \n  m\r \n\n x gqz*//* o j \frm r*/// ibv nf cb e lfqvm\r ((package /*me hpolzb  m*//*b\tug i \n\n*/ /=//eel f ocslcyifcbld\n /**/((2e308))))(2e308,/*ekobd   advj*///ehv mjy ji n za\r ++(/[^\\\\\\--\\xF6Y-\\{i-\\udB2e\\uDf75\\cX](?!\\5^\\0$\\B||\\b[])()()()()()/imu).var, //   fv ckqo t\f\r((class {})),//xh  \t p    \n //ti p vmz k xhrn rod \r/*hhfpb   j  \nba*/...\"L\").gkedafnqch}${(((oufjvkdurujpfy ++)))}`}\u001c@\u001e¾${(cppq /*lg   h  cox veb   *//*\fjv y tukjl    */=>// p\r\n/*\r  n\rsj*/ {\n  \"use strict\";//dzh pk \r\n\n  var //\re;\n  //c d c\r\n//g\t\tt\r//   jkgl\u000be\r\nthrow ((async\n\n//qonvyoaut\n= /(?!())*?(?=){20909,76502}?/giy)// v c\t\r\n\r\r*//ka\fce t ra\f\r\r\n\r\n\u000bnull);\n  class //h   p \n//\ngs /*c  bguk o*/{/*qkrt*///\r/*csvxr x odsg  im*/\n   /*s x flkcj \r\r\nxu mn */ [(m)]() {//  d h\n\n//kr  \f r j a\r //esu  ttxuam \tl\r // nck z  fjf dt\r  /*\u000bzvd*/ /*guyd *//*o sbca*/\"use strict\";//a gtsk\u000bi\r/* z knft  d */\n //\u000b o rt    rldfq  g\r\n /**/  }\n//\u000b giu\t smn\n   /*of \r xl      c \rg\u000bar*/ /*\nclc  hkb */set [\"%Ý\"] (async)/* n \u000bh xc s*///mh  \n {\n//\u000bx drf \r    //xc c\u000b\fsa\f rum  m\r\n  \"¤ôº\u0011S\";\n    \r\n \"use strict\";\n/*   hhmtz *///lr     hkycxuv\r\n/*lgc   r  ofsb v p*/   /*es vq  np\u000bl*/ //kq  v  oy \n  //e\tzrsm  \r\"\\\rt\";\n \r\n\r\n\r    //f \trb\u000buf y \u000b\r\n\"use strict\";\n/*i hs hdz   ay\r\n cemf\t*//*y j   cl\rc*///z \u000b\u000b a \tp l r\r\n    }\n  }/*\f \t  \n f*/  \n\n})}wæ ^r${(async)}\u0012w¹Ïj`) 0x19B26647BE3C78;\n",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "script"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:32\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.TaggedTemplateExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:795:26)\n    at Object.WithStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:346:27)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:112:8)\n    at reduceBadExampleSize (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:214:2)"
    },
    {
      "type": "crash",
      "text": "\"\";\n\"Æu�\"\n//  ytp  q vmy v\n\"õ\"\rconst/*\r\n\ngp\u000bs\t*/ hbcygumeleb =//qh  lq i mbo p y\r //\f\fu l tcl\r((((\"�\"()((true), \n ...(((this))), ...(this),// fha\f\u000b q\u000bb  pxz\f\n ...(\"¹\"))))(...(((k[(\"�æw4Y\")]))), (class /* \rdpxfa b *///y   \f\u000b  c  j zf\r\n//b \fyo ee\t\rk {   static get/*  \u000b\r\ngbmn  vp*/ [(h)]() /*ylmk\tn\frq \nav s \r*///inz\ftc xqbbrtzp\r\n{\n\r //  rky mnqpa  flp\u000b\r\n \"use strict\";//hn  \f ojs\r\n  }\n \r\r /* xtp zeh*/set\r\r/* tq s\nref    r\r\req\r*/[(v)]\r\n(async) {\n    /*pl\t ks\u000bmm g jxg\fr  */\"use strict\"\r\n  }\n  static set [2e308] (e) {\n    \"use strict\";\n/*  l o\t*/ /*f */ \r/*rb\n  \tt v cs kn \t s*/// tubymedd ua\u000bbk  v \r}\n \r\n\r\nstatic \n// o ee  s \r\n// \tfqd\fd  y \u000bo yda\nset [(true)] (k)//o u  \f  gusdo   h\r// \n {/*kfms   n*/\n    \"use strict\"\r  }\n\r\n\f\r\n\r\nset [(/\\s\\v{10158}N*?g/gimsuy)]\u000b\r\r(c) {}/*\r\n em ab  y \f  */\n/* o hhsvjs  xmg   j */}), ...(true), ...((((implements)())))))), [, [, , /*y\r  k  s f\fy*/[],  , {}],\r\n\r\n, // h\r\n] =\n/* x  g g mfuxd*/\n(`�8î\u0013�${(delete\n\n ((\"b\")))})¾B¤?${((((protected *=// nrl gus a\r ((/\\B(?![]^(?=)){27121,34946}?(?!m(?!)){42019}?\\H{86993,87158}(?=K??)/s)))))(((package\t++))))}�QÓÉ${(((static & \"Ì\")))}\u0011`)\r//pu c t  cy f rcye \r\n\r//h\n\r",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "script"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:67\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.VariableDeclarator (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:511:27)\n    at formatVariableDeclaration (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:207:17)\n    at Object.VariableDeclaration (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:503:5)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:112:8)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:112:8)"
    },
    {
      "type": "crash",
      "text": "\"\"; //\f b\u000bb yyqsr\n\"õÄ\";/*mn  ftgv */\r\n\"lï�\";//x d upp       e j\r //ttgie\r/*   \u000b\f r  q hkh\r\ndqz */\"\u001eº­.ê\";/*fm */\t//d\f rg yzeq \r\"ðí\";\nif  ({xargybxaxiryxgk,//  \u000bl etrbb\fzxf  z \n \"¡\": (typeof eval)`8¢h�${({} << //ol  p \r\nnull)}${{}  in\r\n\rnew null}¤`,/*n  pllquy   \te*//*bdu   ujplxqcr*/ /*h s\r\n  v\nqr rin\n  \f*/...\"ýÉ��´\", \r\nstatic})\n  do//  etjfs  \u000bo\r break; while((void\n--hof));//s mu  ve\r\n\n//le  mty \t\u000bs\fk  d\nif (([, ...\"@¾yðá\"[(false)\r\n// kq zeu ka \r//v \r\n\r\n/*y \nf m\r\nmihxs\u000b il x\r\ni*/?\r\n\r\n/^(?:(?!)())J\\3(?=|M\\b(?=)|(?!)\\b)()()()/u :/*jele b*/ yield]\n/* kj f  c    *//*  xy   d *//*gmsu*/|= \"e8¤\", \r\n, ]))\r\r//u q  \n/**/ \tvar {\"%\u0003\u0019\": /* fv t g*/j\r\r=\r\n2e308, [1183.51]:\n\n\r\n\r\nt, \"æ�âc¸\": implements,\r[null]: eval,\r\n\fprotected} = /*s\f om*/ /(?!){45729,}[\\xeb-]{11216,77516}[^\\t-\\?]*?(?:)+?(?:)/gims.b ++\r\r!== false; else //jvb fvk \u000b a  \nthrow/*h qvf vift q*/ ({i, /* gvk \u000be*/...static} =/*   rll *//*hz*/ `${new /(?=)+(?:\\B\\r)(?=\\41?\\0$I(?=)*?)\\b/my}${true[/\\5{22948,86208}(?:)+?/gsy] ^= this}´`, ...[, // v \trcizg gpy f h  \r{package,\n\nj,//u ecbch yjz\f \fjja\r\n\rg},\r\n\r\n\r\r[,  ,\r, , \r\nf   =// evgtr rmn \n\r\n\r\n//xipxql\u000bm \f kc\r\n/* x  m\tno\n tojna\tc\n*/\u000b\"Êk[\"]]) /*q\u000bgv  s\fnmky*/=> (setcm,\n // \fcy  j oibhgb\nfiiqapkfduv)/**/ => {\n// cpt\r\n/*\r\n \t  lo*//*gd ip  mq c ujj*/  \"°ÄÀ\";\n//hdo r\r\n\r\n\"use strict\"; /*fzxhmh*/\r\r   switch (`,`(...5218.4)) { \r\n\r\n  // \r\n\r\rcase (((0 //  m pf d u\n- (/(?:)/msu)))):\n/*n h x*//*qi \u000b  r   gc*/  /*xysa \fh*/\r\n\r\n/*nt  \r\u000bu\fv  iyx oso*//*\ft*/    break;\n\r /*v\tua ug b */\r// gcy vo e  t\r\n//ay\fp\u000bbr  q  \fop\n  break; \n\n\n //j   z ksvgb c \r\n   case class {}: //h jx \n\r\n\r\n\r\r//r  pabb cgr\r\n    ;\n\f\n\n\n\n\n\n\r  try\u000b{} finally {}\n\r\r\n\r\n    function* await(await, //td i k \r\nasync)   { \r\r  \f   \n\n\"r\";\n\r\n \u000b/**/ /**/ //\r\r\n\"use strict\";\n     }     \r/*p dhhb \r *///  \r\n\r\n/*\r n\tt b\f amidpj*/\r\nvar m\r\n\r\n\r\n\r= null;\n//a ib b  n   h\r/*       zt\r\nj  rc*/ //  vnb\r   case async/*t  xq   ira h*/ ++: // t\flmede aeg\r\n \r\n\r\n\r\n   if (2e308) break;\n   \n \r\rfor/*p  thul\u000b cveql\r\ndva */ (const/*cz\fdxnh o \u000b a  */ c //ied\rof \f//rqe v  ni hmz \r\n/(?:)??(?=)+?(?!)|[\\c66][^]\\uDd7C/gisy)\n/*e  gjd\r\np*/\n\r\n\r\ndebugger;\n    //uz\ffy cta k\r // sa\r if\r(n)\u000b\tdebugger; else return;\n      do\t\n/*   *///xc \r\nreturn;\r\n while (null);\r \r\r  \r\n//d suy  \r\n//   c  \u000b   r\r\n\ncase {}:\n\r   /* uxh*/;\n\n\n case \"YDÇ n\":\n /* y*/\r//hheepbty\t\r  }\r\n    switch (null.u/*\u000b *//*\t\u000b r ce auv*/ < typeof .78) {\n /*n \u000bbb */\r\r\r\n\r\n/* */case/*   \tc\fhb   g*//*\u000bj  g */ function* l() {}:\n  \r\ncase (async /*  j fx     lnm*/--):\n\t/*og ce \u000bq   ul \r\n   q */   do ;//gfue o f\r\n /*  */while\t\r (3825);        try {} catch (d) {}\n//    \r //xl\f v   e xk\tz \n    for (k in/* n\u000b\u000bg  d\r  q jp*/ (m))\n \r\rdebugger;\n  \r\r\f\r\r// lp \r/*vr  ujmm\tl \rs*///r m\r//  o  vg z\t\tfhb s\u000bs\r//t \u000b \fp\u000boenko\n\n// egs \ndo break; while (\"\"); \r\n\r\n   }\r\n\r\n\r  {\n /*   h ojvk asy\u000be\ti*/ \r;/* mlrs */\r\n    async: for (await//mr flzgcp zqj n\r\n in\r\r\n\r\n/r(?!()())??\\0(?:)/iy)\n\ndebugger;/*j\r o c \nz d qpfmm*//*lh*/\n  switch (\"Æý\") //\n{}\n //yt\tjv   ay nz   \fa\n/* y an\t*//* xu\tb\n*/  try \n{}\rfinally {}\n  }\n\n\rwhile/*hkl  fe   x\r jntgsy*/// n \tbzef  v\u000bz ynl\tp\n (++\"\".v) /*i\tv q  *///af \r\n//bdu\ntry\r\r\f\r{} catch (await)/* n  db\fb\u000bfmmpz\u000btdp \f*///ab\u000b\r//i  m\r {}\n\t //\nfor\r//\t si k\r\n\r\r\r({} in /(?:)?(?=$(?=)\\#|&\\&(?=))(?![]C|\\b^|(?=)|\\x14a[]|)[^\\.-E\\$-\\MT-Z-]{74882,}/gis) try\r\n {} catch (async)/*\n   \t \tb\nd\teb\n\u000bi  *//* h l\rj\tsyi */ /*ijyk\tuff  ri n pn */{}/*y\u000b   qn o fm  ra  */\n/*  eovak\rl\f\r\n p*///dz\n}\r\n/*db g qn\t \r\n */class /* \nmt */await\t extends 7.665468676264643e260 {   async \"\"(...bjllqonp)\r\n//  fs \r\n/* cjc v *//*cpy v\rvvy  s */{ \r\n  \n//  x\f\foii uvail xa \n\"�\";\n  //\f  u ibynduyy\n//e  th \fu \n\r\r\"�of\";\n\n\n   debugger;//s \n\r\n  \n\n\r\r for  await\r  (var// sn   qm unsg   an \r\n /* js g\t\u000bz x *///k jrok m  ig  \r\nasync//hm \u000bo\r\n/* d l\u000b \u000b\ff\ny \t*/ of new (\"\u001e¾Þ\")) break;\n//m xkutxsuk \r\n  \n\n  \r\r\r\n\r\n    return;\n  }\r\n\r\n\r\r\n\n}\r\r\u000btry {\n  ;\f\r\n\r\n\r\n {\n  /*nqloq  z*/  for (; interface = (((false)));)\t\r\r/*\u000b*/implements: break\n  \r let \rawait\r\n\r}\n\r\r\r do yield:\r\n\r\nwhile (2e308) //e \f \nthrow ((2e308))\r//hmo\tgsc g f\r\n/*hf  jv xt  xehfqs  */ while\t(++static); /*gm  p\r\n*/} finally {}//l jf  n \r\n ",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "script"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:9\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.TaggedTemplateExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:795:26)\n    at Object.Property (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:907:28)\n    at Object.ObjectExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:852:28)\n    at Object.IfStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:310:25)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)"
    },
    {
      "type": "crash",
      "text": "\"\u001c×\"\n\r\n\r\n\r\n\"use strict\"\r\n\r\rdo\r\nfor (async in ((--((`Ã�${(((this)))[true]}úô»}N${(((/(?:)+(?=\\3@[]$|\\1\\B\\9()||\\6)\\cF()()()()()()()()()/gsu) //eppzc  q   by \r>>> ((2e308))))}�ó${([])}fuj�`)).if))) try\f/*qmmp*/ // \r\n{\n\r\r\nif (({})) do\r\r\n\ncontinue;/**/\r\n/*u\rm*/\r\nwhile (/\\C\\r{96389,}?,*?(?!)*|\\@(?:)?(?:){1995}?|(?=)*|/gi);\n   for \n(((2e308)).true in\n((eval))) try {} finally {} \f  class w {\n\n\r    async [((/(?:)/y))]() {}\n    \nasync [((\"\"))]() {}\n  \r\n\r\n  set\n[(false)]\r\r\r(async) { //vb g \r//l \u000b \r\n\r\r  //cml      jum m\r\n \f\"use strict\";\n   }\r\n\r\n}\u000b\n\n  continue;/* tfhv  z\r\nu*/// q \u000bjx lldb\u000beu\u000b\r\f} catch ([, \r\n\r\n , m =\r\n\r\nnull]) {} while /*hqknn   \u000bt i\r\nktf*/(\"ù?\")\r\n \neval: for (coomhxua in\r\r (0)) ;\nthrow (false);\nfor/*lb  yy  t*/ (varvfhlqbeulmhojuo\rof ((vjvu)))if (((((void\n((\"\")(...this, s --, /*azvz\ns mu *///  okm hk\n(null), \r(((new (((null)))))))))\r\r||\r (async (...ujuyfagl) /*yje psi*/=>//dqen o vggqfv \t k \r\n//   t\n (class {\n  set [(this)] (y) { //\r/* a  \r\n   \t\t  levt*/\n\n \"·T½\";\n    \"use strict\";\n\r\r  \"�ß\";\n  }// se\r\n\n  [(((true)))]() {}\n async [((null))]() {}\n})))))) try {\n  for//vm hgp g   r   h  n\r //\fr x   q  d  c\r(var async in ([])) do   debugger\n while ((2e308))\n  let await\r\r= (((null)))\n/*\r\n\nklx \n nb*/\r  for (var async of\r\n2e308) for\r(;;) continue;\n  try {} catch (s)\r\n\r\n{}//   m p lt \f\u000b\fy\n/*\t fi*/ }\r\n/*  s  */catch  ([,\n\nawait]) {\n\n\n\nbreak\r\n  for (let//\f i \u000b bu\foxffem  d\r\n//\ttre \r\n/*\r   k*/ d \nof ((\"f\"))) continue;\n // e    ysg e chzxm  \r\n throw (\"­±r\u0017\")\r \f} else (hosogcnknlplm = \r\r(true))\r\n ",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "script"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:9\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.MemberExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1078:29)\n    at Object.UpdateExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:987:31)\n    at Object.ForInStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:487:26)\n    at Object.DoWhileStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:443:25)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)"
    },
    {
      "type": "crash",
      "text": "\"ß�%\"\n\r\r \"P��\"\r\n\"\u0014x�\"\r\nfor\t(; true;)\r\rfor/*  c y\nbdp    f*/\r\n\r\n\r\n//x t ccgk \r\n(2e308[(/\\uCa2D/gisy)]// ovrb jynlua \n //u  jl pqdqciv u   p\r\nin 2e308) if \n\n\r\r(((upmuwncrcvhqj))) switch \r\n(([, this, , //bux g jrks   ii heh\r((new /**/4.879460756242031e193)), , ])) {\n  case\rfunction*\r\n\r\nr()\r\n\r\n\r\r\n{}:   \nlet p\r\n      continue\r\n} else debugger\rapsrf: switch\n((`\fê�L\r${kcceq}${((((((static = this,//\tv h in\tijzee\r\npackage = ((/(?:)/imuy)), \n\n yield = \r\r2e308) => (\"�\u0000\u0003v¤\")))))(...((async () => delete\r\r (false))), ((/(?!(?!))k|(?!)\\B\\4{33874,}\\b|(?!p(?!)(?=)$)|5(?:)()()()()/isu))[(4.950098296411771e243)]\n\r= /\\d*2{36984,59872}/msu, (((\"g\"))[c]) <</* \n l\r\n\r\n  nr tt*/\r/**/(true), async\t()/*n*//* \t */ /*x tfvb yo    ozomp*/=> {\n\r\r\r\n\r\n\"use strict\"\r\n  \"¸\"\r\n/*vzovj  \fh  n*//**/\r\r\n\r\n{}\r\n\r\n  debugger\n }, ...true))}�w§\u0018`))//  nm\r\n {}\r\n",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "script"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:44\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'value')\n    at Object.TemplateLiteral (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:780:26)\n    at Object.SwitchStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:358:33)\n    at Object.LabeledStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:322:25)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:109:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:136:7)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:112:8)\n    at reduceBadExampleSize (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:214:2)"
    },
    {
      "type": "crash",
      "text": "\"\"\r\n \r\n\r\n\"]�±þË\"\r\n\"podt¼\"\r\"use strict\"\n\r\n\r\n// n  \t\r\n \"use strict\"\n\n\n\rtry/*n dt\toraceh\ftd l*/ {\n\n/*uu  lf*/throw async/* x\f*/ --\n\r\n} \n\ncatch //\f v h  hsvv\r//bu xm\u000bzdk\r(bnxyglpp)  \r{}\n\n\rfinally\r\n{\n \r\rclass/*jlbc \r  l*/\r\n\rasync/* p zg u*/\r\n\r\n{\r\n\r\n\r   static set [([])] //om ob  ha\n(ii)\r\n{//o s e\r\n\r\r\n/* y s*/\r\n//pyau p h olmv fn\r\n\r\r\f\"use strict\"\r\n\n\n  \n    /*\t l n\rz*/  //u qfjkllokej urbma \r\"øe|i\";\n     \"® ß\"\r \r\r     \"use strict\"\n\n\n     //vv\t  vt kix fevp  \r/*  r \rk \fi \t */ debugger\r\n \n\n\r\n\r\n\r\n\r\n  try// fknt nva p e\n//b\f  t fx \r\n//  n\u000b  lqsf vng e\n {}\r\n\r\n/* */catch/*z   e k tacbcia */\f(x) {}\r    \r\rswitch\n//  if\r\n\n\r/*\f i\r\n u\tpzf rf*//* \n qd q ij  yef*/\r\f(2e308) {}\n //   \n  }\n  \r\n\r\r\r\nget //\u000b\r\n[((class {}))]() {\n \r\r\r\n \"�4�\"\r\n    \r\n//r \n\r\n\r\n/*\rky*/   while ((true)) \r\nreturn\r\n/*\nm */    \n\nvar  y //n\r= (2e308);\n/*  ee  *//*\n\u000bijpz\n*/  \n\n  const s =\r((false))\r\n// x\r//m  \u000bsxs \fe jg vxp \r  \r\n\r\n}   \n\n\r\r static/* \r\nczm g*///  \r\n\nset // qc\r[true] \n (xah)\n\n {//a t     rmv  t\n\r\n\r\n\r\r/* qu  xa*/\r\n\r\n/* au  g yp py*/\r  \"ôé\"\r\n\r      \"\u000b\"\r  \r\n    //ikh   iclt \r\n\n\n\"use strict\"\r\r\n\r\n  // p\r  //\f\r \"use strict\"\r\n\n    /* fc\n fdcht    *//*\rx g\t\r\nnlartnbij\r\n \n*/  try\r\n//svsnda t\n\r\n{}\r\rcatch\u000b(k)//xoaze b m haf\r/* dgr  aae d*//* \tc \n   ls*/\r\n{} //  p  nd\n  \n    \ffor\n (async\n\nin\n/*y    ifym  r*/\n \n\n/* ufnhcc*/new.target) \r\n\r\n; \r\n\r\n//otor osv\t r fc \u000bp\r\n      let/* bf m \re a */\r/*\r\nb up     q  an*/ e\n\n\n\n    debugger\n\r//s \r/*h  */ \r\r\t\r}\n }\n/*q  \n t  */}\nif (new ((class async {})))\n(({...this, set\n\n/* cp */[((((((--async)))/*ba zr */ //\f q\u000bg  \t\u000b\t  \r!==\r\n//xn   j \n\r\n(((((/(?:)/gi)).return //xz qi\u000brb    \r\n/=\r(3.8182657506836737e276)))))))] (awkoqkofomg)\r\n\r\n{//cj\u000bci y\t\u000b\u000b  \fc lu\r\r\n \"Ø\";\n  /*  r ni  vk\u000b v    */\"`ý\u0014.\"\r\n\r\r\"\u0010�î$P\"\r\n \"�.�µ�\"\r \n\n\r\n\r\n\n\n\"ë\u0016Ö°\u0011\";\n//  mi yq\n//ass f\n\n\r\r\r\rfor (;\r/*jy  f\r\n  */\rasync/*\u000bk tpf \u000b*/ \f\u000b--;) throw \u000b2e308\r \r\n}, get\r\n\r\n  /*vd ee\n*///b skmf\r[function*//oqnma qz hapj \n\n// u   dog r\r\n(async \n\n= null)\r\r {\r//aa  x \u000bheh l   h r\f \n\r\n\n\r\n\r\nswitch\n\n\n\n\n(((2e308))) /*  \r\ny\rsaue o */{}\n\rdo break\r while (this)\n\r// rn  xxc  q \r\n\r\n}]()  {\n\n\r\n\r\n\r\n\r\n /*  m\r\n \u000b*/ //ij\f\t\u000b\n\"\"\r\n  while/*m  ppee*/\t\r//tbk   qt\r\n/* d\n\r g  \tjkfe \r\n m*/((.55)) return\r\r//\r\n\r\n/**/\r\r\rtry/*xe r\r\n \r\n\f*/ /* qkd ie  ba ng jkn  */{}  catch (async)\r\n\r\n{} finally {}\n\tlet//i u   ln  g\r\rasync = true\n \r\rfor ([] \r of ([]))\r\n\r\n//tu\fi ndez\rif/* d tk p \u000bfe\r\n*/ ((/(?![^-]\\B$(?=){3476,})0+?$\\s/gms)) /* fpcs n  g *//*\n\r q*/debugger\r\n\f{}\n},\u000b...(((async)))}));\f\n\n",
      "config": {
        "rules": {
          "eqeqeq": 2
        },
        "languageOptions": {
          "sourceType": "module"
        },
        "linterOptions": {
          "reportUnusedDisableDirectives": "off"
        }
      },
      "error": "Error: Boom\nOccurred while linting <input>:199\nRule: \"eqeqeq\"\n    at BinaryExpression (C:\\projects\\eslint\\lib\\rules\\eqeqeq.js:184:11)\n    at ruleErrorHandler (C:\\projects\\eslint\\lib\\linter\\linter.js:645:33)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:46\n    at Array.forEach (<anonymous>)\n    at SourceCodeVisitor.callSync (C:\\projects\\eslint\\lib\\linter\\source-code-visitor.js:76:30)\n    at C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:291:18\n    at Array.forEach (<anonymous>)\n    at SourceCodeTraverser.traverseSync (C:\\projects\\eslint\\lib\\linter\\source-code-traverser.js:290:10)\n    at runRules (C:\\projects\\eslint\\lib\\linter\\linter.js:686:12)\n    at #flatVerifyWithoutProcessors (C:\\projects\\eslint\\lib\\linter\\linter.js:1248:4)",
      "sampleMinimizerError": "TypeError: Cannot read properties of undefined (reading 'type')\n    at Object.MethodDefinition (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:721:26)\n    at Object.Property (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:893:12)\n    at Object.ObjectExpression (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:852:28)\n    at Object.ExpressionStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:300:33)\n    at Object.IfStatement (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:312:31)\n    at Object.Program (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:234:27)\n    at generate (C:\\projects\\eslint\\node_modules\\astring\\dist\\astring.js:1250:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:125:29)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:112:8)\n    at pruneIrrelevantSubtrees (C:\\projects\\eslint\\tools\\code-sample-minimizer.js:127:7)"
    }
  ]
}

Comment thread package.json Outdated
"@types/esquery": "^1.5.4",
"@types/node": "^22.13.14",
"@typescript-eslint/parser": "^8.56.0",
"astring": "^1.9.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, I'm not sure if this package is maintained. Last release was about 2 years ago, and there doesn't seem to have been much activity in the repository since then: https://github.com/davidbonnet/astring.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed astring entirely in c30dfa2 — the minimizer no longer needs a code generator. Source modifications are tracked as {start, end, replacement} triples and applied directly to the original source text, so no external package is required.

@nzakas

nzakas commented Apr 10, 2026

Copy link
Copy Markdown
Member

@copilot we need to use a package that has been published within the last 365 days. Also review @mdjermanovic's comments.

…mizer

- Remove astring dependency (last published Aug 2024, outside 365-day window)
- Track source modifications as {start, end, replacement} applied to original text
- Fix 32+ crash-causing node types (SwitchCase, CatchClause, ImportSpecifier, etc.)
- Re-parse pruned source for extractRelevantChild to get accurate ranges
- Use source.slice() for code extraction instead of generate()
- Fix no-shadow lint error in removeIrrelevantComments
- Fix comment style in test (single-line to block comment)

Agent-Logs-Url: https://github.com/eslint/eslint/sessions/39ad5e81-c256-463a-b3d7-fa9438696770

Co-authored-by: nzakas <38546+nzakas@users.noreply.github.com>

Copilot AI commented Apr 10, 2026

Copy link
Copy Markdown
Contributor Author

@copilot we need to use a package that has been published within the last 365 days. Also review @mdjermanovic's comments.

Addressed in c30dfa2. Rather than finding a recently-published replacement, I removed the code generator dependency entirely. The new source-range approach tracks modifications as {start, end, replacement} objects applied to the original source text — it never calls a code generator, so it can't crash for any node type. This also fixes the crashes @mdjermanovic found (SwitchCase, CatchClause, ImportSpecifier, ExportSpecifier, and 28+ other types that astring couldn't handle).

Copilot AI changed the title chore: replace recast with astring in code-sample-minimizer chore: replace recast with source-range-based approach in code-sample-minimizer Apr 10, 2026
@eslint-github-bot

Copy link
Copy Markdown

Hi @Copilot!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.

  • The length of the commit message must be less than or equal to 72

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

@nzakas

nzakas commented Apr 14, 2026

Copy link
Copy Markdown
Member

@mdjermanovic can you take another look?

If you feel like we're just going in the wrong direction, we can close this. I just wanted to see if we could make some progress on this given its low priority.

@mdjermanovic

Copy link
Copy Markdown
Member

Sorry for the delay, I'll take a look now.

@mdjermanovic mdjermanovic added accepted There is consensus among the team that this change meets the criteria for inclusion labels Apr 21, 2026
@mdjermanovic mdjermanovic changed the title chore: replace recast with source-range-based approach in code-sample-minimizer chore: replace recast with range approach in code-sample-minimizer Apr 21, 2026

@mdjermanovic mdjermanovic left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This approach and the changes LGTM. I think the only remaining thing is to remove recast dev dependency from package.json.

@mdjermanovic
mdjermanovic marked this pull request as ready for review May 7, 2026 07:44
@mdjermanovic
mdjermanovic requested a review from a team as a code owner May 7, 2026 07:44

@mdjermanovic mdjermanovic left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@mdjermanovic
mdjermanovic merged commit 9e37386 into main May 7, 2026
43 checks passed
@mdjermanovic
mdjermanovic deleted the copilot/bug-fix-eslint-fuzzer-error branch May 7, 2026 07:45
@github-project-automation github-project-automation Bot moved this from Implementing to Complete in Triage May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

accepted There is consensus among the team that this change meets the criteria for inclusion chore This change is not user-facing

Projects

Status: Complete

Development

Successfully merging this pull request may close these issues.

Bug: eslint-fuzzer Error: did not recognize object of type "PropertyDefinition"

3 participants