cubing 0.22.0 → 0.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/README.md +4 -7
  2. package/dist/.DS_Store +0 -0
  3. package/dist/bin/order.js +16675 -0
  4. package/dist/bin/order.js.map +7 -0
  5. package/dist/bin/puzzle-geometry-bin.js +4 -4
  6. package/dist/bin/puzzle-geometry-bin.js.map +2 -2
  7. package/dist/bundle-global/cubing.bundle-global.js +469 -193
  8. package/dist/esm/{3d-3WQVOHX5.js → 3d-M7GBIT3X.js} +3 -3
  9. package/dist/esm/{3d-3WQVOHX5.js.map → 3d-M7GBIT3X.js.map} +0 -0
  10. package/dist/esm/bluetooth/index.js +8 -6
  11. package/dist/esm/bluetooth/index.js.map +3 -3
  12. package/dist/esm/{chunk-7KI3I3Y7.js → chunk-6BZSKSG7.js} +722 -733
  13. package/dist/esm/chunk-6BZSKSG7.js.map +7 -0
  14. package/dist/esm/{chunk-DLN5QS4V.js → chunk-GF76PWEV.js} +4 -2
  15. package/dist/esm/chunk-GF76PWEV.js.map +7 -0
  16. package/dist/esm/{chunk-HXKINJ7U.js → chunk-R3HRHYIW.js} +14 -2
  17. package/dist/esm/chunk-R3HRHYIW.js.map +7 -0
  18. package/dist/esm/esm-test-worker.js +2 -2
  19. package/dist/esm/esm-test-worker.js.map +2 -2
  20. package/dist/esm/{node-WEHVBEKP.js → node-HFBX5WHK.js} +2 -2
  21. package/dist/esm/{node-WEHVBEKP.js.map → node-HFBX5WHK.js.map} +1 -1
  22. package/dist/esm/{node-BSAQKO3G.js → node-SP4L2AKI.js} +2 -2
  23. package/dist/esm/{node-BSAQKO3G.js.map → node-SP4L2AKI.js.map} +1 -1
  24. package/dist/esm/puzzle-geometry/index.js +4 -4
  25. package/dist/esm/puzzle-geometry/index.js.map +2 -2
  26. package/dist/esm/puzzles/index.js +1 -1
  27. package/dist/esm/scramble/index.js +2 -2
  28. package/dist/esm/search/index.js +2 -2
  29. package/dist/esm/twisty/index.js +11 -7
  30. package/dist/esm/twisty/index.js.map +2 -2
  31. package/dist/esm/worker-inside-generated-string-RQYYANYQ.js +3107 -0
  32. package/dist/esm/worker-inside-generated-string-RQYYANYQ.js.map +7 -0
  33. package/dist/types/bluetooth/smart-puzzle/gan.d.ts.map +1 -1
  34. package/dist/types/cubing.bundle-global.exports.d.ts +25 -0
  35. package/dist/types/cubing.bundle-global.exports.d.ts.map +1 -0
  36. package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts +2 -2
  37. package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts.map +1 -1
  38. package/dist/types/puzzle-geometry/index.d.ts +1 -1
  39. package/dist/types/puzzle-geometry/index.d.ts.map +1 -1
  40. package/dist/types/puzzles/stickerings/cube-stickerings.d.ts.map +1 -1
  41. package/dist/types/search/inside/api.d.ts.map +1 -1
  42. package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts +1 -1
  43. package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts.map +1 -1
  44. package/dist/types/search/inside/solve/puzzles/fto.d.ts +6 -0
  45. package/dist/types/search/inside/solve/puzzles/fto.d.ts.map +1 -0
  46. package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts +5 -0
  47. package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts.map +1 -0
  48. package/dist/types/search/inside/solve/tremble.d.ts.map +1 -1
  49. package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
  50. package/dist/types/search/worker-inside-generated-string.d.ts.map +1 -1
  51. package/dist/types/twisty/model/TwistyPlayerModel.d.ts.map +1 -1
  52. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts +2 -0
  53. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts.map +1 -1
  54. package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts +6 -1
  55. package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts.map +1 -1
  56. package/dist/types/{search/vendor → vendor}/comlink-everywhere/inside/index.d.ts +0 -0
  57. package/dist/types/vendor/comlink-everywhere/inside/index.d.ts.map +1 -0
  58. package/dist/types/{search/vendor → vendor}/comlink-everywhere/inside/node.d.ts +0 -0
  59. package/dist/types/vendor/comlink-everywhere/inside/node.d.ts.map +1 -0
  60. package/dist/types/{search/vendor → vendor}/comlink-everywhere/outside/index.d.ts +0 -0
  61. package/dist/types/vendor/comlink-everywhere/outside/index.d.ts.map +1 -0
  62. package/dist/types/{search/vendor → vendor}/comlink-everywhere/outside/node.d.ts +0 -0
  63. package/dist/types/vendor/comlink-everywhere/outside/node.d.ts.map +1 -0
  64. package/dist/types/{search/inside/solve/vendor → vendor}/cstimer/src/js/lib/mathlib.d.ts +0 -0
  65. package/dist/types/vendor/cstimer/src/js/lib/mathlib.d.ts.map +1 -0
  66. package/dist/types/{search/inside/solve/vendor → vendor}/cstimer/src/js/scramble/scramble_444.d.ts +1 -1
  67. package/dist/types/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +1 -0
  68. package/dist/types/{search/inside/solve/vendor → vendor}/min2phase/gwt.d.ts +0 -0
  69. package/dist/types/vendor/min2phase/gwt.d.ts.map +1 -0
  70. package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/get-random-values.d.ts +0 -0
  71. package/dist/types/vendor/random-uint-below/get-random-values.d.ts.map +1 -0
  72. package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/index.d.ts +1 -1
  73. package/dist/types/vendor/random-uint-below/index.d.ts.map +1 -0
  74. package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/random-choice.d.ts +0 -0
  75. package/dist/types/vendor/random-uint-below/random-choice.d.ts.map +1 -0
  76. package/dist/types/{search/inside/solve/vendor/random-uint-below/random-int.d.ts → vendor/random-uint-below/random53BitValue.d.ts} +1 -1
  77. package/dist/types/vendor/random-uint-below/random53BitValue.d.ts.map +1 -0
  78. package/dist/types/{search/inside/solve/vendor → vendor}/sq12phase/scramble_sq1.d.ts +0 -0
  79. package/dist/types/vendor/sq12phase/scramble_sq1.d.ts.map +1 -0
  80. package/dist/types/{bluetooth/smart-puzzle → vendor/unsafe-raw-aes}/unsafe-raw-aes.d.ts +0 -0
  81. package/dist/types/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts.map +1 -0
  82. package/docs/.DS_Store +0 -0
  83. package/docs/cubing/.DS_Store +0 -0
  84. package/docs/cubing/index.html +67 -27
  85. package/docs/main.css +7 -6
  86. package/package.json +8 -9
  87. package/src/cubing/.DS_Store +0 -0
  88. package/src/cubing/bluetooth/smart-puzzle/gan.ts +4 -1
  89. package/src/cubing/cubing.bundle-global.exports.ts +25 -0
  90. package/src/cubing/cubing.bundle-global.ts +2 -26
  91. package/src/cubing/puzzle-geometry/PuzzleGeometry.ts +6 -2
  92. package/src/cubing/puzzle-geometry/index.ts +2 -2
  93. package/src/cubing/puzzles/.DS_Store +0 -0
  94. package/{dist/esm → src/cubing/puzzles/implementations}/.DS_Store +0 -0
  95. package/src/cubing/puzzles/stickerings/cube-stickerings.ts +18 -0
  96. package/src/cubing/puzzles/stickerings/global-custom-stickering-hack.ts +1 -1
  97. package/src/cubing/search/.DS_Store +0 -0
  98. package/src/cubing/search/esm-test-worker.js +1 -1
  99. package/src/cubing/search/inside/.DS_Store +0 -0
  100. package/src/cubing/search/inside/api.ts +3 -0
  101. package/src/cubing/search/inside/entry.js +1 -1
  102. package/src/cubing/search/inside/inside-worker.ts +1 -1
  103. package/src/cubing/search/inside/solve/.DS_Store +0 -0
  104. package/src/cubing/search/inside/solve/addOrientationSuffix.ts +1 -1
  105. package/src/cubing/search/inside/solve/puzzles/.DS_Store +0 -0
  106. package/src/cubing/search/inside/solve/puzzles/2x2x2.ts +1 -1
  107. package/src/cubing/search/inside/solve/puzzles/3x3x3/index.ts +2 -2
  108. package/src/cubing/search/inside/solve/puzzles/4x4x4.ts +2 -2
  109. package/src/cubing/search/inside/solve/puzzles/big-cubes.ts +1 -1
  110. package/src/cubing/search/inside/solve/puzzles/clock.ts +1 -1
  111. package/src/cubing/search/inside/solve/puzzles/{FTO.sgs → fto.sgs.json.ts} +116 -80
  112. package/src/cubing/search/inside/solve/puzzles/fto.ts +58 -0
  113. package/src/cubing/search/inside/solve/puzzles/sq1.ts +1 -1
  114. package/src/cubing/search/inside/solve/puzzles/wca-minx.ts +1 -1
  115. package/src/cubing/search/inside/solve/tremble.ts +2 -1
  116. package/src/cubing/search/inside/solve/vendor/.DS_Store +0 -0
  117. package/src/cubing/search/instantiator.ts +1 -1
  118. package/src/cubing/search/worker-inside-generated-string.js +1 -1
  119. package/src/cubing/twisty/.DS_Store +0 -0
  120. package/src/cubing/twisty/controllers/.DS_Store +0 -0
  121. package/src/cubing/twisty/heavy-code-imports/.DS_Store +0 -0
  122. package/src/cubing/twisty/model/.DS_Store +0 -0
  123. package/src/cubing/twisty/model/TwistyPlayerModel.ts +8 -6
  124. package/src/cubing/twisty/model/props/.DS_Store +0 -0
  125. package/src/cubing/twisty/model/props/puzzle/.DS_Store +0 -0
  126. package/src/cubing/twisty/model/props/puzzle/display/StickeringProp.ts +2 -0
  127. package/src/cubing/twisty/model/props/puzzle/state/MovePressInputProp.ts +6 -1
  128. package/src/cubing/twisty/old/.DS_Store +0 -0
  129. package/src/cubing/twisty/views/.DS_Store +0 -0
  130. package/src/cubing/twisty/views/3D/.DS_Store +0 -0
  131. package/src/cubing/twisty/views/node-custom-element-shims.ts +2 -2
  132. package/src/cubing/vendor/.DS_Store +0 -0
  133. package/src/cubing/vendor/comlink-everywhere/.DS_Store +0 -0
  134. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/comlink-everywhere.webloc +0 -0
  135. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/inside/index.d.ts +0 -0
  136. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/inside/index.js +0 -0
  137. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/inside/node.js +0 -0
  138. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/outside/index.d.ts +0 -0
  139. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/outside/index.js +0 -0
  140. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/outside/node.js +0 -0
  141. package/src/cubing/vendor/cstimer/.DS_Store +0 -0
  142. package/src/cubing/{search/inside/solve/vendor → vendor}/cstimer/LICENSE +0 -0
  143. package/src/cubing/{search/inside/solve/vendor → vendor}/cstimer/src/js/lib/mathlib.ts +0 -0
  144. package/src/cubing/{search/inside/solve/vendor → vendor}/cstimer/src/js/scramble/scramble_444.ts +3 -3
  145. package/src/cubing/{search/inside/solve/vendor → vendor}/min2phase/gwt.d.ts +0 -0
  146. package/src/cubing/{search/inside/solve/vendor → vendor}/min2phase/gwt.js +0 -0
  147. package/src/cubing/vendor/random-uint-below/get-random-values.ts +23 -0
  148. package/src/cubing/{search/inside/solve/vendor → vendor}/random-uint-below/index.ts +2 -2
  149. package/src/cubing/{search/inside/solve/vendor → vendor}/random-uint-below/random-choice.ts +1 -1
  150. package/src/cubing/{search/inside/solve/vendor/random-uint-below/random-int.ts → vendor/random-uint-below/random53BitValue.ts} +0 -0
  151. package/src/cubing/{search/inside/solve/vendor → vendor}/sq12phase/scramble_sq1.js +0 -0
  152. package/src/cubing/{bluetooth/smart-puzzle → vendor/unsafe-raw-aes}/unsafe-raw-aes.ts +18 -20
  153. package/dist/esm/chunk-7KI3I3Y7.js.map +0 -7
  154. package/dist/esm/chunk-DLN5QS4V.js.map +0 -7
  155. package/dist/esm/chunk-HXKINJ7U.js.map +0 -7
  156. package/dist/esm/worker-inside-generated-string-ZA6E6672.js +0 -2831
  157. package/dist/esm/worker-inside-generated-string-ZA6E6672.js.map +0 -7
  158. package/dist/types/bluetooth/smart-puzzle/unsafe-raw-aes.d.ts.map +0 -1
  159. package/dist/types/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.d.ts.map +0 -1
  160. package/dist/types/search/inside/solve/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +0 -1
  161. package/dist/types/search/inside/solve/vendor/min2phase/gwt.d.ts.map +0 -1
  162. package/dist/types/search/inside/solve/vendor/random-uint-below/get-random-values.d.ts.map +0 -1
  163. package/dist/types/search/inside/solve/vendor/random-uint-below/index.d.ts.map +0 -1
  164. package/dist/types/search/inside/solve/vendor/random-uint-below/random-choice.d.ts.map +0 -1
  165. package/dist/types/search/inside/solve/vendor/random-uint-below/random-int.d.ts.map +0 -1
  166. package/dist/types/search/inside/solve/vendor/sq12phase/scramble_sq1.d.ts.map +0 -1
  167. package/dist/types/search/vendor/comlink-everywhere/inside/index.d.ts.map +0 -1
  168. package/dist/types/search/vendor/comlink-everywhere/inside/node.d.ts.map +0 -1
  169. package/dist/types/search/vendor/comlink-everywhere/outside/index.d.ts.map +0 -1
  170. package/dist/types/search/vendor/comlink-everywhere/outside/node.d.ts.map +0 -1
  171. package/src/cubing/search/inside/solve/vendor/random-uint-below/get-random-values.ts +0 -38
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  puzzles
3
- } from "./chunk-HXKINJ7U.js";
3
+ } from "./chunk-R3HRHYIW.js";
4
4
  import {
5
5
  KPuzzle,
6
6
  areOrbitTransformationsEquivalent
@@ -10,29 +10,18 @@ import {
10
10
  Move
11
11
  } from "./chunk-EWRBHQFX.js";
12
12
 
13
- // src/cubing/search/inside/solve/vendor/random-uint-below/get-random-values.ts
13
+ // src/cubing/vendor/random-uint-below/get-random-values.ts
14
14
  var cryptoPromise = null;
15
15
  async function getRandomValuesFactory() {
16
- const hasWebCrypto = typeof crypto !== "undefined" && typeof crypto.getRandomValues !== "undefined";
17
- if (hasWebCrypto) {
18
- return crypto.getRandomValues.bind(crypto);
16
+ if (!globalThis?.crypto?.getRandomValues) {
17
+ const nodeWebcrypto = (await (cryptoPromise ?? (cryptoPromise = import("crypto")))).webcrypto;
18
+ return nodeWebcrypto.getRandomValues;
19
19
  } else {
20
- const nodeCrypto = await (cryptoPromise ?? (cryptoPromise = import("crypto")));
21
- return (arr) => {
22
- if (!(arr instanceof Uint32Array)) {
23
- throw new Error("The getRandomValues() shim only takes unsigned 32-bit int arrays");
24
- }
25
- const bytes = nodeCrypto.randomBytes(arr.length * 4);
26
- const uint32_list = [];
27
- for (let i = 0; i < arr.length; i++) {
28
- uint32_list.push((bytes[i * 4 + 0] << 24) + (bytes[i * 4 + 1] << 16) + (bytes[i * 4 + 2] << 8) + (bytes[i * 4 + 3] << 0));
29
- }
30
- arr.set(uint32_list);
31
- };
20
+ return crypto.getRandomValues.bind(crypto);
32
21
  }
33
22
  }
34
23
 
35
- // src/cubing/search/inside/solve/vendor/random-uint-below/random-int.ts
24
+ // src/cubing/vendor/random-uint-below/random53BitValue.ts
36
25
  var MAX_JS_PRECISE_INT = 9007199254740992;
37
26
  var UPPER_HALF_MULTIPLIER = 2097152;
38
27
  var LOWER_HALF_DIVIDER = 2048;
@@ -66,13 +55,13 @@ async function randomUIntBelowFactory() {
66
55
  return randomUIntBelow;
67
56
  }
68
57
 
69
- // src/cubing/search/inside/solve/vendor/random-uint-below/random-choice.ts
58
+ // src/cubing/vendor/random-uint-below/random-choice.ts
70
59
  async function randomChoiceFactory() {
71
60
  const randomUIntBelow = await randomUIntBelowFactory();
72
61
  return (arr) => arr[randomUIntBelow(arr.length)];
73
62
  }
74
63
 
75
- // src/cubing/search/inside/solve/vendor/random-uint-below/index.ts
64
+ // src/cubing/vendor/random-uint-below/index.ts
76
65
  var randomUIntBelowPromise = randomUIntBelowFactory();
77
66
 
78
67
  // src/cubing/search/inside/solve/puzzles/clock.ts
@@ -140,12 +129,12 @@ async function randomMegaminxScrambleString() {
140
129
  return chunks.join("\n");
141
130
  }
142
131
 
143
- // src/cubing/search/vendor/comlink-everywhere/outside/index.js
132
+ // src/cubing/vendor/comlink-everywhere/outside/index.js
144
133
  import { wrap } from "comlink";
145
134
  var useNodeWorkarounds = typeof globalThis.Worker === "undefined" && typeof globalThis.WorkerNavigator === "undefined";
146
135
  async function workerFileConstructor() {
147
136
  if (useNodeWorkarounds) {
148
- return await (await import("./node-WEHVBEKP.js")).NodeWorkerWrapper();
137
+ return await (await import("./node-HFBX5WHK.js")).NodeWorkerWrapper();
149
138
  } else {
150
139
  return globalThis.Worker;
151
140
  }
@@ -153,7 +142,7 @@ async function workerFileConstructor() {
153
142
  async function constructWorkerFromString(stringSource, options) {
154
143
  let worker;
155
144
  if (useNodeWorkarounds) {
156
- const constructor = await (await import("./node-WEHVBEKP.js")).NodeWorkerStringWrapper();
145
+ const constructor = await (await import("./node-HFBX5WHK.js")).NodeWorkerStringWrapper();
157
146
  const worker2 = new constructor(stringSource);
158
147
  return worker2;
159
148
  } else {
@@ -192,7 +181,7 @@ async function relativeURLWorkerTest() {
192
181
  }
193
182
  }
194
183
  async function instantiateWorker() {
195
- const { workerSource } = await import("./worker-inside-generated-string-ZA6E6672.js");
184
+ const { workerSource } = await import("./worker-inside-generated-string-RQYYANYQ.js");
196
185
  const worker = await constructWorkerFromString(workerSource);
197
186
  if (TEST_RELATIVE_URL_WORKER) {
198
187
  relativeURLWorkerTest();
@@ -247,239 +236,564 @@ function setDebug(options) {
247
236
  }
248
237
  }
249
238
 
250
- // src/cubing/search/inside/solve/vendor/min2phase/gwt.js
251
- var $intern_3 = { 3: 1 };
252
- var $intern_9 = 4194303;
253
- var $intern_10 = 1048575;
254
- var $intern_11 = 524288;
255
- var $intern_26 = { 11: 1, 3: 1 };
256
- var $intern_27 = { 17: 1, 3: 1 };
257
- var $intern_28 = 14540032;
258
- var $intern_30 = { 10: 1, 3: 1 };
259
- var _;
260
- var prototypesByTypeId_0 = {};
261
- function typeMarkerFn() {
262
- }
263
- function portableObjCreate(obj) {
264
- function F() {
265
- }
266
- F.prototype = obj || {};
267
- return new F();
268
- }
269
- function maybeGetClassLiteralFromPlaceHolder_0(entry) {
270
- return entry instanceof Array ? entry[0] : null;
271
- }
272
- function defineClass(typeId, superTypeId, castableTypeMap) {
273
- var prototypesByTypeId = prototypesByTypeId_0;
274
- var createSubclassPrototype = createSubclassPrototype_0;
275
- var maybeGetClassLiteralFromPlaceHolder = maybeGetClassLiteralFromPlaceHolder_0;
276
- var prototype_0 = prototypesByTypeId[typeId];
277
- var clazz = maybeGetClassLiteralFromPlaceHolder(prototype_0);
278
- if (prototype_0 && !clazz) {
279
- _ = prototype_0;
280
- } else {
281
- _ = prototypesByTypeId[typeId] = !superTypeId ? {} : createSubclassPrototype(superTypeId);
282
- _.castableTypeMap$ = castableTypeMap;
283
- _.constructor = _;
284
- !superTypeId && (_.typeMarker$ = typeMarkerFn);
285
- }
286
- for (var i = 3; i < arguments.length; ++i) {
287
- arguments[i].prototype = _;
288
- }
289
- clazz && (_.___clazz$ = clazz);
290
- }
291
- function createSubclassPrototype_0(superTypeId) {
292
- var prototypesByTypeId = prototypesByTypeId_0;
293
- return portableObjCreate(prototypesByTypeId[superTypeId]);
294
- }
295
- function Object_0() {
296
- }
297
- defineClass(1, null, {}, Object_0);
298
- function narrow_byte(x_0) {
299
- return x_0 << 24 >> 24;
300
- }
301
- function Class() {
302
- this.typeName = null;
303
- this.simpleName = null;
304
- this.packageName = null;
305
- this.compoundName = null;
306
- this.canonicalName = null;
307
- this.typeId = null;
308
- this.arrayLiterals = null;
309
- }
310
- function createClassObject(packageName, compoundClassName) {
311
- var clazz;
312
- clazz = new Class();
313
- clazz.packageName = packageName;
314
- clazz.compoundName = compoundClassName;
315
- return clazz;
316
- }
317
- function createForClass(packageName, compoundClassName, typeId) {
318
- var clazz;
319
- clazz = createClassObject(packageName, compoundClassName);
320
- maybeSetClassLiteral(typeId, clazz);
321
- return clazz;
322
- }
323
- function createForInterface(packageName, compoundClassName) {
324
- var clazz;
325
- clazz = createClassObject(packageName, compoundClassName);
326
- clazz.modifiers = 2;
327
- return clazz;
328
- }
329
- function createForPrimitive(className, primitiveTypeId) {
330
- var clazz;
331
- clazz = createClassObject("", className);
332
- clazz.typeId = primitiveTypeId;
333
- clazz.modifiers = 1;
334
- return clazz;
335
- }
336
- function getClassLiteralForArray_0(leafClass, dimensions) {
337
- var arrayLiterals = leafClass.arrayLiterals = leafClass.arrayLiterals || [];
338
- return arrayLiterals[dimensions] || (arrayLiterals[dimensions] = leafClass.createClassLiteralForArray(dimensions));
339
- }
340
- function getPrototypeForClass(clazz) {
341
- if (clazz.isPrimitive()) {
342
- return null;
343
- }
344
- var typeId = clazz.typeId;
345
- var prototype_0 = prototypesByTypeId_0[typeId];
346
- return prototype_0;
347
- }
348
- function maybeSetClassLiteral(typeId, clazz) {
349
- if (!typeId) {
350
- return;
351
- }
352
- clazz.typeId = typeId;
353
- var prototype_0 = getPrototypeForClass(clazz);
354
- if (!prototype_0) {
355
- prototypesByTypeId_0[typeId] = [clazz];
356
- return;
357
- }
358
- prototype_0.___clazz$ = clazz;
359
- }
360
- defineClass(79, 1, {}, Class);
361
- _.createClassLiteralForArray = function createClassLiteralForArray(dimensions) {
362
- var clazz;
363
- clazz = new Class();
364
- clazz.modifiers = 4;
365
- dimensions > 1 ? clazz.componentType = getClassLiteralForArray_0(this, dimensions - 1) : clazz.componentType = this;
366
- return clazz;
367
- };
368
- _.isPrimitive = function isPrimitive() {
369
- return (this.modifiers & 1) != 0;
370
- };
371
- function getClassLiteralForArray(clazz, dimensions) {
372
- return getClassLiteralForArray_0(clazz, dimensions);
373
- }
374
- function initDim(leafClassLiteral, castableTypeMap, elementTypeId, length_0, elementTypeCategory, dimensions) {
375
- var result;
376
- result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);
377
- initValues(getClassLiteralForArray(leafClassLiteral, dimensions), castableTypeMap, elementTypeId, elementTypeCategory, result);
378
- return result;
379
- }
380
- function initDims(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, count) {
381
- return initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, 0, count);
382
- }
383
- function initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count) {
384
- var elementTypeCategory, i, isLastDim, length_0, result;
385
- length_0 = dimExprs[index_0];
386
- isLastDim = index_0 == count - 1;
387
- elementTypeCategory = isLastDim ? leafElementTypeCategory : 0;
388
- result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);
389
- initValues(getClassLiteralForArray(leafClassLiteral, count - index_0), castableTypeMapExprs[index_0], elementTypeIds[index_0], elementTypeCategory, result);
390
- if (!isLastDim) {
391
- ++index_0;
392
- for (i = 0; i < length_0; ++i) {
393
- result[i] = initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count);
239
+ // src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts
240
+ var reidEdgeOrder = "UF UR UB UL DF DR DB DL FR FL BR BL".split(" ");
241
+ var reidCornerOrder = "UFR URB UBL ULF DRF DFL DLB DBR".split(" ");
242
+ var centerOrder = "U L F R B D".split(" ");
243
+
244
+ // src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts
245
+ function isEquivalentTranformationIgnoringCENTERS(def, t1, t2) {
246
+ for (const orbitName in def.orbits) {
247
+ if (!areOrbitTransformationsEquivalent(def, orbitName, t1, t2, {
248
+ ignoreOrientation: orbitName === "CENTERS"
249
+ })) {
250
+ return false;
394
251
  }
395
252
  }
396
- return result;
397
- }
398
- function initValues(arrayClass, castableTypeMap, elementTypeId, elementTypeCategory, array) {
399
- array.___clazz$ = arrayClass;
400
- array.castableTypeMap$ = castableTypeMap;
401
- array.typeMarker$ = typeMarkerFn;
402
- array.__elementTypeId$ = elementTypeId;
403
- array.__elementTypeCategory$ = elementTypeCategory;
404
- return array;
405
- }
406
- function initializeArrayElementsWithDefaults(elementTypeCategory, length_0) {
407
- var array = new Array(length_0);
408
- var initValue;
409
- switch (elementTypeCategory) {
410
- case 6:
411
- initValue = { l: 0, m: 0, h: 0 };
412
- break;
413
- case 7:
414
- initValue = 0;
415
- break;
416
- case 8:
417
- initValue = false;
418
- break;
419
- default:
420
- return array;
421
- }
422
- for (var i = 0; i < length_0; ++i) {
423
- array[i] = initValue;
424
- }
425
- return array;
426
- }
427
- function create(value_0) {
428
- var a0, a1, a2;
429
- a0 = value_0 & $intern_9;
430
- a1 = value_0 >> 22 & $intern_9;
431
- a2 = value_0 < 0 ? $intern_10 : 0;
432
- return create0(a0, a1, a2);
433
- }
434
- function create0(l, m, h) {
435
- return { l, m, h };
436
- }
437
- function and(a, b) {
438
- return { l: a.l & b.l, m: a.m & b.m, h: a.h & b.h };
253
+ return true;
439
254
  }
440
- function fromInt(value_0) {
441
- var rebase, result;
442
- if (value_0 > -129 && value_0 < 128) {
443
- rebase = value_0 + 128;
444
- boxedValues == null && (boxedValues = initDim(Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit, $intern_3, 293, 256, 0, 1));
445
- result = boxedValues[rebase];
446
- !result && (result = boxedValues[rebase] = create(value_0));
447
- return result;
255
+ function passesFilter(def, state) {
256
+ const kpuzzle = new KPuzzle(def);
257
+ if (isEquivalentTranformationIgnoringCENTERS(def, kpuzzle.state, state)) {
258
+ return false;
448
259
  }
449
- return create(value_0);
450
- }
451
- function or(a, b) {
452
- return { l: a.l | b.l, m: a.m | b.m, h: a.h | b.h };
453
- }
454
- function shl(a, n) {
455
- var res0, res1, res2;
456
- n &= 63;
457
- if (n < 22) {
458
- res0 = a.l << n;
459
- res1 = a.m << n | a.l >> 22 - n;
460
- res2 = a.h << n | a.m >> 22 - n;
461
- } else if (n < 44) {
462
- res0 = 0;
463
- res1 = a.l << n - 22;
464
- res2 = a.m << n - 22 | a.l >> 44 - n;
465
- } else {
466
- res0 = 0;
467
- res1 = 0;
468
- res2 = a.l << n - 44;
260
+ for (const face of "ULFRBD") {
261
+ for (let amount = 1; amount < 4; amount++) {
262
+ kpuzzle.reset();
263
+ kpuzzle.applyMove(new Move(face, amount));
264
+ if (isEquivalentTranformationIgnoringCENTERS(def, kpuzzle.state, state)) {
265
+ return false;
266
+ }
267
+ }
469
268
  }
470
- return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };
269
+ return true;
471
270
  }
472
- function shr(a, n) {
473
- var a2, negative, res0, res1, res2;
474
- n &= 63;
475
- a2 = a.h;
476
- negative = (a2 & $intern_11) != 0;
477
- negative && (a2 |= -1048576);
478
- if (n < 22) {
479
- res2 = a2 >> n;
480
- res1 = a.m >> n | a2 << 22 - n;
481
- res0 = a.l >> n | a.m << 22 - n;
482
- } else if (n < 44) {
271
+
272
+ // src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts
273
+ var sgs3x3x3 = [
274
+ [
275
+ "R U'",
276
+ "R2 B",
277
+ "D2 B2",
278
+ "D' L B'",
279
+ "R' U'",
280
+ "B",
281
+ "D B2",
282
+ "R' B",
283
+ "L' U",
284
+ "L2 B'",
285
+ "B2",
286
+ "D L B'",
287
+ "L U",
288
+ "B'",
289
+ "U'",
290
+ "R B",
291
+ "D' B2",
292
+ "L B'",
293
+ "U2",
294
+ "U L' B'",
295
+ "",
296
+ "U' L' B'",
297
+ "U",
298
+ "L' B'"
299
+ ],
300
+ [
301
+ "F2 L2",
302
+ "F' L'",
303
+ "R' F L2",
304
+ "D' L2",
305
+ "F L2",
306
+ "F2 L'",
307
+ "R' F' L'",
308
+ "R2 F L2",
309
+ "R2 F2 L'",
310
+ "L2",
311
+ "F L'",
312
+ "D' L",
313
+ "D2 L2",
314
+ "R2 F' L'",
315
+ "D L",
316
+ "",
317
+ "L2 F L'",
318
+ "L F' L2",
319
+ "L F L'",
320
+ "F' L2",
321
+ "L'",
322
+ "D L2",
323
+ "D F L'",
324
+ "L"
325
+ ],
326
+ [
327
+ "R B U2 B'",
328
+ "R2 B U' B'",
329
+ "F2 B U B'",
330
+ "F B2 L' B2",
331
+ "B2 L B2",
332
+ "B U' B'",
333
+ "R2 B U2 B'",
334
+ "R' B U' B'",
335
+ "B2 L' B2",
336
+ "F B U B'",
337
+ "B2 U' B2",
338
+ "B' L B",
339
+ "L F' B D' B'",
340
+ "B' U' B2 D B'",
341
+ "B U2 B'",
342
+ "R B U' B'",
343
+ "B2 L2 B2",
344
+ "D' B' L B",
345
+ "B U B'",
346
+ "F' B2 L' B2",
347
+ "",
348
+ "B2 L' B' U' B'"
349
+ ],
350
+ [
351
+ "U F2 L2 U'",
352
+ "F' U L' U'",
353
+ "F2 U L' U'",
354
+ "U F L2 U'",
355
+ "U2 B2 U2",
356
+ "R' U' B U",
357
+ "D2 U L U'",
358
+ "D U2 B' U2",
359
+ "U L2 U'",
360
+ "F U L' U'",
361
+ "D U L U'",
362
+ "U2 B' U2",
363
+ "",
364
+ "U2 B' U' L' U'",
365
+ "U2 L' U2",
366
+ "U' B U",
367
+ "U L U'",
368
+ "D' U2 B' U2",
369
+ "U L' U'",
370
+ "U2 B U2"
371
+ ],
372
+ [
373
+ "R' D' F2",
374
+ "F'",
375
+ "F2",
376
+ "D R F'",
377
+ "R D' F2",
378
+ "R2 F'",
379
+ "D' F2",
380
+ "R F'",
381
+ "F2 R' D' F2",
382
+ "F",
383
+ "D2 F2",
384
+ "D' R F'",
385
+ "R2 D' F2",
386
+ "R' F'",
387
+ "D F2",
388
+ "D2 R F'",
389
+ "",
390
+ "F R' D' F2"
391
+ ],
392
+ [
393
+ "R' D2 F' D F",
394
+ "R F2 R2 F2",
395
+ "R2 F' D2 F",
396
+ "F' R2 D2 F",
397
+ "L D' L'",
398
+ "D F' D2 F",
399
+ "F2 R2 F2",
400
+ "R F' D2 F",
401
+ "F' R2 D' F",
402
+ "F' R' D2 F",
403
+ "F2 R' F2",
404
+ "L D L'",
405
+ "F' R D' F",
406
+ "F2 R F2",
407
+ "F' D2 F",
408
+ "",
409
+ "L D2 R D' L'",
410
+ "F' D2 F' R F2",
411
+ "D2 R2 F2 R2 F2",
412
+ "D F' D' F",
413
+ "F' D F"
414
+ ],
415
+ [
416
+ "U F2 U'",
417
+ "R U F' U'",
418
+ "D R U F2 U'",
419
+ "U F U'",
420
+ "R2 U F2 U'",
421
+ "R' U F' U'",
422
+ "R U F2 U'",
423
+ "R2 U F' U'",
424
+ "",
425
+ "U L D L' F U'",
426
+ "F2 D' R D F2",
427
+ "D2 U F U'",
428
+ "R' U F2 U'",
429
+ "U F' U'",
430
+ "F2 D2 R D2 F2",
431
+ "D U F U'"
432
+ ],
433
+ [
434
+ "R2",
435
+ "R' B' D B",
436
+ "D R'",
437
+ "F' R2 F",
438
+ "",
439
+ "R B' D B",
440
+ "R'",
441
+ "B' D B",
442
+ "D' R'",
443
+ "D2 F' R2 F",
444
+ "R",
445
+ "R2 B' D B",
446
+ "D2 R'",
447
+ "B' D' B"
448
+ ],
449
+ [
450
+ "R2 D' R2",
451
+ "F' R' F R",
452
+ "R D' R2 D R'",
453
+ "D2 R2 D2 R2",
454
+ "R' D' F' R F",
455
+ "U F D F' U'",
456
+ "",
457
+ "R2 D2 B R' B' R'",
458
+ "R' F D' F2 R F",
459
+ "R2 D R2",
460
+ "F2 U F U' F",
461
+ "R' D F' R F",
462
+ "D R2 D2 R2",
463
+ "U F D' F' U'",
464
+ "D R' D2 F' R F",
465
+ "R2 D2 R2",
466
+ "U F D2 F' U'",
467
+ "R' D2 F' R F"
468
+ ],
469
+ [
470
+ "B R B'",
471
+ "F D F' B R2 B'",
472
+ "D B R2 B'",
473
+ "D2 B R' B'",
474
+ "B R2 B'",
475
+ "D B R' B'",
476
+ "D' B R2 B'",
477
+ "B R' B'",
478
+ "",
479
+ "B R2 B' D B R' B'",
480
+ "D2 B R2 B'",
481
+ "D' B R' B'"
482
+ ],
483
+ [
484
+ "",
485
+ "R' D R F D2 F'",
486
+ "R' D R",
487
+ "D F D' F'",
488
+ "R F' R' F",
489
+ "F D' F'",
490
+ "R' D' R",
491
+ "F D2 F'",
492
+ "R' D2 R",
493
+ "F D F'"
494
+ ],
495
+ [
496
+ "",
497
+ "F2 D2 R F' R' D2 F' D2 F'",
498
+ "F2 D2 F' D' F D' F' D2 F'",
499
+ "F2 D F2 D F2 D2 F2",
500
+ "D2 F L D2 L' D2 F'",
501
+ "D F D2 L D2 L' F'",
502
+ "R' D B' D2 B D' R",
503
+ "R' D2 B' D2 B R",
504
+ "F D2 F' D F D F'",
505
+ "F D' L D2 L' D F'",
506
+ "B D' F D B' D' F'",
507
+ "F D2 L D2 L' F'",
508
+ "F D' L D L' D F'",
509
+ "F L D2 L' D2 F'",
510
+ "R' B' D2 B D2 R"
511
+ ],
512
+ [
513
+ "D'",
514
+ "F L D L' D' F'",
515
+ "D2",
516
+ "L B D B' D' L'",
517
+ "D",
518
+ "B' L' D' L D B",
519
+ "",
520
+ "D F L D L' D' F'"
521
+ ],
522
+ [
523
+ "F' D2 F D F' D F",
524
+ "F' D' R' D R F",
525
+ "F' R' D' R D F",
526
+ "B D R D' R' B'",
527
+ "",
528
+ "D B' D' L' D L B"
529
+ ],
530
+ [
531
+ "D F D F' D F D2 F'",
532
+ "F' U2 B' R' B U2 F' L F' L' F'",
533
+ "",
534
+ "D2 L D L2 F L F2 D F"
535
+ ],
536
+ [
537
+ "L B' L' F L B L' F'",
538
+ "F2 U F' D2 F U' F' D2 F'",
539
+ "D' F' D B D' F D B'",
540
+ "F L2 F R2 F' L2 F R2 F2",
541
+ "D B D' F' D B' D' F",
542
+ "R F L F' R' F L' F'",
543
+ "",
544
+ "D2 B L' U2 L B' D2 B L' U2 L B'",
545
+ "D2 F R' U2 R F' D2 F R' U2 R F'",
546
+ "R F L' F' R' F L F'",
547
+ "D F D' B' D F' D' B",
548
+ "L2 F2 L' B2 L F2 L' B2 L'"
549
+ ],
550
+ [
551
+ "L B R' B' L' B R B'",
552
+ "R' B R F' R' B' R F",
553
+ "L D2 L U L' D2 L U' L2",
554
+ "",
555
+ "D2 B' D2 F D' L2 F L2 F' D2 B D' F'",
556
+ "D2 F' R' F R2 B' D2 B D2 R' F D2 F'",
557
+ "L B L' F L B' L' F'",
558
+ "F' D2 F' U' F D2 F' U F2",
559
+ "D' B' D F D' B D F'"
560
+ ],
561
+ ["", "D2 F' L U2 L' F D2 F' L U2 L' F", "D2 B' R U2 R' B D2 B' R U2 R' B"]
562
+ ];
563
+
564
+ // src/cubing/vendor/min2phase/gwt.js
565
+ var $intern_3 = { 3: 1 };
566
+ var $intern_9 = 4194303;
567
+ var $intern_10 = 1048575;
568
+ var $intern_11 = 524288;
569
+ var $intern_26 = { 11: 1, 3: 1 };
570
+ var $intern_27 = { 17: 1, 3: 1 };
571
+ var $intern_28 = 14540032;
572
+ var $intern_30 = { 10: 1, 3: 1 };
573
+ var _;
574
+ var prototypesByTypeId_0 = {};
575
+ function typeMarkerFn() {
576
+ }
577
+ function portableObjCreate(obj) {
578
+ function F() {
579
+ }
580
+ F.prototype = obj || {};
581
+ return new F();
582
+ }
583
+ function maybeGetClassLiteralFromPlaceHolder_0(entry) {
584
+ return entry instanceof Array ? entry[0] : null;
585
+ }
586
+ function defineClass(typeId, superTypeId, castableTypeMap) {
587
+ var prototypesByTypeId = prototypesByTypeId_0;
588
+ var createSubclassPrototype = createSubclassPrototype_0;
589
+ var maybeGetClassLiteralFromPlaceHolder = maybeGetClassLiteralFromPlaceHolder_0;
590
+ var prototype_0 = prototypesByTypeId[typeId];
591
+ var clazz = maybeGetClassLiteralFromPlaceHolder(prototype_0);
592
+ if (prototype_0 && !clazz) {
593
+ _ = prototype_0;
594
+ } else {
595
+ _ = prototypesByTypeId[typeId] = !superTypeId ? {} : createSubclassPrototype(superTypeId);
596
+ _.castableTypeMap$ = castableTypeMap;
597
+ _.constructor = _;
598
+ !superTypeId && (_.typeMarker$ = typeMarkerFn);
599
+ }
600
+ for (var i = 3; i < arguments.length; ++i) {
601
+ arguments[i].prototype = _;
602
+ }
603
+ clazz && (_.___clazz$ = clazz);
604
+ }
605
+ function createSubclassPrototype_0(superTypeId) {
606
+ var prototypesByTypeId = prototypesByTypeId_0;
607
+ return portableObjCreate(prototypesByTypeId[superTypeId]);
608
+ }
609
+ function Object_0() {
610
+ }
611
+ defineClass(1, null, {}, Object_0);
612
+ function narrow_byte(x_0) {
613
+ return x_0 << 24 >> 24;
614
+ }
615
+ function Class() {
616
+ this.typeName = null;
617
+ this.simpleName = null;
618
+ this.packageName = null;
619
+ this.compoundName = null;
620
+ this.canonicalName = null;
621
+ this.typeId = null;
622
+ this.arrayLiterals = null;
623
+ }
624
+ function createClassObject(packageName, compoundClassName) {
625
+ var clazz;
626
+ clazz = new Class();
627
+ clazz.packageName = packageName;
628
+ clazz.compoundName = compoundClassName;
629
+ return clazz;
630
+ }
631
+ function createForClass(packageName, compoundClassName, typeId) {
632
+ var clazz;
633
+ clazz = createClassObject(packageName, compoundClassName);
634
+ maybeSetClassLiteral(typeId, clazz);
635
+ return clazz;
636
+ }
637
+ function createForInterface(packageName, compoundClassName) {
638
+ var clazz;
639
+ clazz = createClassObject(packageName, compoundClassName);
640
+ clazz.modifiers = 2;
641
+ return clazz;
642
+ }
643
+ function createForPrimitive(className, primitiveTypeId) {
644
+ var clazz;
645
+ clazz = createClassObject("", className);
646
+ clazz.typeId = primitiveTypeId;
647
+ clazz.modifiers = 1;
648
+ return clazz;
649
+ }
650
+ function getClassLiteralForArray_0(leafClass, dimensions) {
651
+ var arrayLiterals = leafClass.arrayLiterals = leafClass.arrayLiterals || [];
652
+ return arrayLiterals[dimensions] || (arrayLiterals[dimensions] = leafClass.createClassLiteralForArray(dimensions));
653
+ }
654
+ function getPrototypeForClass(clazz) {
655
+ if (clazz.isPrimitive()) {
656
+ return null;
657
+ }
658
+ var typeId = clazz.typeId;
659
+ var prototype_0 = prototypesByTypeId_0[typeId];
660
+ return prototype_0;
661
+ }
662
+ function maybeSetClassLiteral(typeId, clazz) {
663
+ if (!typeId) {
664
+ return;
665
+ }
666
+ clazz.typeId = typeId;
667
+ var prototype_0 = getPrototypeForClass(clazz);
668
+ if (!prototype_0) {
669
+ prototypesByTypeId_0[typeId] = [clazz];
670
+ return;
671
+ }
672
+ prototype_0.___clazz$ = clazz;
673
+ }
674
+ defineClass(79, 1, {}, Class);
675
+ _.createClassLiteralForArray = function createClassLiteralForArray(dimensions) {
676
+ var clazz;
677
+ clazz = new Class();
678
+ clazz.modifiers = 4;
679
+ dimensions > 1 ? clazz.componentType = getClassLiteralForArray_0(this, dimensions - 1) : clazz.componentType = this;
680
+ return clazz;
681
+ };
682
+ _.isPrimitive = function isPrimitive() {
683
+ return (this.modifiers & 1) != 0;
684
+ };
685
+ function getClassLiteralForArray(clazz, dimensions) {
686
+ return getClassLiteralForArray_0(clazz, dimensions);
687
+ }
688
+ function initDim(leafClassLiteral, castableTypeMap, elementTypeId, length_0, elementTypeCategory, dimensions) {
689
+ var result;
690
+ result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);
691
+ initValues(getClassLiteralForArray(leafClassLiteral, dimensions), castableTypeMap, elementTypeId, elementTypeCategory, result);
692
+ return result;
693
+ }
694
+ function initDims(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, count) {
695
+ return initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, 0, count);
696
+ }
697
+ function initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count) {
698
+ var elementTypeCategory, i, isLastDim, length_0, result;
699
+ length_0 = dimExprs[index_0];
700
+ isLastDim = index_0 == count - 1;
701
+ elementTypeCategory = isLastDim ? leafElementTypeCategory : 0;
702
+ result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);
703
+ initValues(getClassLiteralForArray(leafClassLiteral, count - index_0), castableTypeMapExprs[index_0], elementTypeIds[index_0], elementTypeCategory, result);
704
+ if (!isLastDim) {
705
+ ++index_0;
706
+ for (i = 0; i < length_0; ++i) {
707
+ result[i] = initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count);
708
+ }
709
+ }
710
+ return result;
711
+ }
712
+ function initValues(arrayClass, castableTypeMap, elementTypeId, elementTypeCategory, array) {
713
+ array.___clazz$ = arrayClass;
714
+ array.castableTypeMap$ = castableTypeMap;
715
+ array.typeMarker$ = typeMarkerFn;
716
+ array.__elementTypeId$ = elementTypeId;
717
+ array.__elementTypeCategory$ = elementTypeCategory;
718
+ return array;
719
+ }
720
+ function initializeArrayElementsWithDefaults(elementTypeCategory, length_0) {
721
+ var array = new Array(length_0);
722
+ var initValue;
723
+ switch (elementTypeCategory) {
724
+ case 6:
725
+ initValue = { l: 0, m: 0, h: 0 };
726
+ break;
727
+ case 7:
728
+ initValue = 0;
729
+ break;
730
+ case 8:
731
+ initValue = false;
732
+ break;
733
+ default:
734
+ return array;
735
+ }
736
+ for (var i = 0; i < length_0; ++i) {
737
+ array[i] = initValue;
738
+ }
739
+ return array;
740
+ }
741
+ function create(value_0) {
742
+ var a0, a1, a2;
743
+ a0 = value_0 & $intern_9;
744
+ a1 = value_0 >> 22 & $intern_9;
745
+ a2 = value_0 < 0 ? $intern_10 : 0;
746
+ return create0(a0, a1, a2);
747
+ }
748
+ function create0(l, m, h) {
749
+ return { l, m, h };
750
+ }
751
+ function and(a, b) {
752
+ return { l: a.l & b.l, m: a.m & b.m, h: a.h & b.h };
753
+ }
754
+ function fromInt(value_0) {
755
+ var rebase, result;
756
+ if (value_0 > -129 && value_0 < 128) {
757
+ rebase = value_0 + 128;
758
+ boxedValues == null && (boxedValues = initDim(Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit, $intern_3, 293, 256, 0, 1));
759
+ result = boxedValues[rebase];
760
+ !result && (result = boxedValues[rebase] = create(value_0));
761
+ return result;
762
+ }
763
+ return create(value_0);
764
+ }
765
+ function or(a, b) {
766
+ return { l: a.l | b.l, m: a.m | b.m, h: a.h | b.h };
767
+ }
768
+ function shl(a, n) {
769
+ var res0, res1, res2;
770
+ n &= 63;
771
+ if (n < 22) {
772
+ res0 = a.l << n;
773
+ res1 = a.m << n | a.l >> 22 - n;
774
+ res2 = a.h << n | a.m >> 22 - n;
775
+ } else if (n < 44) {
776
+ res0 = 0;
777
+ res1 = a.l << n - 22;
778
+ res2 = a.m << n - 22 | a.l >> 44 - n;
779
+ } else {
780
+ res0 = 0;
781
+ res1 = 0;
782
+ res2 = a.l << n - 44;
783
+ }
784
+ return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };
785
+ }
786
+ function shr(a, n) {
787
+ var a2, negative, res0, res1, res2;
788
+ n &= 63;
789
+ a2 = a.h;
790
+ negative = (a2 & $intern_11) != 0;
791
+ negative && (a2 |= -1048576);
792
+ if (n < 22) {
793
+ res2 = a2 >> n;
794
+ res1 = a.m >> n | a2 << 22 - n;
795
+ res0 = a.l >> n | a.m << 22 - n;
796
+ } else if (n < 44) {
483
797
  res2 = negative ? $intern_10 : 0;
484
798
  res1 = a2 >> n - 22;
485
799
  res0 = a.m >> n - 22 | a2 << 44 - n;
@@ -860,497 +1174,172 @@ function Search() {
860
1174
  for (i0 = 0; i0 < 21; i0++) {
861
1175
  this.nodeUD[i0] = new CoordCube();
862
1176
  this.nodeRL[i0] = new CoordCube();
863
- this.nodeFB[i0] = new CoordCube();
864
- this.phase1Cubie[i0] = new CubieCube();
865
- }
866
- for (i1 = 0; i1 < 6; i1++) {
867
- this.urfCubieCube[i1] = new CubieCube();
868
- this.urfCoordCube[i1] = new CoordCube();
869
- }
870
- for (i = 0; i < 20; i++) {
871
- this.preMoveCubes[i + 1] = new CubieCube();
872
- }
873
- }
874
- defineClass(72, 1, {}, Search);
875
- _.allowShorter = false;
876
- _.conjMask = 0;
877
- _.depth1 = 0;
878
- _.isRec = false;
879
- _.length1 = 0;
880
- _.maxDep2 = 0;
881
- _.maxPreMoves = 0;
882
- _.preMoveLen = 0;
883
- _.probe = { l: 0, m: 0, h: 0 };
884
- _.probeMax = { l: 0, m: 0, h: 0 };
885
- _.probeMin = { l: 0, m: 0, h: 0 };
886
- _.selfSym = { l: 0, m: 0, h: 0 };
887
- _.solLen = 0;
888
- _.urfIdx = 0;
889
- _.valid1 = 0;
890
- _.verbose = 0;
891
- var $clinit_Util_ran = false;
892
- function $clinit_Util() {
893
- if ($clinit_Util_ran) {
894
- return;
895
- }
896
- $clinit_Util_ran = true;
897
- var i, i0, i1, ix, j, jx;
898
- cornerFacelet = initValues(getClassLiteralForArray(B_classLit, 2), $intern_3, 10, 0, [
899
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [8, 9, 20]),
900
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [6, 18, 38]),
901
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [0, 36, 47]),
902
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [2, 45, 11]),
903
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [29, 26, 15]),
904
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [27, 44, 24]),
905
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [33, 53, 42]),
906
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [35, 17, 51])
907
- ]);
908
- edgeFacelet = initValues(getClassLiteralForArray(B_classLit, 2), $intern_3, 10, 0, [
909
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [5, 10]),
910
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [7, 19]),
911
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [3, 37]),
912
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [1, 46]),
913
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [32, 16]),
914
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [28, 25]),
915
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [30, 43]),
916
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [34, 52]),
917
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [23, 12]),
918
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [21, 41]),
919
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [50, 39]),
920
- initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [48, 14])
921
- ]);
922
- Cnk = initDims(I_classLit, [$intern_3, $intern_27], [17, 0], 7, [13, 13], 2);
923
- move2str = initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_3, 2, 4, [
924
- "U ",
925
- "U2",
926
- "U'",
927
- "R ",
928
- "R2",
929
- "R'",
930
- "F ",
931
- "F2",
932
- "F'",
933
- "D ",
934
- "D2",
935
- "D'",
936
- "L ",
937
- "L2",
938
- "L'",
939
- "B ",
940
- "B2",
941
- "B'"
942
- ]);
943
- ud2std = initValues(getClassLiteralForArray(I_classLit, 1), $intern_27, 0, 7, [0, 1, 2, 4, 7, 9, 10, 11, 13, 16, 3, 5, 6, 8, 12, 14, 15, 17]);
944
- std2ud = initDim(I_classLit, $intern_27, 0, 18, 7, 1);
945
- ckmv2bit = initDim(I_classLit, $intern_27, 0, 11, 7, 1);
946
- for (i0 = 0; i0 < 18; i0++) {
947
- std2ud[ud2std[i0]] = i0;
948
- }
949
- for (i1 = 0; i1 < 10; i1++) {
950
- ix = ~~(ud2std[i1] / 3);
951
- ckmv2bit[i1] = 0;
952
- for (j = 0; j < 10; j++) {
953
- jx = ~~(ud2std[j] / 3);
954
- ckmv2bit[i1] |= (ix == jx || ix % 3 == jx % 3 && ix >= jx ? 1 : 0) << j;
955
- }
956
- }
957
- ckmv2bit[10] = 0;
958
- for (i = 0; i < 13; i++) {
959
- Cnk[i][0] = Cnk[i][i] = 1;
960
- for (j = 1; j < i; j++) {
961
- Cnk[i][j] = Cnk[i - 1][j - 1] + Cnk[i - 1][j];
962
- }
963
- }
964
- }
965
- function getNPerm(arr, n, isEdge) {
966
- $clinit_Util();
967
- var i, idx, v, val;
968
- idx = 0;
969
- val = { l: 1323536, m: 2777561, h: 1043915 };
970
- for (i = 0; i < n - 1; i++) {
971
- v = getVal(arr[i], isEdge) << 2;
972
- idx = (n - i) * idx + toInt(and(shr(val, v), { l: 15, m: 0, h: 0 }));
973
- val = sub_0(val, shl({ l: 1118480, m: 279620, h: 69905 }, v));
974
- }
975
- return idx;
976
- }
977
- function getVal(val0, isEdge) {
978
- return isEdge ? val0 >> 1 : val0 & 7;
979
- }
980
- function setNPerm(arr, idx, n, isEdge) {
981
- $clinit_Util();
982
- var extract, i, m, p, v, val;
983
- val = { l: 1323536, m: 2777561, h: 1043915 };
984
- extract = { l: 0, m: 0, h: 0 };
985
- for (p = 2; p <= n; p++) {
986
- extract = or(shl(extract, 4), fromInt(idx % p));
987
- idx = ~~(idx / p);
1177
+ this.nodeFB[i0] = new CoordCube();
1178
+ this.phase1Cubie[i0] = new CubieCube();
988
1179
  }
989
- for (i = 0; i < n - 1; i++) {
990
- v = (toInt(extract) & 15) << 2;
991
- extract = shr(extract, 4);
992
- arr[i] = setVal(arr[i], toInt(and(shr(val, v), { l: 15, m: 0, h: 0 })), isEdge);
993
- m = sub_0(shl({ l: 1, m: 0, h: 0 }, v), { l: 1, m: 0, h: 0 });
994
- val = or(and(val, m), and(shr(val, 4), {
995
- l: ~m.l & $intern_9,
996
- m: ~m.m & $intern_9,
997
- h: ~m.h & $intern_10
998
- }));
1180
+ for (i1 = 0; i1 < 6; i1++) {
1181
+ this.urfCubieCube[i1] = new CubieCube();
1182
+ this.urfCoordCube[i1] = new CoordCube();
1183
+ }
1184
+ for (i = 0; i < 20; i++) {
1185
+ this.preMoveCubes[i + 1] = new CubieCube();
999
1186
  }
1000
- arr[n - 1] = setVal(arr[n - 1], toInt(and(val, { l: 15, m: 0, h: 0 })), isEdge);
1001
- }
1002
- function setVal(val0, val, isEdge) {
1003
- return (isEdge ? val << 1 | val0 & 1 : val | val0 & -8) << 24 >> 24;
1004
- }
1005
- var Cnk;
1006
- var ckmv2bit;
1007
- var cornerFacelet;
1008
- var edgeFacelet;
1009
- var move2str;
1010
- var std2ud;
1011
- var ud2std;
1012
- function Util$Solution() {
1013
- this.moves = initDim(I_classLit, $intern_27, 0, 31, 7, 1);
1014
1187
  }
1015
- defineClass(150, 1, {}, Util$Solution);
1188
+ defineClass(72, 1, {}, Search);
1189
+ _.allowShorter = false;
1190
+ _.conjMask = 0;
1016
1191
  _.depth1 = 0;
1017
- _.length_0 = 0;
1192
+ _.isRec = false;
1193
+ _.length1 = 0;
1194
+ _.maxDep2 = 0;
1195
+ _.maxPreMoves = 0;
1196
+ _.preMoveLen = 0;
1197
+ _.probe = { l: 0, m: 0, h: 0 };
1198
+ _.probeMax = { l: 0, m: 0, h: 0 };
1199
+ _.probeMin = { l: 0, m: 0, h: 0 };
1200
+ _.selfSym = { l: 0, m: 0, h: 0 };
1201
+ _.solLen = 0;
1018
1202
  _.urfIdx = 0;
1203
+ _.valid1 = 0;
1019
1204
  _.verbose = 0;
1020
- var I_classLit = createForPrimitive("int", "I");
1021
- createForClass("com.google.gwt.lang", "CollapsedPropertyHolder", 252);
1022
- createForClass("com.google.gwt.lang", "JavaClassHierarchySetupUtil", 254);
1023
- var Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass("com.google.gwt.lang", "LongLibBase/LongEmul", null);
1024
- createForClass("com.google.gwt.lang", "ModuleUtils", 257);
1025
- var B_classLit = createForPrimitive("byte", "B");
1026
- var J_classLit = createForPrimitive("long", "J");
1027
- var C_classLit = createForPrimitive("char", "C");
1028
- createForClass("com.google.gwt.user.client.rpc", "XsrfToken", null), createForInterface("java.util", "Map/Entry");
1029
-
1030
- // src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts
1031
- var reidEdgeOrder = "UF UR UB UL DF DR DB DL FR FL BR BL".split(" ");
1032
- var reidCornerOrder = "UFR URB UBL ULF DRF DFL DLB DBR".split(" ");
1033
- var centerOrder = "U L F R B D".split(" ");
1034
-
1035
- // src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts
1036
- function isEquivalentTranformationIgnoringCENTERS(def, t1, t2) {
1037
- for (const orbitName in def.orbits) {
1038
- if (!areOrbitTransformationsEquivalent(def, orbitName, t1, t2, {
1039
- ignoreOrientation: orbitName === "CENTERS"
1040
- })) {
1041
- return false;
1042
- }
1043
- }
1044
- return true;
1045
- }
1046
- function passesFilter(def, state) {
1047
- const kpuzzle = new KPuzzle(def);
1048
- if (isEquivalentTranformationIgnoringCENTERS(def, kpuzzle.state, state)) {
1049
- return false;
1050
- }
1051
- for (const face of "ULFRBD") {
1052
- for (let amount = 1; amount < 4; amount++) {
1053
- kpuzzle.reset();
1054
- kpuzzle.applyMove(new Move(face, amount));
1055
- if (isEquivalentTranformationIgnoringCENTERS(def, kpuzzle.state, state)) {
1056
- return false;
1057
- }
1058
- }
1205
+ var $clinit_Util_ran = false;
1206
+ function $clinit_Util() {
1207
+ if ($clinit_Util_ran) {
1208
+ return;
1059
1209
  }
1060
- return true;
1061
- }
1062
-
1063
- // src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts
1064
- var sgs3x3x3 = [
1065
- [
1066
- "R U'",
1067
- "R2 B",
1068
- "D2 B2",
1069
- "D' L B'",
1070
- "R' U'",
1071
- "B",
1072
- "D B2",
1073
- "R' B",
1074
- "L' U",
1075
- "L2 B'",
1076
- "B2",
1077
- "D L B'",
1078
- "L U",
1079
- "B'",
1080
- "U'",
1081
- "R B",
1082
- "D' B2",
1083
- "L B'",
1084
- "U2",
1085
- "U L' B'",
1086
- "",
1087
- "U' L' B'",
1088
- "U",
1089
- "L' B'"
1090
- ],
1091
- [
1092
- "F2 L2",
1093
- "F' L'",
1094
- "R' F L2",
1095
- "D' L2",
1096
- "F L2",
1097
- "F2 L'",
1098
- "R' F' L'",
1099
- "R2 F L2",
1100
- "R2 F2 L'",
1101
- "L2",
1102
- "F L'",
1103
- "D' L",
1104
- "D2 L2",
1105
- "R2 F' L'",
1106
- "D L",
1107
- "",
1108
- "L2 F L'",
1109
- "L F' L2",
1110
- "L F L'",
1111
- "F' L2",
1112
- "L'",
1113
- "D L2",
1114
- "D F L'",
1115
- "L"
1116
- ],
1117
- [
1118
- "R B U2 B'",
1119
- "R2 B U' B'",
1120
- "F2 B U B'",
1121
- "F B2 L' B2",
1122
- "B2 L B2",
1123
- "B U' B'",
1124
- "R2 B U2 B'",
1125
- "R' B U' B'",
1126
- "B2 L' B2",
1127
- "F B U B'",
1128
- "B2 U' B2",
1129
- "B' L B",
1130
- "L F' B D' B'",
1131
- "B' U' B2 D B'",
1132
- "B U2 B'",
1133
- "R B U' B'",
1134
- "B2 L2 B2",
1135
- "D' B' L B",
1136
- "B U B'",
1137
- "F' B2 L' B2",
1138
- "",
1139
- "B2 L' B' U' B'"
1140
- ],
1141
- [
1142
- "U F2 L2 U'",
1143
- "F' U L' U'",
1144
- "F2 U L' U'",
1145
- "U F L2 U'",
1146
- "U2 B2 U2",
1147
- "R' U' B U",
1148
- "D2 U L U'",
1149
- "D U2 B' U2",
1150
- "U L2 U'",
1151
- "F U L' U'",
1152
- "D U L U'",
1153
- "U2 B' U2",
1154
- "",
1155
- "U2 B' U' L' U'",
1156
- "U2 L' U2",
1157
- "U' B U",
1158
- "U L U'",
1159
- "D' U2 B' U2",
1160
- "U L' U'",
1161
- "U2 B U2"
1162
- ],
1163
- [
1164
- "R' D' F2",
1165
- "F'",
1166
- "F2",
1167
- "D R F'",
1168
- "R D' F2",
1169
- "R2 F'",
1170
- "D' F2",
1171
- "R F'",
1172
- "F2 R' D' F2",
1173
- "F",
1174
- "D2 F2",
1175
- "D' R F'",
1176
- "R2 D' F2",
1177
- "R' F'",
1178
- "D F2",
1179
- "D2 R F'",
1180
- "",
1181
- "F R' D' F2"
1182
- ],
1183
- [
1184
- "R' D2 F' D F",
1185
- "R F2 R2 F2",
1186
- "R2 F' D2 F",
1187
- "F' R2 D2 F",
1188
- "L D' L'",
1189
- "D F' D2 F",
1190
- "F2 R2 F2",
1191
- "R F' D2 F",
1192
- "F' R2 D' F",
1193
- "F' R' D2 F",
1194
- "F2 R' F2",
1195
- "L D L'",
1196
- "F' R D' F",
1197
- "F2 R F2",
1198
- "F' D2 F",
1199
- "",
1200
- "L D2 R D' L'",
1201
- "F' D2 F' R F2",
1202
- "D2 R2 F2 R2 F2",
1203
- "D F' D' F",
1204
- "F' D F"
1205
- ],
1206
- [
1207
- "U F2 U'",
1208
- "R U F' U'",
1209
- "D R U F2 U'",
1210
- "U F U'",
1211
- "R2 U F2 U'",
1212
- "R' U F' U'",
1213
- "R U F2 U'",
1214
- "R2 U F' U'",
1215
- "",
1216
- "U L D L' F U'",
1217
- "F2 D' R D F2",
1218
- "D2 U F U'",
1219
- "R' U F2 U'",
1220
- "U F' U'",
1221
- "F2 D2 R D2 F2",
1222
- "D U F U'"
1223
- ],
1224
- [
1210
+ $clinit_Util_ran = true;
1211
+ var i, i0, i1, ix, j, jx;
1212
+ cornerFacelet = initValues(getClassLiteralForArray(B_classLit, 2), $intern_3, 10, 0, [
1213
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [8, 9, 20]),
1214
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [6, 18, 38]),
1215
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [0, 36, 47]),
1216
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [2, 45, 11]),
1217
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [29, 26, 15]),
1218
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [27, 44, 24]),
1219
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [33, 53, 42]),
1220
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [35, 17, 51])
1221
+ ]);
1222
+ edgeFacelet = initValues(getClassLiteralForArray(B_classLit, 2), $intern_3, 10, 0, [
1223
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [5, 10]),
1224
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [7, 19]),
1225
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [3, 37]),
1226
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [1, 46]),
1227
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [32, 16]),
1228
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [28, 25]),
1229
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [30, 43]),
1230
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [34, 52]),
1231
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [23, 12]),
1232
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [21, 41]),
1233
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [50, 39]),
1234
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [48, 14])
1235
+ ]);
1236
+ Cnk = initDims(I_classLit, [$intern_3, $intern_27], [17, 0], 7, [13, 13], 2);
1237
+ move2str = initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_3, 2, 4, [
1238
+ "U ",
1239
+ "U2",
1240
+ "U'",
1241
+ "R ",
1225
1242
  "R2",
1226
- "R' B' D B",
1227
- "D R'",
1228
- "F' R2 F",
1229
- "",
1230
- "R B' D B",
1231
1243
  "R'",
1232
- "B' D B",
1233
- "D' R'",
1234
- "D2 F' R2 F",
1235
- "R",
1236
- "R2 B' D B",
1237
- "D2 R'",
1238
- "B' D' B"
1239
- ],
1240
- [
1241
- "R2 D' R2",
1242
- "F' R' F R",
1243
- "R D' R2 D R'",
1244
- "D2 R2 D2 R2",
1245
- "R' D' F' R F",
1246
- "U F D F' U'",
1247
- "",
1248
- "R2 D2 B R' B' R'",
1249
- "R' F D' F2 R F",
1250
- "R2 D R2",
1251
- "F2 U F U' F",
1252
- "R' D F' R F",
1253
- "D R2 D2 R2",
1254
- "U F D' F' U'",
1255
- "D R' D2 F' R F",
1256
- "R2 D2 R2",
1257
- "U F D2 F' U'",
1258
- "R' D2 F' R F"
1259
- ],
1260
- [
1261
- "B R B'",
1262
- "F D F' B R2 B'",
1263
- "D B R2 B'",
1264
- "D2 B R' B'",
1265
- "B R2 B'",
1266
- "D B R' B'",
1267
- "D' B R2 B'",
1268
- "B R' B'",
1269
- "",
1270
- "B R2 B' D B R' B'",
1271
- "D2 B R2 B'",
1272
- "D' B R' B'"
1273
- ],
1274
- [
1275
- "",
1276
- "R' D R F D2 F'",
1277
- "R' D R",
1278
- "D F D' F'",
1279
- "R F' R' F",
1280
- "F D' F'",
1281
- "R' D' R",
1282
- "F D2 F'",
1283
- "R' D2 R",
1284
- "F D F'"
1285
- ],
1286
- [
1287
- "",
1288
- "F2 D2 R F' R' D2 F' D2 F'",
1289
- "F2 D2 F' D' F D' F' D2 F'",
1290
- "F2 D F2 D F2 D2 F2",
1291
- "D2 F L D2 L' D2 F'",
1292
- "D F D2 L D2 L' F'",
1293
- "R' D B' D2 B D' R",
1294
- "R' D2 B' D2 B R",
1295
- "F D2 F' D F D F'",
1296
- "F D' L D2 L' D F'",
1297
- "B D' F D B' D' F'",
1298
- "F D2 L D2 L' F'",
1299
- "F D' L D L' D F'",
1300
- "F L D2 L' D2 F'",
1301
- "R' B' D2 B D2 R"
1302
- ],
1303
- [
1304
- "D'",
1305
- "F L D L' D' F'",
1244
+ "F ",
1245
+ "F2",
1246
+ "F'",
1247
+ "D ",
1306
1248
  "D2",
1307
- "L B D B' D' L'",
1308
- "D",
1309
- "B' L' D' L D B",
1310
- "",
1311
- "D F L D L' D' F'"
1312
- ],
1313
- [
1314
- "F' D2 F D F' D F",
1315
- "F' D' R' D R F",
1316
- "F' R' D' R D F",
1317
- "B D R D' R' B'",
1318
- "",
1319
- "D B' D' L' D L B"
1320
- ],
1321
- [
1322
- "D F D F' D F D2 F'",
1323
- "F' U2 B' R' B U2 F' L F' L' F'",
1324
- "",
1325
- "D2 L D L2 F L F2 D F"
1326
- ],
1327
- [
1328
- "L B' L' F L B L' F'",
1329
- "F2 U F' D2 F U' F' D2 F'",
1330
- "D' F' D B D' F D B'",
1331
- "F L2 F R2 F' L2 F R2 F2",
1332
- "D B D' F' D B' D' F",
1333
- "R F L F' R' F L' F'",
1334
- "",
1335
- "D2 B L' U2 L B' D2 B L' U2 L B'",
1336
- "D2 F R' U2 R F' D2 F R' U2 R F'",
1337
- "R F L' F' R' F L F'",
1338
- "D F D' B' D F' D' B",
1339
- "L2 F2 L' B2 L F2 L' B2 L'"
1340
- ],
1341
- [
1342
- "L B R' B' L' B R B'",
1343
- "R' B R F' R' B' R F",
1344
- "L D2 L U L' D2 L U' L2",
1345
- "",
1346
- "D2 B' D2 F D' L2 F L2 F' D2 B D' F'",
1347
- "D2 F' R' F R2 B' D2 B D2 R' F D2 F'",
1348
- "L B L' F L B' L' F'",
1349
- "F' D2 F' U' F D2 F' U F2",
1350
- "D' B' D F D' B D F'"
1351
- ],
1352
- ["", "D2 F' L U2 L' F D2 F' L U2 L' F", "D2 B' R U2 R' B D2 B' R U2 R' B"]
1353
- ];
1249
+ "D'",
1250
+ "L ",
1251
+ "L2",
1252
+ "L'",
1253
+ "B ",
1254
+ "B2",
1255
+ "B'"
1256
+ ]);
1257
+ ud2std = initValues(getClassLiteralForArray(I_classLit, 1), $intern_27, 0, 7, [0, 1, 2, 4, 7, 9, 10, 11, 13, 16, 3, 5, 6, 8, 12, 14, 15, 17]);
1258
+ std2ud = initDim(I_classLit, $intern_27, 0, 18, 7, 1);
1259
+ ckmv2bit = initDim(I_classLit, $intern_27, 0, 11, 7, 1);
1260
+ for (i0 = 0; i0 < 18; i0++) {
1261
+ std2ud[ud2std[i0]] = i0;
1262
+ }
1263
+ for (i1 = 0; i1 < 10; i1++) {
1264
+ ix = ~~(ud2std[i1] / 3);
1265
+ ckmv2bit[i1] = 0;
1266
+ for (j = 0; j < 10; j++) {
1267
+ jx = ~~(ud2std[j] / 3);
1268
+ ckmv2bit[i1] |= (ix == jx || ix % 3 == jx % 3 && ix >= jx ? 1 : 0) << j;
1269
+ }
1270
+ }
1271
+ ckmv2bit[10] = 0;
1272
+ for (i = 0; i < 13; i++) {
1273
+ Cnk[i][0] = Cnk[i][i] = 1;
1274
+ for (j = 1; j < i; j++) {
1275
+ Cnk[i][j] = Cnk[i - 1][j - 1] + Cnk[i - 1][j];
1276
+ }
1277
+ }
1278
+ }
1279
+ function getNPerm(arr, n, isEdge) {
1280
+ $clinit_Util();
1281
+ var i, idx, v, val;
1282
+ idx = 0;
1283
+ val = { l: 1323536, m: 2777561, h: 1043915 };
1284
+ for (i = 0; i < n - 1; i++) {
1285
+ v = getVal(arr[i], isEdge) << 2;
1286
+ idx = (n - i) * idx + toInt(and(shr(val, v), { l: 15, m: 0, h: 0 }));
1287
+ val = sub_0(val, shl({ l: 1118480, m: 279620, h: 69905 }, v));
1288
+ }
1289
+ return idx;
1290
+ }
1291
+ function getVal(val0, isEdge) {
1292
+ return isEdge ? val0 >> 1 : val0 & 7;
1293
+ }
1294
+ function setNPerm(arr, idx, n, isEdge) {
1295
+ $clinit_Util();
1296
+ var extract, i, m, p, v, val;
1297
+ val = { l: 1323536, m: 2777561, h: 1043915 };
1298
+ extract = { l: 0, m: 0, h: 0 };
1299
+ for (p = 2; p <= n; p++) {
1300
+ extract = or(shl(extract, 4), fromInt(idx % p));
1301
+ idx = ~~(idx / p);
1302
+ }
1303
+ for (i = 0; i < n - 1; i++) {
1304
+ v = (toInt(extract) & 15) << 2;
1305
+ extract = shr(extract, 4);
1306
+ arr[i] = setVal(arr[i], toInt(and(shr(val, v), { l: 15, m: 0, h: 0 })), isEdge);
1307
+ m = sub_0(shl({ l: 1, m: 0, h: 0 }, v), { l: 1, m: 0, h: 0 });
1308
+ val = or(and(val, m), and(shr(val, 4), {
1309
+ l: ~m.l & $intern_9,
1310
+ m: ~m.m & $intern_9,
1311
+ h: ~m.h & $intern_10
1312
+ }));
1313
+ }
1314
+ arr[n - 1] = setVal(arr[n - 1], toInt(and(val, { l: 15, m: 0, h: 0 })), isEdge);
1315
+ }
1316
+ function setVal(val0, val, isEdge) {
1317
+ return (isEdge ? val << 1 | val0 & 1 : val | val0 & -8) << 24 >> 24;
1318
+ }
1319
+ var Cnk;
1320
+ var ckmv2bit;
1321
+ var cornerFacelet;
1322
+ var edgeFacelet;
1323
+ var move2str;
1324
+ var std2ud;
1325
+ var ud2std;
1326
+ function Util$Solution() {
1327
+ this.moves = initDim(I_classLit, $intern_27, 0, 31, 7, 1);
1328
+ }
1329
+ defineClass(150, 1, {}, Util$Solution);
1330
+ _.depth1 = 0;
1331
+ _.length_0 = 0;
1332
+ _.urfIdx = 0;
1333
+ _.verbose = 0;
1334
+ var I_classLit = createForPrimitive("int", "I");
1335
+ createForClass("com.google.gwt.lang", "CollapsedPropertyHolder", 252);
1336
+ createForClass("com.google.gwt.lang", "JavaClassHierarchySetupUtil", 254);
1337
+ var Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass("com.google.gwt.lang", "LongLibBase/LongEmul", null);
1338
+ createForClass("com.google.gwt.lang", "ModuleUtils", 257);
1339
+ var B_classLit = createForPrimitive("byte", "B");
1340
+ var J_classLit = createForPrimitive("long", "J");
1341
+ var C_classLit = createForPrimitive("char", "C");
1342
+ createForClass("com.google.gwt.user.client.rpc", "XsrfToken", null), createForInterface("java.util", "Map/Entry");
1354
1343
 
1355
1344
  // src/cubing/search/inside/solve/puzzles/3x3x3/index.ts
1356
1345
  async function random333State() {
@@ -1376,4 +1365,4 @@ export {
1376
1365
  setDebug,
1377
1366
  random333State
1378
1367
  };
1379
- //# sourceMappingURL=chunk-7KI3I3Y7.js.map
1368
+ //# sourceMappingURL=chunk-6BZSKSG7.js.map