cubing 0.42.1 → 0.43.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 (123) hide show
  1. package/README.md +1 -1
  2. package/dist/bin/order.js +22 -0
  3. package/dist/bin/order.js.map +7 -0
  4. package/dist/bin/puzzle-geometry-bin.js +284 -0
  5. package/dist/bin/puzzle-geometry-bin.js.map +7 -0
  6. package/dist/bin/scramble.js +124 -0
  7. package/dist/bin/scramble.js.map +7 -0
  8. package/dist/{cubing/KPattern-12e23b1f.d.ts → lib/cubing/KPattern-60960997.d.ts} +1 -1
  9. package/dist/{cubing/TwizzleLink-8eaf164c.d.ts → lib/cubing/TwizzleLink-3c302469.d.ts} +1 -1
  10. package/dist/{cubing → lib/cubing}/alg/index.js +1 -1
  11. package/dist/{cubing → lib/cubing}/bluetooth/index.d.ts +3 -3
  12. package/dist/{cubing → lib/cubing}/bluetooth/index.js +48 -45
  13. package/dist/{cubing → lib/cubing}/bluetooth/index.js.map +2 -2
  14. package/dist/{cubing/bluetooth-puzzle-91e73b7f.d.ts → lib/cubing/bluetooth-puzzle-c3224834.d.ts} +1 -1
  15. package/dist/{cubing/chunk-Y6TQYMMT.js → lib/cubing/chunks/chunk-2N56G6TG.js} +5 -5
  16. package/dist/{cubing/chunk-Y6TQYMMT.js.map → lib/cubing/chunks/chunk-2N56G6TG.js.map} +2 -2
  17. package/dist/{cubing/chunk-AU3TSTCA.js → lib/cubing/chunks/chunk-32CXD7UA.js} +31 -32
  18. package/dist/{cubing/chunk-AU3TSTCA.js.map → lib/cubing/chunks/chunk-32CXD7UA.js.map} +2 -2
  19. package/dist/{cubing/chunk-7QE2OVHX.js → lib/cubing/chunks/chunk-7GUL3OBQ.js} +1 -1
  20. package/dist/{cubing/chunk-7QE2OVHX.js.map → lib/cubing/chunks/chunk-7GUL3OBQ.js.map} +1 -1
  21. package/dist/{cubing/chunk-ULQMFOA2.js → lib/cubing/chunks/chunk-7X47IY3P.js} +15 -13
  22. package/dist/{cubing/chunk-ULQMFOA2.js.map → lib/cubing/chunks/chunk-7X47IY3P.js.map} +2 -2
  23. package/dist/{cubing/chunk-VSFPWTDH.js → lib/cubing/chunks/chunk-DYHU7CO7.js} +616 -34
  24. package/dist/lib/cubing/chunks/chunk-DYHU7CO7.js.map +7 -0
  25. package/dist/{cubing/chunk-QLTH326B.js → lib/cubing/chunks/chunk-KDMCYBSC.js} +2 -2
  26. package/dist/{cubing/chunk-QLTH326B.js.map → lib/cubing/chunks/chunk-KDMCYBSC.js.map} +1 -1
  27. package/dist/lib/cubing/chunks/chunk-NAPITA3L.js +1 -0
  28. package/dist/{cubing/chunk-3ON3T3OH.js → lib/cubing/chunks/chunk-NB6OOT2E.js} +3 -3
  29. package/dist/{cubing/chunk-3ON3T3OH.js.map → lib/cubing/chunks/chunk-NB6OOT2E.js.map} +1 -1
  30. package/dist/{cubing/chunk-6OUID4YZ.js → lib/cubing/chunks/chunk-NEAVVKH5.js} +2 -2
  31. package/dist/{cubing/chunk-6OUID4YZ.js.map → lib/cubing/chunks/chunk-NEAVVKH5.js.map} +1 -1
  32. package/dist/{cubing/chunk-OLH526Y4.js → lib/cubing/chunks/chunk-QF4HTZYW.js} +11 -10
  33. package/dist/lib/cubing/chunks/chunk-QF4HTZYW.js.map +7 -0
  34. package/dist/{cubing/chunk-KF2JGMZA.js → lib/cubing/chunks/chunk-RS62HLA5.js} +21 -19
  35. package/dist/{cubing/chunk-KF2JGMZA.js.map → lib/cubing/chunks/chunk-RS62HLA5.js.map} +2 -2
  36. package/dist/{cubing/chunk-ZYCJIZDN.js → lib/cubing/chunks/chunk-VL22SFND.js} +1 -1
  37. package/dist/{cubing/chunk-ZYCJIZDN.js.map → lib/cubing/chunks/chunk-VL22SFND.js.map} +1 -1
  38. package/dist/{cubing/chunk-FCRM3RQU.js → lib/cubing/chunks/chunk-Z2CCB3XX.js} +61 -76
  39. package/dist/{cubing/chunk-FCRM3RQU.js.map → lib/cubing/chunks/chunk-Z2CCB3XX.js.map} +2 -2
  40. package/dist/{cubing/chunk-YEOYXOGB.js → lib/cubing/chunks/chunk-ZUPLJQAD.js} +3 -3
  41. package/dist/{cubing/chunk-YEOYXOGB.js.map → lib/cubing/chunks/chunk-ZUPLJQAD.js.map} +1 -1
  42. package/dist/lib/cubing/chunks/inside-7XZ5YPBP.js +16 -0
  43. package/dist/{cubing/inside-AZHBOSXQ.js.map → lib/cubing/chunks/inside-7XZ5YPBP.js.map} +2 -2
  44. package/dist/{cubing/puzzles-dynamic-3x3x3-JFZVE27C.js → lib/cubing/chunks/puzzles-dynamic-3x3x3-NSCZM77Q.js} +1 -1
  45. package/dist/{cubing/puzzles-dynamic-3x3x3-JFZVE27C.js.map → lib/cubing/chunks/puzzles-dynamic-3x3x3-NSCZM77Q.js.map} +1 -1
  46. package/dist/{cubing/puzzles-dynamic-4x4x4-DT42HVIY.js → lib/cubing/chunks/puzzles-dynamic-4x4x4-REUXFQJ4.js} +1 -1
  47. package/dist/{cubing/puzzles-dynamic-4x4x4-DT42HVIY.js.map → lib/cubing/chunks/puzzles-dynamic-4x4x4-REUXFQJ4.js.map} +1 -1
  48. package/dist/{cubing/puzzles-dynamic-megaminx-QQYC32WM.js → lib/cubing/chunks/puzzles-dynamic-megaminx-2LVHIDL4.js} +1 -1
  49. package/dist/{cubing/puzzles-dynamic-megaminx-QQYC32WM.js.map → lib/cubing/chunks/puzzles-dynamic-megaminx-2LVHIDL4.js.map} +1 -1
  50. package/dist/{cubing/puzzles-dynamic-side-events-42Q52YAB.js → lib/cubing/chunks/puzzles-dynamic-side-events-HEMWSAMQ.js} +11 -329
  51. package/dist/lib/cubing/chunks/puzzles-dynamic-side-events-HEMWSAMQ.js.map +7 -0
  52. package/dist/{cubing/puzzles-dynamic-unofficial-PCHNKY4Y.js → lib/cubing/chunks/puzzles-dynamic-unofficial-RETSTRRW.js} +1 -1
  53. package/dist/{cubing/puzzles-dynamic-unofficial-PCHNKY4Y.js.map → lib/cubing/chunks/puzzles-dynamic-unofficial-RETSTRRW.js.map} +1 -1
  54. package/dist/{cubing/search-dynamic-sgs-side-events-5U7NX34Z.js → lib/cubing/chunks/search-dynamic-sgs-side-events-67TCU227.js} +14 -14
  55. package/dist/{cubing/search-dynamic-sgs-side-events-5U7NX34Z.js.map → lib/cubing/chunks/search-dynamic-sgs-side-events-67TCU227.js.map} +2 -2
  56. package/dist/{cubing/search-dynamic-sgs-unofficial-YA6LSNFG.js → lib/cubing/chunks/search-dynamic-sgs-unofficial-OUTZD5Y2.js} +7 -7
  57. package/dist/{cubing/search-dynamic-sgs-unofficial-YA6LSNFG.js.map → lib/cubing/chunks/search-dynamic-sgs-unofficial-OUTZD5Y2.js.map} +2 -2
  58. package/dist/{cubing/search-dynamic-solve-3x3x3-HM7RKVEM.js → lib/cubing/chunks/search-dynamic-solve-3x3x3-5UOUZX2V.js} +1 -1
  59. package/dist/{cubing/search-dynamic-solve-3x3x3-HM7RKVEM.js.map → lib/cubing/chunks/search-dynamic-solve-3x3x3-5UOUZX2V.js.map} +1 -1
  60. package/dist/{cubing/search-dynamic-solve-4x4x4-Z26CIIGT.js → lib/cubing/chunks/search-dynamic-solve-4x4x4-7NWGTCEG.js} +12 -9
  61. package/dist/lib/cubing/chunks/search-dynamic-solve-4x4x4-7NWGTCEG.js.map +7 -0
  62. package/dist/{cubing/search-dynamic-solve-fto-GGEYM3K6.js → lib/cubing/chunks/search-dynamic-solve-fto-EY5ZVAGO.js} +1 -1
  63. package/dist/{cubing/search-dynamic-solve-fto-GGEYM3K6.js.map → lib/cubing/chunks/search-dynamic-solve-fto-EY5ZVAGO.js.map} +1 -1
  64. package/dist/{cubing/search-dynamic-solve-kilominx-VUT2DIRQ.js → lib/cubing/chunks/search-dynamic-solve-kilominx-WREDL6AE.js} +2 -2
  65. package/dist/{cubing/search-dynamic-solve-kilominx-VUT2DIRQ.js.map → lib/cubing/chunks/search-dynamic-solve-kilominx-WREDL6AE.js.map} +1 -1
  66. package/dist/{cubing/search-dynamic-solve-master_tetraminx-WJWLROFP.js → lib/cubing/chunks/search-dynamic-solve-master_tetraminx-3D4MBF3V.js} +1 -1
  67. package/dist/{cubing/search-dynamic-solve-master_tetraminx-WJWLROFP.js.map → lib/cubing/chunks/search-dynamic-solve-master_tetraminx-3D4MBF3V.js.map} +1 -1
  68. package/dist/{cubing/search-dynamic-solve-sq1-TO7UHE6Y.js → lib/cubing/chunks/search-dynamic-solve-sq1-INOYNRSJ.js} +1 -1
  69. package/dist/{cubing/search-dynamic-solve-sq1-TO7UHE6Y.js.map → lib/cubing/chunks/search-dynamic-solve-sq1-INOYNRSJ.js.map} +1 -1
  70. package/dist/{cubing → lib/cubing/chunks}/search-worker-entry.js +4 -4
  71. package/dist/{cubing → lib/cubing/chunks}/search-worker-entry.js.map +1 -1
  72. package/dist/{cubing/twisty-dynamic-3d-NTZMGNOB.js → lib/cubing/chunks/twisty-dynamic-3d-EKFIEPIM.js} +78 -37
  73. package/dist/{cubing/twisty-dynamic-3d-NTZMGNOB.js.map → lib/cubing/chunks/twisty-dynamic-3d-EKFIEPIM.js.map} +2 -2
  74. package/dist/{cubing/twsearch-BDAXZGZU-SJCPOVWW.js → lib/cubing/chunks/twsearch-BDAXZGZU-Q2YC2EQ6.js} +1 -1
  75. package/dist/{cubing/twsearch-BDAXZGZU-SJCPOVWW.js.map → lib/cubing/chunks/twsearch-BDAXZGZU-Q2YC2EQ6.js.map} +1 -1
  76. package/dist/{cubing/twsearch-INIYLWAM.js → lib/cubing/chunks/twsearch-SLVE4NQH.js} +3 -3
  77. package/dist/{cubing/twsearch-INIYLWAM.js.map → lib/cubing/chunks/twsearch-SLVE4NQH.js.map} +1 -1
  78. package/dist/{cubing → lib/cubing}/kpuzzle/index.d.ts +1 -1
  79. package/dist/{cubing → lib/cubing}/kpuzzle/index.js +2 -2
  80. package/dist/{cubing → lib/cubing}/notation/index.d.ts +2 -2
  81. package/dist/{cubing → lib/cubing}/notation/index.js +4 -4
  82. package/dist/{cubing/outside-deaac55d.d.ts → lib/cubing/outside-2f424d30.d.ts} +1 -1
  83. package/dist/{cubing → lib/cubing}/protocol/index.d.ts +1 -1
  84. package/dist/{cubing → lib/cubing}/protocol/index.js +4 -4
  85. package/dist/lib/cubing/puzzle-geometry/index.d.ts +7 -0
  86. package/dist/{cubing → lib/cubing}/puzzle-geometry/index.js +142 -62
  87. package/dist/lib/cubing/puzzle-geometry/index.js.map +7 -0
  88. package/dist/{cubing → lib/cubing}/puzzles/index.d.ts +3 -3
  89. package/dist/{cubing → lib/cubing}/puzzles/index.js +4 -4
  90. package/dist/lib/cubing/scramble/index.d.ts +3 -0
  91. package/dist/lib/cubing/scramble/index.js +16 -0
  92. package/dist/{cubing → lib/cubing}/search/index.d.ts +2 -2
  93. package/dist/{cubing → lib/cubing}/search/index.js +9 -10
  94. package/dist/lib/cubing/search/index.js.map +7 -0
  95. package/dist/{cubing → lib/cubing}/stream/index.d.ts +2 -2
  96. package/dist/{cubing → lib/cubing}/stream/index.js +4 -1
  97. package/dist/{cubing → lib/cubing}/stream/index.js.map +2 -2
  98. package/dist/{cubing → lib/cubing}/twisty/index.d.ts +3 -3
  99. package/dist/{cubing → lib/cubing}/twisty/index.js +310 -313
  100. package/dist/{cubing → lib/cubing}/twisty/index.js.map +3 -3
  101. package/package.json +40 -41
  102. package/dist/cubing/chunk-E4S4UDA6.js +0 -615
  103. package/dist/cubing/chunk-E4S4UDA6.js.map +0 -7
  104. package/dist/cubing/chunk-OLH526Y4.js.map +0 -7
  105. package/dist/cubing/chunk-VSFPWTDH.js.map +0 -7
  106. package/dist/cubing/inside-AZHBOSXQ.js +0 -17
  107. package/dist/cubing/puzzle-geometry/index.d.ts +0 -7
  108. package/dist/cubing/puzzle-geometry/index.js.map +0 -7
  109. package/dist/cubing/puzzles-dynamic-side-events-42Q52YAB.js.map +0 -7
  110. package/dist/cubing/scramble/index.d.ts +0 -3
  111. package/dist/cubing/scramble/index.js +0 -16
  112. package/dist/cubing/search-dynamic-solve-4x4x4-Z26CIIGT.js.map +0 -7
  113. package/src/README.md +0 -10
  114. /package/dist/{cubing → lib/cubing}/Alg-c6770822.d.ts +0 -0
  115. /package/dist/{cubing → lib/cubing}/alg/index.d.ts +0 -0
  116. /package/dist/{cubing → lib/cubing}/alg/index.js.map +0 -0
  117. /package/dist/{cubing/kpuzzle/index.js.map → lib/cubing/chunks/chunk-NAPITA3L.js.map} +0 -0
  118. /package/dist/{cubing/notation → lib/cubing/kpuzzle}/index.js.map +0 -0
  119. /package/dist/{cubing/protocol → lib/cubing/notation}/index.js.map +0 -0
  120. /package/dist/{cubing → lib/cubing}/parseAlg-d2c83795.d.ts +0 -0
  121. /package/dist/{cubing/puzzles → lib/cubing/protocol}/index.js.map +0 -0
  122. /package/dist/{cubing/scramble → lib/cubing/puzzles}/index.js.map +0 -0
  123. /package/dist/{cubing/search → lib/cubing/scramble}/index.js.map +0 -0
@@ -1,615 +0,0 @@
1
- import {
2
- puzzles
3
- } from "./chunk-AU3TSTCA.js";
4
- import {
5
- from
6
- } from "./chunk-KF2JGMZA.js";
7
- import {
8
- KPattern
9
- } from "./chunk-OLH526Y4.js";
10
- import {
11
- Alg,
12
- AlgBuilder,
13
- Move
14
- } from "./chunk-ULQMFOA2.js";
15
-
16
- // src/cubing/search/inside/solve/puzzles/3x3x3/index.ts
17
- import { randomChoice as randomChoice2 } from "random-uint-below";
18
-
19
- // src/cubing/search/inside/inside-worker.ts
20
- var isInsideWorker = false;
21
- function setIsInsideWorker(inside) {
22
- isInsideWorker = inside;
23
- }
24
- function mustBeInsideWorker() {
25
- if (!isInsideWorker) {
26
- throw new Error(
27
- "Must be called from inside a worker, to avoid impact on page performance. Try importing from the top level of `cubing/solve`?"
28
- );
29
- }
30
- }
31
-
32
- // src/cubing/search/inside/solve/addOrientationSuffix.ts
33
- import { randomChoice } from "random-uint-below";
34
- function addOrientationSuffix(alg, suffixSpec) {
35
- const algBuilder = new AlgBuilder();
36
- algBuilder.experimentalPushAlg(alg);
37
- for (const suffix of suffixSpec) {
38
- const choice = randomChoice(suffix);
39
- if (choice !== null) {
40
- algBuilder.push(Move.fromString(choice));
41
- }
42
- }
43
- return algBuilder.toAlg();
44
- }
45
-
46
- // src/cubing/search/inside/solve/puzzles/dynamic/3x3x3/index.ts
47
- var dynamic3x3x3min2phase = from(() => import("./search-dynamic-solve-3x3x3-HM7RKVEM.js"));
48
-
49
- // src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts
50
- var reidEdgeOrder = "UF UR UB UL DF DR DB DL FR FL BR BL".split(" ");
51
- var reidCornerOrder = "UFR URB UBL ULF DRF DFL DLB DBR".split(" ");
52
- var centerOrder = "U L F R B D".split(" ");
53
- var map = [
54
- [1, 2, 0],
55
- [0, 2, 0],
56
- [1, 1, 0],
57
- [0, 3, 0],
58
- [2, 0, 0],
59
- [0, 1, 0],
60
- [1, 3, 0],
61
- [0, 0, 0],
62
- [1, 0, 0],
63
- [1, 0, 2],
64
- [0, 1, 1],
65
- [1, 1, 1],
66
- [0, 8, 1],
67
- [2, 3, 0],
68
- [0, 10, 1],
69
- [1, 4, 1],
70
- [0, 5, 1],
71
- [1, 7, 2],
72
- [1, 3, 2],
73
- [0, 0, 1],
74
- [1, 0, 1],
75
- [0, 9, 0],
76
- [2, 2, 0],
77
- [0, 8, 0],
78
- [1, 5, 1],
79
- [0, 4, 1],
80
- [1, 4, 2],
81
- [1, 5, 0],
82
- [0, 4, 0],
83
- [1, 4, 0],
84
- [0, 7, 0],
85
- [2, 5, 0],
86
- [0, 5, 0],
87
- [1, 6, 0],
88
- [0, 6, 0],
89
- [1, 7, 0],
90
- [1, 2, 2],
91
- [0, 3, 1],
92
- [1, 3, 1],
93
- [0, 11, 1],
94
- [2, 1, 0],
95
- [0, 9, 1],
96
- [1, 6, 1],
97
- [0, 7, 1],
98
- [1, 5, 2],
99
- [1, 1, 2],
100
- [0, 2, 1],
101
- [1, 2, 1],
102
- [0, 10, 0],
103
- [2, 4, 0],
104
- [0, 11, 0],
105
- [1, 7, 1],
106
- [0, 6, 1],
107
- [1, 6, 2]
108
- ];
109
- function rotateLeft(s, i) {
110
- return s.slice(i) + s.slice(0, i);
111
- }
112
- function toReid333Struct(pattern) {
113
- const output = [[], []];
114
- for (let i = 0; i < 6; i++) {
115
- if (pattern.patternData["CENTERS"].pieces[i] !== i) {
116
- throw new Error("non-oriented puzzles are not supported");
117
- }
118
- }
119
- for (let i = 0; i < 12; i++) {
120
- output[0].push(
121
- rotateLeft(
122
- reidEdgeOrder[pattern.patternData["EDGES"].pieces[i]],
123
- pattern.patternData["EDGES"].orientation[i]
124
- )
125
- );
126
- }
127
- for (let i = 0; i < 8; i++) {
128
- output[1].push(
129
- rotateLeft(
130
- reidCornerOrder[pattern.patternData["CORNERS"].pieces[i]],
131
- pattern.patternData["CORNERS"].orientation[i]
132
- )
133
- );
134
- }
135
- output.push(centerOrder);
136
- return output;
137
- }
138
- function toMin2PhasePattern(pattern) {
139
- const reid = toReid333Struct(pattern);
140
- return map.map(([orbit, perm, ori]) => reid[orbit][perm][ori]).join("");
141
- }
142
-
143
- // src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts
144
- function isEquivalentTranformationIgnoringCENTERS(t1, t2) {
145
- const t1NoCenterOri = new KPattern(t1.kpuzzle, {
146
- EDGES: t1.patternData.EDGES,
147
- CORNERS: t1.patternData.CORNERS,
148
- CENTERS: {
149
- pieces: t1.patternData.CENTERS.pieces,
150
- orientation: new Array(6).fill(0)
151
- }
152
- }).experimentalToTransformation();
153
- const t2NoCenterOri = new KPattern(t2.kpuzzle, {
154
- EDGES: t2.patternData.EDGES,
155
- CORNERS: t2.patternData.CORNERS,
156
- CENTERS: {
157
- pieces: t2.patternData.CENTERS.pieces,
158
- orientation: new Array(6).fill(0)
159
- }
160
- }).experimentalToTransformation();
161
- return t1NoCenterOri.isIdentical(t2NoCenterOri);
162
- }
163
- function passesFilter(kpuzzle, pattern) {
164
- if (isEquivalentTranformationIgnoringCENTERS(kpuzzle.defaultPattern(), pattern)) {
165
- return false;
166
- }
167
- for (const face of "ULFRBD") {
168
- for (let amount = 1; amount < 4; amount++) {
169
- const transformation = kpuzzle.moveToTransformation(new Move(face, amount)).toKPattern();
170
- if (isEquivalentTranformationIgnoringCENTERS(transformation, pattern)) {
171
- return false;
172
- }
173
- }
174
- }
175
- return true;
176
- }
177
-
178
- // src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts
179
- var sgs3x3x3 = [
180
- [
181
- "R U'",
182
- "R2 B",
183
- //
184
- "D2 B2",
185
- "D' L B'",
186
- //
187
- "R' U'",
188
- "B",
189
- //
190
- "D B2",
191
- "R' B",
192
- //
193
- "L' U",
194
- "L2 B'",
195
- //
196
- "B2",
197
- "D L B'",
198
- //
199
- "L U",
200
- "B'",
201
- //
202
- "U'",
203
- "R B",
204
- //
205
- "D' B2",
206
- "L B'",
207
- //
208
- "U2",
209
- "U L' B'",
210
- //
211
- "",
212
- "U' L' B'",
213
- //
214
- "U",
215
- "L' B'"
216
- ],
217
- [
218
- "F2 L2",
219
- "F' L'",
220
- "R' F L2",
221
- //
222
- "D' L2",
223
- "F L2",
224
- "F2 L'",
225
- //
226
- "R' F' L'",
227
- "R2 F L2",
228
- "R2 F2 L'",
229
- //
230
- "L2",
231
- "F L'",
232
- "D' L",
233
- //
234
- "D2 L2",
235
- "R2 F' L'",
236
- "D L",
237
- //
238
- "",
239
- "L2 F L'",
240
- "L F' L2",
241
- //
242
- "L F L'",
243
- "F' L2",
244
- "L'",
245
- //
246
- "D L2",
247
- "D F L'",
248
- "L"
249
- ],
250
- [
251
- "R B U2 B'",
252
- "R2 B U' B'",
253
- //
254
- "F2 B U B'",
255
- "F B2 L' B2",
256
- //
257
- "B2 L B2",
258
- "B U' B'",
259
- //
260
- "R2 B U2 B'",
261
- "R' B U' B'",
262
- //
263
- "B2 L' B2",
264
- "F B U B'",
265
- //
266
- "B2 U' B2",
267
- "B' L B",
268
- //
269
- "L F' B D' B'",
270
- "B' U' B2 D B'",
271
- //
272
- "B U2 B'",
273
- "R B U' B'",
274
- //
275
- "B2 L2 B2",
276
- "D' B' L B",
277
- //
278
- "B U B'",
279
- "F' B2 L' B2",
280
- //
281
- "",
282
- "B2 L' B' U' B'"
283
- ],
284
- [
285
- "U F2 L2 U'",
286
- "F' U L' U'",
287
- //
288
- "F2 U L' U'",
289
- "U F L2 U'",
290
- //
291
- "U2 B2 U2",
292
- "R' U' B U",
293
- //
294
- "D2 U L U'",
295
- "D U2 B' U2",
296
- //
297
- "U L2 U'",
298
- "F U L' U'",
299
- //
300
- "D U L U'",
301
- "U2 B' U2",
302
- //
303
- "",
304
- "U2 B' U' L' U'",
305
- //
306
- "U2 L' U2",
307
- "U' B U",
308
- //
309
- "U L U'",
310
- "D' U2 B' U2",
311
- //
312
- "U L' U'",
313
- "U2 B U2"
314
- ],
315
- [
316
- "R' D' F2",
317
- "F'",
318
- //
319
- "F2",
320
- "D R F'",
321
- //
322
- "R D' F2",
323
- "R2 F'",
324
- //
325
- "D' F2",
326
- "R F'",
327
- //
328
- "F2 R' D' F2",
329
- "F",
330
- //
331
- "D2 F2",
332
- "D' R F'",
333
- //
334
- "R2 D' F2",
335
- "R' F'",
336
- //
337
- "D F2",
338
- "D2 R F'",
339
- //
340
- "",
341
- "F R' D' F2"
342
- ],
343
- [
344
- "R' D2 F' D F",
345
- "R F2 R2 F2",
346
- "R2 F' D2 F",
347
- //
348
- "F' R2 D2 F",
349
- "L D' L'",
350
- "D F' D2 F",
351
- //
352
- "F2 R2 F2",
353
- "R F' D2 F",
354
- "F' R2 D' F",
355
- //
356
- "F' R' D2 F",
357
- "F2 R' F2",
358
- "L D L'",
359
- //
360
- "F' R D' F",
361
- "F2 R F2",
362
- "F' D2 F",
363
- //
364
- "",
365
- "L D2 R D' L'",
366
- "F' D2 F' R F2",
367
- //
368
- "D2 R2 F2 R2 F2",
369
- "D F' D' F",
370
- "F' D F"
371
- ],
372
- [
373
- "U F2 U'",
374
- "R U F' U'",
375
- //
376
- "D R U F2 U'",
377
- "U F U'",
378
- //
379
- "R2 U F2 U'",
380
- "R' U F' U'",
381
- //
382
- "R U F2 U'",
383
- "R2 U F' U'",
384
- //
385
- "",
386
- "U L D L' F U'",
387
- //
388
- "F2 D' R D F2",
389
- "D2 U F U'",
390
- //
391
- "R' U F2 U'",
392
- "U F' U'",
393
- //
394
- "F2 D2 R D2 F2",
395
- "D U F U'"
396
- ],
397
- [
398
- "R2",
399
- "R' B' D B",
400
- //
401
- "D R'",
402
- "F' R2 F",
403
- //
404
- "",
405
- "R B' D B",
406
- //
407
- "R'",
408
- "B' D B",
409
- //
410
- "D' R'",
411
- "D2 F' R2 F",
412
- //
413
- "R",
414
- "R2 B' D B",
415
- //
416
- "D2 R'",
417
- "B' D' B"
418
- ],
419
- [
420
- "R2 D' R2",
421
- "F' R' F R",
422
- "R D' R2 D R'",
423
- //
424
- "D2 R2 D2 R2",
425
- "R' D' F' R F",
426
- "U F D F' U'",
427
- //
428
- "",
429
- "R2 D2 B R' B' R'",
430
- "R' F D' F2 R F",
431
- //
432
- "R2 D R2",
433
- "F2 U F U' F",
434
- "R' D F' R F",
435
- //
436
- "D R2 D2 R2",
437
- "U F D' F' U'",
438
- "D R' D2 F' R F",
439
- //
440
- "R2 D2 R2",
441
- "U F D2 F' U'",
442
- "R' D2 F' R F"
443
- ],
444
- [
445
- "B R B'",
446
- "F D F' B R2 B'",
447
- //
448
- "D B R2 B'",
449
- "D2 B R' B'",
450
- //
451
- "B R2 B'",
452
- "D B R' B'",
453
- //
454
- "D' B R2 B'",
455
- "B R' B'",
456
- //
457
- "",
458
- "B R2 B' D B R' B'",
459
- //
460
- "D2 B R2 B'",
461
- "D' B R' B'"
462
- ],
463
- [
464
- "",
465
- "R' D R F D2 F'",
466
- //
467
- "R' D R",
468
- "D F D' F'",
469
- //
470
- "R F' R' F",
471
- "F D' F'",
472
- //
473
- "R' D' R",
474
- "F D2 F'",
475
- //
476
- "R' D2 R",
477
- "F D F'"
478
- ],
479
- [
480
- "",
481
- "F2 D2 R F' R' D2 F' D2 F'",
482
- "F2 D2 F' D' F D' F' D2 F'",
483
- //
484
- "F2 D F2 D F2 D2 F2",
485
- "D2 F L D2 L' D2 F'",
486
- "D F D2 L D2 L' F'",
487
- //
488
- "R' D B' D2 B D' R",
489
- "R' D2 B' D2 B R",
490
- "F D2 F' D F D F'",
491
- //
492
- "F D' L D2 L' D F'",
493
- "B D' F D B' D' F'",
494
- "F D2 L D2 L' F'",
495
- //
496
- "F D' L D L' D F'",
497
- "F L D2 L' D2 F'",
498
- "R' B' D2 B D2 R"
499
- ],
500
- [
501
- "D'",
502
- "F L D L' D' F'",
503
- //
504
- "D2",
505
- "L B D B' D' L'",
506
- //
507
- "D",
508
- "B' L' D' L D B",
509
- //
510
- "",
511
- "D F L D L' D' F'"
512
- ],
513
- [
514
- "F' D2 F D F' D F",
515
- "F' D' R' D R F",
516
- //
517
- "F' R' D' R D F",
518
- "B D R D' R' B'",
519
- //
520
- "",
521
- "D B' D' L' D L B"
522
- ],
523
- [
524
- "D F D F' D F D2 F'",
525
- "F' U2 B' R' B U2 F' L F' L' F'",
526
- //
527
- "",
528
- "D2 L D L2 F L F2 D F"
529
- ],
530
- [
531
- "L B' L' F L B L' F'",
532
- "F2 U F' D2 F U' F' D2 F'",
533
- "D' F' D B D' F D B'",
534
- //
535
- "F L2 F R2 F' L2 F R2 F2",
536
- "D B D' F' D B' D' F",
537
- "R F L F' R' F L' F'",
538
- //
539
- "",
540
- "D2 B L' U2 L B' D2 B L' U2 L B'",
541
- "D2 F R' U2 R F' D2 F R' U2 R F'",
542
- //
543
- "R F L' F' R' F L F'",
544
- "D F D' B' D F' D' B",
545
- "L2 F2 L' B2 L F2 L' B2 L'"
546
- ],
547
- [
548
- "L B R' B' L' B R B'",
549
- "R' B R F' R' B' R F",
550
- "L D2 L U L' D2 L U' L2",
551
- //
552
- "",
553
- "D2 B' D2 F D' L2 F L2 F' D2 B D' F'",
554
- "D2 F' R' F R2 B' D2 B D2 R' F D2 F'",
555
- //
556
- "L B L' F L B' L' F'",
557
- "F' D2 F' U' F D2 F' U F2",
558
- "D' B' D F D' B D F'"
559
- ],
560
- ["", "D2 F' L U2 L' F D2 F' L U2 L' F", "D2 B' R U2 R' B D2 B' R U2 R' B"]
561
- ];
562
-
563
- // src/cubing/search/inside/solve/puzzles/3x3x3/index.ts
564
- async function random333Pattern() {
565
- const kpuzzle = await puzzles["3x3x3"].kpuzzle();
566
- let pattern = kpuzzle.defaultPattern();
567
- for (const piece of sgs3x3x3) {
568
- pattern = pattern.applyAlg(Alg.fromString(randomChoice2(piece)));
569
- }
570
- if (!passesFilter(kpuzzle, pattern)) {
571
- return random333Pattern();
572
- }
573
- return pattern;
574
- }
575
- async function solve333(s) {
576
- mustBeInsideWorker();
577
- return Alg.fromString(
578
- (await dynamic3x3x3min2phase).solvePattern(toMin2PhasePattern(s))
579
- );
580
- }
581
- async function random333Scramble() {
582
- return solve333(await random333Pattern());
583
- }
584
- async function initialize333() {
585
- (await dynamic3x3x3min2phase).initialize();
586
- }
587
- var randomSuffixes = [
588
- [null, "Rw", "Rw2", "Rw'", "Fw", "Fw'"],
589
- [null, "Dw", "Dw2", "Dw'"]
590
- ];
591
- async function random333OrientedScramble() {
592
- return addOrientationSuffix(await random333Scramble(), randomSuffixes);
593
- }
594
- var extraBit = new Alg("R' U' F");
595
- async function random333FewestMovesScramble() {
596
- const algBuilder = new AlgBuilder();
597
- const unorientedScramble = await random333Scramble();
598
- algBuilder.experimentalPushAlg(extraBit);
599
- algBuilder.experimentalPushAlg(unorientedScramble);
600
- algBuilder.experimentalPushAlg(extraBit);
601
- return algBuilder.toAlg();
602
- }
603
-
604
- export {
605
- setIsInsideWorker,
606
- mustBeInsideWorker,
607
- addOrientationSuffix,
608
- random333Pattern,
609
- solve333,
610
- random333Scramble,
611
- initialize333,
612
- random333OrientedScramble,
613
- random333FewestMovesScramble
614
- };
615
- //# sourceMappingURL=chunk-E4S4UDA6.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cubing/search/inside/solve/puzzles/3x3x3/index.ts", "../../src/cubing/search/inside/inside-worker.ts", "../../src/cubing/search/inside/solve/addOrientationSuffix.ts", "../../src/cubing/search/inside/solve/puzzles/dynamic/3x3x3/index.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts"],
4
- "sourcesContent": ["import { Alg, AlgBuilder } from \"../../../../../alg\";\nimport type { KPattern } from \"../../../../../kpuzzle/KPattern\";\nimport { puzzles } from \"../../../../../puzzles\";\nimport { randomChoice } from \"random-uint-below\";\nimport { mustBeInsideWorker } from \"../../../inside-worker\";\nimport { addOrientationSuffix } from \"../../addOrientationSuffix\";\nimport { dynamic3x3x3min2phase } from \"../dynamic/3x3x3\";\nimport { toMin2PhasePattern } from \"./convert\";\nimport { passesFilter } from \"./filter\";\nimport { sgs3x3x3 } from \"./legacy-sgs\";\n\nexport async function random333Pattern(): Promise<KPattern> {\n const kpuzzle = await puzzles[\"3x3x3\"].kpuzzle();\n let pattern = kpuzzle.defaultPattern();\n for (const piece of sgs3x3x3) {\n pattern = pattern.applyAlg(Alg.fromString(randomChoice(piece)));\n }\n if (!passesFilter(kpuzzle, pattern)) {\n return random333Pattern();\n }\n return pattern;\n}\n\nexport async function solve333(s: KPattern): Promise<Alg> {\n mustBeInsideWorker();\n return Alg.fromString(\n (await dynamic3x3x3min2phase).solvePattern(toMin2PhasePattern(s)),\n );\n}\n\nexport async function random333Scramble(): Promise<Alg> {\n return solve333(await random333Pattern());\n}\n\nexport async function initialize333(): Promise<void> {\n (await dynamic3x3x3min2phase).initialize();\n}\n\nconst randomSuffixes = [\n [null, \"Rw\", \"Rw2\", \"Rw'\", \"Fw\", \"Fw'\"],\n [null, \"Dw\", \"Dw2\", \"Dw'\"],\n];\n\nexport async function random333OrientedScramble(): Promise<Alg> {\n return addOrientationSuffix(await random333Scramble(), randomSuffixes);\n}\n\nconst extraBit = new Alg(\"R' U' F\");\nexport async function random333FewestMovesScramble(): Promise<Alg> {\n const algBuilder = new AlgBuilder();\n const unorientedScramble = await random333Scramble();\n algBuilder.experimentalPushAlg(extraBit);\n // TODO:Avoid cancellable moves.\n algBuilder.experimentalPushAlg(unorientedScramble);\n algBuilder.experimentalPushAlg(extraBit);\n return algBuilder.toAlg();\n}\n", "let isInsideWorker = false;\n\nexport function setIsInsideWorker(inside: boolean) {\n isInsideWorker = inside;\n}\n\nexport function mustBeInsideWorker(): void {\n if (!isInsideWorker) {\n throw new Error(\n \"Must be called from inside a worker, to avoid impact on page performance. Try importing from the top level of `cubing/solve`?\",\n );\n }\n}\n", "import { Alg, AlgBuilder, Move } from \"../../../alg\";\nimport { randomChoice } from \"random-uint-below\";\n\nexport function addOrientationSuffix(\n alg: Alg,\n suffixSpec: (null | string)[][],\n): Alg {\n const algBuilder = new AlgBuilder();\n algBuilder.experimentalPushAlg(alg);\n for (const suffix of suffixSpec) {\n const choice = randomChoice(suffix);\n if (choice !== null) {\n algBuilder.push(Move.fromString(choice));\n }\n }\n return algBuilder.toAlg();\n}\n", "import { from } from \"../../../../../../vendor/mit/p-lazy/p-lazy\";\n\nexport const dynamic3x3x3min2phase = from<\n typeof import(\"./search-dynamic-solve-3x3x3\")\n>(() => import(\"./search-dynamic-solve-3x3x3\"));\n", "/*\n\nFace order:\n\n U\nLFRB\n D\n\n | 0| 1| 2|\n | 3| 4| 5|\n | 6| 7| 8|\n| 9|10|11|18|19|20|27|28|29|36|37|38|\n|12|13|14|21|22|23|30|31|32|39|40|41|\n|15|16|17|24|25|26|33|34|35|42|43|44|\n |45|46|47|\n |48|49|50|\n |51|52|53|\n*/\n\nimport type { KPattern } from \"../../../../../kpuzzle/KPattern\";\n\nconst reidEdgeOrder = \"UF UR UB UL DF DR DB DL FR FL BR BL\".split(\" \");\nconst reidCornerOrder = \"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \");\nconst centerOrder = \"U L F R B D\".split(\" \");\n\n// const stickers = [reidEdgeOrder, reidCornerOrder, centerOrder];\n\n// /*\n// |1 20|0 20|1 10|\n// |0 30|2 00|0 10|\n// |1 30|0 00|1 00|\n// |1 22|0 31|1 31|1 32|0 01|1 01|1 02|0 11|1 11|1 12|0 21|1 21|\n// |0111|2 10|0 91|0 90|2 20|0 80|0 81|2 30|0101|0100|2 40|0110|\n// |1 61|0 71|1 52|1 51|0 41|1 42|1 41|0 51|1 72|1 71|0 61|1 62|\n// |1 50|0 40|1 40|\n// |0 70|2 50|0 50|\n// |1 60|0 60|1 70|\n// */\n\nconst map: [number, number, number][] = [\n [1, 2, 0],\n [0, 2, 0],\n [1, 1, 0],\n [0, 3, 0],\n [2, 0, 0],\n [0, 1, 0],\n [1, 3, 0],\n [0, 0, 0],\n [1, 0, 0],\n [1, 0, 2],\n [0, 1, 1],\n [1, 1, 1],\n [0, 8, 1],\n [2, 3, 0],\n [0, 10, 1],\n [1, 4, 1],\n [0, 5, 1],\n [1, 7, 2],\n [1, 3, 2],\n [0, 0, 1],\n [1, 0, 1],\n [0, 9, 0],\n [2, 2, 0],\n [0, 8, 0],\n [1, 5, 1],\n [0, 4, 1],\n [1, 4, 2],\n [1, 5, 0],\n [0, 4, 0],\n [1, 4, 0],\n [0, 7, 0],\n [2, 5, 0],\n [0, 5, 0],\n [1, 6, 0],\n [0, 6, 0],\n [1, 7, 0],\n [1, 2, 2],\n [0, 3, 1],\n [1, 3, 1],\n [0, 11, 1],\n [2, 1, 0],\n [0, 9, 1],\n [1, 6, 1],\n [0, 7, 1],\n [1, 5, 2],\n [1, 1, 2],\n [0, 2, 1],\n [1, 2, 1],\n [0, 10, 0],\n [2, 4, 0],\n [0, 11, 0],\n [1, 7, 1],\n [0, 6, 1],\n [1, 6, 2],\n];\n\nfunction rotateLeft(s: string, i: number): string {\n return s.slice(i) + s.slice(0, i);\n}\n\nfunction toReid333Struct(pattern: KPattern): string[][] {\n const output: string[][] = [[], []];\n for (let i = 0; i < 6; i++) {\n if (pattern.patternData[\"CENTERS\"].pieces[i] !== i) {\n throw new Error(\"non-oriented puzzles are not supported\");\n }\n }\n for (let i = 0; i < 12; i++) {\n output[0].push(\n rotateLeft(\n reidEdgeOrder[pattern.patternData[\"EDGES\"].pieces[i]],\n pattern.patternData[\"EDGES\"].orientation[i],\n ),\n );\n }\n for (let i = 0; i < 8; i++) {\n output[1].push(\n rotateLeft(\n reidCornerOrder[pattern.patternData[\"CORNERS\"].pieces[i]],\n pattern.patternData[\"CORNERS\"].orientation[i],\n ),\n );\n }\n output.push(centerOrder);\n return output;\n}\n\n// function toReid333String(state: Transformation): string {\n// return toReid333Struct(state)\n// .map((l) => l.join(\" \"))\n// .join(\" \");\n// }\n\nexport function toMin2PhasePattern(pattern: KPattern): string {\n const reid = toReid333Struct(pattern);\n return map.map(([orbit, perm, ori]) => reid[orbit][perm][ori]).join(\"\");\n}\n", "import { Move } from \"../../../../../alg\";\nimport type { KPuzzle } from \"../../../../../kpuzzle\";\nimport { KPattern } from \"../../../../../kpuzzle\";\n\nexport function isEquivalentTranformationIgnoringCENTERS(\n t1: KPattern,\n t2: KPattern,\n): boolean {\n const t1NoCenterOri = new KPattern(t1.kpuzzle, {\n EDGES: t1.patternData.EDGES,\n CORNERS: t1.patternData.CORNERS,\n CENTERS: {\n pieces: t1.patternData.CENTERS.pieces,\n orientation: new Array(6).fill(0),\n },\n }).experimentalToTransformation()!;\n const t2NoCenterOri = new KPattern(t2.kpuzzle, {\n EDGES: t2.patternData.EDGES,\n CORNERS: t2.patternData.CORNERS,\n CENTERS: {\n pieces: t2.patternData.CENTERS.pieces,\n orientation: new Array(6).fill(0),\n },\n }).experimentalToTransformation()!;\n return t1NoCenterOri.isIdentical(t2NoCenterOri);\n}\n\nexport function passesFilter(kpuzzle: KPuzzle, pattern: KPattern): boolean {\n if (\n isEquivalentTranformationIgnoringCENTERS(kpuzzle.defaultPattern(), pattern)\n ) {\n return false;\n }\n\n for (const face of \"ULFRBD\") {\n for (let amount = 1; amount < 4; amount++) {\n const transformation = kpuzzle\n .moveToTransformation(new Move(face, amount))\n .toKPattern();\n if (isEquivalentTranformationIgnoringCENTERS(transformation, pattern)) {\n return false;\n }\n }\n }\n\n return true;\n}\n// TODO: implement tests\n// {\n// const def = await puzzles[\"3x3x3\"].def();\n// const kpuzzle = new KPuzzle(def);\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.applyAlg(parse(\"R\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.applyAlg(parse(\"D\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.reset();\n// kpuzzle.applyAlg(parse(\"(R' U' R U')5\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// }\n", "// TODO: Verify\nexport const sgs3x3x3: string[][] = [\n [\n \"R U'\",\n \"R2 B\", //\n \"D2 B2\",\n \"D' L B'\", //\n \"R' U'\",\n \"B\", //\n \"D B2\",\n \"R' B\", //\n \"L' U\",\n \"L2 B'\", //\n \"B2\",\n \"D L B'\", //\n \"L U\",\n \"B'\", //\n \"U'\",\n \"R B\", //\n \"D' B2\",\n \"L B'\", //\n \"U2\",\n \"U L' B'\", //\n \"\",\n \"U' L' B'\", //\n \"U\",\n \"L' B'\",\n ],\n [\n \"F2 L2\",\n \"F' L'\",\n \"R' F L2\", //\n \"D' L2\",\n \"F L2\",\n \"F2 L'\", //\n \"R' F' L'\",\n \"R2 F L2\",\n \"R2 F2 L'\", //\n \"L2\",\n \"F L'\",\n \"D' L\", //\n \"D2 L2\",\n \"R2 F' L'\",\n \"D L\", //\n \"\",\n \"L2 F L'\",\n \"L F' L2\", //\n \"L F L'\",\n \"F' L2\",\n \"L'\", //\n \"D L2\",\n \"D F L'\",\n \"L\",\n ],\n [\n \"R B U2 B'\",\n \"R2 B U' B'\", //\n \"F2 B U B'\",\n \"F B2 L' B2\", //\n \"B2 L B2\",\n \"B U' B'\", //\n \"R2 B U2 B'\",\n \"R' B U' B'\", //\n \"B2 L' B2\",\n \"F B U B'\", //\n \"B2 U' B2\",\n \"B' L B\", //\n \"L F' B D' B'\",\n \"B' U' B2 D B'\", //\n \"B U2 B'\",\n \"R B U' B'\", //\n \"B2 L2 B2\",\n \"D' B' L B\", //\n \"B U B'\",\n \"F' B2 L' B2\", //\n \"\",\n \"B2 L' B' U' B'\",\n ],\n [\n \"U F2 L2 U'\",\n \"F' U L' U'\", //\n \"F2 U L' U'\",\n \"U F L2 U'\", //\n \"U2 B2 U2\",\n \"R' U' B U\", //\n \"D2 U L U'\",\n \"D U2 B' U2\", //\n \"U L2 U'\",\n \"F U L' U'\", //\n \"D U L U'\",\n \"U2 B' U2\", //\n \"\",\n \"U2 B' U' L' U'\", //\n \"U2 L' U2\",\n \"U' B U\", //\n \"U L U'\",\n \"D' U2 B' U2\", //\n \"U L' U'\",\n \"U2 B U2\",\n ],\n [\n \"R' D' F2\",\n \"F'\", //\n \"F2\",\n \"D R F'\", //\n \"R D' F2\",\n \"R2 F'\", //\n \"D' F2\",\n \"R F'\", //\n \"F2 R' D' F2\",\n \"F\", //\n \"D2 F2\",\n \"D' R F'\", //\n \"R2 D' F2\",\n \"R' F'\", //\n \"D F2\",\n \"D2 R F'\", //\n \"\",\n \"F R' D' F2\",\n ],\n [\n \"R' D2 F' D F\",\n \"R F2 R2 F2\",\n \"R2 F' D2 F\", //\n \"F' R2 D2 F\",\n \"L D' L'\",\n \"D F' D2 F\", //\n \"F2 R2 F2\",\n \"R F' D2 F\",\n \"F' R2 D' F\", //\n \"F' R' D2 F\",\n \"F2 R' F2\",\n \"L D L'\", //\n \"F' R D' F\",\n \"F2 R F2\",\n \"F' D2 F\", //\n \"\",\n \"L D2 R D' L'\",\n \"F' D2 F' R F2\", //\n \"D2 R2 F2 R2 F2\",\n \"D F' D' F\",\n \"F' D F\",\n ],\n [\n \"U F2 U'\",\n \"R U F' U'\", //\n \"D R U F2 U'\",\n \"U F U'\", //\n \"R2 U F2 U'\",\n \"R' U F' U'\", //\n \"R U F2 U'\",\n \"R2 U F' U'\", //\n \"\",\n \"U L D L' F U'\", //\n \"F2 D' R D F2\",\n \"D2 U F U'\", //\n \"R' U F2 U'\",\n \"U F' U'\", //\n \"F2 D2 R D2 F2\",\n \"D U F U'\",\n ],\n [\n \"R2\",\n \"R' B' D B\", //\n \"D R'\",\n \"F' R2 F\", //\n \"\",\n \"R B' D B\", //\n \"R'\",\n \"B' D B\", //\n \"D' R'\",\n \"D2 F' R2 F\", //\n \"R\",\n \"R2 B' D B\", //\n \"D2 R'\",\n \"B' D' B\",\n ],\n [\n \"R2 D' R2\",\n \"F' R' F R\",\n \"R D' R2 D R'\", //\n \"D2 R2 D2 R2\",\n \"R' D' F' R F\",\n \"U F D F' U'\", //\n \"\",\n \"R2 D2 B R' B' R'\",\n \"R' F D' F2 R F\", //\n \"R2 D R2\",\n \"F2 U F U' F\",\n \"R' D F' R F\", //\n \"D R2 D2 R2\",\n \"U F D' F' U'\",\n \"D R' D2 F' R F\", //\n \"R2 D2 R2\",\n \"U F D2 F' U'\",\n \"R' D2 F' R F\",\n ],\n [\n \"B R B'\",\n \"F D F' B R2 B'\", //\n \"D B R2 B'\",\n \"D2 B R' B'\", //\n \"B R2 B'\",\n \"D B R' B'\", //\n \"D' B R2 B'\",\n \"B R' B'\", //\n \"\",\n \"B R2 B' D B R' B'\", //\n \"D2 B R2 B'\",\n \"D' B R' B'\",\n ],\n [\n \"\",\n \"R' D R F D2 F'\", //\n \"R' D R\",\n \"D F D' F'\", //\n \"R F' R' F\",\n \"F D' F'\", //\n \"R' D' R\",\n \"F D2 F'\", //\n \"R' D2 R\",\n \"F D F'\",\n ],\n [\n \"\",\n \"F2 D2 R F' R' D2 F' D2 F'\",\n \"F2 D2 F' D' F D' F' D2 F'\", //\n \"F2 D F2 D F2 D2 F2\",\n \"D2 F L D2 L' D2 F'\",\n \"D F D2 L D2 L' F'\", //\n \"R' D B' D2 B D' R\",\n \"R' D2 B' D2 B R\",\n \"F D2 F' D F D F'\", //\n \"F D' L D2 L' D F'\",\n \"B D' F D B' D' F'\",\n \"F D2 L D2 L' F'\", //\n \"F D' L D L' D F'\",\n \"F L D2 L' D2 F'\",\n \"R' B' D2 B D2 R\",\n ],\n [\n \"D'\",\n \"F L D L' D' F'\", //\n \"D2\",\n \"L B D B' D' L'\", //\n \"D\",\n \"B' L' D' L D B\", //\n \"\",\n \"D F L D L' D' F'\",\n ],\n [\n \"F' D2 F D F' D F\",\n \"F' D' R' D R F\", //\n \"F' R' D' R D F\",\n \"B D R D' R' B'\", //\n \"\",\n \"D B' D' L' D L B\",\n ],\n [\n \"D F D F' D F D2 F'\",\n \"F' U2 B' R' B U2 F' L F' L' F'\", //\n \"\",\n \"D2 L D L2 F L F2 D F\",\n ],\n [\n \"L B' L' F L B L' F'\",\n \"F2 U F' D2 F U' F' D2 F'\",\n \"D' F' D B D' F D B'\", //\n \"F L2 F R2 F' L2 F R2 F2\",\n \"D B D' F' D B' D' F\",\n \"R F L F' R' F L' F'\", //\n \"\",\n \"D2 B L' U2 L B' D2 B L' U2 L B'\",\n \"D2 F R' U2 R F' D2 F R' U2 R F'\", //\n \"R F L' F' R' F L F'\",\n \"D F D' B' D F' D' B\",\n \"L2 F2 L' B2 L F2 L' B2 L'\",\n ],\n [\n \"L B R' B' L' B R B'\",\n \"R' B R F' R' B' R F\",\n \"L D2 L U L' D2 L U' L2\", //\n \"\",\n \"D2 B' D2 F D' L2 F L2 F' D2 B D' F'\",\n \"D2 F' R' F R2 B' D2 B D2 R' F D2 F'\", //\n \"L B L' F L B' L' F'\",\n \"F' D2 F' U' F D2 F' U F2\",\n \"D' B' D F D' B D F'\",\n ],\n [\"\", \"D2 F' L U2 L' F D2 F' L U2 L' F\", \"D2 B' R U2 R' B D2 B' R U2 R' B\"],\n];\n"],
5
- "mappings": "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ACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,CAAC,IAAI,mCAAmC,iCAAiC;AAC3E;;;ANvRA,eAAsB,mBAAsC;AAC1D,QAAM,UAAU,MAAM,QAAQ,OAAO,EAAE,QAAQ;AAC/C,MAAI,UAAU,QAAQ,eAAe;AACrC,aAAW,SAAS,UAAU;AAC5B,cAAU,QAAQ,SAAS,IAAI,WAAWC,cAAa,KAAK,CAAC,CAAC;AAAA,EAChE;AACA,MAAI,CAAC,aAAa,SAAS,OAAO,GAAG;AACnC,WAAO,iBAAiB;AAAA,EAC1B;AACA,SAAO;AACT;AAEA,eAAsB,SAAS,GAA2B;AACxD,qBAAmB;AACnB,SAAO,IAAI;AAAA,KACR,MAAM,uBAAuB,aAAa,mBAAmB,CAAC,CAAC;AAAA,EAClE;AACF;AAEA,eAAsB,oBAAkC;AACtD,SAAO,SAAS,MAAM,iBAAiB,CAAC;AAC1C;AAEA,eAAsB,gBAA+B;AACnD,GAAC,MAAM,uBAAuB,WAAW;AAC3C;AAEA,IAAM,iBAAiB;AAAA,EACrB,CAAC,MAAM,MAAM,OAAO,OAAO,MAAM,KAAK;AAAA,EACtC,CAAC,MAAM,MAAM,OAAO,KAAK;AAC3B;AAEA,eAAsB,4BAA0C;AAC9D,SAAO,qBAAqB,MAAM,kBAAkB,GAAG,cAAc;AACvE;AAEA,IAAM,WAAW,IAAI,IAAI,SAAS;AAClC,eAAsB,+BAA6C;AACjE,QAAM,aAAa,IAAI,WAAW;AAClC,QAAM,qBAAqB,MAAM,kBAAkB;AACnD,aAAW,oBAAoB,QAAQ;AAEvC,aAAW,oBAAoB,kBAAkB;AACjD,aAAW,oBAAoB,QAAQ;AACvC,SAAO,WAAW,MAAM;AAC1B;",
6
- "names": ["randomChoice", "randomChoice"]
7
- }