mirror of
https://github.com/oxc-project/oxc.git
synced 2026-09-14 19:36:11 +08:00
6efce65746
## Summary `oxc_react_compiler` had no committed test over the upstream React Compiler fixture corpus — the fixtures lived only in the `oxc-project/forked-react-compiler` checkout, exercised out-of-tree. That gap let real regressions slip past the 15 in-crate integration tests. This PR closes it. - **`crates/oxc_react_compiler/fixtures/`** — 1734 fixture *input* files (`.js`/`.ts`/`.tsx`/`.jsx`/`.mjs`), copied from the fork's `babel-plugin-react-compiler/src/__tests__/fixtures/compiler` tree with subdirectories preserved. Flow fixtures (the `@flow`-pragma ones) are excluded — oxc has no Flow parser. The upstream `.expect.md` goldens are also not copied; insta is the golden here. - **`crates/oxc_react_compiler/tests/snapshot.rs`** — an `insta::glob!` test that, per fixture, derives `PluginOptions`/`EnvironmentConfig` from the first-line `// @directive` pragmas (base `compilationMode=all` / `panicThreshold=all_errors`, matching the upstream `snap` runner), parses → builds semantic → runs `transform`, and snapshots the compiled output plus diagnostics. Unrecognised directives are ignored, as upstream does; camelCase flag directives map to `EnvironmentConfig` fields via `convert_case`. - **`crates/oxc_react_compiler/tests/snapshots/`** — 1734 committed `.snap` goldens (oxc's own output). - **`.typos.toml`** — excludes the fixtures dir (the upstream fixtures contain intentional typos; `**/*.snap` was already excluded). These snapshots are oxc's own golden output, so `cargo test` (and CI) now catches any change in compiler behaviour across the corpus. Regenerate after an intended change with `cargo insta accept`. ## Verification - `cargo test -p oxc_react_compiler` passes — the 1734-fixture snapshot test plus the existing 15 integration tests; also green under `--all-features` (matches the cross-target CI job). - clippy `-D warnings`, `cargo fmt`, and `typos` clean. - No fixture panics; 1336 compiled / 398 unchanged / 335 with diagnostics. - The `error.*` fixtures capture the exact diagnostics — including the "Cannot reassign variable after render" error that a recent scoping change had silently suppressed, confirming the suite catches real regressions. --- AI usage disclosure: authored with Claude Code and reviewed before submission. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
1223 lines
30 KiB
Plaintext
1223 lines
30 KiB
Plaintext
---
|
|
source: crates/oxc_react_compiler/tests/snapshot.rs
|
|
input_file: crates/oxc_react_compiler/fixtures/many-scopes-no-stack-overflow.js
|
|
---
|
|
import { c as _c } from "react/compiler-runtime";
|
|
// Test that the compiler handles components with many sequential reactive scopes.
|
|
// This exercises the iterative (non-recursive) fallthrough traversal in
|
|
// BuildReactiveFunction. Previously, each scope's fallthrough was visited via
|
|
// a recursive call, causing stack overflow (SIGSEGV) on inputs with hundreds
|
|
// of scopes.
|
|
function ManyScopes(props) {
|
|
const $ = _c(401);
|
|
const t0 = props.items[0];
|
|
const t1 = props.items[1];
|
|
const t2 = props.items[2];
|
|
const t3 = props.items[3];
|
|
const t4 = props.items[4];
|
|
const t5 = props.items[5];
|
|
const t6 = props.items[6];
|
|
const t7 = props.items[7];
|
|
const t8 = props.items[8];
|
|
const t9 = props.items[9];
|
|
const t10 = props.items[10];
|
|
const t11 = props.items[11];
|
|
const t12 = props.items[12];
|
|
const t13 = props.items[13];
|
|
const t14 = props.items[14];
|
|
const t15 = props.items[15];
|
|
const t16 = props.items[16];
|
|
const t17 = props.items[17];
|
|
const t18 = props.items[18];
|
|
const t19 = props.items[19];
|
|
const t20 = props.items[20];
|
|
const t21 = props.items[21];
|
|
const t22 = props.items[22];
|
|
const t23 = props.items[23];
|
|
const t24 = props.items[24];
|
|
const t25 = props.items[25];
|
|
const t26 = props.items[26];
|
|
const t27 = props.items[27];
|
|
const t28 = props.items[28];
|
|
const t29 = props.items[29];
|
|
const t30 = props.items[30];
|
|
const t31 = props.items[31];
|
|
const t32 = props.items[32];
|
|
const t33 = props.items[33];
|
|
const t34 = props.items[34];
|
|
const t35 = props.items[35];
|
|
const t36 = props.items[36];
|
|
const t37 = props.items[37];
|
|
const t38 = props.items[38];
|
|
const t39 = props.items[39];
|
|
const t40 = props.items[40];
|
|
const t41 = props.items[41];
|
|
const t42 = props.items[42];
|
|
const t43 = props.items[43];
|
|
const t44 = props.items[44];
|
|
const t45 = props.items[45];
|
|
const t46 = props.items[46];
|
|
const t47 = props.items[47];
|
|
const t48 = props.items[48];
|
|
const t49 = props.items[49];
|
|
const t50 = props.items[50];
|
|
const t51 = props.items[51];
|
|
const t52 = props.items[52];
|
|
const t53 = props.items[53];
|
|
const t54 = props.items[54];
|
|
const t55 = props.items[55];
|
|
const t56 = props.items[56];
|
|
const t57 = props.items[57];
|
|
const t58 = props.items[58];
|
|
const t59 = props.items[59];
|
|
const t60 = props.items[60];
|
|
const t61 = props.items[61];
|
|
const t62 = props.items[62];
|
|
const t63 = props.items[63];
|
|
const t64 = props.items[64];
|
|
const t65 = props.items[65];
|
|
const t66 = props.items[66];
|
|
const t67 = props.items[67];
|
|
const t68 = props.items[68];
|
|
const t69 = props.items[69];
|
|
const t70 = props.items[70];
|
|
const t71 = props.items[71];
|
|
const t72 = props.items[72];
|
|
const t73 = props.items[73];
|
|
const t74 = props.items[74];
|
|
const t75 = props.items[75];
|
|
const t76 = props.items[76];
|
|
const t77 = props.items[77];
|
|
const t78 = props.items[78];
|
|
const t79 = props.items[79];
|
|
const t80 = props.items[80];
|
|
const t81 = props.items[81];
|
|
const t82 = props.items[82];
|
|
const t83 = props.items[83];
|
|
const t84 = props.items[84];
|
|
const t85 = props.items[85];
|
|
const t86 = props.items[86];
|
|
const t87 = props.items[87];
|
|
const t88 = props.items[88];
|
|
const t89 = props.items[89];
|
|
const t90 = props.items[90];
|
|
const t91 = props.items[91];
|
|
const t92 = props.items[92];
|
|
const t93 = props.items[93];
|
|
const t94 = props.items[94];
|
|
const t95 = props.items[95];
|
|
const t96 = props.items[96];
|
|
const t97 = props.items[97];
|
|
const t98 = props.items[98];
|
|
const t99 = props.items[99];
|
|
const t100 = props.items[100];
|
|
const t101 = props.items[101];
|
|
const t102 = props.items[102];
|
|
const t103 = props.items[103];
|
|
const t104 = props.items[104];
|
|
const t105 = props.items[105];
|
|
const t106 = props.items[106];
|
|
const t107 = props.items[107];
|
|
const t108 = props.items[108];
|
|
const t109 = props.items[109];
|
|
const t110 = props.items[110];
|
|
const t111 = props.items[111];
|
|
const t112 = props.items[112];
|
|
const t113 = props.items[113];
|
|
const t114 = props.items[114];
|
|
const t115 = props.items[115];
|
|
const t116 = props.items[116];
|
|
const t117 = props.items[117];
|
|
const t118 = props.items[118];
|
|
const t119 = props.items[119];
|
|
const t120 = props.items[120];
|
|
const t121 = props.items[121];
|
|
const t122 = props.items[122];
|
|
const t123 = props.items[123];
|
|
const t124 = props.items[124];
|
|
const t125 = props.items[125];
|
|
const t126 = props.items[126];
|
|
const t127 = props.items[127];
|
|
const t128 = props.items[128];
|
|
const t129 = props.items[129];
|
|
const t130 = props.items[130];
|
|
const t131 = props.items[131];
|
|
const t132 = props.items[132];
|
|
const t133 = props.items[133];
|
|
const t134 = props.items[134];
|
|
const t135 = props.items[135];
|
|
const t136 = props.items[136];
|
|
const t137 = props.items[137];
|
|
const t138 = props.items[138];
|
|
const t139 = props.items[139];
|
|
const t140 = props.items[140];
|
|
const t141 = props.items[141];
|
|
const t142 = props.items[142];
|
|
const t143 = props.items[143];
|
|
const t144 = props.items[144];
|
|
const t145 = props.items[145];
|
|
const t146 = props.items[146];
|
|
const t147 = props.items[147];
|
|
const t148 = props.items[148];
|
|
const t149 = props.items[149];
|
|
const t150 = props.items[150];
|
|
const t151 = props.items[151];
|
|
const t152 = props.items[152];
|
|
const t153 = props.items[153];
|
|
const t154 = props.items[154];
|
|
const t155 = props.items[155];
|
|
const t156 = props.items[156];
|
|
const t157 = props.items[157];
|
|
const t158 = props.items[158];
|
|
const t159 = props.items[159];
|
|
const t160 = props.items[160];
|
|
const t161 = props.items[161];
|
|
const t162 = props.items[162];
|
|
const t163 = props.items[163];
|
|
const t164 = props.items[164];
|
|
const t165 = props.items[165];
|
|
const t166 = props.items[166];
|
|
const t167 = props.items[167];
|
|
const t168 = props.items[168];
|
|
const t169 = props.items[169];
|
|
const t170 = props.items[170];
|
|
const t171 = props.items[171];
|
|
const t172 = props.items[172];
|
|
const t173 = props.items[173];
|
|
const t174 = props.items[174];
|
|
const t175 = props.items[175];
|
|
const t176 = props.items[176];
|
|
const t177 = props.items[177];
|
|
const t178 = props.items[178];
|
|
const t179 = props.items[179];
|
|
const t180 = props.items[180];
|
|
const t181 = props.items[181];
|
|
const t182 = props.items[182];
|
|
const t183 = props.items[183];
|
|
const t184 = props.items[184];
|
|
const t185 = props.items[185];
|
|
const t186 = props.items[186];
|
|
const t187 = props.items[187];
|
|
const t188 = props.items[188];
|
|
const t189 = props.items[189];
|
|
const t190 = props.items[190];
|
|
const t191 = props.items[191];
|
|
const t192 = props.items[192];
|
|
const t193 = props.items[193];
|
|
const t194 = props.items[194];
|
|
const t195 = props.items[195];
|
|
const t196 = props.items[196];
|
|
const t197 = props.items[197];
|
|
const t198 = props.items[198];
|
|
const t199 = props.items[199];
|
|
const t200 = props.items[200];
|
|
const t201 = props.items[201];
|
|
const t202 = props.items[202];
|
|
const t203 = props.items[203];
|
|
const t204 = props.items[204];
|
|
const t205 = props.items[205];
|
|
const t206 = props.items[206];
|
|
const t207 = props.items[207];
|
|
const t208 = props.items[208];
|
|
const t209 = props.items[209];
|
|
const t210 = props.items[210];
|
|
const t211 = props.items[211];
|
|
const t212 = props.items[212];
|
|
const t213 = props.items[213];
|
|
const t214 = props.items[214];
|
|
const t215 = props.items[215];
|
|
const t216 = props.items[216];
|
|
const t217 = props.items[217];
|
|
const t218 = props.items[218];
|
|
const t219 = props.items[219];
|
|
const t220 = props.items[220];
|
|
const t221 = props.items[221];
|
|
const t222 = props.items[222];
|
|
const t223 = props.items[223];
|
|
const t224 = props.items[224];
|
|
const t225 = props.items[225];
|
|
const t226 = props.items[226];
|
|
const t227 = props.items[227];
|
|
const t228 = props.items[228];
|
|
const t229 = props.items[229];
|
|
const t230 = props.items[230];
|
|
const t231 = props.items[231];
|
|
const t232 = props.items[232];
|
|
const t233 = props.items[233];
|
|
const t234 = props.items[234];
|
|
const t235 = props.items[235];
|
|
const t236 = props.items[236];
|
|
const t237 = props.items[237];
|
|
const t238 = props.items[238];
|
|
const t239 = props.items[239];
|
|
const t240 = props.items[240];
|
|
const t241 = props.items[241];
|
|
const t242 = props.items[242];
|
|
const t243 = props.items[243];
|
|
const t244 = props.items[244];
|
|
const t245 = props.items[245];
|
|
const t246 = props.items[246];
|
|
const t247 = props.items[247];
|
|
const t248 = props.items[248];
|
|
const t249 = props.items[249];
|
|
const t250 = props.items[250];
|
|
const t251 = props.items[251];
|
|
const t252 = props.items[252];
|
|
const t253 = props.items[253];
|
|
const t254 = props.items[254];
|
|
const t255 = props.items[255];
|
|
const t256 = props.items[256];
|
|
const t257 = props.items[257];
|
|
const t258 = props.items[258];
|
|
const t259 = props.items[259];
|
|
const t260 = props.items[260];
|
|
const t261 = props.items[261];
|
|
const t262 = props.items[262];
|
|
const t263 = props.items[263];
|
|
const t264 = props.items[264];
|
|
const t265 = props.items[265];
|
|
const t266 = props.items[266];
|
|
const t267 = props.items[267];
|
|
const t268 = props.items[268];
|
|
const t269 = props.items[269];
|
|
const t270 = props.items[270];
|
|
const t271 = props.items[271];
|
|
const t272 = props.items[272];
|
|
const t273 = props.items[273];
|
|
const t274 = props.items[274];
|
|
const t275 = props.items[275];
|
|
const t276 = props.items[276];
|
|
const t277 = props.items[277];
|
|
const t278 = props.items[278];
|
|
const t279 = props.items[279];
|
|
const t280 = props.items[280];
|
|
const t281 = props.items[281];
|
|
const t282 = props.items[282];
|
|
const t283 = props.items[283];
|
|
const t284 = props.items[284];
|
|
const t285 = props.items[285];
|
|
const t286 = props.items[286];
|
|
const t287 = props.items[287];
|
|
const t288 = props.items[288];
|
|
const t289 = props.items[289];
|
|
const t290 = props.items[290];
|
|
const t291 = props.items[291];
|
|
const t292 = props.items[292];
|
|
const t293 = props.items[293];
|
|
const t294 = props.items[294];
|
|
const t295 = props.items[295];
|
|
const t296 = props.items[296];
|
|
const t297 = props.items[297];
|
|
const t298 = props.items[298];
|
|
const t299 = props.items[299];
|
|
const t300 = props.items[300];
|
|
const t301 = props.items[301];
|
|
const t302 = props.items[302];
|
|
const t303 = props.items[303];
|
|
const t304 = props.items[304];
|
|
const t305 = props.items[305];
|
|
const t306 = props.items[306];
|
|
const t307 = props.items[307];
|
|
const t308 = props.items[308];
|
|
const t309 = props.items[309];
|
|
const t310 = props.items[310];
|
|
const t311 = props.items[311];
|
|
const t312 = props.items[312];
|
|
const t313 = props.items[313];
|
|
const t314 = props.items[314];
|
|
const t315 = props.items[315];
|
|
const t316 = props.items[316];
|
|
const t317 = props.items[317];
|
|
const t318 = props.items[318];
|
|
const t319 = props.items[319];
|
|
const t320 = props.items[320];
|
|
const t321 = props.items[321];
|
|
const t322 = props.items[322];
|
|
const t323 = props.items[323];
|
|
const t324 = props.items[324];
|
|
const t325 = props.items[325];
|
|
const t326 = props.items[326];
|
|
const t327 = props.items[327];
|
|
const t328 = props.items[328];
|
|
const t329 = props.items[329];
|
|
const t330 = props.items[330];
|
|
const t331 = props.items[331];
|
|
const t332 = props.items[332];
|
|
const t333 = props.items[333];
|
|
const t334 = props.items[334];
|
|
const t335 = props.items[335];
|
|
const t336 = props.items[336];
|
|
const t337 = props.items[337];
|
|
const t338 = props.items[338];
|
|
const t339 = props.items[339];
|
|
const t340 = props.items[340];
|
|
const t341 = props.items[341];
|
|
const t342 = props.items[342];
|
|
const t343 = props.items[343];
|
|
const t344 = props.items[344];
|
|
const t345 = props.items[345];
|
|
const t346 = props.items[346];
|
|
const t347 = props.items[347];
|
|
const t348 = props.items[348];
|
|
const t349 = props.items[349];
|
|
const t350 = props.items[350];
|
|
const t351 = props.items[351];
|
|
const t352 = props.items[352];
|
|
const t353 = props.items[353];
|
|
const t354 = props.items[354];
|
|
const t355 = props.items[355];
|
|
const t356 = props.items[356];
|
|
const t357 = props.items[357];
|
|
const t358 = props.items[358];
|
|
const t359 = props.items[359];
|
|
const t360 = props.items[360];
|
|
const t361 = props.items[361];
|
|
const t362 = props.items[362];
|
|
const t363 = props.items[363];
|
|
const t364 = props.items[364];
|
|
const t365 = props.items[365];
|
|
const t366 = props.items[366];
|
|
const t367 = props.items[367];
|
|
const t368 = props.items[368];
|
|
const t369 = props.items[369];
|
|
const t370 = props.items[370];
|
|
const t371 = props.items[371];
|
|
const t372 = props.items[372];
|
|
const t373 = props.items[373];
|
|
const t374 = props.items[374];
|
|
const t375 = props.items[375];
|
|
const t376 = props.items[376];
|
|
const t377 = props.items[377];
|
|
const t378 = props.items[378];
|
|
const t379 = props.items[379];
|
|
const t380 = props.items[380];
|
|
const t381 = props.items[381];
|
|
const t382 = props.items[382];
|
|
const t383 = props.items[383];
|
|
const t384 = props.items[384];
|
|
const t385 = props.items[385];
|
|
const t386 = props.items[386];
|
|
const t387 = props.items[387];
|
|
const t388 = props.items[388];
|
|
const t389 = props.items[389];
|
|
const t390 = props.items[390];
|
|
const t391 = props.items[391];
|
|
const t392 = props.items[392];
|
|
const t393 = props.items[393];
|
|
const t394 = props.items[394];
|
|
const t395 = props.items[395];
|
|
const t396 = props.items[396];
|
|
const t397 = props.items[397];
|
|
const t398 = props.items[398];
|
|
const t399 = props.items[399];
|
|
let t400;
|
|
if ($[0] !== t0 || $[1] !== t1 || $[2] !== t10 || $[3] !== t100 || $[4] !== t101 || $[5] !== t102 || $[6] !== t103 || $[7] !== t104 || $[8] !== t105 || $[9] !== t106 || $[10] !== t107 || $[11] !== t108 || $[12] !== t109 || $[13] !== t11 || $[14] !== t110 || $[15] !== t111 || $[16] !== t112 || $[17] !== t113 || $[18] !== t114 || $[19] !== t115 || $[20] !== t116 || $[21] !== t117 || $[22] !== t118 || $[23] !== t119 || $[24] !== t12 || $[25] !== t120 || $[26] !== t121 || $[27] !== t122 || $[28] !== t123 || $[29] !== t124 || $[30] !== t125 || $[31] !== t126 || $[32] !== t127 || $[33] !== t128 || $[34] !== t129 || $[35] !== t13 || $[36] !== t130 || $[37] !== t131 || $[38] !== t132 || $[39] !== t133 || $[40] !== t134 || $[41] !== t135 || $[42] !== t136 || $[43] !== t137 || $[44] !== t138 || $[45] !== t139 || $[46] !== t14 || $[47] !== t140 || $[48] !== t141 || $[49] !== t142 || $[50] !== t143 || $[51] !== t144 || $[52] !== t145 || $[53] !== t146 || $[54] !== t147 || $[55] !== t148 || $[56] !== t149 || $[57] !== t15 || $[58] !== t150 || $[59] !== t151 || $[60] !== t152 || $[61] !== t153 || $[62] !== t154 || $[63] !== t155 || $[64] !== t156 || $[65] !== t157 || $[66] !== t158 || $[67] !== t159 || $[68] !== t16 || $[69] !== t160 || $[70] !== t161 || $[71] !== t162 || $[72] !== t163 || $[73] !== t164 || $[74] !== t165 || $[75] !== t166 || $[76] !== t167 || $[77] !== t168 || $[78] !== t169 || $[79] !== t17 || $[80] !== t170 || $[81] !== t171 || $[82] !== t172 || $[83] !== t173 || $[84] !== t174 || $[85] !== t175 || $[86] !== t176 || $[87] !== t177 || $[88] !== t178 || $[89] !== t179 || $[90] !== t18 || $[91] !== t180 || $[92] !== t181 || $[93] !== t182 || $[94] !== t183 || $[95] !== t184 || $[96] !== t185 || $[97] !== t186 || $[98] !== t187 || $[99] !== t188 || $[100] !== t189 || $[101] !== t19 || $[102] !== t190 || $[103] !== t191 || $[104] !== t192 || $[105] !== t193 || $[106] !== t194 || $[107] !== t195 || $[108] !== t196 || $[109] !== t197 || $[110] !== t198 || $[111] !== t199 || $[112] !== t2 || $[113] !== t20 || $[114] !== t200 || $[115] !== t201 || $[116] !== t202 || $[117] !== t203 || $[118] !== t204 || $[119] !== t205 || $[120] !== t206 || $[121] !== t207 || $[122] !== t208 || $[123] !== t209 || $[124] !== t21 || $[125] !== t210 || $[126] !== t211 || $[127] !== t212 || $[128] !== t213 || $[129] !== t214 || $[130] !== t215 || $[131] !== t216 || $[132] !== t217 || $[133] !== t218 || $[134] !== t219 || $[135] !== t22 || $[136] !== t220 || $[137] !== t221 || $[138] !== t222 || $[139] !== t223 || $[140] !== t224 || $[141] !== t225 || $[142] !== t226 || $[143] !== t227 || $[144] !== t228 || $[145] !== t229 || $[146] !== t23 || $[147] !== t230 || $[148] !== t231 || $[149] !== t232 || $[150] !== t233 || $[151] !== t234 || $[152] !== t235 || $[153] !== t236 || $[154] !== t237 || $[155] !== t238 || $[156] !== t239 || $[157] !== t24 || $[158] !== t240 || $[159] !== t241 || $[160] !== t242 || $[161] !== t243 || $[162] !== t244 || $[163] !== t245 || $[164] !== t246 || $[165] !== t247 || $[166] !== t248 || $[167] !== t249 || $[168] !== t25 || $[169] !== t250 || $[170] !== t251 || $[171] !== t252 || $[172] !== t253 || $[173] !== t254 || $[174] !== t255 || $[175] !== t256 || $[176] !== t257 || $[177] !== t258 || $[178] !== t259 || $[179] !== t26 || $[180] !== t260 || $[181] !== t261 || $[182] !== t262 || $[183] !== t263 || $[184] !== t264 || $[185] !== t265 || $[186] !== t266 || $[187] !== t267 || $[188] !== t268 || $[189] !== t269 || $[190] !== t27 || $[191] !== t270 || $[192] !== t271 || $[193] !== t272 || $[194] !== t273 || $[195] !== t274 || $[196] !== t275 || $[197] !== t276 || $[198] !== t277 || $[199] !== t278 || $[200] !== t279 || $[201] !== t28 || $[202] !== t280 || $[203] !== t281 || $[204] !== t282 || $[205] !== t283 || $[206] !== t284 || $[207] !== t285 || $[208] !== t286 || $[209] !== t287 || $[210] !== t288 || $[211] !== t289 || $[212] !== t29 || $[213] !== t290 || $[214] !== t291 || $[215] !== t292 || $[216] !== t293 || $[217] !== t294 || $[218] !== t295 || $[219] !== t296 || $[220] !== t297 || $[221] !== t298 || $[222] !== t299 || $[223] !== t3 || $[224] !== t30 || $[225] !== t300 || $[226] !== t301 || $[227] !== t302 || $[228] !== t303 || $[229] !== t304 || $[230] !== t305 || $[231] !== t306 || $[232] !== t307 || $[233] !== t308 || $[234] !== t309 || $[235] !== t31 || $[236] !== t310 || $[237] !== t311 || $[238] !== t312 || $[239] !== t313 || $[240] !== t314 || $[241] !== t315 || $[242] !== t316 || $[243] !== t317 || $[244] !== t318 || $[245] !== t319 || $[246] !== t32 || $[247] !== t320 || $[248] !== t321 || $[249] !== t322 || $[250] !== t323 || $[251] !== t324 || $[252] !== t325 || $[253] !== t326 || $[254] !== t327 || $[255] !== t328 || $[256] !== t329 || $[257] !== t33 || $[258] !== t330 || $[259] !== t331 || $[260] !== t332 || $[261] !== t333 || $[262] !== t334 || $[263] !== t335 || $[264] !== t336 || $[265] !== t337 || $[266] !== t338 || $[267] !== t339 || $[268] !== t34 || $[269] !== t340 || $[270] !== t341 || $[271] !== t342 || $[272] !== t343 || $[273] !== t344 || $[274] !== t345 || $[275] !== t346 || $[276] !== t347 || $[277] !== t348 || $[278] !== t349 || $[279] !== t35 || $[280] !== t350 || $[281] !== t351 || $[282] !== t352 || $[283] !== t353 || $[284] !== t354 || $[285] !== t355 || $[286] !== t356 || $[287] !== t357 || $[288] !== t358 || $[289] !== t359 || $[290] !== t36 || $[291] !== t360 || $[292] !== t361 || $[293] !== t362 || $[294] !== t363 || $[295] !== t364 || $[296] !== t365 || $[297] !== t366 || $[298] !== t367 || $[299] !== t368 || $[300] !== t369 || $[301] !== t37 || $[302] !== t370 || $[303] !== t371 || $[304] !== t372 || $[305] !== t373 || $[306] !== t374 || $[307] !== t375 || $[308] !== t376 || $[309] !== t377 || $[310] !== t378 || $[311] !== t379 || $[312] !== t38 || $[313] !== t380 || $[314] !== t381 || $[315] !== t382 || $[316] !== t383 || $[317] !== t384 || $[318] !== t385 || $[319] !== t386 || $[320] !== t387 || $[321] !== t388 || $[322] !== t389 || $[323] !== t39 || $[324] !== t390 || $[325] !== t391 || $[326] !== t392 || $[327] !== t393 || $[328] !== t394 || $[329] !== t395 || $[330] !== t396 || $[331] !== t397 || $[332] !== t398 || $[333] !== t399 || $[334] !== t4 || $[335] !== t40 || $[336] !== t41 || $[337] !== t42 || $[338] !== t43 || $[339] !== t44 || $[340] !== t45 || $[341] !== t46 || $[342] !== t47 || $[343] !== t48 || $[344] !== t49 || $[345] !== t5 || $[346] !== t50 || $[347] !== t51 || $[348] !== t52 || $[349] !== t53 || $[350] !== t54 || $[351] !== t55 || $[352] !== t56 || $[353] !== t57 || $[354] !== t58 || $[355] !== t59 || $[356] !== t6 || $[357] !== t60 || $[358] !== t61 || $[359] !== t62 || $[360] !== t63 || $[361] !== t64 || $[362] !== t65 || $[363] !== t66 || $[364] !== t67 || $[365] !== t68 || $[366] !== t69 || $[367] !== t7 || $[368] !== t70 || $[369] !== t71 || $[370] !== t72 || $[371] !== t73 || $[372] !== t74 || $[373] !== t75 || $[374] !== t76 || $[375] !== t77 || $[376] !== t78 || $[377] !== t79 || $[378] !== t8 || $[379] !== t80 || $[380] !== t81 || $[381] !== t82 || $[382] !== t83 || $[383] !== t84 || $[384] !== t85 || $[385] !== t86 || $[386] !== t87 || $[387] !== t88 || $[388] !== t89 || $[389] !== t9 || $[390] !== t90 || $[391] !== t91 || $[392] !== t92 || $[393] !== t93 || $[394] !== t94 || $[395] !== t95 || $[396] !== t96 || $[397] !== t97 || $[398] !== t98 || $[399] !== t99) {
|
|
t400 = [
|
|
t0,
|
|
t1,
|
|
t2,
|
|
t3,
|
|
t4,
|
|
t5,
|
|
t6,
|
|
t7,
|
|
t8,
|
|
t9,
|
|
t10,
|
|
t11,
|
|
t12,
|
|
t13,
|
|
t14,
|
|
t15,
|
|
t16,
|
|
t17,
|
|
t18,
|
|
t19,
|
|
t20,
|
|
t21,
|
|
t22,
|
|
t23,
|
|
t24,
|
|
t25,
|
|
t26,
|
|
t27,
|
|
t28,
|
|
t29,
|
|
t30,
|
|
t31,
|
|
t32,
|
|
t33,
|
|
t34,
|
|
t35,
|
|
t36,
|
|
t37,
|
|
t38,
|
|
t39,
|
|
t40,
|
|
t41,
|
|
t42,
|
|
t43,
|
|
t44,
|
|
t45,
|
|
t46,
|
|
t47,
|
|
t48,
|
|
t49,
|
|
t50,
|
|
t51,
|
|
t52,
|
|
t53,
|
|
t54,
|
|
t55,
|
|
t56,
|
|
t57,
|
|
t58,
|
|
t59,
|
|
t60,
|
|
t61,
|
|
t62,
|
|
t63,
|
|
t64,
|
|
t65,
|
|
t66,
|
|
t67,
|
|
t68,
|
|
t69,
|
|
t70,
|
|
t71,
|
|
t72,
|
|
t73,
|
|
t74,
|
|
t75,
|
|
t76,
|
|
t77,
|
|
t78,
|
|
t79,
|
|
t80,
|
|
t81,
|
|
t82,
|
|
t83,
|
|
t84,
|
|
t85,
|
|
t86,
|
|
t87,
|
|
t88,
|
|
t89,
|
|
t90,
|
|
t91,
|
|
t92,
|
|
t93,
|
|
t94,
|
|
t95,
|
|
t96,
|
|
t97,
|
|
t98,
|
|
t99,
|
|
t100,
|
|
t101,
|
|
t102,
|
|
t103,
|
|
t104,
|
|
t105,
|
|
t106,
|
|
t107,
|
|
t108,
|
|
t109,
|
|
t110,
|
|
t111,
|
|
t112,
|
|
t113,
|
|
t114,
|
|
t115,
|
|
t116,
|
|
t117,
|
|
t118,
|
|
t119,
|
|
t120,
|
|
t121,
|
|
t122,
|
|
t123,
|
|
t124,
|
|
t125,
|
|
t126,
|
|
t127,
|
|
t128,
|
|
t129,
|
|
t130,
|
|
t131,
|
|
t132,
|
|
t133,
|
|
t134,
|
|
t135,
|
|
t136,
|
|
t137,
|
|
t138,
|
|
t139,
|
|
t140,
|
|
t141,
|
|
t142,
|
|
t143,
|
|
t144,
|
|
t145,
|
|
t146,
|
|
t147,
|
|
t148,
|
|
t149,
|
|
t150,
|
|
t151,
|
|
t152,
|
|
t153,
|
|
t154,
|
|
t155,
|
|
t156,
|
|
t157,
|
|
t158,
|
|
t159,
|
|
t160,
|
|
t161,
|
|
t162,
|
|
t163,
|
|
t164,
|
|
t165,
|
|
t166,
|
|
t167,
|
|
t168,
|
|
t169,
|
|
t170,
|
|
t171,
|
|
t172,
|
|
t173,
|
|
t174,
|
|
t175,
|
|
t176,
|
|
t177,
|
|
t178,
|
|
t179,
|
|
t180,
|
|
t181,
|
|
t182,
|
|
t183,
|
|
t184,
|
|
t185,
|
|
t186,
|
|
t187,
|
|
t188,
|
|
t189,
|
|
t190,
|
|
t191,
|
|
t192,
|
|
t193,
|
|
t194,
|
|
t195,
|
|
t196,
|
|
t197,
|
|
t198,
|
|
t199,
|
|
t200,
|
|
t201,
|
|
t202,
|
|
t203,
|
|
t204,
|
|
t205,
|
|
t206,
|
|
t207,
|
|
t208,
|
|
t209,
|
|
t210,
|
|
t211,
|
|
t212,
|
|
t213,
|
|
t214,
|
|
t215,
|
|
t216,
|
|
t217,
|
|
t218,
|
|
t219,
|
|
t220,
|
|
t221,
|
|
t222,
|
|
t223,
|
|
t224,
|
|
t225,
|
|
t226,
|
|
t227,
|
|
t228,
|
|
t229,
|
|
t230,
|
|
t231,
|
|
t232,
|
|
t233,
|
|
t234,
|
|
t235,
|
|
t236,
|
|
t237,
|
|
t238,
|
|
t239,
|
|
t240,
|
|
t241,
|
|
t242,
|
|
t243,
|
|
t244,
|
|
t245,
|
|
t246,
|
|
t247,
|
|
t248,
|
|
t249,
|
|
t250,
|
|
t251,
|
|
t252,
|
|
t253,
|
|
t254,
|
|
t255,
|
|
t256,
|
|
t257,
|
|
t258,
|
|
t259,
|
|
t260,
|
|
t261,
|
|
t262,
|
|
t263,
|
|
t264,
|
|
t265,
|
|
t266,
|
|
t267,
|
|
t268,
|
|
t269,
|
|
t270,
|
|
t271,
|
|
t272,
|
|
t273,
|
|
t274,
|
|
t275,
|
|
t276,
|
|
t277,
|
|
t278,
|
|
t279,
|
|
t280,
|
|
t281,
|
|
t282,
|
|
t283,
|
|
t284,
|
|
t285,
|
|
t286,
|
|
t287,
|
|
t288,
|
|
t289,
|
|
t290,
|
|
t291,
|
|
t292,
|
|
t293,
|
|
t294,
|
|
t295,
|
|
t296,
|
|
t297,
|
|
t298,
|
|
t299,
|
|
t300,
|
|
t301,
|
|
t302,
|
|
t303,
|
|
t304,
|
|
t305,
|
|
t306,
|
|
t307,
|
|
t308,
|
|
t309,
|
|
t310,
|
|
t311,
|
|
t312,
|
|
t313,
|
|
t314,
|
|
t315,
|
|
t316,
|
|
t317,
|
|
t318,
|
|
t319,
|
|
t320,
|
|
t321,
|
|
t322,
|
|
t323,
|
|
t324,
|
|
t325,
|
|
t326,
|
|
t327,
|
|
t328,
|
|
t329,
|
|
t330,
|
|
t331,
|
|
t332,
|
|
t333,
|
|
t334,
|
|
t335,
|
|
t336,
|
|
t337,
|
|
t338,
|
|
t339,
|
|
t340,
|
|
t341,
|
|
t342,
|
|
t343,
|
|
t344,
|
|
t345,
|
|
t346,
|
|
t347,
|
|
t348,
|
|
t349,
|
|
t350,
|
|
t351,
|
|
t352,
|
|
t353,
|
|
t354,
|
|
t355,
|
|
t356,
|
|
t357,
|
|
t358,
|
|
t359,
|
|
t360,
|
|
t361,
|
|
t362,
|
|
t363,
|
|
t364,
|
|
t365,
|
|
t366,
|
|
t367,
|
|
t368,
|
|
t369,
|
|
t370,
|
|
t371,
|
|
t372,
|
|
t373,
|
|
t374,
|
|
t375,
|
|
t376,
|
|
t377,
|
|
t378,
|
|
t379,
|
|
t380,
|
|
t381,
|
|
t382,
|
|
t383,
|
|
t384,
|
|
t385,
|
|
t386,
|
|
t387,
|
|
t388,
|
|
t389,
|
|
t390,
|
|
t391,
|
|
t392,
|
|
t393,
|
|
t394,
|
|
t395,
|
|
t396,
|
|
t397,
|
|
t398,
|
|
t399
|
|
];
|
|
$[0] = t0;
|
|
$[1] = t1;
|
|
$[2] = t10;
|
|
$[3] = t100;
|
|
$[4] = t101;
|
|
$[5] = t102;
|
|
$[6] = t103;
|
|
$[7] = t104;
|
|
$[8] = t105;
|
|
$[9] = t106;
|
|
$[10] = t107;
|
|
$[11] = t108;
|
|
$[12] = t109;
|
|
$[13] = t11;
|
|
$[14] = t110;
|
|
$[15] = t111;
|
|
$[16] = t112;
|
|
$[17] = t113;
|
|
$[18] = t114;
|
|
$[19] = t115;
|
|
$[20] = t116;
|
|
$[21] = t117;
|
|
$[22] = t118;
|
|
$[23] = t119;
|
|
$[24] = t12;
|
|
$[25] = t120;
|
|
$[26] = t121;
|
|
$[27] = t122;
|
|
$[28] = t123;
|
|
$[29] = t124;
|
|
$[30] = t125;
|
|
$[31] = t126;
|
|
$[32] = t127;
|
|
$[33] = t128;
|
|
$[34] = t129;
|
|
$[35] = t13;
|
|
$[36] = t130;
|
|
$[37] = t131;
|
|
$[38] = t132;
|
|
$[39] = t133;
|
|
$[40] = t134;
|
|
$[41] = t135;
|
|
$[42] = t136;
|
|
$[43] = t137;
|
|
$[44] = t138;
|
|
$[45] = t139;
|
|
$[46] = t14;
|
|
$[47] = t140;
|
|
$[48] = t141;
|
|
$[49] = t142;
|
|
$[50] = t143;
|
|
$[51] = t144;
|
|
$[52] = t145;
|
|
$[53] = t146;
|
|
$[54] = t147;
|
|
$[55] = t148;
|
|
$[56] = t149;
|
|
$[57] = t15;
|
|
$[58] = t150;
|
|
$[59] = t151;
|
|
$[60] = t152;
|
|
$[61] = t153;
|
|
$[62] = t154;
|
|
$[63] = t155;
|
|
$[64] = t156;
|
|
$[65] = t157;
|
|
$[66] = t158;
|
|
$[67] = t159;
|
|
$[68] = t16;
|
|
$[69] = t160;
|
|
$[70] = t161;
|
|
$[71] = t162;
|
|
$[72] = t163;
|
|
$[73] = t164;
|
|
$[74] = t165;
|
|
$[75] = t166;
|
|
$[76] = t167;
|
|
$[77] = t168;
|
|
$[78] = t169;
|
|
$[79] = t17;
|
|
$[80] = t170;
|
|
$[81] = t171;
|
|
$[82] = t172;
|
|
$[83] = t173;
|
|
$[84] = t174;
|
|
$[85] = t175;
|
|
$[86] = t176;
|
|
$[87] = t177;
|
|
$[88] = t178;
|
|
$[89] = t179;
|
|
$[90] = t18;
|
|
$[91] = t180;
|
|
$[92] = t181;
|
|
$[93] = t182;
|
|
$[94] = t183;
|
|
$[95] = t184;
|
|
$[96] = t185;
|
|
$[97] = t186;
|
|
$[98] = t187;
|
|
$[99] = t188;
|
|
$[100] = t189;
|
|
$[101] = t19;
|
|
$[102] = t190;
|
|
$[103] = t191;
|
|
$[104] = t192;
|
|
$[105] = t193;
|
|
$[106] = t194;
|
|
$[107] = t195;
|
|
$[108] = t196;
|
|
$[109] = t197;
|
|
$[110] = t198;
|
|
$[111] = t199;
|
|
$[112] = t2;
|
|
$[113] = t20;
|
|
$[114] = t200;
|
|
$[115] = t201;
|
|
$[116] = t202;
|
|
$[117] = t203;
|
|
$[118] = t204;
|
|
$[119] = t205;
|
|
$[120] = t206;
|
|
$[121] = t207;
|
|
$[122] = t208;
|
|
$[123] = t209;
|
|
$[124] = t21;
|
|
$[125] = t210;
|
|
$[126] = t211;
|
|
$[127] = t212;
|
|
$[128] = t213;
|
|
$[129] = t214;
|
|
$[130] = t215;
|
|
$[131] = t216;
|
|
$[132] = t217;
|
|
$[133] = t218;
|
|
$[134] = t219;
|
|
$[135] = t22;
|
|
$[136] = t220;
|
|
$[137] = t221;
|
|
$[138] = t222;
|
|
$[139] = t223;
|
|
$[140] = t224;
|
|
$[141] = t225;
|
|
$[142] = t226;
|
|
$[143] = t227;
|
|
$[144] = t228;
|
|
$[145] = t229;
|
|
$[146] = t23;
|
|
$[147] = t230;
|
|
$[148] = t231;
|
|
$[149] = t232;
|
|
$[150] = t233;
|
|
$[151] = t234;
|
|
$[152] = t235;
|
|
$[153] = t236;
|
|
$[154] = t237;
|
|
$[155] = t238;
|
|
$[156] = t239;
|
|
$[157] = t24;
|
|
$[158] = t240;
|
|
$[159] = t241;
|
|
$[160] = t242;
|
|
$[161] = t243;
|
|
$[162] = t244;
|
|
$[163] = t245;
|
|
$[164] = t246;
|
|
$[165] = t247;
|
|
$[166] = t248;
|
|
$[167] = t249;
|
|
$[168] = t25;
|
|
$[169] = t250;
|
|
$[170] = t251;
|
|
$[171] = t252;
|
|
$[172] = t253;
|
|
$[173] = t254;
|
|
$[174] = t255;
|
|
$[175] = t256;
|
|
$[176] = t257;
|
|
$[177] = t258;
|
|
$[178] = t259;
|
|
$[179] = t26;
|
|
$[180] = t260;
|
|
$[181] = t261;
|
|
$[182] = t262;
|
|
$[183] = t263;
|
|
$[184] = t264;
|
|
$[185] = t265;
|
|
$[186] = t266;
|
|
$[187] = t267;
|
|
$[188] = t268;
|
|
$[189] = t269;
|
|
$[190] = t27;
|
|
$[191] = t270;
|
|
$[192] = t271;
|
|
$[193] = t272;
|
|
$[194] = t273;
|
|
$[195] = t274;
|
|
$[196] = t275;
|
|
$[197] = t276;
|
|
$[198] = t277;
|
|
$[199] = t278;
|
|
$[200] = t279;
|
|
$[201] = t28;
|
|
$[202] = t280;
|
|
$[203] = t281;
|
|
$[204] = t282;
|
|
$[205] = t283;
|
|
$[206] = t284;
|
|
$[207] = t285;
|
|
$[208] = t286;
|
|
$[209] = t287;
|
|
$[210] = t288;
|
|
$[211] = t289;
|
|
$[212] = t29;
|
|
$[213] = t290;
|
|
$[214] = t291;
|
|
$[215] = t292;
|
|
$[216] = t293;
|
|
$[217] = t294;
|
|
$[218] = t295;
|
|
$[219] = t296;
|
|
$[220] = t297;
|
|
$[221] = t298;
|
|
$[222] = t299;
|
|
$[223] = t3;
|
|
$[224] = t30;
|
|
$[225] = t300;
|
|
$[226] = t301;
|
|
$[227] = t302;
|
|
$[228] = t303;
|
|
$[229] = t304;
|
|
$[230] = t305;
|
|
$[231] = t306;
|
|
$[232] = t307;
|
|
$[233] = t308;
|
|
$[234] = t309;
|
|
$[235] = t31;
|
|
$[236] = t310;
|
|
$[237] = t311;
|
|
$[238] = t312;
|
|
$[239] = t313;
|
|
$[240] = t314;
|
|
$[241] = t315;
|
|
$[242] = t316;
|
|
$[243] = t317;
|
|
$[244] = t318;
|
|
$[245] = t319;
|
|
$[246] = t32;
|
|
$[247] = t320;
|
|
$[248] = t321;
|
|
$[249] = t322;
|
|
$[250] = t323;
|
|
$[251] = t324;
|
|
$[252] = t325;
|
|
$[253] = t326;
|
|
$[254] = t327;
|
|
$[255] = t328;
|
|
$[256] = t329;
|
|
$[257] = t33;
|
|
$[258] = t330;
|
|
$[259] = t331;
|
|
$[260] = t332;
|
|
$[261] = t333;
|
|
$[262] = t334;
|
|
$[263] = t335;
|
|
$[264] = t336;
|
|
$[265] = t337;
|
|
$[266] = t338;
|
|
$[267] = t339;
|
|
$[268] = t34;
|
|
$[269] = t340;
|
|
$[270] = t341;
|
|
$[271] = t342;
|
|
$[272] = t343;
|
|
$[273] = t344;
|
|
$[274] = t345;
|
|
$[275] = t346;
|
|
$[276] = t347;
|
|
$[277] = t348;
|
|
$[278] = t349;
|
|
$[279] = t35;
|
|
$[280] = t350;
|
|
$[281] = t351;
|
|
$[282] = t352;
|
|
$[283] = t353;
|
|
$[284] = t354;
|
|
$[285] = t355;
|
|
$[286] = t356;
|
|
$[287] = t357;
|
|
$[288] = t358;
|
|
$[289] = t359;
|
|
$[290] = t36;
|
|
$[291] = t360;
|
|
$[292] = t361;
|
|
$[293] = t362;
|
|
$[294] = t363;
|
|
$[295] = t364;
|
|
$[296] = t365;
|
|
$[297] = t366;
|
|
$[298] = t367;
|
|
$[299] = t368;
|
|
$[300] = t369;
|
|
$[301] = t37;
|
|
$[302] = t370;
|
|
$[303] = t371;
|
|
$[304] = t372;
|
|
$[305] = t373;
|
|
$[306] = t374;
|
|
$[307] = t375;
|
|
$[308] = t376;
|
|
$[309] = t377;
|
|
$[310] = t378;
|
|
$[311] = t379;
|
|
$[312] = t38;
|
|
$[313] = t380;
|
|
$[314] = t381;
|
|
$[315] = t382;
|
|
$[316] = t383;
|
|
$[317] = t384;
|
|
$[318] = t385;
|
|
$[319] = t386;
|
|
$[320] = t387;
|
|
$[321] = t388;
|
|
$[322] = t389;
|
|
$[323] = t39;
|
|
$[324] = t390;
|
|
$[325] = t391;
|
|
$[326] = t392;
|
|
$[327] = t393;
|
|
$[328] = t394;
|
|
$[329] = t395;
|
|
$[330] = t396;
|
|
$[331] = t397;
|
|
$[332] = t398;
|
|
$[333] = t399;
|
|
$[334] = t4;
|
|
$[335] = t40;
|
|
$[336] = t41;
|
|
$[337] = t42;
|
|
$[338] = t43;
|
|
$[339] = t44;
|
|
$[340] = t45;
|
|
$[341] = t46;
|
|
$[342] = t47;
|
|
$[343] = t48;
|
|
$[344] = t49;
|
|
$[345] = t5;
|
|
$[346] = t50;
|
|
$[347] = t51;
|
|
$[348] = t52;
|
|
$[349] = t53;
|
|
$[350] = t54;
|
|
$[351] = t55;
|
|
$[352] = t56;
|
|
$[353] = t57;
|
|
$[354] = t58;
|
|
$[355] = t59;
|
|
$[356] = t6;
|
|
$[357] = t60;
|
|
$[358] = t61;
|
|
$[359] = t62;
|
|
$[360] = t63;
|
|
$[361] = t64;
|
|
$[362] = t65;
|
|
$[363] = t66;
|
|
$[364] = t67;
|
|
$[365] = t68;
|
|
$[366] = t69;
|
|
$[367] = t7;
|
|
$[368] = t70;
|
|
$[369] = t71;
|
|
$[370] = t72;
|
|
$[371] = t73;
|
|
$[372] = t74;
|
|
$[373] = t75;
|
|
$[374] = t76;
|
|
$[375] = t77;
|
|
$[376] = t78;
|
|
$[377] = t79;
|
|
$[378] = t8;
|
|
$[379] = t80;
|
|
$[380] = t81;
|
|
$[381] = t82;
|
|
$[382] = t83;
|
|
$[383] = t84;
|
|
$[384] = t85;
|
|
$[385] = t86;
|
|
$[386] = t87;
|
|
$[387] = t88;
|
|
$[388] = t89;
|
|
$[389] = t9;
|
|
$[390] = t90;
|
|
$[391] = t91;
|
|
$[392] = t92;
|
|
$[393] = t93;
|
|
$[394] = t94;
|
|
$[395] = t95;
|
|
$[396] = t96;
|
|
$[397] = t97;
|
|
$[398] = t98;
|
|
$[399] = t99;
|
|
$[400] = t400;
|
|
} else {
|
|
t400 = $[400];
|
|
}
|
|
return t400;
|
|
}
|