cubing 0.53.15 → 0.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -360,4 +360,4 @@ export {
360
360
  solveTwsearch,
361
361
  setSearchDebug
362
362
  };
363
- //# sourceMappingURL=chunk-XCLZRR6J.js.map
363
+ //# sourceMappingURL=chunk-OPV6VG3X.js.map
@@ -164,7 +164,7 @@ var TrembleSolver = class {
164
164
  };
165
165
 
166
166
  // src/cubing/search/inside/solve/twsearch.ts
167
- var twsearchPromise = from(async () => import("./twsearch-2T5RAJYA.js"));
167
+ var twsearchPromise = from(async () => import("./twsearch-KODGQJMW.js"));
168
168
  async function wasmTwsearch(def, pattern, options) {
169
169
  const { wasmTwsearch: wasmTwsearch2 } = await twsearchPromise;
170
170
  return wasmTwsearch2(def, pattern, options);
@@ -200,7 +200,7 @@ async function solve222(pattern) {
200
200
  }
201
201
 
202
202
  // src/cubing/search/inside/solve/puzzles/dynamic/4x4x4/index.ts
203
- var dynamic4x4x4Solver = from(() => import("./search-dynamic-solve-4x4x4-MOGTZMVH.js"));
203
+ var dynamic4x4x4Solver = from(() => import("./search-dynamic-solve-4x4x4-6JR6MPNN.js"));
204
204
 
205
205
  // src/cubing/search/inside/solve/puzzles/4x4x4.ts
206
206
  var randomSuffixes = [
@@ -349,16 +349,6 @@ async function solveSkewb(pattern) {
349
349
  return alg;
350
350
  }
351
351
 
352
- // src/cubing/search/inside/solve/puzzles/dynamic/sq1/index.ts
353
- var dynamicSq1Solver = from(() => import("./search-dynamic-solve-sq1-YESVPPLF.js"));
354
-
355
- // src/cubing/search/inside/solve/puzzles/sq1.ts
356
- async function getRandomSquare1Scramble() {
357
- return Alg.fromString(
358
- await (await dynamicSq1Solver).getRandomSquare1ScrambleString()
359
- );
360
- }
361
-
362
352
  // src/cubing/search/inside/api.ts
363
353
  var IDLE_PREFETCH_TIMEOUT_MS = 1e3;
364
354
  setIsInsideWorker(true);
@@ -420,7 +410,7 @@ async function randomScrambleForEvent(eventID, options) {
420
410
  case "minx":
421
411
  case "pyram":
422
412
  case "skewb":
423
- // case "sq1":
413
+ case "sq1":
424
414
  // case "444bf":
425
415
  case "555bf":
426
416
  // case "333mbf":
@@ -451,14 +441,6 @@ async function randomScrambleForEvent(eventID, options) {
451
441
  "random444OrientedScramble",
452
442
  random444OrientedScramble
453
443
  );
454
- case "sq1":
455
- return measurePerf(
456
- "getRandomSquare1Scramble",
457
- getRandomSquare1Scramble,
458
- {
459
- isPrefetch: options?.isPrefetch
460
- }
461
- );
462
444
  case "fto":
463
445
  return measurePerf("randomFTOScramble", randomFTOScramble, {
464
446
  isPrefetch: options?.isPrefetch
@@ -568,4 +550,4 @@ var insideAPI = {
568
550
 
569
551
  // src/cubing/search/inside/index.ts
570
552
  expose(insideAPI);
571
- //# sourceMappingURL=inside-HUVZTKYH.js.map
553
+ //# sourceMappingURL=inside-LUDELYNF.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/cubing/search/inside/solve/puzzles/2x2x2.ts", "../../../../src/cubing/search/inside/solve/tremble.ts", "../../../../src/cubing/search/inside/solve/twsearch.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/4x4x4/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/4x4x4.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/fto/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/fto.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/kilominx/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/kilominx.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/master_tetraminx/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/master_tetraminx.ts", "../../../../src/cubing/search/inside/solve/puzzles/megaminx.ts", "../../../../src/cubing/search/inside/solve/puzzles/pyraminx.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/sgs-unofficial/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/redi_cube.ts", "../../../../src/cubing/search/inside/solve/puzzles/skewb.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/sq1/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/sq1.ts", "../../../../src/cubing/search/inside/api.ts", "../../../../src/cubing/search/inside/index.ts"],
4
- "sourcesContent": ["import { randomPermuteInPlace, randomUIntBelow } from \"random-uint-below\";\nimport type { Alg } from \"../../../../alg\";\nimport type { KPuzzle } from \"../../../../kpuzzle\";\nimport { KPattern } from \"../../../../kpuzzle\";\nimport { cube2x2x2, puzzles } from \"../../../../puzzles\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { TrembleSolver } from \"../tremble\";\nimport { wasmTwsearch } from \"../twsearch\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const sgsCachedData: SGSCachedData = await (\n await searchDynamicSideEvents\n ).cachedData222();\n return new TrembleSolver(\n await puzzles[\"2x2x2\"].kpuzzle(),\n sgsCachedData,\n \"URFLBD\".split(\"\"),\n );\n })())\n );\n}\n\nexport async function preInitialize222(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\n// TODO: fix def consistency.\nexport async function solve222(pattern: KPattern): Promise<Alg> {\n mustBeInsideWorker();\n return wasmTwsearch((await cube2x2x2.kpuzzle()).definition, pattern, {\n generatorMoves: \"UFLR\".split(\"\"),\n });\n}\n\n// TODO: factor out and test.\nfunction mutatingRandomizeOrbit(\n kpuzzle: KPuzzle,\n orbitName: string,\n pattern: KPattern,\n options?: { orientationSum?: number },\n): void {\n randomPermuteInPlace(pattern.patternData[orbitName].pieces);\n\n const orbitDefinition = kpuzzle.lookupOrbitDefinition(orbitName);\n const ori = pattern.patternData[orbitName].orientation;\n\n let sum = 0;\n for (let i = 0; i < orbitDefinition.numPieces; i++) {\n const o = randomUIntBelow(orbitDefinition.numOrientations);\n ori[i] = o;\n sum += o;\n }\n\n // console.log(\"aaaa\", options && \"orientationSum\" in options);\n if (options && \"orientationSum\" in options) {\n // console.log(\"sfdsf\", options!.orientationSum),\n ori[0] =\n (((ori[0] + options.orientationSum! - sum) %\n orbitDefinition.numOrientations) +\n orbitDefinition.numOrientations) %\n orbitDefinition.numOrientations;\n }\n}\n\n// TODO: Use SGS?\nexport async function random222Pattern(): Promise<KPattern> {\n const kpuzzle = await puzzles[\"2x2x2\"].kpuzzle();\n const patternCopy: KPattern = new KPattern(\n kpuzzle,\n structuredClone(kpuzzle.defaultPattern().patternData),\n ); // TODO\n mutatingRandomizeOrbit(kpuzzle, \"CORNERS\", patternCopy, {\n orientationSum: 0,\n });\n return patternCopy;\n}\n", "import { randomChoice } from \"random-uint-below\";\nimport { Alg, AlgBuilder, Move, type QuantumMove } from \"../../../alg\";\nimport type { KPuzzle, KTransformation } from \"../../../kpuzzle\";\nimport type { KPattern } from \"../../../kpuzzle/KPattern\";\nimport { experimentalCountMoves } from \"../../../notation\";\nimport type { SGSCachedData } from \"./parseSGS\";\n\nconst DEFAULT_STAGE1_DEPTH_LIMIT = 2; // Moderately performant default.\n\nconst DOUBLECHECK_PLACED_PIECES = true;\nconst DEBUG = false;\n\n// TODO: Take moves instead of move names?\nfunction calculateMoves(\n kpuzzle: KPuzzle,\n moveNames: string[],\n): {\n move: Move;\n transformation: KTransformation;\n}[] {\n const searchMoves: {\n move: Move;\n transformation: KTransformation;\n }[] = [];\n // const identity = identityTransformation(def); // TODO\n // TODO: Make it easy to filter moves.\n for (const moveName of moveNames) {\n const rootMove = new Move(moveName);\n if (rootMove.amount !== 1) {\n throw new Error(\n \"SGS cannot handle def moves with an amount other than 1 yet.\",\n );\n }\n let transformation = kpuzzle.identityTransformation();\n for (let i = 1; ; i++) {\n transformation = transformation.applyMove(rootMove);\n if (transformation.isIdentityTransformation()) {\n break;\n }\n searchMoves.push({\n move: rootMove.modified({ amount: i }),\n transformation,\n });\n }\n }\n return searchMoves;\n}\n\n// function badRandomMoves(moves: string[], ksp: KSolvePuzzle): KSolvePuzzleState {\n// // var sum = 0;\n// var scramble = \"\";\n// for (var i = 0; i < 1000; i++) {\n// scramble = scramble + \" \" + moves[Math.floor(moves.length * Math.random())];\n// }\n// // var sol = \"\";\n// const indexer = new TreeAlgIndexer(ksp, Alg.fromString(scramble));\n// return indexer.transformAtIndex(indexer.numMoves()) as any; // TODO\n// }\n\nexport class TrembleSolver {\n private searchMoves: {\n move: Move;\n transformation: KTransformation;\n }[];\n\n constructor(\n private kpuzzle: KPuzzle,\n private sgs: SGSCachedData,\n trembleMoveNames?: string[],\n ) {\n this.searchMoves = calculateMoves(\n this.kpuzzle,\n trembleMoveNames ?? Object.keys(this.kpuzzle.definition.moves),\n );\n }\n\n // public badRandomMoves(): KSolvePuzzleState {\n // return badRandomMoves(this.moves, this.ksp);\n // }\n\n public async solve(\n pattern: KPattern,\n stage1DepthLimit: number = DEFAULT_STAGE1_DEPTH_LIMIT,\n quantumMoveOrder?: (quantumMove: QuantumMove) => number,\n ): Promise<Alg> {\n const transformation = pattern.experimentalToTransformation();\n if (!transformation) {\n throw new Error(\n \"distinguishable pieces are not supported in tremble solver yt\",\n );\n }\n let bestAlg: Alg | null = null;\n let bestLen = 1000000;\n const recur = (\n recursiveTransformation: KTransformation, // TODO: Support KStatq1\n togo: number,\n sofar: Alg,\n ) => {\n // console.log(\"recur\");\n if (togo === 0) {\n const sgsAlg = this.sgsPhaseSolve(recursiveTransformation, bestLen);\n if (!sgsAlg) {\n return;\n }\n // console.log(\"sgs done!\", sofar.toString(), \"|\", sgsAlg.toString());\n const newAlg = sofar.concat(sgsAlg).experimentalSimplify({\n cancel: {\n directional: \"any-direction\",\n puzzleSpecificModWrap: \"canonical-centered\",\n },\n puzzleSpecificSimplifyOptions: { quantumMoveOrder },\n });\n\n const len = experimentalCountMoves(newAlg);\n if (bestAlg === null || len < bestLen) {\n if (DEBUG) {\n console.log(`New best (${len} moves): ${newAlg.toString()}`);\n console.log(`Tremble moves are: ${sofar.toString()}`);\n }\n bestAlg = newAlg;\n bestLen = len;\n }\n return;\n }\n for (const searchMove of this.searchMoves) {\n recur(\n recursiveTransformation.applyTransformation(\n searchMove.transformation,\n ),\n togo - 1,\n sofar.concat([searchMove.move]),\n );\n }\n };\n for (let d = 0; d <= stage1DepthLimit; d++) {\n recur(transformation, d, new Alg());\n }\n if (bestAlg === null) {\n throw new Error(\"SGS search failed.\");\n }\n return bestAlg;\n }\n\n private sgsPhaseSolve(\n initialTransformation: KTransformation, // TODO: Handle KPattern\n bestLenSofar: number,\n ): Alg | null {\n // const pieceNames = \"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \");\n\n // function loggo(s: string) {\n // // console.warn(s);\n // // document.body.appendChild(document.createElement(\"div\")).textContent = s;\n // }\n\n // console.log(\"sgsPhaseSolve\");\n const algBuilder = new AlgBuilder();\n let transformation = initialTransformation;\n for (const step of this.sgs.ordering) {\n const cubieSeq = step.pieceOrdering;\n let key = \"\";\n const inverseTransformation = transformation.invert();\n for (let i = 0; i < cubieSeq.length; i++) {\n const loc = cubieSeq[i];\n const orbitName = loc.orbitName;\n const idx = loc.permutationIdx;\n key += ` ${inverseTransformation.transformationData[orbitName].permutation[idx]} ${inverseTransformation.transformationData[orbitName].orientationDelta[idx]}`;\n }\n // console.log(key, step.lookup);\n const info = step.lookup[key];\n if (!info) {\n throw new Error(\"Missing algorithm in sgs or esgs?\");\n }\n algBuilder.experimentalPushAlg(info.alg);\n if (algBuilder.experimentalNumAlgNodes() >= bestLenSofar) {\n return null;\n }\n transformation = transformation.applyTransformation(info.transformation);\n if (DOUBLECHECK_PLACED_PIECES) {\n for (let i = 0; i < cubieSeq.length; i++) {\n const location = cubieSeq[i];\n const orbitName = location.orbitName;\n const idx = location.permutationIdx;\n if (\n transformation.transformationData[orbitName].permutation[idx] !==\n idx ||\n transformation.transformationData[orbitName].orientationDelta[\n idx\n ] !== 0\n ) {\n throw new Error(\"bad SGS :-(\");\n }\n }\n }\n }\n return algBuilder.toAlg();\n }\n}\n\nexport function randomPatternFromSGS(\n kpuzzle: KPuzzle,\n sgs: SGSCachedData,\n): KPattern {\n let transformation = kpuzzle.identityTransformation();\n for (const step of sgs.ordering) {\n const sgsAction = randomChoice(Object.values(step.lookup));\n transformation = transformation.applyTransformation(\n sgsAction.transformation,\n );\n }\n return transformation.toKPattern();\n}\n", "import type { Alg } from \"../../../alg\";\nimport type {\n KPattern,\n KPatternData,\n KPuzzleDefinition,\n} from \"../../../kpuzzle\";\nimport { from } from \"../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const twsearchPromise: Promise<\n typeof import(\"../../../vendor/mpl/twsearch\")\n> = from(async () => import(\"../../../vendor/mpl/twsearch\"));\n\nexport interface TwsearchOptions {\n // TODO: start prune depth?\n generatorMoves?: string[];\n targetPattern?: KPatternData;\n minDepth?: number;\n maxDepth?: number;\n}\n\nexport async function wasmTwsearch(\n def: KPuzzleDefinition,\n pattern: KPattern,\n options?: TwsearchOptions,\n): Promise<Alg> {\n const { wasmTwsearch } = await twsearchPromise;\n return wasmTwsearch(def, pattern, options);\n}\n\nexport async function wasmRandomScrambleForEvent(\n eventID: string,\n): Promise<Alg> {\n const { wasmRandomScrambleForEvent } = await twsearchPromise;\n return wasmRandomScrambleForEvent(eventID);\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const searchDynamicSideEvents = from<\n typeof import(\"./search-dynamic-sgs-side-events\")\n>(() => import(\"./search-dynamic-sgs-side-events\"));\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const dynamic4x4x4Solver = from<\n typeof import(\"./search-dynamic-solve-4x4x4\")\n>(() => import(\"./search-dynamic-solve-4x4x4\"));\n", "import type { Alg } from \"../../../../alg\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport { addOrientationSuffix } from \"../addOrientationSuffix\";\nimport { dynamic4x4x4Solver } from \"./dynamic/4x4x4\";\n\nconst randomSuffixes = [\n [null, \"x\", \"x2\", \"x'\", \"z\", \"z'\"],\n [null, \"y\", \"y2\", \"y'\"],\n];\n\nexport async function initialize444(): Promise<void> {\n return (await dynamic4x4x4Solver).initialize();\n}\n\nexport async function random444Scramble(): Promise<Alg> {\n mustBeInsideWorker();\n return (await dynamic4x4x4Solver).random444Scramble();\n}\n\nexport async function random444OrientedScramble(): Promise<Alg> {\n return addOrientationSuffix(await random444Scramble(), randomSuffixes);\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const dynamicFTO = from<typeof import(\"./search-dynamic-solve-fto\")>(\n () => import(\"./search-dynamic-solve-fto\"),\n);\n", "import { Alg } from \"../../../../alg\";\nimport type { KPattern } from \"../../../../kpuzzle/KPattern\";\nimport { puzzles } from \"../../../../puzzles\";\nimport { from } from \"../../../../vendor/mit/p-lazy/p-lazy\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { TrembleSolver } from \"../tremble\";\nimport { dynamicFTO } from \"./dynamic/fto\";\n\nconst dynamic = from<\n typeof import(\"./dynamic/sgs-unofficial/search-dynamic-sgs-unofficial\")\n>(() => import(\"./dynamic/sgs-unofficial/search-dynamic-sgs-unofficial\"));\n\nconst TREMBLE_DEPTH = 3;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (await dynamic).sgsDataFTO();\n return new TrembleSolver(await puzzles[\"fto\"].kpuzzle(), json, [\n \"U\",\n \"R\",\n \"F\",\n \"L\",\n \"D\",\n \"B\",\n \"BR\",\n \"BL\",\n ]);\n })())\n );\n}\n\nexport async function preInitializeFTO(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\n// TODO: centers\nexport async function solveFTO(pattern: KPattern): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const alg = await trembleSolver.solve(\n pattern,\n TREMBLE_DEPTH,\n () => 3, // TODO: Attach quantum move order lookup to puzzle.\n );\n return alg;\n}\n\nexport async function randomFTOScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return new Alg(await (await dynamicFTO).getRandomFTOScramble());\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const dynamicKilominxSolver = from<\n typeof import(\"./search-dynamic-solve-kilominx\")\n>(() => import(\"./search-dynamic-solve-kilominx\"));\n", "import type { Alg } from \"../../../../alg\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport { dynamicKilominxSolver } from \"./dynamic/kilominx\";\n\nexport async function randomKilominxScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return (await dynamicKilominxSolver).getRandomKilominxScramble();\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const dynamicMasterTetraminxSolver = from<\n typeof import(\"./search-dynamic-solve-master_tetraminx\")\n>(() => import(\"./search-dynamic-solve-master_tetraminx\"));\n", "import { Alg } from \"../../../../alg\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport { dynamicMasterTetraminxSolver } from \"./dynamic/master_tetraminx\";\n\nexport async function randomMasterTetraminxScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return new Alg(\n await (\n await dynamicMasterTetraminxSolver\n ).randomMasterTetraminxScrambleString(),\n );\n}\n", "import type { Alg } from \"../../../../alg\";\nimport type { KPatternData } from \"../../../../kpuzzle\";\nimport { KPattern } from \"../../../../kpuzzle\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { TrembleSolver } from \"../tremble\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\n\nconst TREMBLE_DEPTH = 2;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (\n await searchDynamicSideEvents\n ).cachedSGSDataMegaminx();\n return new TrembleSolver(\n await (await searchDynamicSideEvents).cachedMegaminxKPuzzleWithoutMO(),\n json,\n [\"U\", \"R\", \"F\", \"L\", \"BR\", \"BL\", \"FR\", \"FL\", \"DR\", \"DL\", \"B\", \"D\"],\n );\n })())\n );\n}\n\nexport async function preInitializeMegaminx(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\n// TODO: centers\nexport async function solveMegaminx(pattern: KPattern): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const patternDataWithoutMO: KPatternData = structuredClone(\n pattern.patternData,\n );\n patternDataWithoutMO.CENTERS.orientation = new Array(12).fill(0);\n const patternWithoutMO = new KPattern(\n await (await searchDynamicSideEvents).cachedMegaminxKPuzzleWithoutMO(),\n patternDataWithoutMO,\n );\n const alg = await trembleSolver.solve(\n patternWithoutMO,\n TREMBLE_DEPTH,\n () => 5, // TODO: Attach quantum move order lookup to puzzle.\n );\n return alg;\n}\n", "import type { Alg } from \"../../../../alg\";\nimport type { KPattern } from \"../../../../kpuzzle/KPattern\";\nimport { puzzles } from \"../../../../puzzles\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { randomPatternFromSGS, TrembleSolver } from \"../tremble\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\n\nconst TREMBLE_DEPTH = 3;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (\n await searchDynamicSideEvents\n ).sgsDataPyraminx();\n return new TrembleSolver(\n await puzzles.pyraminx.kpuzzle(),\n json,\n \"RLUB\".split(\"\"),\n );\n })())\n );\n}\n\nexport async function preInitializePyraminx(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\nexport async function solvePyraminx(pattern: KPattern): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const alg = await trembleSolver.solve(pattern, TREMBLE_DEPTH, () => 3); // TODO: Attach quantum move order lookup to puzzle.\n return alg;\n}\n\nexport async function randomPyraminxPatternFixedOrientation(): Promise<KPattern> {\n mustBeInsideWorker();\n // Note: this sets all center orientations to 0.\n return randomPatternFromSGS(\n await puzzles.pyraminx.kpuzzle(),\n await (await searchDynamicSideEvents).sgsDataPyraminxFixedOrientation(),\n );\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const searchDynamicUnofficial = from<\n typeof import(\"./search-dynamic-sgs-unofficial\")\n>(() => import(\"./search-dynamic-sgs-unofficial\"));\n", "import type { Alg } from \"../../../../alg\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport { searchDynamicUnofficial } from \"./dynamic/sgs-unofficial\";\n\nexport async function randomRediCubeScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return (await searchDynamicUnofficial).getRandomRediCubeScramble();\n}\n", "import type { Alg, QuantumMove } from \"../../../../alg\";\nimport { KPattern } from \"../../../../kpuzzle\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { TrembleSolver } from \"../tremble\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\n\nconst TREMBLE_DEPTH = 3;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (\n await searchDynamicSideEvents\n ).sgsDataSkewb();\n return new TrembleSolver(\n await (await searchDynamicSideEvents).skewbKPuzzleWithoutMOCached(),\n json,\n \"RLUB\".split(\"\"),\n );\n })())\n );\n}\n\nexport async function preInitializeSkewb(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\nasync function resetCenterOrientation(pattern: KPattern): Promise<KPattern> {\n return new KPattern(\n await (await searchDynamicSideEvents).skewbKPuzzleWithoutMOCached(),\n {\n CORNERS: pattern.patternData.CORNERS,\n CENTERS: {\n pieces: pattern.patternData.CENTERS.pieces,\n orientation: new Array(6).fill(0),\n },\n },\n );\n}\n\n// TODO: fix def consistency.\nexport async function solveSkewb(pattern: KPattern): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const alg = await trembleSolver.solve(\n await resetCenterOrientation(pattern),\n TREMBLE_DEPTH,\n (quantumMove: QuantumMove) => (quantumMove.family === \"y\" ? 4 : 3), // TODO: Attach quantum move order lookup to puzzle.\n );\n return alg;\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const dynamicSq1Solver = from<\n typeof import(\"./search-dynamic-solve-sq1\")\n>(() => import(\"./search-dynamic-solve-sq1\"));\n", "import { Alg } from \"../../../../alg\";\nimport { dynamicSq1Solver } from \"./dynamic/sq1\";\n\nexport async function getRandomSquare1Scramble(): Promise<Alg> {\n return Alg.fromString(\n await (await dynamicSq1Solver).getRandomSquare1ScrambleString(),\n );\n}\n", "import type { Alg } from \"../../alg\";\nimport {\n KPattern,\n KPuzzle,\n type KPatternData,\n type KPuzzleDefinition,\n} from \"../../kpuzzle\";\nimport { puzzles } from \"../../puzzles\";\nimport { setIsInsideWorker } from \"./inside-worker\";\nimport { preInitialize222, solve222 } from \"./solve/puzzles/2x2x2\";\nimport {\n initialize333,\n random333OrientedScramble,\n random333Scramble,\n solve333,\n} from \"./solve/puzzles/3x3x3\";\nimport {\n initialize444,\n random444OrientedScramble,\n random444Scramble,\n} from \"./solve/puzzles/4x4x4\";\nimport { randomFTOScramble } from \"./solve/puzzles/fto\";\nimport { randomKilominxScramble } from \"./solve/puzzles/kilominx\";\nimport { randomMasterTetraminxScramble } from \"./solve/puzzles/master_tetraminx\";\nimport { solveMegaminx } from \"./solve/puzzles/megaminx\";\nimport { solvePyraminx } from \"./solve/puzzles/pyraminx\";\nimport { randomRediCubeScramble } from \"./solve/puzzles/redi_cube\";\nimport { solveSkewb } from \"./solve/puzzles/skewb\";\nimport { getRandomSquare1Scramble } from \"./solve/puzzles/sq1\";\nimport {\n wasmRandomScrambleForEvent,\n wasmTwsearch,\n type TwsearchOptions,\n} from \"./solve/twsearch\";\n\nconst IDLE_PREFETCH_TIMEOUT_MS = 1000;\n\nsetIsInsideWorker(true);\n\nlet DEBUG_MEASURE_PERF = true;\nexport function setDebugMeasurePerf(newDebugMeasurePerf: boolean): void {\n DEBUG_MEASURE_PERF = newDebugMeasurePerf;\n}\n\nfunction now() {\n return (typeof performance === \"undefined\" ? Date : performance).now();\n}\n\nasync function measurePerf<T>(\n name: string,\n f: () => T | Promise<T>,\n options?: { isPrefetch?: boolean },\n): Promise<T> {\n if (!DEBUG_MEASURE_PERF) {\n return f();\n }\n\n const start = now();\n const result = f();\n if ((result as any)?.then) {\n await result;\n }\n const end = now();\n console.warn(\n `${name}${options?.isPrefetch ? \" (prefetched)\" : \"\"}: ${Math.round(\n end - start,\n )}ms`,\n );\n return result;\n}\n\nconst prefetchPromises: Map<string, Promise<Alg>> = new Map();\n// This would just be a number, except `node` is extremely silly and returns an object instead.\n// https://nodejs.org/api/timers.html#settimeoutcallback-delay-args\nlet queuedPrefetchTimeoutID: ReturnType<typeof setTimeout> | null = null;\n\n// This is used to ensure only one scramble is running (and measured) at a time, as interleaving scrambles within a single worker isn't supported (yet).\n// Scrambles may perform async work (e.g. loading code), and this guard this prevents unintended interleaving.\nlet scrambleActivityLock: Promise<Alg>;\n\nasync function randomScrambleForEvent(\n eventID: string,\n options?: { isPrefetch?: boolean },\n): Promise<Alg> {\n return (scrambleActivityLock = (async () => {\n await scrambleActivityLock;\n function wasm(): Promise<Alg> {\n return measurePerf(\n `wasmRandomScrambleForEvent(${JSON.stringify(eventID)})`,\n () => wasmRandomScrambleForEvent(eventID),\n {\n isPrefetch: options?.isPrefetch,\n },\n );\n }\n\n switch (eventID) {\n // case \"333\":\n case \"222\":\n return (await wasm()).experimentalSimplify({\n puzzleSpecificSimplifyOptions: {\n quantumMoveOrder: () => 4,\n },\n });\n // case \"444\":\n case \"555\":\n case \"666\":\n case \"777\":\n // case \"333bf\":\n case \"333fm\":\n // case \"333oh\":\n // case \"clock\":\n case \"minx\":\n case \"pyram\":\n case \"skewb\":\n // case \"sq1\":\n // case \"444bf\":\n case \"555bf\":\n // case \"333mbf\":\n // case \"fto\":\n // case \"master_tetraminx\":\n // case \"kilominx\":\n // case \"redi_cube\":\n case \"baby_fto\":\n return wasm();\n case \"333\":\n case \"333oh\":\n case \"333ft\":\n return measurePerf(\"random333Scramble\", random333Scramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"333bf\":\n case \"333mbf\":\n return measurePerf(\n \"random333OrientedScramble\",\n random333OrientedScramble,\n );\n case \"444\":\n return measurePerf(\"random444Scramble\", random444Scramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"444bf\":\n return measurePerf(\n \"random444OrientedScramble\",\n random444OrientedScramble,\n );\n case \"sq1\":\n return measurePerf(\n \"getRandomSquare1Scramble\",\n getRandomSquare1Scramble,\n {\n isPrefetch: options?.isPrefetch,\n },\n );\n case \"fto\":\n return measurePerf(\"randomFTOScramble\", randomFTOScramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"master_tetraminx\":\n return measurePerf(\n \"randomMasterTetraminxScramble\",\n randomMasterTetraminxScramble,\n );\n case \"kilominx\":\n return measurePerf(\"randomKilominxScramble\", randomKilominxScramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"redi_cube\":\n return measurePerf(\"randomRediCubeScramble\", randomRediCubeScramble, {\n isPrefetch: options?.isPrefetch,\n });\n default:\n throw new Error(`unsupported event: ${eventID}`);\n }\n })());\n}\n\nexport enum PrefetchLevel {\n Auto = \"auto\",\n None = \"none\",\n Immediate = \"immediate\",\n}\n\nlet currentPrefetchLevel = PrefetchLevel.Auto;\n\nexport const insideAPI = {\n initialize: async (eventID: string) => {\n switch (eventID) {\n case \"222\":\n return measurePerf(\"preInitialize222\", preInitialize222);\n case \"333\":\n case \"333oh\":\n case \"333ft\":\n return measurePerf(\"initialize333\", initialize333);\n case \"444\":\n return measurePerf(\"initialize444\", initialize444);\n default:\n throw new Error(`unsupported event: ${eventID}`);\n }\n },\n\n setScramblePrefetchLevel(prefetchLevel: `${PrefetchLevel}`) {\n currentPrefetchLevel = prefetchLevel as PrefetchLevel;\n },\n\n randomScrambleForEvent: async (eventID: string): Promise<Alg> => {\n let promise = prefetchPromises.get(eventID);\n if (promise) {\n prefetchPromises.delete(eventID);\n } else {\n promise = randomScrambleForEvent(eventID);\n }\n if (currentPrefetchLevel !== PrefetchLevel.None) {\n promise.then(() => {\n // `queuedPrefetch` could be 0, but:\n // > Passing an invalid ID to clearTimeout() silently does nothing; no exception is thrown.\n // https://developer.mozilla.org/en-US/docs/Web/API/clearTimeout#notes\n if (queuedPrefetchTimeoutID) {\n clearTimeout(queuedPrefetchTimeoutID);\n }\n queuedPrefetchTimeoutID = setTimeout(\n () => {\n prefetchPromises.set(\n eventID,\n randomScrambleForEvent(eventID, {\n isPrefetch: true,\n }),\n );\n },\n currentPrefetchLevel === PrefetchLevel.Immediate\n ? 0\n : IDLE_PREFETCH_TIMEOUT_MS,\n );\n });\n }\n return promise;\n },\n\n randomScrambleStringForEvent: async (eventID: string): Promise<string> => {\n return (await insideAPI.randomScrambleForEvent(eventID)).toString();\n },\n\n solve333ToString: async (patternData: KPatternData): Promise<string> => {\n const pattern = new KPattern(await puzzles[\"3x3x3\"].kpuzzle(), patternData);\n return (await solve333(pattern)).toString();\n },\n\n solve222ToString: async (patternData: KPatternData): Promise<string> => {\n const pattern = new KPattern(await puzzles[\"2x2x2\"].kpuzzle(), patternData);\n return (await solve222(pattern)).toString();\n },\n\n solveSkewbToString: async (patternData: KPatternData): Promise<string> => {\n const pattern = new KPattern(await puzzles[\"skewb\"].kpuzzle(), patternData);\n return (await solveSkewb(pattern)).toString();\n },\n\n solvePyraminxToString: async (patternData: KPatternData): Promise<string> => {\n const pattern = new KPattern(\n await puzzles[\"pyraminx\"].kpuzzle(),\n patternData,\n );\n return (await solvePyraminx(pattern)).toString();\n },\n\n solveMegaminxToString: async (patternData: KPatternData): Promise<string> => {\n const pattern = new KPattern(\n await puzzles[\"megaminx\"].kpuzzle(),\n patternData,\n );\n return (await solveMegaminx(pattern)).toString();\n },\n\n setDebugMeasurePerf: async (measure: boolean): Promise<void> => {\n setDebugMeasurePerf(measure);\n },\n\n solveTwsearchToString: async (\n def: KPuzzleDefinition,\n patternData: KPatternData,\n options?: TwsearchOptions,\n ): Promise<string> => {\n const kpuzzle = new KPuzzle(def);\n const pattern = new KPattern(kpuzzle, patternData);\n return (await wasmTwsearch(def, pattern, options)).toString();\n },\n};\n\nexport type WorkerInsideAPI = typeof insideAPI;\n", "import { expose } from \"../../vendor/apache/comlink-everywhere/inside\";\nimport { insideAPI } from \"./api\";\n\nexpose(insideAPI);\n"],
5
- "mappings": "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",
3
+ "sources": ["../../../../src/cubing/search/inside/solve/puzzles/2x2x2.ts", "../../../../src/cubing/search/inside/solve/tremble.ts", "../../../../src/cubing/search/inside/solve/twsearch.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/sgs-side-events/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/4x4x4/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/4x4x4.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/fto/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/fto.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/kilominx/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/kilominx.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/master_tetraminx/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/master_tetraminx.ts", "../../../../src/cubing/search/inside/solve/puzzles/megaminx.ts", "../../../../src/cubing/search/inside/solve/puzzles/pyraminx.ts", "../../../../src/cubing/search/inside/solve/puzzles/dynamic/sgs-unofficial/index.ts", "../../../../src/cubing/search/inside/solve/puzzles/redi_cube.ts", "../../../../src/cubing/search/inside/solve/puzzles/skewb.ts", "../../../../src/cubing/search/inside/api.ts", "../../../../src/cubing/search/inside/index.ts"],
4
+ "sourcesContent": ["import { randomPermuteInPlace, randomUIntBelow } from \"random-uint-below\";\nimport type { Alg } from \"../../../../alg\";\nimport type { KPuzzle } from \"../../../../kpuzzle\";\nimport { KPattern } from \"../../../../kpuzzle\";\nimport { cube2x2x2, puzzles } from \"../../../../puzzles\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { TrembleSolver } from \"../tremble\";\nimport { wasmTwsearch } from \"../twsearch\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const sgsCachedData: SGSCachedData = await (\n await searchDynamicSideEvents\n ).cachedData222();\n return new TrembleSolver(\n await puzzles[\"2x2x2\"].kpuzzle(),\n sgsCachedData,\n \"URFLBD\".split(\"\"),\n );\n })())\n );\n}\n\nexport async function preInitialize222(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\n// TODO: fix def consistency.\nexport async function solve222(pattern: KPattern): Promise<Alg> {\n mustBeInsideWorker();\n return wasmTwsearch((await cube2x2x2.kpuzzle()).definition, pattern, {\n generatorMoves: \"UFLR\".split(\"\"),\n });\n}\n\n// TODO: factor out and test.\nfunction mutatingRandomizeOrbit(\n kpuzzle: KPuzzle,\n orbitName: string,\n pattern: KPattern,\n options?: { orientationSum?: number },\n): void {\n randomPermuteInPlace(pattern.patternData[orbitName].pieces);\n\n const orbitDefinition = kpuzzle.lookupOrbitDefinition(orbitName);\n const ori = pattern.patternData[orbitName].orientation;\n\n let sum = 0;\n for (let i = 0; i < orbitDefinition.numPieces; i++) {\n const o = randomUIntBelow(orbitDefinition.numOrientations);\n ori[i] = o;\n sum += o;\n }\n\n // console.log(\"aaaa\", options && \"orientationSum\" in options);\n if (options && \"orientationSum\" in options) {\n // console.log(\"sfdsf\", options!.orientationSum),\n ori[0] =\n (((ori[0] + options.orientationSum! - sum) %\n orbitDefinition.numOrientations) +\n orbitDefinition.numOrientations) %\n orbitDefinition.numOrientations;\n }\n}\n\n// TODO: Use SGS?\nexport async function random222Pattern(): Promise<KPattern> {\n const kpuzzle = await puzzles[\"2x2x2\"].kpuzzle();\n const patternCopy: KPattern = new KPattern(\n kpuzzle,\n structuredClone(kpuzzle.defaultPattern().patternData),\n ); // TODO\n mutatingRandomizeOrbit(kpuzzle, \"CORNERS\", patternCopy, {\n orientationSum: 0,\n });\n return patternCopy;\n}\n", "import { randomChoice } from \"random-uint-below\";\nimport { Alg, AlgBuilder, Move, type QuantumMove } from \"../../../alg\";\nimport type { KPuzzle, KTransformation } from \"../../../kpuzzle\";\nimport type { KPattern } from \"../../../kpuzzle/KPattern\";\nimport { experimentalCountMoves } from \"../../../notation\";\nimport type { SGSCachedData } from \"./parseSGS\";\n\nconst DEFAULT_STAGE1_DEPTH_LIMIT = 2; // Moderately performant default.\n\nconst DOUBLECHECK_PLACED_PIECES = true;\nconst DEBUG = false;\n\n// TODO: Take moves instead of move names?\nfunction calculateMoves(\n kpuzzle: KPuzzle,\n moveNames: string[],\n): {\n move: Move;\n transformation: KTransformation;\n}[] {\n const searchMoves: {\n move: Move;\n transformation: KTransformation;\n }[] = [];\n // const identity = identityTransformation(def); // TODO\n // TODO: Make it easy to filter moves.\n for (const moveName of moveNames) {\n const rootMove = new Move(moveName);\n if (rootMove.amount !== 1) {\n throw new Error(\n \"SGS cannot handle def moves with an amount other than 1 yet.\",\n );\n }\n let transformation = kpuzzle.identityTransformation();\n for (let i = 1; ; i++) {\n transformation = transformation.applyMove(rootMove);\n if (transformation.isIdentityTransformation()) {\n break;\n }\n searchMoves.push({\n move: rootMove.modified({ amount: i }),\n transformation,\n });\n }\n }\n return searchMoves;\n}\n\n// function badRandomMoves(moves: string[], ksp: KSolvePuzzle): KSolvePuzzleState {\n// // var sum = 0;\n// var scramble = \"\";\n// for (var i = 0; i < 1000; i++) {\n// scramble = scramble + \" \" + moves[Math.floor(moves.length * Math.random())];\n// }\n// // var sol = \"\";\n// const indexer = new TreeAlgIndexer(ksp, Alg.fromString(scramble));\n// return indexer.transformAtIndex(indexer.numMoves()) as any; // TODO\n// }\n\nexport class TrembleSolver {\n private searchMoves: {\n move: Move;\n transformation: KTransformation;\n }[];\n\n constructor(\n private kpuzzle: KPuzzle,\n private sgs: SGSCachedData,\n trembleMoveNames?: string[],\n ) {\n this.searchMoves = calculateMoves(\n this.kpuzzle,\n trembleMoveNames ?? Object.keys(this.kpuzzle.definition.moves),\n );\n }\n\n // public badRandomMoves(): KSolvePuzzleState {\n // return badRandomMoves(this.moves, this.ksp);\n // }\n\n public async solve(\n pattern: KPattern,\n stage1DepthLimit: number = DEFAULT_STAGE1_DEPTH_LIMIT,\n quantumMoveOrder?: (quantumMove: QuantumMove) => number,\n ): Promise<Alg> {\n const transformation = pattern.experimentalToTransformation();\n if (!transformation) {\n throw new Error(\n \"distinguishable pieces are not supported in tremble solver yt\",\n );\n }\n let bestAlg: Alg | null = null;\n let bestLen = 1000000;\n const recur = (\n recursiveTransformation: KTransformation, // TODO: Support KStatq1\n togo: number,\n sofar: Alg,\n ) => {\n // console.log(\"recur\");\n if (togo === 0) {\n const sgsAlg = this.sgsPhaseSolve(recursiveTransformation, bestLen);\n if (!sgsAlg) {\n return;\n }\n // console.log(\"sgs done!\", sofar.toString(), \"|\", sgsAlg.toString());\n const newAlg = sofar.concat(sgsAlg).experimentalSimplify({\n cancel: {\n directional: \"any-direction\",\n puzzleSpecificModWrap: \"canonical-centered\",\n },\n puzzleSpecificSimplifyOptions: { quantumMoveOrder },\n });\n\n const len = experimentalCountMoves(newAlg);\n if (bestAlg === null || len < bestLen) {\n if (DEBUG) {\n console.log(`New best (${len} moves): ${newAlg.toString()}`);\n console.log(`Tremble moves are: ${sofar.toString()}`);\n }\n bestAlg = newAlg;\n bestLen = len;\n }\n return;\n }\n for (const searchMove of this.searchMoves) {\n recur(\n recursiveTransformation.applyTransformation(\n searchMove.transformation,\n ),\n togo - 1,\n sofar.concat([searchMove.move]),\n );\n }\n };\n for (let d = 0; d <= stage1DepthLimit; d++) {\n recur(transformation, d, new Alg());\n }\n if (bestAlg === null) {\n throw new Error(\"SGS search failed.\");\n }\n return bestAlg;\n }\n\n private sgsPhaseSolve(\n initialTransformation: KTransformation, // TODO: Handle KPattern\n bestLenSofar: number,\n ): Alg | null {\n // const pieceNames = \"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \");\n\n // function loggo(s: string) {\n // // console.warn(s);\n // // document.body.appendChild(document.createElement(\"div\")).textContent = s;\n // }\n\n // console.log(\"sgsPhaseSolve\");\n const algBuilder = new AlgBuilder();\n let transformation = initialTransformation;\n for (const step of this.sgs.ordering) {\n const cubieSeq = step.pieceOrdering;\n let key = \"\";\n const inverseTransformation = transformation.invert();\n for (let i = 0; i < cubieSeq.length; i++) {\n const loc = cubieSeq[i];\n const orbitName = loc.orbitName;\n const idx = loc.permutationIdx;\n key += ` ${inverseTransformation.transformationData[orbitName].permutation[idx]} ${inverseTransformation.transformationData[orbitName].orientationDelta[idx]}`;\n }\n // console.log(key, step.lookup);\n const info = step.lookup[key];\n if (!info) {\n throw new Error(\"Missing algorithm in sgs or esgs?\");\n }\n algBuilder.experimentalPushAlg(info.alg);\n if (algBuilder.experimentalNumAlgNodes() >= bestLenSofar) {\n return null;\n }\n transformation = transformation.applyTransformation(info.transformation);\n if (DOUBLECHECK_PLACED_PIECES) {\n for (let i = 0; i < cubieSeq.length; i++) {\n const location = cubieSeq[i];\n const orbitName = location.orbitName;\n const idx = location.permutationIdx;\n if (\n transformation.transformationData[orbitName].permutation[idx] !==\n idx ||\n transformation.transformationData[orbitName].orientationDelta[\n idx\n ] !== 0\n ) {\n throw new Error(\"bad SGS :-(\");\n }\n }\n }\n }\n return algBuilder.toAlg();\n }\n}\n\nexport function randomPatternFromSGS(\n kpuzzle: KPuzzle,\n sgs: SGSCachedData,\n): KPattern {\n let transformation = kpuzzle.identityTransformation();\n for (const step of sgs.ordering) {\n const sgsAction = randomChoice(Object.values(step.lookup));\n transformation = transformation.applyTransformation(\n sgsAction.transformation,\n );\n }\n return transformation.toKPattern();\n}\n", "import type { Alg } from \"../../../alg\";\nimport type {\n KPattern,\n KPatternData,\n KPuzzleDefinition,\n} from \"../../../kpuzzle\";\nimport { from } from \"../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const twsearchPromise: Promise<\n typeof import(\"../../../vendor/mpl/twsearch\")\n> = from(async () => import(\"../../../vendor/mpl/twsearch\"));\n\nexport interface TwsearchOptions {\n // TODO: start prune depth?\n generatorMoves?: string[];\n targetPattern?: KPatternData;\n minDepth?: number;\n maxDepth?: number;\n}\n\nexport async function wasmTwsearch(\n def: KPuzzleDefinition,\n pattern: KPattern,\n options?: TwsearchOptions,\n): Promise<Alg> {\n const { wasmTwsearch } = await twsearchPromise;\n return wasmTwsearch(def, pattern, options);\n}\n\nexport async function wasmRandomScrambleForEvent(\n eventID: string,\n): Promise<Alg> {\n const { wasmRandomScrambleForEvent } = await twsearchPromise;\n return wasmRandomScrambleForEvent(eventID);\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const searchDynamicSideEvents = from<\n typeof import(\"./search-dynamic-sgs-side-events\")\n>(() => import(\"./search-dynamic-sgs-side-events\"));\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const dynamic4x4x4Solver = from<\n typeof import(\"./search-dynamic-solve-4x4x4\")\n>(() => import(\"./search-dynamic-solve-4x4x4\"));\n", "import type { Alg } from \"../../../../alg\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport { addOrientationSuffix } from \"../addOrientationSuffix\";\nimport { dynamic4x4x4Solver } from \"./dynamic/4x4x4\";\n\nconst randomSuffixes = [\n [null, \"x\", \"x2\", \"x'\", \"z\", \"z'\"],\n [null, \"y\", \"y2\", \"y'\"],\n];\n\nexport async function initialize444(): Promise<void> {\n return (await dynamic4x4x4Solver).initialize();\n}\n\nexport async function random444Scramble(): Promise<Alg> {\n mustBeInsideWorker();\n return (await dynamic4x4x4Solver).random444Scramble();\n}\n\nexport async function random444OrientedScramble(): Promise<Alg> {\n return addOrientationSuffix(await random444Scramble(), randomSuffixes);\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const dynamicFTO = from<typeof import(\"./search-dynamic-solve-fto\")>(\n () => import(\"./search-dynamic-solve-fto\"),\n);\n", "import { Alg } from \"../../../../alg\";\nimport type { KPattern } from \"../../../../kpuzzle/KPattern\";\nimport { puzzles } from \"../../../../puzzles\";\nimport { from } from \"../../../../vendor/mit/p-lazy/p-lazy\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { TrembleSolver } from \"../tremble\";\nimport { dynamicFTO } from \"./dynamic/fto\";\n\nconst dynamic = from<\n typeof import(\"./dynamic/sgs-unofficial/search-dynamic-sgs-unofficial\")\n>(() => import(\"./dynamic/sgs-unofficial/search-dynamic-sgs-unofficial\"));\n\nconst TREMBLE_DEPTH = 3;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (await dynamic).sgsDataFTO();\n return new TrembleSolver(await puzzles[\"fto\"].kpuzzle(), json, [\n \"U\",\n \"R\",\n \"F\",\n \"L\",\n \"D\",\n \"B\",\n \"BR\",\n \"BL\",\n ]);\n })())\n );\n}\n\nexport async function preInitializeFTO(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\n// TODO: centers\nexport async function solveFTO(pattern: KPattern): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const alg = await trembleSolver.solve(\n pattern,\n TREMBLE_DEPTH,\n () => 3, // TODO: Attach quantum move order lookup to puzzle.\n );\n return alg;\n}\n\nexport async function randomFTOScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return new Alg(await (await dynamicFTO).getRandomFTOScramble());\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const dynamicKilominxSolver = from<\n typeof import(\"./search-dynamic-solve-kilominx\")\n>(() => import(\"./search-dynamic-solve-kilominx\"));\n", "import type { Alg } from \"../../../../alg\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport { dynamicKilominxSolver } from \"./dynamic/kilominx\";\n\nexport async function randomKilominxScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return (await dynamicKilominxSolver).getRandomKilominxScramble();\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const dynamicMasterTetraminxSolver = from<\n typeof import(\"./search-dynamic-solve-master_tetraminx\")\n>(() => import(\"./search-dynamic-solve-master_tetraminx\"));\n", "import { Alg } from \"../../../../alg\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport { dynamicMasterTetraminxSolver } from \"./dynamic/master_tetraminx\";\n\nexport async function randomMasterTetraminxScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return new Alg(\n await (\n await dynamicMasterTetraminxSolver\n ).randomMasterTetraminxScrambleString(),\n );\n}\n", "import type { Alg } from \"../../../../alg\";\nimport type { KPatternData } from \"../../../../kpuzzle\";\nimport { KPattern } from \"../../../../kpuzzle\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { TrembleSolver } from \"../tremble\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\n\nconst TREMBLE_DEPTH = 2;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (\n await searchDynamicSideEvents\n ).cachedSGSDataMegaminx();\n return new TrembleSolver(\n await (await searchDynamicSideEvents).cachedMegaminxKPuzzleWithoutMO(),\n json,\n [\"U\", \"R\", \"F\", \"L\", \"BR\", \"BL\", \"FR\", \"FL\", \"DR\", \"DL\", \"B\", \"D\"],\n );\n })())\n );\n}\n\nexport async function preInitializeMegaminx(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\n// TODO: centers\nexport async function solveMegaminx(pattern: KPattern): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const patternDataWithoutMO: KPatternData = structuredClone(\n pattern.patternData,\n );\n patternDataWithoutMO.CENTERS.orientation = new Array(12).fill(0);\n const patternWithoutMO = new KPattern(\n await (await searchDynamicSideEvents).cachedMegaminxKPuzzleWithoutMO(),\n patternDataWithoutMO,\n );\n const alg = await trembleSolver.solve(\n patternWithoutMO,\n TREMBLE_DEPTH,\n () => 5, // TODO: Attach quantum move order lookup to puzzle.\n );\n return alg;\n}\n", "import type { Alg } from \"../../../../alg\";\nimport type { KPattern } from \"../../../../kpuzzle/KPattern\";\nimport { puzzles } from \"../../../../puzzles\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { randomPatternFromSGS, TrembleSolver } from \"../tremble\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\n\nconst TREMBLE_DEPTH = 3;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (\n await searchDynamicSideEvents\n ).sgsDataPyraminx();\n return new TrembleSolver(\n await puzzles.pyraminx.kpuzzle(),\n json,\n \"RLUB\".split(\"\"),\n );\n })())\n );\n}\n\nexport async function preInitializePyraminx(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\nexport async function solvePyraminx(pattern: KPattern): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const alg = await trembleSolver.solve(pattern, TREMBLE_DEPTH, () => 3); // TODO: Attach quantum move order lookup to puzzle.\n return alg;\n}\n\nexport async function randomPyraminxPatternFixedOrientation(): Promise<KPattern> {\n mustBeInsideWorker();\n // Note: this sets all center orientations to 0.\n return randomPatternFromSGS(\n await puzzles.pyraminx.kpuzzle(),\n await (await searchDynamicSideEvents).sgsDataPyraminxFixedOrientation(),\n );\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const searchDynamicUnofficial = from<\n typeof import(\"./search-dynamic-sgs-unofficial\")\n>(() => import(\"./search-dynamic-sgs-unofficial\"));\n", "import type { Alg } from \"../../../../alg\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport { searchDynamicUnofficial } from \"./dynamic/sgs-unofficial\";\n\nexport async function randomRediCubeScramble(): Promise<Alg> {\n mustBeInsideWorker();\n return (await searchDynamicUnofficial).getRandomRediCubeScramble();\n}\n", "import type { Alg, QuantumMove } from \"../../../../alg\";\nimport { KPattern } from \"../../../../kpuzzle\";\nimport { mustBeInsideWorker } from \"../../inside-worker\";\nimport type { SGSCachedData } from \"../parseSGS\";\nimport { TrembleSolver } from \"../tremble\";\nimport { searchDynamicSideEvents } from \"./dynamic/sgs-side-events\";\n\nconst TREMBLE_DEPTH = 3;\n\nlet cachedTrembleSolver: Promise<TrembleSolver> | null = null;\nasync function getCachedTrembleSolver(): Promise<TrembleSolver> {\n return (\n cachedTrembleSolver ||\n (cachedTrembleSolver = (async (): Promise<TrembleSolver> => {\n const json: SGSCachedData = await (\n await searchDynamicSideEvents\n ).sgsDataSkewb();\n return new TrembleSolver(\n await (await searchDynamicSideEvents).skewbKPuzzleWithoutMOCached(),\n json,\n \"RLUB\".split(\"\"),\n );\n })())\n );\n}\n\nexport async function preInitializeSkewb(): Promise<void> {\n await getCachedTrembleSolver();\n}\n\nasync function resetCenterOrientation(pattern: KPattern): Promise<KPattern> {\n return new KPattern(\n await (await searchDynamicSideEvents).skewbKPuzzleWithoutMOCached(),\n {\n CORNERS: pattern.patternData.CORNERS,\n CENTERS: {\n pieces: pattern.patternData.CENTERS.pieces,\n orientation: new Array(6).fill(0),\n },\n },\n );\n}\n\n// TODO: fix def consistency.\nexport async function solveSkewb(pattern: KPattern): Promise<Alg> {\n mustBeInsideWorker();\n const trembleSolver = await getCachedTrembleSolver();\n const alg = await trembleSolver.solve(\n await resetCenterOrientation(pattern),\n TREMBLE_DEPTH,\n (quantumMove: QuantumMove) => (quantumMove.family === \"y\" ? 4 : 3), // TODO: Attach quantum move order lookup to puzzle.\n );\n return alg;\n}\n", "import type { Alg } from \"../../alg\";\nimport {\n KPattern,\n KPuzzle,\n type KPatternData,\n type KPuzzleDefinition,\n} from \"../../kpuzzle\";\nimport { puzzles } from \"../../puzzles\";\nimport { setIsInsideWorker } from \"./inside-worker\";\nimport { preInitialize222, solve222 } from \"./solve/puzzles/2x2x2\";\nimport {\n initialize333,\n random333OrientedScramble,\n random333Scramble,\n solve333,\n} from \"./solve/puzzles/3x3x3\";\nimport {\n initialize444,\n random444OrientedScramble,\n random444Scramble,\n} from \"./solve/puzzles/4x4x4\";\nimport { randomFTOScramble } from \"./solve/puzzles/fto\";\nimport { randomKilominxScramble } from \"./solve/puzzles/kilominx\";\nimport { randomMasterTetraminxScramble } from \"./solve/puzzles/master_tetraminx\";\nimport { solveMegaminx } from \"./solve/puzzles/megaminx\";\nimport { solvePyraminx } from \"./solve/puzzles/pyraminx\";\nimport { randomRediCubeScramble } from \"./solve/puzzles/redi_cube\";\nimport { solveSkewb } from \"./solve/puzzles/skewb\";\nimport {\n wasmRandomScrambleForEvent,\n wasmTwsearch,\n type TwsearchOptions,\n} from \"./solve/twsearch\";\n\nconst IDLE_PREFETCH_TIMEOUT_MS = 1000;\n\nsetIsInsideWorker(true);\n\nlet DEBUG_MEASURE_PERF = true;\nexport function setDebugMeasurePerf(newDebugMeasurePerf: boolean): void {\n DEBUG_MEASURE_PERF = newDebugMeasurePerf;\n}\n\nfunction now() {\n return (typeof performance === \"undefined\" ? Date : performance).now();\n}\n\nasync function measurePerf<T>(\n name: string,\n f: () => T | Promise<T>,\n options?: { isPrefetch?: boolean },\n): Promise<T> {\n if (!DEBUG_MEASURE_PERF) {\n return f();\n }\n\n const start = now();\n const result = f();\n if ((result as any)?.then) {\n await result;\n }\n const end = now();\n console.warn(\n `${name}${options?.isPrefetch ? \" (prefetched)\" : \"\"}: ${Math.round(\n end - start,\n )}ms`,\n );\n return result;\n}\n\nconst prefetchPromises: Map<string, Promise<Alg>> = new Map();\n// This would just be a number, except `node` is extremely silly and returns an object instead.\n// https://nodejs.org/api/timers.html#settimeoutcallback-delay-args\nlet queuedPrefetchTimeoutID: ReturnType<typeof setTimeout> | null = null;\n\n// This is used to ensure only one scramble is running (and measured) at a time, as interleaving scrambles within a single worker isn't supported (yet).\n// Scrambles may perform async work (e.g. loading code), and this guard this prevents unintended interleaving.\nlet scrambleActivityLock: Promise<Alg>;\n\nasync function randomScrambleForEvent(\n eventID: string,\n options?: { isPrefetch?: boolean },\n): Promise<Alg> {\n return (scrambleActivityLock = (async () => {\n await scrambleActivityLock;\n function wasm(): Promise<Alg> {\n return measurePerf(\n `wasmRandomScrambleForEvent(${JSON.stringify(eventID)})`,\n () => wasmRandomScrambleForEvent(eventID),\n {\n isPrefetch: options?.isPrefetch,\n },\n );\n }\n\n switch (eventID) {\n // case \"333\":\n case \"222\":\n return (await wasm()).experimentalSimplify({\n puzzleSpecificSimplifyOptions: {\n quantumMoveOrder: () => 4,\n },\n });\n // case \"444\":\n case \"555\":\n case \"666\":\n case \"777\":\n // case \"333bf\":\n case \"333fm\":\n // case \"333oh\":\n // case \"clock\":\n case \"minx\":\n case \"pyram\":\n case \"skewb\":\n case \"sq1\":\n // case \"444bf\":\n case \"555bf\":\n // case \"333mbf\":\n // case \"fto\":\n // case \"master_tetraminx\":\n // case \"kilominx\":\n // case \"redi_cube\":\n case \"baby_fto\":\n return wasm();\n case \"333\":\n case \"333oh\":\n case \"333ft\":\n return measurePerf(\"random333Scramble\", random333Scramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"333bf\":\n case \"333mbf\":\n return measurePerf(\n \"random333OrientedScramble\",\n random333OrientedScramble,\n );\n case \"444\":\n return measurePerf(\"random444Scramble\", random444Scramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"444bf\":\n return measurePerf(\n \"random444OrientedScramble\",\n random444OrientedScramble,\n );\n case \"fto\":\n return measurePerf(\"randomFTOScramble\", randomFTOScramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"master_tetraminx\":\n return measurePerf(\n \"randomMasterTetraminxScramble\",\n randomMasterTetraminxScramble,\n );\n case \"kilominx\":\n return measurePerf(\"randomKilominxScramble\", randomKilominxScramble, {\n isPrefetch: options?.isPrefetch,\n });\n case \"redi_cube\":\n return measurePerf(\"randomRediCubeScramble\", randomRediCubeScramble, {\n isPrefetch: options?.isPrefetch,\n });\n default:\n throw new Error(`unsupported event: ${eventID}`);\n }\n })());\n}\n\nexport enum PrefetchLevel {\n Auto = \"auto\",\n None = \"none\",\n Immediate = \"immediate\",\n}\n\nlet currentPrefetchLevel = PrefetchLevel.Auto;\n\nexport const insideAPI = {\n initialize: async (eventID: string) => {\n switch (eventID) {\n case \"222\":\n return measurePerf(\"preInitialize222\", preInitialize222);\n case \"333\":\n case \"333oh\":\n case \"333ft\":\n return measurePerf(\"initialize333\", initialize333);\n case \"444\":\n return measurePerf(\"initialize444\", initialize444);\n default:\n throw new Error(`unsupported event: ${eventID}`);\n }\n },\n\n setScramblePrefetchLevel(prefetchLevel: `${PrefetchLevel}`) {\n currentPrefetchLevel = prefetchLevel as PrefetchLevel;\n },\n\n randomScrambleForEvent: async (eventID: string): Promise<Alg> => {\n let promise = prefetchPromises.get(eventID);\n if (promise) {\n prefetchPromises.delete(eventID);\n } else {\n promise = randomScrambleForEvent(eventID);\n }\n if (currentPrefetchLevel !== PrefetchLevel.None) {\n promise.then(() => {\n // `queuedPrefetch` could be 0, but:\n // > Passing an invalid ID to clearTimeout() silently does nothing; no exception is thrown.\n // https://developer.mozilla.org/en-US/docs/Web/API/clearTimeout#notes\n if (queuedPrefetchTimeoutID) {\n clearTimeout(queuedPrefetchTimeoutID);\n }\n queuedPrefetchTimeoutID = setTimeout(\n () => {\n prefetchPromises.set(\n eventID,\n randomScrambleForEvent(eventID, {\n isPrefetch: true,\n }),\n );\n },\n currentPrefetchLevel === PrefetchLevel.Immediate\n ? 0\n : IDLE_PREFETCH_TIMEOUT_MS,\n );\n });\n }\n return promise;\n },\n\n randomScrambleStringForEvent: async (eventID: string): Promise<string> => {\n return (await insideAPI.randomScrambleForEvent(eventID)).toString();\n },\n\n solve333ToString: async (patternData: KPatternData): Promise<string> => {\n const pattern = new KPattern(await puzzles[\"3x3x3\"].kpuzzle(), patternData);\n return (await solve333(pattern)).toString();\n },\n\n solve222ToString: async (patternData: KPatternData): Promise<string> => {\n const pattern = new KPattern(await puzzles[\"2x2x2\"].kpuzzle(), patternData);\n return (await solve222(pattern)).toString();\n },\n\n solveSkewbToString: async (patternData: KPatternData): Promise<string> => {\n const pattern = new KPattern(await puzzles[\"skewb\"].kpuzzle(), patternData);\n return (await solveSkewb(pattern)).toString();\n },\n\n solvePyraminxToString: async (patternData: KPatternData): Promise<string> => {\n const pattern = new KPattern(\n await puzzles[\"pyraminx\"].kpuzzle(),\n patternData,\n );\n return (await solvePyraminx(pattern)).toString();\n },\n\n solveMegaminxToString: async (patternData: KPatternData): Promise<string> => {\n const pattern = new KPattern(\n await puzzles[\"megaminx\"].kpuzzle(),\n patternData,\n );\n return (await solveMegaminx(pattern)).toString();\n },\n\n setDebugMeasurePerf: async (measure: boolean): Promise<void> => {\n setDebugMeasurePerf(measure);\n },\n\n solveTwsearchToString: async (\n def: KPuzzleDefinition,\n patternData: KPatternData,\n options?: TwsearchOptions,\n ): Promise<string> => {\n const kpuzzle = new KPuzzle(def);\n const pattern = new KPattern(kpuzzle, patternData);\n return (await wasmTwsearch(def, pattern, options)).toString();\n },\n};\n\nexport type WorkerInsideAPI = typeof insideAPI;\n", "import { expose } from \"../../vendor/apache/comlink-everywhere/inside\";\nimport { insideAPI } from \"./api\";\n\nexpose(insideAPI);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,sBAAsB,uBAAuB;;;ACAtD,SAAS,oBAAoB;AAO7B,IAAM,6BAA6B;AAEnC,IAAM,4BAA4B;AAClC,IAAM,QAAQ;AAGd,SAAS,eACP,SACA,WAIE;AACF,QAAM,cAGA,CAAC;AAGP,aAAW,YAAY,WAAW;AAChC,UAAM,WAAW,IAAI,KAAK,QAAQ;AAClC,QAAI,SAAS,WAAW,GAAG;AACzB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AACA,QAAI,iBAAiB,QAAQ,uBAAuB;AACpD,aAAS,IAAI,KAAK,KAAK;AACrB,uBAAiB,eAAe,UAAU,QAAQ;AAClD,UAAI,eAAe,yBAAyB,GAAG;AAC7C;AAAA,MACF;AACA,kBAAY,KAAK;AAAA,QACf,MAAM,SAAS,SAAS,EAAE,QAAQ,EAAE,CAAC;AAAA,QACrC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO;AACT;AAaO,IAAM,gBAAN,MAAoB;AAAA,EAMzB,YACU,SACA,KACR,kBACA;AAHQ;AACA;AAGR,SAAK,cAAc;AAAA,MACjB,KAAK;AAAA,MACL,oBAAoB,OAAO,KAAK,KAAK,QAAQ,WAAW,KAAK;AAAA,IAC/D;AAAA,EACF;AAAA,EAdQ;AAAA;AAAA;AAAA;AAAA,EAoBR,MAAa,MACX,SACA,mBAA2B,4BAC3B,kBACc;AACd,UAAM,iBAAiB,QAAQ,6BAA6B;AAC5D,QAAI,CAAC,gBAAgB;AACnB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AACA,QAAI,UAAsB;AAC1B,QAAI,UAAU;AACd,UAAM,QAAQ,CACZ,yBACA,MACA,UACG;AAEH,UAAI,SAAS,GAAG;AACd,cAAM,SAAS,KAAK,cAAc,yBAAyB,OAAO;AAClE,YAAI,CAAC,QAAQ;AACX;AAAA,QACF;AAEA,cAAM,SAAS,MAAM,OAAO,MAAM,EAAE,qBAAqB;AAAA,UACvD,QAAQ;AAAA,YACN,aAAa;AAAA,YACb,uBAAuB;AAAA,UACzB;AAAA,UACA,+BAA+B,EAAE,iBAAiB;AAAA,QACpD,CAAC;AAED,cAAM,MAAM,WAAuB,MAAM;AACzC,YAAI,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAI,OAAO;AACT,oBAAQ,IAAI,aAAa,GAAG,YAAY,OAAO,SAAS,CAAC,EAAE;AAC3D,oBAAQ,IAAI,sBAAsB,MAAM,SAAS,CAAC,EAAE;AAAA,UACtD;AACA,oBAAU;AACV,oBAAU;AAAA,QACZ;AACA;AAAA,MACF;AACA,iBAAW,cAAc,KAAK,aAAa;AACzC;AAAA,UACE,wBAAwB;AAAA,YACtB,WAAW;AAAA,UACb;AAAA,UACA,OAAO;AAAA,UACP,MAAM,OAAO,CAAC,WAAW,IAAI,CAAC;AAAA,QAChC;AAAA,MACF;AAAA,IACF;AACA,aAAS,IAAI,GAAG,KAAK,kBAAkB,KAAK;AAC1C,YAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC;AAAA,IACpC;AACA,QAAI,YAAY,MAAM;AACpB,YAAM,IAAI,MAAM,oBAAoB;AAAA,IACtC;AACA,WAAO;AAAA,EACT;AAAA,EAEQ,cACN,uBACA,cACY;AASZ,UAAM,aAAa,IAAI,WAAW;AAClC,QAAI,iBAAiB;AACrB,eAAW,QAAQ,KAAK,IAAI,UAAU;AACpC,YAAM,WAAW,KAAK;AACtB,UAAI,MAAM;AACV,YAAM,wBAAwB,eAAe,OAAO;AACpD,eAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,cAAM,MAAM,SAAS,CAAC;AACtB,cAAM,YAAY,IAAI;AACtB,cAAM,MAAM,IAAI;AAChB,eAAO,IAAI,sBAAsB,mBAAmB,SAAS,EAAE,YAAY,GAAG,CAAC,IAAI,sBAAsB,mBAAmB,SAAS,EAAE,iBAAiB,GAAG,CAAC;AAAA,MAC9J;AAEA,YAAM,OAAO,KAAK,OAAO,GAAG;AAC5B,UAAI,CAAC,MAAM;AACT,cAAM,IAAI,MAAM,mCAAmC;AAAA,MACrD;AACA,iBAAW,oBAAoB,KAAK,GAAG;AACvC,UAAI,WAAW,wBAAwB,KAAK,cAAc;AACxD,eAAO;AAAA,MACT;AACA,uBAAiB,eAAe,oBAAoB,KAAK,cAAc;AACvE,UAAI,2BAA2B;AAC7B,iBAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,gBAAM,WAAW,SAAS,CAAC;AAC3B,gBAAM,YAAY,SAAS;AAC3B,gBAAM,MAAM,SAAS;AACrB,cACE,eAAe,mBAAmB,SAAS,EAAE,YAAY,GAAG,MAC1D,OACF,eAAe,mBAAmB,SAAS,EAAE,iBAC3C,GACF,MAAM,GACN;AACA,kBAAM,IAAI,MAAM,aAAa;AAAA,UAC/B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO,WAAW,MAAM;AAAA,EAC1B;AACF;;;AC5LO,IAAM,kBAET,KAAK,YAAY,OAAO,wBAA8B,CAAC;AAU3D,eAAsB,aACpB,KACA,SACA,SACc;AACd,QAAM,EAAE,cAAAA,cAAa,IAAI,MAAM;AAC/B,SAAOA,cAAa,KAAK,SAAS,OAAO;AAC3C;AAEA,eAAsB,2BACpB,SACc;AACd,QAAM,EAAE,4BAAAC,4BAA2B,IAAI,MAAM;AAC7C,SAAOA,4BAA2B,OAAO;AAC3C;;;AChCO,IAAM,0BAA0B,KAErC,MAAM,OAAO,8CAAkC,CAAC;;;AHOlD,IAAI,sBAAqD;AACzD,eAAe,yBAAiD;AAC9D,SACE,wBACC,uBAAuB,YAAoC;AAC1D,UAAM,gBAA+B,OACnC,MAAM,yBACN,cAAc;AAChB,WAAO,IAAI;AAAA,MACT,MAAM,QAAQ,OAAO,EAAE,QAAQ;AAAA,MAC/B;AAAA,MACA,SAAS,MAAM,EAAE;AAAA,IACnB;AAAA,EACF,GAAG;AAEP;AAEA,eAAsB,mBAAkC;AACtD,QAAM,uBAAuB;AAC/B;AAGA,eAAsB,SAAS,SAAiC;AAC9D,qBAAmB;AACnB,SAAO,cAAc,MAAM,UAAU,QAAQ,GAAG,YAAY,SAAS;AAAA,IACnE,gBAAgB,OAAO,MAAM,EAAE;AAAA,EACjC,CAAC;AACH;;;AIpCO,IAAM,qBAAqB,KAEhC,MAAM,OAAO,0CAA8B,CAAC;;;ACC9C,IAAM,iBAAiB;AAAA,EACrB,CAAC,MAAM,KAAK,MAAM,MAAM,KAAK,IAAI;AAAA,EACjC,CAAC,MAAM,KAAK,MAAM,IAAI;AACxB;AAEA,eAAsB,gBAA+B;AACnD,UAAQ,MAAM,oBAAoB,WAAW;AAC/C;AAEA,eAAsB,oBAAkC;AACtD,qBAAmB;AACnB,UAAQ,MAAM,oBAAoB,kBAAkB;AACtD;AAEA,eAAsB,4BAA0C;AAC9D,SAAO,qBAAqB,MAAM,kBAAkB,GAAG,cAAc;AACvE;;;ACnBO,IAAM,aAAa;AAAA,EACxB,MAAM,OAAO,wCAA4B;AAC3C;;;ACKA,IAAM,UAAU,KAEd,MAAM,OAAO,6CAAwD,CAAC;AAwCxE,eAAsB,oBAAkC;AACtD,qBAAmB;AACnB,SAAO,IAAI,IAAI,OAAO,MAAM,YAAY,qBAAqB,CAAC;AAChE;;;ACpDO,IAAM,wBAAwB,KAEnC,MAAM,OAAO,6CAAiC,CAAC;;;ACAjD,eAAsB,yBAAuC;AAC3D,qBAAmB;AACnB,UAAQ,MAAM,uBAAuB,0BAA0B;AACjE;;;ACLO,IAAM,+BAA+B,KAE1C,MAAM,OAAO,qDAAyC,CAAC;;;ACAzD,eAAsB,gCAA8C;AAClE,qBAAmB;AACnB,SAAO,IAAI;AAAA,IACT,OACE,MAAM,8BACN,oCAAoC;AAAA,EACxC;AACF;;;ACHA,IAAM,gBAAgB;AAEtB,IAAIC,uBAAqD;AACzD,eAAeC,0BAAiD;AAC9D,SACED,yBACCA,wBAAuB,YAAoC;AAC1D,UAAM,OAAsB,OAC1B,MAAM,yBACN,sBAAsB;AACxB,WAAO,IAAI;AAAA,MACT,OAAO,MAAM,yBAAyB,+BAA+B;AAAA,MACrE;AAAA,MACA,CAAC,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,GAAG;AAAA,IACnE;AAAA,EACF,GAAG;AAEP;AAOA,eAAsB,cAAc,SAAiC;AACnE,qBAAmB;AACnB,QAAM,gBAAgB,MAAME,wBAAuB;AACnD,QAAM,uBAAqC;AAAA,IACzC,QAAQ;AAAA,EACV;AACA,uBAAqB,QAAQ,cAAc,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC;AAC/D,QAAM,mBAAmB,IAAI;AAAA,IAC3B,OAAO,MAAM,yBAAyB,+BAA+B;AAAA,IACrE;AAAA,EACF;AACA,QAAM,MAAM,MAAM,cAAc;AAAA,IAC9B;AAAA,IACA;AAAA,IACA,MAAM;AAAA;AAAA,EACR;AACA,SAAO;AACT;;;ACzCA,IAAMC,iBAAgB;AAEtB,IAAIC,uBAAqD;AACzD,eAAeC,0BAAiD;AAC9D,SACED,yBACCA,wBAAuB,YAAoC;AAC1D,UAAM,OAAsB,OAC1B,MAAM,yBACN,gBAAgB;AAClB,WAAO,IAAI;AAAA,MACT,MAAM,QAAQ,SAAS,QAAQ;AAAA,MAC/B;AAAA,MACA,OAAO,MAAM,EAAE;AAAA,IACjB;AAAA,EACF,GAAG;AAEP;AAMA,eAAsB,cAAc,SAAiC;AACnE,qBAAmB;AACnB,QAAM,gBAAgB,MAAME,wBAAuB;AACnD,QAAM,MAAM,MAAM,cAAc,MAAM,SAASC,gBAAe,MAAM,CAAC;AACrE,SAAO;AACT;;;AClCO,IAAM,0BAA0B,KAErC,MAAM,OAAO,6CAAiC,CAAC;;;ACAjD,eAAsB,yBAAuC;AAC3D,qBAAmB;AACnB,UAAQ,MAAM,yBAAyB,0BAA0B;AACnE;;;ACAA,IAAMC,iBAAgB;AAEtB,IAAIC,uBAAqD;AACzD,eAAeC,0BAAiD;AAC9D,SACED,yBACCA,wBAAuB,YAAoC;AAC1D,UAAM,OAAsB,OAC1B,MAAM,yBACN,aAAa;AACf,WAAO,IAAI;AAAA,MACT,OAAO,MAAM,yBAAyB,4BAA4B;AAAA,MAClE;AAAA,MACA,OAAO,MAAM,EAAE;AAAA,IACjB;AAAA,EACF,GAAG;AAEP;AAMA,eAAe,uBAAuB,SAAsC;AAC1E,SAAO,IAAI;AAAA,IACT,OAAO,MAAM,yBAAyB,4BAA4B;AAAA,IAClE;AAAA,MACE,SAAS,QAAQ,YAAY;AAAA,MAC7B,SAAS;AAAA,QACP,QAAQ,QAAQ,YAAY,QAAQ;AAAA,QACpC,aAAa,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AACF;AAGA,eAAsB,WAAW,SAAiC;AAChE,qBAAmB;AACnB,QAAM,gBAAgB,MAAME,wBAAuB;AACnD,QAAM,MAAM,MAAM,cAAc;AAAA,IAC9B,MAAM,uBAAuB,OAAO;AAAA,IACpCC;AAAA,IACA,CAAC,gBAA8B,YAAY,WAAW,MAAM,IAAI;AAAA;AAAA,EAClE;AACA,SAAO;AACT;;;ACnBA,IAAM,2BAA2B;AAEjC,kBAAkB,IAAI;AAEtB,IAAI,qBAAqB;AAClB,SAAS,oBAAoB,qBAAoC;AACtE,uBAAqB;AACvB;AAEA,SAAS,MAAM;AACb,UAAQ,OAAO,gBAAgB,cAAc,OAAO,aAAa,IAAI;AACvE;AAEA,eAAe,YACb,MACA,GACA,SACY;AACZ,MAAI,CAAC,oBAAoB;AACvB,WAAO,EAAE;AAAA,EACX;AAEA,QAAM,QAAQ,IAAI;AAClB,QAAM,SAAS,EAAE;AACjB,MAAK,QAAgB,MAAM;AACzB,UAAM;AAAA,EACR;AACA,QAAM,MAAM,IAAI;AAChB,UAAQ;AAAA,IACN,GAAG,IAAI,GAAG,SAAS,aAAa,kBAAkB,EAAE,KAAK,KAAK;AAAA,MAC5D,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAEA,IAAM,mBAA8C,oBAAI,IAAI;AAG5D,IAAI,0BAAgE;AAIpE,IAAI;AAEJ,eAAe,uBACb,SACA,SACc;AACd,SAAQ,wBAAwB,YAAY;AAC1C,UAAM;AACN,aAAS,OAAqB;AAC5B,aAAO;AAAA,QACL,8BAA8B,KAAK,UAAU,OAAO,CAAC;AAAA,QACrD,MAAM,2BAA2B,OAAO;AAAA,QACxC;AAAA,UACE,YAAY,SAAS;AAAA,QACvB;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,SAAS;AAAA;AAAA,MAEf,KAAK;AACH,gBAAQ,MAAM,KAAK,GAAG,qBAAqB;AAAA,UACzC,+BAA+B;AAAA,YAC7B,kBAAkB,MAAM;AAAA,UAC1B;AAAA,QACF,CAAC;AAAA;AAAA,MAEH,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA;AAAA,MAEL,KAAK;AAAA;AAAA;AAAA,MAGL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA;AAAA,MAEL,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAML,KAAK;AACH,eAAO,KAAK;AAAA,MACd,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,YAAY,qBAAqB,mBAAmB;AAAA,UACzD,YAAY,SAAS;AAAA,QACvB,CAAC;AAAA,MACH,KAAK;AAAA,MACL,KAAK;AACH,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF,KAAK;AACH,eAAO,YAAY,qBAAqB,mBAAmB;AAAA,UACzD,YAAY,SAAS;AAAA,QACvB,CAAC;AAAA,MACH,KAAK;AACH,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF,KAAK;AACH,eAAO,YAAY,qBAAqB,mBAAmB;AAAA,UACzD,YAAY,SAAS;AAAA,QACvB,CAAC;AAAA,MACH,KAAK;AACH,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF,KAAK;AACH,eAAO,YAAY,0BAA0B,wBAAwB;AAAA,UACnE,YAAY,SAAS;AAAA,QACvB,CAAC;AAAA,MACH,KAAK;AACH,eAAO,YAAY,0BAA0B,wBAAwB;AAAA,UACnE,YAAY,SAAS;AAAA,QACvB,CAAC;AAAA,MACH;AACE,cAAM,IAAI,MAAM,sBAAsB,OAAO,EAAE;AAAA,IACnD;AAAA,EACF,GAAG;AACL;AAQA,IAAI,uBAAuB;AAEpB,IAAM,YAAY;AAAA,EACvB,YAAY,OAAO,YAAoB;AACrC,YAAQ,SAAS;AAAA,MACf,KAAK;AACH,eAAO,YAAY,oBAAoB,gBAAgB;AAAA,MACzD,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,YAAY,iBAAiB,aAAa;AAAA,MACnD,KAAK;AACH,eAAO,YAAY,iBAAiB,aAAa;AAAA,MACnD;AACE,cAAM,IAAI,MAAM,sBAAsB,OAAO,EAAE;AAAA,IACnD;AAAA,EACF;AAAA,EAEA,yBAAyB,eAAmC;AAC1D,2BAAuB;AAAA,EACzB;AAAA,EAEA,wBAAwB,OAAO,YAAkC;AAC/D,QAAI,UAAU,iBAAiB,IAAI,OAAO;AAC1C,QAAI,SAAS;AACX,uBAAiB,OAAO,OAAO;AAAA,IACjC,OAAO;AACL,gBAAU,uBAAuB,OAAO;AAAA,IAC1C;AACA,QAAI,yBAAyB,mBAAoB;AAC/C,cAAQ,KAAK,MAAM;AAIjB,YAAI,yBAAyB;AAC3B,uBAAa,uBAAuB;AAAA,QACtC;AACA,kCAA0B;AAAA,UACxB,MAAM;AACJ,6BAAiB;AAAA,cACf;AAAA,cACA,uBAAuB,SAAS;AAAA,gBAC9B,YAAY;AAAA,cACd,CAAC;AAAA,YACH;AAAA,UACF;AAAA,UACA,yBAAyB,8BACrB,IACA;AAAA,QACN;AAAA,MACF,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,8BAA8B,OAAO,YAAqC;AACxE,YAAQ,MAAM,UAAU,uBAAuB,OAAO,GAAG,SAAS;AAAA,EACpE;AAAA,EAEA,kBAAkB,OAAO,gBAA+C;AACtE,UAAM,UAAU,IAAI,SAAS,MAAM,QAAQ,OAAO,EAAE,QAAQ,GAAG,WAAW;AAC1E,YAAQ,MAAM,SAAS,OAAO,GAAG,SAAS;AAAA,EAC5C;AAAA,EAEA,kBAAkB,OAAO,gBAA+C;AACtE,UAAM,UAAU,IAAI,SAAS,MAAM,QAAQ,OAAO,EAAE,QAAQ,GAAG,WAAW;AAC1E,YAAQ,MAAM,SAAS,OAAO,GAAG,SAAS;AAAA,EAC5C;AAAA,EAEA,oBAAoB,OAAO,gBAA+C;AACxE,UAAM,UAAU,IAAI,SAAS,MAAM,QAAQ,OAAO,EAAE,QAAQ,GAAG,WAAW;AAC1E,YAAQ,MAAM,WAAW,OAAO,GAAG,SAAS;AAAA,EAC9C;AAAA,EAEA,uBAAuB,OAAO,gBAA+C;AAC3E,UAAM,UAAU,IAAI;AAAA,MAClB,MAAM,QAAQ,UAAU,EAAE,QAAQ;AAAA,MAClC;AAAA,IACF;AACA,YAAQ,MAAM,cAAc,OAAO,GAAG,SAAS;AAAA,EACjD;AAAA,EAEA,uBAAuB,OAAO,gBAA+C;AAC3E,UAAM,UAAU,IAAI;AAAA,MAClB,MAAM,QAAQ,UAAU,EAAE,QAAQ;AAAA,MAClC;AAAA,IACF;AACA,YAAQ,MAAM,cAAc,OAAO,GAAG,SAAS;AAAA,EACjD;AAAA,EAEA,qBAAqB,OAAO,YAAoC;AAC9D,wBAAoB,OAAO;AAAA,EAC7B;AAAA,EAEA,uBAAuB,OACrB,KACA,aACA,YACoB;AACpB,UAAM,UAAU,IAAI,QAAQ,GAAG;AAC/B,UAAM,UAAU,IAAI,SAAS,SAAS,WAAW;AACjD,YAAQ,MAAM,aAAa,KAAK,SAAS,OAAO,GAAG,SAAS;AAAA,EAC9D;AACF;;;AClRA,OAAO,SAAS;",
6
6
  "names": ["wasmTwsearch", "wasmRandomScrambleForEvent", "cachedTrembleSolver", "getCachedTrembleSolver", "getCachedTrembleSolver", "TREMBLE_DEPTH", "cachedTrembleSolver", "getCachedTrembleSolver", "getCachedTrembleSolver", "TREMBLE_DEPTH", "TREMBLE_DEPTH", "cachedTrembleSolver", "getCachedTrembleSolver", "getCachedTrembleSolver", "TREMBLE_DEPTH"]
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import "./chunk-NAPITA3L.js";
2
- import "./chunk-XCLZRR6J.js";
2
+ import "./chunk-OPV6VG3X.js";
3
3
  import {
4
4
  random333Scramble
5
5
  } from "./chunk-ZU3V6SKO.js";
@@ -2921,4 +2921,4 @@ export {
2921
2921
  initialize,
2922
2922
  random444Scramble
2923
2923
  };
2924
- //# sourceMappingURL=search-dynamic-solve-4x4x4-MOGTZMVH.js.map
2924
+ //# sourceMappingURL=search-dynamic-solve-4x4x4-6JR6MPNN.js.map
@@ -9,7 +9,7 @@ import "./chunk-GOT3GVLG.js";
9
9
  // src/cubing/search/worker-workarounds/search-worker-entry.js
10
10
  if (exposeAPI.expose) {
11
11
  (async () => {
12
- await import("./inside-HUVZTKYH.js");
12
+ await import("./inside-LUDELYNF.js");
13
13
  const messagePort = globalThis.postMessage ? globalThis : await nodeEndpointPort();
14
14
  messagePort.postMessage("comlink-exposed");
15
15
  })();
@@ -451,8 +451,8 @@ var twsearch_wasm_default = __wbg_init;
451
451
  var cachedInitWrapper;
452
452
  async function initWrapper() {
453
453
  await (cachedInitWrapper ??= (async () => {
454
- const wasmUint8Array = (await import("./twsearch_wasm_bg-VKUQN4MD-IPLXEKL7.js")).default;
455
- await twsearch_wasm_default(wasmUint8Array.buffer);
454
+ const wasmUint8Array = (await import("./twsearch_wasm_bg-ZVADHDTY-KT5WT5OX.js")).default;
455
+ await twsearch_wasm_default({ module_or_path: wasmUint8Array.buffer });
456
456
  })());
457
457
  }
458
458
  async function wasmRandomScrambleForEvent2(eventId) {
@@ -473,4 +473,4 @@ export {
473
473
  wasmRandomScrambleForEvent2 as wasmRandomScrambleForEvent,
474
474
  wasmTwsearch2 as wasmTwsearch
475
475
  };
476
- //# sourceMappingURL=twsearch-2T5RAJYA.js.map
476
+ //# sourceMappingURL=twsearch-KODGQJMW.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/cubing/vendor/mpl/twsearch/index.js"],
4
- "sourcesContent": ["// Generated from `twsearch` [object Promise]\nimport \"./chunk-FTOVDLBG.js\";\n\n// src/wasm-package/index.ts\nimport { Alg } from \"../../../alg\";\n\n// .temp/rust-wasm/twsearch_wasm.js\nvar wasm;\nvar heap = new Array(128).fill(void 0);\nheap.push(void 0, null, true, false);\nfunction getObject(idx) {\n return heap[idx];\n}\nvar heap_next = heap.length;\nfunction addHeapObject(obj) {\n if (heap_next === heap.length)\n heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n heap[idx] = obj;\n return idx;\n}\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_export_0(addHeapObject(e));\n }\n}\nvar cachedTextDecoder = typeof TextDecoder !== \"undefined\" ? new TextDecoder(\"utf-8\", { ignoreBOM: true, fatal: true }) : { decode: () => {\n throw Error(\"TextDecoder not available\");\n} };\nif (typeof TextDecoder !== \"undefined\") {\n cachedTextDecoder.decode();\n}\nvar cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\nfunction dropObject(idx) {\n if (idx < 132)\n return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\nvar WASM_VECTOR_LEN = 0;\nvar cachedTextEncoder = typeof TextEncoder !== \"undefined\" ? new TextEncoder(\"utf-8\") : { encode: () => {\n throw Error(\"TextEncoder not available\");\n} };\nvar encodeString = typeof cachedTextEncoder.encodeInto === \"function\" ? function(arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n} : function(arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n};\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === void 0) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr2 = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr2, ptr2 + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr2;\n }\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n const mem = getUint8ArrayMemory0();\n let offset = 0;\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 127)\n break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\nvar cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || cachedDataViewMemory0.buffer.detached === void 0 && cachedDataViewMemory0.buffer !== wasm.memory.buffer) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\nfunction isLikeNone(x) {\n return x === void 0 || x === null;\n}\nfunction debugString(val) {\n const type = typeof val;\n if (type == \"number\" || type == \"boolean\" || val == null) {\n return `${val}`;\n }\n if (type == \"string\") {\n return `\"${val}\"`;\n }\n if (type == \"symbol\") {\n const description = val.description;\n if (description == null) {\n return \"Symbol\";\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == \"function\") {\n const name = val.name;\n if (typeof name == \"string\" && name.length > 0) {\n return `Function(${name})`;\n } else {\n return \"Function\";\n }\n }\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = \"[\";\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for (let i = 1; i < length; i++) {\n debug += \", \" + debugString(val[i]);\n }\n debug += \"]\";\n return debug;\n }\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n return toString.call(val);\n }\n if (className == \"Object\") {\n try {\n return \"Object(\" + JSON.stringify(val) + \")\";\n } catch (_) {\n return \"Object\";\n }\n }\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\n${val.stack}`;\n }\n return className;\n}\nfunction wasmTwsearch(kpuzzle_json, search_pattern_json, options_json) {\n let deferred5_0;\n let deferred5_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(kpuzzle_json, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(search_pattern_json, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(options_json, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len2 = WASM_VECTOR_LEN;\n wasm.wasmTwsearch(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr4 = r0;\n var len4 = r1;\n if (r3) {\n ptr4 = 0;\n len4 = 0;\n throw takeObject(r2);\n }\n deferred5_0 = ptr4;\n deferred5_1 = len4;\n return getStringFromWasm0(ptr4, len4);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_1(deferred5_0, deferred5_1, 1);\n }\n}\nfunction wasmRandomScrambleForEvent(event_str) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(event_str, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len0 = WASM_VECTOR_LEN;\n wasm.wasmRandomScrambleForEvent(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr2 = r0;\n var len2 = r1;\n if (r3) {\n ptr2 = 0;\n len2 = 0;\n throw takeObject(r2);\n }\n deferred3_0 = ptr2;\n deferred3_1 = len2;\n return getStringFromWasm0(ptr2, len2);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_1(deferred3_0, deferred3_1, 1);\n }\n}\nasync function __wbg_load(module2, imports) {\n if (typeof Response === \"function\" && module2 instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === \"function\") {\n try {\n return await WebAssembly.instantiateStreaming(module2, imports);\n } catch (e) {\n if (module2.headers.get(\"Content-Type\") != \"application/wasm\") {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n } else {\n throw e;\n }\n }\n }\n const bytes = await module2.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module2, imports);\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module: module2 };\n } else {\n return instance;\n }\n }\n}\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbg_buffer_609cc3eee51ed158 = function(arg0) {\n const ret = getObject(arg0).buffer;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_call_672a4d21634d4a24 = function() {\n return handleError(function(arg0, arg1) {\n const ret = getObject(arg0).call(getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_call_7cccdd69e0791ae2 = function() {\n return handleError(function(arg0, arg1, arg2) {\n const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_crypto_ed58b8e10a292839 = function(arg0) {\n const ret = getObject(arg0).crypto;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_export_1(deferred0_0, deferred0_1, 1);\n }\n };\n imports.wbg.__wbg_getRandomValues_bcb4912f16000dc4 = function() {\n return handleError(function(arg0, arg1) {\n getObject(arg0).getRandomValues(getObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_get_67b2ba62fc30de12 = function() {\n return handleError(function(arg0, arg1) {\n const ret = Reflect.get(getObject(arg0), getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_msCrypto_0a36e2ec3a343d26 = function(arg0) {\n const ret = getObject(arg0).msCrypto;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_8a6f238a6ece86ea = function() {\n const ret = new Error();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_a12002a7f91c75be = function(arg0) {\n const ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newnoargs_105ed471475aaf50 = function(arg0, arg1) {\n const ret = new Function(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a = function(arg0, arg1, arg2) {\n const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newwithlength_a381634e90c276d4 = function(arg0) {\n const ret = new Uint8Array(arg0 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_node_02999533c4ea02e3 = function(arg0) {\n const ret = getObject(arg0).node;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_now_d18023d54d4e5500 = function(arg0) {\n const ret = getObject(arg0).now();\n return ret;\n };\n imports.wbg.__wbg_process_5c1d670bc53614b8 = function(arg0) {\n const ret = getObject(arg0).process;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_randomFillSync_ab2cfe79ebbf2740 = function() {\n return handleError(function(arg0, arg1) {\n getObject(arg0).randomFillSync(takeObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_require_79b1e9274cde3c87 = function() {\n return handleError(function() {\n const ret = module.require;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_set_65595bdd868b3009 = function(arg0, arg1, arg2) {\n getObject(arg0).set(getObject(arg1), arg2 >>> 0);\n };\n imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {\n const ret = getObject(arg1).stack;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07 = function() {\n const ret = typeof global === \"undefined\" ? null : global;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0 = function() {\n const ret = typeof globalThis === \"undefined\" ? null : globalThis;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819 = function() {\n const ret = typeof self === \"undefined\" ? null : self;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40 = function() {\n const ret = typeof window === \"undefined\" ? null : window;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_subarray_aa9065fa9dc5df96 = function(arg0, arg1, arg2) {\n const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_versions_c71aa1626a93e0a1 = function(arg0) {\n const ret = getObject(arg0).versions;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {\n const ret = debugString(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbindgen_is_function = function(arg0) {\n const ret = typeof getObject(arg0) === \"function\";\n return ret;\n };\n imports.wbg.__wbindgen_is_object = function(arg0) {\n const val = getObject(arg0);\n const ret = typeof val === \"object\" && val !== null;\n return ret;\n };\n imports.wbg.__wbindgen_is_string = function(arg0) {\n const ret = typeof getObject(arg0) === \"string\";\n return ret;\n };\n imports.wbg.__wbindgen_is_undefined = function(arg0) {\n const ret = getObject(arg0) === void 0;\n return ret;\n };\n imports.wbg.__wbindgen_memory = function() {\n const ret = wasm.memory;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_object_clone_ref = function(arg0) {\n const ret = getObject(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_object_drop_ref = function(arg0) {\n takeObject(arg0);\n };\n imports.wbg.__wbindgen_string_new = function(arg0, arg1) {\n const ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n return imports;\n}\nfunction __wbg_init_memory(imports, memory) {\n}\nfunction __wbg_finalize_init(instance, module2) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module2;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n return wasm;\n}\nasync function __wbg_init(module_or_path) {\n if (wasm !== void 0)\n return wasm;\n if (typeof module_or_path !== \"undefined\") {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({ module_or_path } = module_or_path);\n } else {\n console.warn(\"using deprecated parameters for the initialization function; pass a single object instead\");\n }\n }\n if (typeof module_or_path === \"undefined\") {\n module_or_path = new URL(\"twsearch_wasm_bg.wasm\", import.meta.url);\n }\n const imports = __wbg_get_imports();\n if (typeof module_or_path === \"string\" || typeof Request === \"function\" && module_or_path instanceof Request || typeof URL === \"function\" && module_or_path instanceof URL) {\n module_or_path = fetch(module_or_path);\n }\n __wbg_init_memory(imports);\n const { instance, module: module2 } = await __wbg_load(await module_or_path, imports);\n return __wbg_finalize_init(instance, module2);\n}\nvar twsearch_wasm_default = __wbg_init;\n\n// src/wasm-package/index.ts\nvar cachedInitWrapper;\nasync function initWrapper() {\n await (cachedInitWrapper ??= (async () => {\n const wasmUint8Array = (await import(\"./twsearch_wasm_bg-VKUQN4MD.js\")).default;\n await twsearch_wasm_default(wasmUint8Array.buffer);\n })());\n}\nasync function wasmRandomScrambleForEvent2(eventId) {\n await initWrapper();\n return new Alg(wasmRandomScrambleForEvent(eventId));\n}\nasync function wasmTwsearch2(kpuzzleDefinition, searchPattern, options) {\n await initWrapper();\n return new Alg(\n wasmTwsearch(\n JSON.stringify(kpuzzleDefinition),\n JSON.stringify(searchPattern.toJSON()[\"patternData\"]),\n JSON.stringify(options)\n )\n );\n}\nexport {\n wasmRandomScrambleForEvent2 as wasmRandomScrambleForEvent,\n wasmTwsearch2 as wasmTwsearch\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Generated from `twsearch` [object Promise]\nimport \"./chunk-FTOVDLBG.js\";\n\n// src/wasm-package/index.ts\nimport { Alg } from \"../../../alg\";\n\n// .temp/rust-wasm/twsearch_wasm.js\nvar wasm;\nvar heap = new Array(128).fill(void 0);\nheap.push(void 0, null, true, false);\nfunction getObject(idx) {\n return heap[idx];\n}\nvar heap_next = heap.length;\nfunction addHeapObject(obj) {\n if (heap_next === heap.length)\n heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n heap[idx] = obj;\n return idx;\n}\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_export_0(addHeapObject(e));\n }\n}\nvar cachedTextDecoder = typeof TextDecoder !== \"undefined\" ? new TextDecoder(\"utf-8\", { ignoreBOM: true, fatal: true }) : { decode: () => {\n throw Error(\"TextDecoder not available\");\n} };\nif (typeof TextDecoder !== \"undefined\") {\n cachedTextDecoder.decode();\n}\nvar cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\nfunction dropObject(idx) {\n if (idx < 132)\n return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\nvar WASM_VECTOR_LEN = 0;\nvar cachedTextEncoder = typeof TextEncoder !== \"undefined\" ? new TextEncoder(\"utf-8\") : { encode: () => {\n throw Error(\"TextEncoder not available\");\n} };\nvar encodeString = typeof cachedTextEncoder.encodeInto === \"function\" ? function(arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n} : function(arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n};\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === void 0) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr2 = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr2, ptr2 + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr2;\n }\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n const mem = getUint8ArrayMemory0();\n let offset = 0;\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 127)\n break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\nvar cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || cachedDataViewMemory0.buffer.detached === void 0 && cachedDataViewMemory0.buffer !== wasm.memory.buffer) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\nfunction isLikeNone(x) {\n return x === void 0 || x === null;\n}\nfunction debugString(val) {\n const type = typeof val;\n if (type == \"number\" || type == \"boolean\" || val == null) {\n return `${val}`;\n }\n if (type == \"string\") {\n return `\"${val}\"`;\n }\n if (type == \"symbol\") {\n const description = val.description;\n if (description == null) {\n return \"Symbol\";\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == \"function\") {\n const name = val.name;\n if (typeof name == \"string\" && name.length > 0) {\n return `Function(${name})`;\n } else {\n return \"Function\";\n }\n }\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = \"[\";\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for (let i = 1; i < length; i++) {\n debug += \", \" + debugString(val[i]);\n }\n debug += \"]\";\n return debug;\n }\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n return toString.call(val);\n }\n if (className == \"Object\") {\n try {\n return \"Object(\" + JSON.stringify(val) + \")\";\n } catch (_) {\n return \"Object\";\n }\n }\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\n${val.stack}`;\n }\n return className;\n}\nfunction wasmTwsearch(kpuzzle_json, search_pattern_json, options_json) {\n let deferred5_0;\n let deferred5_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(kpuzzle_json, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(search_pattern_json, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(options_json, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len2 = WASM_VECTOR_LEN;\n wasm.wasmTwsearch(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr4 = r0;\n var len4 = r1;\n if (r3) {\n ptr4 = 0;\n len4 = 0;\n throw takeObject(r2);\n }\n deferred5_0 = ptr4;\n deferred5_1 = len4;\n return getStringFromWasm0(ptr4, len4);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_1(deferred5_0, deferred5_1, 1);\n }\n}\nfunction wasmRandomScrambleForEvent(event_str) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(event_str, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len0 = WASM_VECTOR_LEN;\n wasm.wasmRandomScrambleForEvent(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr2 = r0;\n var len2 = r1;\n if (r3) {\n ptr2 = 0;\n len2 = 0;\n throw takeObject(r2);\n }\n deferred3_0 = ptr2;\n deferred3_1 = len2;\n return getStringFromWasm0(ptr2, len2);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export_1(deferred3_0, deferred3_1, 1);\n }\n}\nasync function __wbg_load(module2, imports) {\n if (typeof Response === \"function\" && module2 instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === \"function\") {\n try {\n return await WebAssembly.instantiateStreaming(module2, imports);\n } catch (e) {\n if (module2.headers.get(\"Content-Type\") != \"application/wasm\") {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n } else {\n throw e;\n }\n }\n }\n const bytes = await module2.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module2, imports);\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module: module2 };\n } else {\n return instance;\n }\n }\n}\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbg_buffer_609cc3eee51ed158 = function(arg0) {\n const ret = getObject(arg0).buffer;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_call_672a4d21634d4a24 = function() {\n return handleError(function(arg0, arg1) {\n const ret = getObject(arg0).call(getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_call_7cccdd69e0791ae2 = function() {\n return handleError(function(arg0, arg1, arg2) {\n const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_crypto_ed58b8e10a292839 = function(arg0) {\n const ret = getObject(arg0).crypto;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_export_1(deferred0_0, deferred0_1, 1);\n }\n };\n imports.wbg.__wbg_getRandomValues_bcb4912f16000dc4 = function() {\n return handleError(function(arg0, arg1) {\n getObject(arg0).getRandomValues(getObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_get_67b2ba62fc30de12 = function() {\n return handleError(function(arg0, arg1) {\n const ret = Reflect.get(getObject(arg0), getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_msCrypto_0a36e2ec3a343d26 = function(arg0) {\n const ret = getObject(arg0).msCrypto;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_8a6f238a6ece86ea = function() {\n const ret = new Error();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_a12002a7f91c75be = function(arg0) {\n const ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newnoargs_105ed471475aaf50 = function(arg0, arg1) {\n const ret = new Function(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a = function(arg0, arg1, arg2) {\n const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newwithlength_a381634e90c276d4 = function(arg0) {\n const ret = new Uint8Array(arg0 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_node_02999533c4ea02e3 = function(arg0) {\n const ret = getObject(arg0).node;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_now_d18023d54d4e5500 = function(arg0) {\n const ret = getObject(arg0).now();\n return ret;\n };\n imports.wbg.__wbg_process_5c1d670bc53614b8 = function(arg0) {\n const ret = getObject(arg0).process;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_randomFillSync_ab2cfe79ebbf2740 = function() {\n return handleError(function(arg0, arg1) {\n getObject(arg0).randomFillSync(takeObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_require_79b1e9274cde3c87 = function() {\n return handleError(function() {\n const ret = module.require;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_set_65595bdd868b3009 = function(arg0, arg1, arg2) {\n getObject(arg0).set(getObject(arg1), arg2 >>> 0);\n };\n imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {\n const ret = getObject(arg1).stack;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07 = function() {\n const ret = typeof global === \"undefined\" ? null : global;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0 = function() {\n const ret = typeof globalThis === \"undefined\" ? null : globalThis;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819 = function() {\n const ret = typeof self === \"undefined\" ? null : self;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40 = function() {\n const ret = typeof window === \"undefined\" ? null : window;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_subarray_aa9065fa9dc5df96 = function(arg0, arg1, arg2) {\n const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_versions_c71aa1626a93e0a1 = function(arg0) {\n const ret = getObject(arg0).versions;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {\n const ret = debugString(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbindgen_is_function = function(arg0) {\n const ret = typeof getObject(arg0) === \"function\";\n return ret;\n };\n imports.wbg.__wbindgen_is_object = function(arg0) {\n const val = getObject(arg0);\n const ret = typeof val === \"object\" && val !== null;\n return ret;\n };\n imports.wbg.__wbindgen_is_string = function(arg0) {\n const ret = typeof getObject(arg0) === \"string\";\n return ret;\n };\n imports.wbg.__wbindgen_is_undefined = function(arg0) {\n const ret = getObject(arg0) === void 0;\n return ret;\n };\n imports.wbg.__wbindgen_memory = function() {\n const ret = wasm.memory;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_object_clone_ref = function(arg0) {\n const ret = getObject(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_object_drop_ref = function(arg0) {\n takeObject(arg0);\n };\n imports.wbg.__wbindgen_string_new = function(arg0, arg1) {\n const ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n return imports;\n}\nfunction __wbg_init_memory(imports, memory) {\n}\nfunction __wbg_finalize_init(instance, module2) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module2;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n return wasm;\n}\nasync function __wbg_init(module_or_path) {\n if (wasm !== void 0)\n return wasm;\n if (typeof module_or_path !== \"undefined\") {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({ module_or_path } = module_or_path);\n } else {\n console.warn(\"using deprecated parameters for the initialization function; pass a single object instead\");\n }\n }\n if (typeof module_or_path === \"undefined\") {\n module_or_path = new URL(\"twsearch_wasm_bg.wasm\", import.meta.url);\n }\n const imports = __wbg_get_imports();\n if (typeof module_or_path === \"string\" || typeof Request === \"function\" && module_or_path instanceof Request || typeof URL === \"function\" && module_or_path instanceof URL) {\n module_or_path = fetch(module_or_path);\n }\n __wbg_init_memory(imports);\n const { instance, module: module2 } = await __wbg_load(await module_or_path, imports);\n return __wbg_finalize_init(instance, module2);\n}\nvar twsearch_wasm_default = __wbg_init;\n\n// src/wasm-package/index.ts\nvar cachedInitWrapper;\nasync function initWrapper() {\n await (cachedInitWrapper ??= (async () => {\n const wasmUint8Array = (await import(\"./twsearch_wasm_bg-ZVADHDTY.js\")).default;\n await twsearch_wasm_default({ module_or_path: wasmUint8Array.buffer });\n })());\n}\nasync function wasmRandomScrambleForEvent2(eventId) {\n await initWrapper();\n return new Alg(wasmRandomScrambleForEvent(eventId));\n}\nasync function wasmTwsearch2(kpuzzleDefinition, searchPattern, options) {\n await initWrapper();\n return new Alg(\n wasmTwsearch(\n JSON.stringify(kpuzzleDefinition),\n JSON.stringify(searchPattern.toJSON()[\"patternData\"]),\n JSON.stringify(options)\n )\n );\n}\nexport {\n wasmRandomScrambleForEvent2 as wasmRandomScrambleForEvent,\n wasmTwsearch2 as wasmTwsearch\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }