cubing 0.25.1 → 0.25.5

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 (115) hide show
  1. package/README.md +13 -29
  2. package/dist/esm/{2x2x2.sgs.json-QKP2WRPT.js → 2x2x2.sgs.json-FBJ4RQ4C.js} +2 -2
  3. package/dist/esm/{2x2x2.sgs.json-QKP2WRPT.js.map → 2x2x2.sgs.json-FBJ4RQ4C.js.map} +0 -0
  4. package/dist/esm/{3d-dynamic-inside-GKERM3IG.js → 3d-dynamic-TNYERP4O.js} +28 -26
  5. package/dist/esm/3d-dynamic-TNYERP4O.js.map +7 -0
  6. package/dist/esm/{gwt-B7CBESZR.js → 3x3x3-min2phase-FPRJ5PCJ.js} +2 -2
  7. package/dist/esm/{gwt-B7CBESZR.js.map → 3x3x3-min2phase-FPRJ5PCJ.js.map} +1 -1
  8. package/dist/esm/{scramble_444-FXLLIDCW.js → 444-solver-YZ6PC54L.js} +4 -4
  9. package/dist/esm/{scramble_444-FXLLIDCW.js.map → 444-solver-YZ6PC54L.js.map} +1 -1
  10. package/dist/esm/bluetooth/index.js +1 -1
  11. package/dist/esm/{chunk-GXV3K7MX.js → chunk-4VNM5SER.js} +7 -2
  12. package/dist/esm/{chunk-GXV3K7MX.js.map → chunk-4VNM5SER.js.map} +2 -2
  13. package/dist/esm/chunk-BEXHMXCT.js +9 -0
  14. package/dist/esm/chunk-BEXHMXCT.js.map +7 -0
  15. package/dist/esm/{chunk-KRL5KQQK.js → chunk-F5WNHV7V.js} +2 -2
  16. package/dist/esm/{chunk-KRL5KQQK.js.map → chunk-F5WNHV7V.js.map} +2 -2
  17. package/dist/esm/chunk-IVQ4ITE2.js +33 -0
  18. package/dist/esm/chunk-IVQ4ITE2.js.map +7 -0
  19. package/dist/esm/{chunk-Z5INA5XR.js → chunk-JLNFWJIT.js} +30 -22
  20. package/dist/esm/chunk-JLNFWJIT.js.map +7 -0
  21. package/dist/esm/{chunk-T5KQKRR3.js → chunk-KJZNEDOV.js} +2 -2
  22. package/dist/esm/{chunk-T5KQKRR3.js.map → chunk-KJZNEDOV.js.map} +0 -0
  23. package/dist/esm/{chunk-HCNUMBT5.js → chunk-LGM2HUUG.js} +3 -3
  24. package/dist/esm/{chunk-HCNUMBT5.js.map → chunk-LGM2HUUG.js.map} +2 -2
  25. package/dist/esm/{chunk-QMZKTP7F.js → chunk-QEDC2QTN.js} +2 -2
  26. package/dist/esm/{chunk-QMZKTP7F.js.map → chunk-QEDC2QTN.js.map} +0 -0
  27. package/dist/esm/{chunk-QUTXXRPT.js → chunk-RJSX2HO4.js} +2 -2
  28. package/dist/esm/{chunk-QUTXXRPT.js.map → chunk-RJSX2HO4.js.map} +0 -0
  29. package/dist/esm/{chunk-37NJ765B.js → chunk-V5K5JN2N.js} +83 -26
  30. package/dist/esm/chunk-V5K5JN2N.js.map +7 -0
  31. package/dist/esm/chunk-WDJDRVZZ.js +28 -0
  32. package/dist/esm/chunk-WDJDRVZZ.js.map +7 -0
  33. package/dist/esm/{ftosolver-smaller-phase3-table-UTQRO776.js → fto-solver-HI6NIV74.js} +2 -2
  34. package/dist/esm/{ftosolver-smaller-phase3-table-UTQRO776.js.map → fto-solver-HI6NIV74.js.map} +1 -1
  35. package/dist/esm/{fto.sgs.json-T5WY2HR7.js → fto.dynamic-RAXDXLKL.js} +8 -3
  36. package/dist/esm/fto.dynamic-RAXDXLKL.js.map +7 -0
  37. package/dist/esm/kilominx.kpuzzle.svg-7XJBOKFU.js +83 -0
  38. package/dist/esm/kilominx.kpuzzle.svg-7XJBOKFU.js.map +7 -0
  39. package/dist/esm/kilosolver-N6JM5PUY.js +713 -0
  40. package/dist/esm/kilosolver-N6JM5PUY.js.map +7 -0
  41. package/dist/esm/{masterpyra-QOJCNGZM.js → master_tetraminx-solver-KBQJGW4A.js} +2 -5
  42. package/dist/esm/{masterpyra-QOJCNGZM.js.map → master_tetraminx-solver-KBQJGW4A.js.map} +3 -3
  43. package/dist/esm/{megaminx.sgs.json-KKR4VPHV.js → megaminx.sgs.json-3ZEDZMWF.js} +3 -3
  44. package/dist/esm/{megaminx.sgs.json-KKR4VPHV.js.map → megaminx.sgs.json-3ZEDZMWF.js.map} +0 -0
  45. package/dist/esm/puzzle-geometry/index.js +1 -1
  46. package/dist/esm/puzzles/index.js +3 -1
  47. package/dist/esm/{pyraminx.sgs.json-5HPDQAOM.js → pyraminx.sgs.json-AUUH6ELM.js} +3 -3
  48. package/dist/esm/{pyraminx.sgs.json-5HPDQAOM.js.map → pyraminx.sgs.json-AUUH6ELM.js.map} +0 -0
  49. package/dist/esm/scramble/index.js +5 -3
  50. package/dist/esm/search/index.js +5 -3
  51. package/dist/esm/{entry-RSZSKW5X.js → search-worker-js-entry-B76LGKC2.js} +32 -19
  52. package/dist/esm/search-worker-js-entry-B76LGKC2.js.map +7 -0
  53. package/dist/esm/search-worker-ts-entry-JZTMF3AC.js +22 -0
  54. package/dist/esm/search-worker-ts-entry-JZTMF3AC.js.map +7 -0
  55. package/dist/esm/{skewb.sgs.json-MWONK6HT.js → skewb.sgs.json-6NDFH63U.js} +3 -3
  56. package/dist/esm/{skewb.sgs.json-MWONK6HT.js.map → skewb.sgs.json-6NDFH63U.js.map} +0 -0
  57. package/dist/esm/{scramble_sq1-OZR6K4WV.js → sq1-solver-P3IWWET7.js} +2 -2
  58. package/dist/esm/{scramble_sq1-OZR6K4WV.js.map → sq1-solver-P3IWWET7.js.map} +1 -1
  59. package/dist/esm/twisty/index.js +58 -12
  60. package/dist/esm/twisty/index.js.map +3 -3
  61. package/dist/esm/worker-inside-generated-string-QVH4RRM7.js +3522 -0
  62. package/dist/esm/worker-inside-generated-string-QVH4RRM7.js.map +7 -0
  63. package/dist/types/puzzles/events.d.ts +8 -0
  64. package/dist/types/puzzles/implementations/kilominx/index.d.ts +2 -0
  65. package/dist/types/puzzles/implementations/kilominx/kilominx.kpuzzle.svg.d.ts +1 -0
  66. package/dist/types/puzzles/index.d.ts +6 -11
  67. package/dist/types/{esm-test-worker.d.ts → search/inside/search-worker-js-entry.d.ts} +0 -0
  68. package/dist/types/search/inside/{module-entry-path-getter.d.ts → search-worker-ts-entry-path-getter.d.ts} +0 -0
  69. package/dist/types/search/inside/{module-entry.d.ts → search-worker-ts-entry.d.ts} +0 -0
  70. package/dist/types/search/inside/solve/puzzles/{fto.sgs.json.d.ts → fto.dynamic.d.ts} +1 -0
  71. package/dist/types/search/inside/solve/puzzles/kilominx.d.ts +2 -0
  72. package/dist/types/search/inside/worker-guard.d.ts +3 -0
  73. package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
  74. package/dist/types/twisty/heavy-code-imports/3d.d.ts +1 -1
  75. package/dist/types/twisty/heavy-code-imports/dynamic-entries/{3d-dynamic-inside.d.ts → 3d-dynamic.d.ts} +0 -0
  76. package/dist/types/twisty/model/TwistyPlayerModel.d.ts +4 -0
  77. package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts +1 -2
  78. package/dist/types/twisty/model/props/general/ArbitraryStringProp.d.ts +4 -0
  79. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +1 -0
  80. package/dist/types/twisty/views/TwistyPlayer.d.ts +6 -0
  81. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +6 -0
  82. package/dist/types/twisty/views/twizzle/TwizzleLink.d.ts +1 -1
  83. package/dist/types/vendor/comlink-everywhere/inside/index.d.ts +4 -1
  84. package/dist/types/vendor/comlink-everywhere/node-adapter.d.ts +6 -0
  85. package/dist/types/vendor/comlink-everywhere/outside/index.d.ts +4 -2
  86. package/dist/types/vendor/cstimer/src/js/scramble/{scramble_444.d.ts → 444-solver.d.ts} +0 -0
  87. package/dist/types/vendor/min2phase/{gwt.d.ts → 3x3x3-min2phase.d.ts} +0 -0
  88. package/dist/types/vendor/sq12phase/{scramble_sq1.d.ts → sq1-solver.d.ts} +0 -0
  89. package/dist/types/vendor/xyzzy/{ftosolver.d.ts → fto-solver-original.d.ts} +0 -26
  90. package/dist/types/vendor/xyzzy/{ftosolver-smaller-phase3-table.d.ts → fto-solver.d.ts} +0 -0
  91. package/dist/types/vendor/xyzzy/kilosolver.d.ts +2 -140
  92. package/dist/types/vendor/xyzzy/{masterpyra.d.ts → master_tetraminx-solver.d.ts} +0 -0
  93. package/dist/types/vendor/xyzzy/rediscrambler.d.ts +1 -23
  94. package/package.json +66 -71
  95. package/dist/esm/3d-dynamic-inside-GKERM3IG.js.map +0 -7
  96. package/dist/esm/chunk-37NJ765B.js.map +0 -7
  97. package/dist/esm/chunk-L7W7Q42Q.js +0 -18
  98. package/dist/esm/chunk-L7W7Q42Q.js.map +0 -7
  99. package/dist/esm/chunk-Z5INA5XR.js.map +0 -7
  100. package/dist/esm/entry-RSZSKW5X.js.map +0 -7
  101. package/dist/esm/esm-test-worker.js +0 -15
  102. package/dist/esm/esm-test-worker.js.map +0 -7
  103. package/dist/esm/fto.sgs.json-T5WY2HR7.js.map +0 -7
  104. package/dist/esm/module-entry-UDFTQHXX.js +0 -18
  105. package/dist/esm/module-entry-UDFTQHXX.js.map +0 -7
  106. package/dist/esm/node-KTVORTZB.js +0 -41
  107. package/dist/esm/node-KTVORTZB.js.map +0 -7
  108. package/dist/esm/node-LMAS5PGZ.js +0 -14
  109. package/dist/esm/node-LMAS5PGZ.js.map +0 -7
  110. package/dist/esm/worker-inside-generated-string-WGUQ4QSO.js +0 -2828
  111. package/dist/esm/worker-inside-generated-string-WGUQ4QSO.js.map +0 -7
  112. package/dist/types/search/esm-test-worker.d.ts +0 -3
  113. package/dist/types/search/inside/entry.d.ts +0 -1
  114. package/dist/types/vendor/comlink-everywhere/inside/node.d.ts +0 -1
  115. package/dist/types/vendor/comlink-everywhere/outside/node.d.ts +0 -2
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cubing/search/worker-inside-generated-string.js"],
4
+ "sourcesContent": ["export const workerSource = \"var O0=Object.defineProperty;var sp=e=>O0(e,\\\"__esModule\\\",{value:!0});var U=(e,t)=>()=>(e&&(t=e(e=0)),t);var De=(e,t)=>{sp(e);for(var r in t)O0(e,r,{get:t[r],enumerable:!0})};var ca=(e,t,r)=>{if(!t.has(e))throw TypeError(\\\"Cannot \\\"+r)};var d=(e,t,r)=>(ca(e,t,\\\"read from private field\\\"),r?r.call(e):t.get(e)),oe=(e,t,r)=>{if(t.has(e))throw TypeError(\\\"Cannot add the same private member more than once\\\");t instanceof WeakSet?t.add(e):t.set(e,r)},q=(e,t,r,n)=>(ca(e,t,\\\"write to private field\\\"),n?n.call(e,r):t.set(e,r),r),pa=(e,t,r,n)=>({set _(o){q(e,t,o,r)},get _(){return d(e,t,n)}}),W0=(e,t,r)=>(ca(e,t,\\\"access private method\\\"),r);var Up,hl,Oe,jt=U(()=>{Up=!1,hl=class{is(t){return this instanceof t}as(t){return this instanceof t?this:null}},Oe=class extends hl{constructor(){super();Up&&Object.defineProperty(this,\\\"_debugStr\\\",{get:()=>this.toString()})}get log(){return console.log.bind(console,this,this.toString())}}});function Z0(e,t=!0){if(!t)return e;switch(e){case 1:return-1;case-1:return 1}}function Ra(e,t){return t===-1?Array.from(e).reverse():e}function X0(e){return Array.from(e).reverse()}var V,Dt=U(()=>{(function(r){r[r.Forwards=1]=\\\"Forwards\\\",r[r.Backwards=-1]=\\\"Backwards\\\"})(V||(V={}))});var Do,Rn,$0,da=U(()=>{Do=2147483647,Rn=\\\"2^31 - 1\\\",$0=-2147483648});var Mr,mt,ha=U(()=>{qt();mt=class{constructor(){oe(this,Mr,[])}push(t){d(this,Mr).push(t)}experimentalPushAlg(t){for(let r of t.units())this.push(r)}experimentalNumUnits(){return d(this,Mr).length}toAlg(){return new _(d(this,Mr))}reset(){q(this,Mr,[])}};Mr=new WeakMap});var Nr,Tr,Dl,We,Fo=U(()=>{qt();jt();Dt();Dl=class extends Oe{constructor(t,r){super();oe(this,Nr,void 0);oe(this,Tr,void 0);q(this,Nr,sr(t)),q(this,Tr,sr(r))}get A(){return d(this,Nr)}get B(){return d(this,Tr)}isIdentical(t){let r=t.as(Dl);return!!(r?.A.isIdentical(this.A)&&r?.B.isIdentical(this.B))}invert(){return new Dl(d(this,Tr),d(this,Nr))}*experimentalExpand(t=V.Forwards,r){r??(r=1/0),r===0?yield t===V.Forwards?this:this.invert():t===V.Forwards?(yield*this.A.experimentalExpand(V.Forwards,r-1),yield*this.B.experimentalExpand(V.Forwards,r-1),yield*this.A.experimentalExpand(V.Backwards,r-1),yield*this.B.experimentalExpand(V.Backwards,r-1)):(yield*this.B.experimentalExpand(V.Forwards,r-1),yield*this.A.experimentalExpand(V.Forwards,r-1),yield*this.B.experimentalExpand(V.Backwards,r-1),yield*this.A.experimentalExpand(V.Backwards,r-1))}toString(){return`[${d(this,Nr).toString()}, ${d(this,Tr).toString()}]`}},We=Dl;Nr=new WeakMap,Tr=new WeakMap});var dn,hn,Fl,Ke,Ao=U(()=>{qt();jt();Dt();Fl=class extends Oe{constructor(t,r){super();oe(this,dn,void 0);oe(this,hn,void 0);q(this,dn,sr(t)),q(this,hn,sr(r))}get A(){return d(this,dn)}get B(){return d(this,hn)}isIdentical(t){let r=t.as(Fl);return!!(r?.A.isIdentical(this.A)&&r?.B.isIdentical(this.B))}invert(){return new Fl(d(this,dn),d(this,hn).invert())}*experimentalExpand(t,r){r??(r=1/0),r===0?yield t===V.Forwards?this:this.invert():(yield*this.A.experimentalExpand(V.Forwards,r-1),yield*this.B.experimentalExpand(t,r-1),yield*this.A.experimentalExpand(V.Backwards,r-1))}toString(){return`[${this.A}: ${this.B}]`}},Ke=Fl;dn=new WeakMap,hn=new WeakMap});var fr,Da,Ft,yo=U(()=>{jt();Dt();Da=class extends Oe{constructor(t){super();oe(this,fr,void 0);if(t.includes(`\\n`)||t.includes(\\\"\\\\r\\\"))throw new Error(\\\"LineComment cannot contain newline\\\");q(this,fr,t)}get text(){return d(this,fr)}isIdentical(t){let r=t;return t.is(Da)&&d(this,fr)===d(r,fr)}invert(){return this}*experimentalExpand(t=V.Forwards,r=1/0){yield this}toString(){return`//${d(this,fr)}`}},Ft=Da;fr=new WeakMap});var Xe,Uo=U(()=>{jt();Dt();Xe=class extends Oe{toString(){return`\\n`}isIdentical(t){return t.is(Xe)}invert(){return this}*experimentalExpand(t=V.Forwards,r=1/0){yield this}}});var $e,bo=U(()=>{jt();Dt();$e=class extends Oe{toString(){return\\\".\\\"}isIdentical(t){return t.is($e)}invert(){return this}*experimentalExpand(t=V.Forwards,r=1/0){yield this}}});function Al(e,t){return e?parseInt(e):t}function Fa(e){return new yl().parseAlg(e)}function t2(e){return new yl().parseMove(e)}function r2(e){return new yl().parseQuantumMove(e)}function et(e,t,r){let n=e;return n.startCharIndex=t,n.endCharIndex=r,n}function n2(e,t){return\\\"startCharIndex\\\"in e&&(t.startCharIndex=e.startCharIndex),\\\"endCharIndex\\\"in e&&(t.endCharIndex=e.endCharIndex),t}var e2,bp,xp,wp,Sp,vp,lt,I,yl,Aa=U(()=>{qt();ha();Fo();Ao();Ul();yo();Vt();Uo();bo();e2=/^(\\\\d+)?('?)/,bp=/^[_\\\\dA-Za-z]/,xp=/^((([1-9]\\\\d*)-)?([1-9]\\\\d*))?([_A-Za-z]+)?/,wp=/^[^\\\\n]*/,Sp=/^(-?\\\\d+), ?/,vp=/^(-?\\\\d+)\\\\)/;yl=class{constructor(){oe(this,lt,\\\"\\\");oe(this,I,0)}parseAlg(t){q(this,lt,t),q(this,I,0);let r=this.parseAlgWithStopping([]);return this.mustBeAtEndOfInput(),r}parseMove(t){q(this,lt,t),q(this,I,0);let r=this.parseMoveImpl();return this.mustBeAtEndOfInput(),r}parseQuantumMove(t){q(this,lt,t),q(this,I,0);let r=this.parseQuantumMoveImpl();return this.mustBeAtEndOfInput(),r}mustBeAtEndOfInput(){if(d(this,I)!==d(this,lt).length)throw new Error(\\\"parsing unexpectedly ended early\\\")}parseAlgWithStopping(t){let r=d(this,I),n=d(this,I),o=new mt,l=!1,i=a=>{if(l)throw new Error(`Unexpected character at index ${a}. Are you missing a space?`)};e:for(;d(this,I)<d(this,lt).length;){let a=d(this,I);if(t.includes(d(this,lt)[d(this,I)]))return et(o.toAlg(),r,n);if(this.tryConsumeNext(\\\" \\\")){l=!1,o.experimentalNumUnits()===0&&(r=d(this,I));continue e}else if(bp.test(d(this,lt)[d(this,I)])){i(a);let s=this.parseMoveImpl();o.push(s),l=!0,n=d(this,I);continue e}else if(this.tryConsumeNext(\\\"(\\\")){i(a);let s=this.tryRegex(Sp);if(s){let f=s[1],g=d(this,I),c=this.parseRegex(vp),u=et(new B(new P(\\\"U_SQ_\\\"),parseInt(f)),a+1,a+1+f.length),p=et(new B(new P(\\\"D_SQ_\\\"),parseInt(c[1])),g,d(this,I)-1),m=et(new _([u,p]),a+1,d(this,I)-1);o.push(et(new ct(m),a,d(this,I))),l=!0,n=d(this,I);continue e}else{let f=this.parseAlgWithStopping([\\\")\\\"]);this.mustConsumeNext(\\\")\\\");let g=this.parseAmount();o.push(et(new ct(f,g),a,d(this,I))),l=!0,n=d(this,I);continue e}}else if(this.tryConsumeNext(\\\"[\\\")){i(a);let s=this.parseAlgWithStopping([\\\",\\\",\\\":\\\"]),f=this.popNext(),g=this.parseAlgWithStopping([\\\"]\\\"]);switch(this.mustConsumeNext(\\\"]\\\"),f){case\\\":\\\":o.push(et(new Ke(s,g),a,d(this,I))),l=!0,n=d(this,I);continue e;case\\\",\\\":o.push(et(new We(s,g),a,d(this,I))),l=!0,n=d(this,I);continue e;default:throw\\\"unexpected parsing error\\\"}}else if(this.tryConsumeNext(`\\n`)){o.push(et(new Xe,a,d(this,I))),l=!1,n=d(this,I);continue e}else if(this.tryConsumeNext(\\\"/\\\"))if(this.tryConsumeNext(\\\"/\\\")){i(a);let[s]=this.parseRegex(wp);o.push(et(new Ft(s),a,d(this,I))),l=!1,n=d(this,I);continue e}else{o.push(et(new B(\\\"_SLASH_\\\"),a,d(this,I))),l=!0,n=d(this,I);continue e}else if(this.tryConsumeNext(\\\".\\\")){i(a),o.push(et(new $e,a,d(this,I))),l=!0,n=d(this,I);continue e}else throw new Error(`Unexpected character: ${this.popNext()}`)}if(d(this,I)!==d(this,lt).length)throw new Error(\\\"did not finish parsing?\\\");if(t.length>0)throw new Error(\\\"expected stopping\\\");return et(o.toAlg(),r,n)}parseQuantumMoveImpl(){let[,,,t,r,n]=this.parseRegex(xp);return new P(n,Al(r,void 0),Al(t,void 0))}parseMoveImpl(){let t=d(this,I);if(this.tryConsumeNext(\\\"/\\\"))return et(new B(\\\"_SLASH_\\\"),t,d(this,I));let r=this.parseQuantumMoveImpl(),[n,o]=this.parseAmountAndTrackEmptyAbsAmount(),l=this.parseMoveSuffix();if(l){if(n<0)throw new Error(\\\"uh-oh\\\");if((l===\\\"++\\\"||l===\\\"--\\\")&&n!==1)throw new Error(\\\"Pochmann ++ or -- moves cannot have an amount other than 1.\\\");if((l===\\\"++\\\"||l===\\\"--\\\")&&!o)throw new Error(\\\"Pochmann ++ or -- moves cannot have an amount written as a number.\\\");if((l===\\\"+\\\"||l===\\\"-\\\")&&o)throw new Error(\\\"Clock dial moves must have an amount written as a natural number followed by + or -.\\\");l.startsWith(\\\"+\\\")&&(r=r.modified({family:`${r.family}_${l===\\\"+\\\"?\\\"PLUS\\\":\\\"PLUSPLUS\\\"}_`})),l.startsWith(\\\"-\\\")&&(r=r.modified({family:`${r.family}_${l===\\\"-\\\"?\\\"PLUS\\\":\\\"PLUSPLUS\\\"}_`}),n*=-1)}return et(new B(r,n),t,d(this,I))}parseMoveSuffix(){return this.tryConsumeNext(\\\"+\\\")?this.tryConsumeNext(\\\"+\\\")?\\\"++\\\":\\\"+\\\":this.tryConsumeNext(\\\"-\\\")?this.tryConsumeNext(\\\"-\\\")?\\\"--\\\":\\\"-\\\":null}parseAmountAndTrackEmptyAbsAmount(){let t=d(this,I),[,r,n]=this.parseRegex(e2);if(r?.startsWith(\\\"0\\\")&&r!==\\\"0\\\")throw new Error(`Error at char index ${t}: An amount can only start with 0 if it's exactly the digit 0.`);return[Al(r,1)*(n===\\\"'\\\"?-1:1),!r]}parseAmount(){let t=d(this,I),[,r,n]=this.parseRegex(e2);if(r?.startsWith(\\\"0\\\")&&r!==\\\"0\\\")throw new Error(`Error at char index ${t}: An amount number can only start with 0 if it's exactly the digit 0.`);return Al(r,1)*(n===\\\"'\\\"?-1:1)}parseRegex(t){let r=t.exec(this.remaining());if(r===null)throw new Error(\\\"internal parsing error\\\");return q(this,I,d(this,I)+r[0].length),r}tryRegex(t){let r=t.exec(this.remaining());return r===null?null:(q(this,I,d(this,I)+r[0].length),r)}remaining(){return d(this,lt).slice(d(this,I))}popNext(){let t=d(this,lt)[d(this,I)];return pa(this,I)._++,t}tryConsumeNext(t){return d(this,lt)[d(this,I)]===t?(pa(this,I)._++,!0):!1}mustConsumeNext(t){let r=this.popNext();if(r!==t)throw new Error(`expected \\\\`${t}\\\\` while parsing, encountered ${r}`);return r}};lt=new WeakMap,I=new WeakMap});function bl(e){o2.has(e)||(console.warn(e),o2.add(e))}var o2,ya=U(()=>{o2=new Set});var Dn,Ua=U(()=>{Dt();da();Dn=class{constructor(t,r=1){if(this.quantum=t,this.amount=r,!Number.isInteger(this.amount)||this.amount<$0||this.amount>Do)throw new Error(`Unit amount absolute value must be a non-negative integer from ${Rn} to ${Rn}.`)}suffix(){let t=\\\"\\\",r=Math.abs(this.amount);return r!==1&&(t+=r),this.amount<0&&(t+=\\\"'\\\"),t}isIdentical(t){return this.quantum.isIdentical(t.quantum)&&this.amount===t.amount}*experimentalExpand(t,r){let n=Math.abs(this.amount),o=Z0(t,this.amount<0);for(let l=0;l<n;l++)yield*this.quantum.experimentalExpand(o,r)}}});var Ht,Qe,je,xl,P,Me,Fn,B,Vt=U(()=>{jt();Dt();da();Aa();ya();Ua();xl=class extends hl{constructor(t,r,n){super();oe(this,Ht,void 0);oe(this,Qe,void 0);oe(this,je,void 0);if(q(this,Ht,t),q(this,Qe,r??null),q(this,je,n??null),Object.freeze(this),d(this,Qe)!==null&&(!Number.isInteger(d(this,Qe))||d(this,Qe)<1||d(this,Qe)>Do))throw new Error(`QuantumMove inner layer must be a positive integer below ${Rn}.`);if(d(this,je)!==null&&(!Number.isInteger(d(this,je))||d(this,je)<1||d(this,je)>Do))throw new Error(`QuantumMove outer layer must be a positive integer below ${Rn}.`);if(d(this,je)!==null&&d(this,Qe)!==null&&d(this,Qe)<=d(this,je))throw new Error(\\\"QuantumMove outer layer must be smaller than inner layer.\\\");if(d(this,je)!==null&&d(this,Qe)===null)throw new Error(\\\"QuantumMove with an outer layer must have an inner layer\\\")}static fromString(t){return r2(t)}modified(t){return new xl(t.family??d(this,Ht),t.innerLayer??d(this,Qe),t.outerLayer??d(this,je))}isIdentical(t){let r=t;return t.is(xl)&&d(this,Ht)===d(r,Ht)&&d(this,Qe)===d(r,Qe)&&d(this,je)===d(r,je)}get family(){return d(this,Ht)}get outerLayer(){return d(this,je)}get innerLayer(){return d(this,Qe)}experimentalExpand(){throw new Error(\\\"experimentalExpand() cannot be called on a `QuantumMove` directly.\\\")}toString(){let t=d(this,Ht);return d(this,Qe)!==null&&(t=String(d(this,Qe))+t,d(this,je)!==null&&(t=String(d(this,je))+\\\"-\\\"+t)),t}},P=xl;Ht=new WeakMap,Qe=new WeakMap,je=new WeakMap;Fn=class extends Oe{constructor(...t){super();oe(this,Me,void 0);if(typeof t[0]==\\\"string\\\")if(t[1]??null){q(this,Me,new Dn(P.fromString(t[0]),t[1]));return}else return Fn.fromString(t[0]);q(this,Me,new Dn(t[0],t[1]))}isIdentical(t){let r=t.as(Fn);return!!r&&d(this,Me).isIdentical(d(r,Me))}invert(){return n2(this,new Fn(d(this,Me).quantum,-this.amount))}*experimentalExpand(t=V.Forwards){t===V.Forwards?yield this:yield this.modified({amount:-this.amount})}get quantum(){return d(this,Me).quantum}modified(t){return new Fn(d(this,Me).quantum.modified(t),t.amount??this.amount)}static fromString(t){return t2(t)}get amount(){return d(this,Me).amount}get type(){return bl(\\\"deprecated: type\\\"),\\\"blockMove\\\"}get family(){return d(this,Me).quantum.family??void 0}get outerLayer(){return d(this,Me).quantum.outerLayer??void 0}get innerLayer(){return d(this,Me).quantum.innerLayer??void 0}toString(){if(this.family===\\\"_SLASH_\\\")return\\\"/\\\";if(this.family.endsWith(\\\"_PLUS_\\\"))return d(this,Me).quantum.toString().slice(0,-6)+Math.abs(this.amount)+(this.amount<0?\\\"-\\\":\\\"+\\\");if(this.family.endsWith(\\\"_PLUSPLUS_\\\")){let t=Math.abs(this.amount);return d(this,Me).quantum.toString().slice(0,-10)+(t===1?\\\"\\\":t)+(this.amount<0?\\\"--\\\":\\\"++\\\")}return d(this,Me).quantum.toString()+d(this,Me).suffix()}},B=Fn;Me=new WeakMap});var l2,i2,it,wl,ct,Ul=U(()=>{qt();jt();Dt();Vt();Ua();l2=class{constructor(){this.quantumU_SQ_=null;this.quantumD_SQ_=null}format(t){let r=this.tuple(t);return r?`(${r.map(n=>n.amount).join(\\\", \\\")})`:null}tuple(t){this.quantumU_SQ_||(this.quantumU_SQ_=new P(\\\"U_SQ_\\\")),this.quantumD_SQ_||(this.quantumD_SQ_=new P(\\\"D_SQ_\\\"));let r=t.alg;if(r.experimentalNumUnits()===2){let[n,o]=r.units();if(n.as(B)?.quantum.isIdentical(this.quantumU_SQ_)&&o.as(B)?.quantum.isIdentical(this.quantumD_SQ_)){if(t.amount!==1)throw new Error(\\\"Square-1 tuples cannot have an amount other than 1.\\\");return[n,o]}}return null}},i2=new l2,wl=class extends Oe{constructor(t,r){super();oe(this,it,void 0);let n=sr(t);q(this,it,new Dn(n,r))}isIdentical(t){let r=t;return t.is(wl)&&d(this,it).isIdentical(d(r,it))}get alg(){return d(this,it).quantum}get amount(){return d(this,it).amount}get experimentalRepetitionSuffix(){return d(this,it).suffix()}invert(){return new wl(d(this,it).quantum,-d(this,it).amount)}*experimentalExpand(t=V.Forwards,r){r??(r=1/0),r===0?yield t===V.Forwards?this:this.invert():yield*d(this,it).experimentalExpand(t,r-1)}static fromString(){throw new Error(\\\"unimplemented\\\")}toString(){return i2.format(this)??`(${d(this,it).quantum.toString()})${d(this,it).suffix()}`}experimentalAsSquare1Tuple(){return i2.tuple(this)}},ct=wl;it=new WeakMap});var Sl=U(()=>{Ul();yo();Fo();Ao();Vt();Uo();bo()});function At(e,t){return e instanceof t}function a2(e){return At(e,ct)||At(e,Ft)||At(e,We)||At(e,Ke)||At(e,B)||At(e,Xe)||At(e,$e)}var ba=U(()=>{Sl()});function s2(e,t,r){if(t.is(ct))return e.traverseGrouping(t,r);if(t.is(B))return e.traverseMove(t,r);if(t.is(We))return e.traverseCommutator(t,r);if(t.is(Ke))return e.traverseConjugate(t,r);if(t.is($e))return e.traversePause(t,r);if(t.is(Xe))return e.traverseNewline(t,r);if(t.is(Ft))return e.traverseLineComment(t,r);throw new Error(\\\"unknown unit\\\")}function f2(e){if(e.is(ct)||e.is(B)||e.is(We)||e.is(Ke)||e.is($e)||e.is(Xe)||e.is(Ft))return e;throw\\\"internal error: expected unit\\\"}var An,yn,vl,Ep,wa,xa,u2,g2,Sa=U(()=>{Ul();Fo();Vt();Uo();bo();Ao();yo();An=class{traverseUnit(t,r){return s2(this,t,r)}traverseIntoUnit(t,r){return f2(this.traverseUnit(t,r))}},yn=class extends An{traverseUnit(t){return s2(this,t,void 0)}traverseIntoUnit(t){return f2(this.traverseUnit(t))}},wa=class extends An{*traverseAlg(t,r){if(r.depth===0){yield*t.units();return}let n=[],o=null,l=r?.collapseMoves??!0;function i(f,g){var p;let c=W0(p=wa,vl,Ep).call(p,f,g,r);if(c===0)return!1;let u=new B(f.quantum,c);return n.push(u),o=u,!0}function a(f){l&&o?.is(B)&&f.is(B)&&o.quantum.isIdentical(f.quantum)?(n.pop(),i(o,f.amount)||(o=n.slice(-1)[0])):f.is(B)?i(f,0):(n.push(f),o=f)}let s={depth:r.depth?r.depth-1:null};for(let f of t.units())for(let g of this.traverseUnit(f,s))a(g);for(let f of n)yield f}*traverseGrouping(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new ct(this.traverseAlg(t.alg,n))}*traverseMove(t,r){yield t}*traverseCommutator(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new We(this.traverseAlg(t.A,n),this.traverseAlg(t.B,n))}*traverseConjugate(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new Ke(this.traverseAlg(t.A,n),this.traverseAlg(t.B,n))}*traversePause(t,r){yield t}*traverseNewline(t,r){yield t}*traverseLineComment(t,r){yield t}},xa=wa;vl=new WeakSet,Ep=function(t,r,n){let o=t.amount+r;if(n?.quantumMoveOrder){let l=n.quantumMoveOrder(t.quantum),i=Math.floor(l/2)+1-l;o=(o%l+l-i)%l+i}return o},oe(xa,vl);u2=new xa,g2=u2.traverseAlg.bind(u2)});function c2(e){if(!e)return[];if(At(e,_))return e.units();if(typeof e==\\\"string\\\")return Fa(e).units();let t=e;if(typeof t[Symbol.iterator]==\\\"function\\\")return t;throw\\\"Invalid unit\\\"}function sr(e){return At(e,_)?e:new _(e)}function kp(e,t){return e.is(Xe)||t.is(Xe)?\\\"\\\":e.is(Ft)&&!t.is(Xe)?`\\n`:\\\" \\\"}var at,Gr,_,qt=U(()=>{jt();ba();Dt();Aa();Sa();yo();Vt();Uo();ya();Gr=class extends Oe{constructor(t){super();oe(this,at,void 0);q(this,at,Array.from(c2(t)));for(let r of d(this,at))if(!a2(r))throw new Error(\\\"An alg can only contain units.\\\")}isIdentical(t){let r=t;if(!t.is(Gr))return!1;let n=Array.from(d(this,at)),o=Array.from(d(r,at));if(n.length!==o.length)return!1;for(let l=0;l<n.length;l++)if(!n[l].isIdentical(o[l]))return!1;return!0}invert(){return new Gr(X0(Array.from(d(this,at)).map(t=>t.invert())))}*experimentalExpand(t=V.Forwards,r){r??(r=1/0);for(let n of Ra(d(this,at),t))yield*n.experimentalExpand(t,r)}expand(t){return new Gr(this.experimentalExpand(V.Forwards,t?.depth??1/0))}*experimentalLeafMoves(){for(let t of this.experimentalExpand())t.is(B)&&(yield t)}concat(t){return new Gr(Array.from(d(this,at)).concat(Array.from(c2(t))))}experimentalIsEmpty(){for(let t of d(this,at))return!1;return!0}static fromString(t){return Fa(t)}*units(){for(let t of d(this,at))yield t}experimentalNumUnits(){return Array.from(d(this,at)).length}get type(){return bl(\\\"deprecated: type\\\"),\\\"sequence\\\"}toString(){let t=\\\"\\\",r=null;for(let n of d(this,at))r&&(t+=kp(r,n)),t+=n.toString(),r=n;return t}simplify(t){return new Gr(g2(this,t??{}))}},_=Gr;at=new WeakMap});var _p,p2=U(()=>{qt();Sl();Fo();Ao();Vt();bo();_p={Sune:new _([new B(\\\"R\\\",1),new B(\\\"U\\\",1),new B(\\\"R\\\",-1),new B(\\\"U\\\",1),new B(\\\"R\\\",1),new B(\\\"U\\\",-2),new B(\\\"R\\\",-1)]),AntiSune:new _([new B(\\\"R\\\",1),new B(\\\"U\\\",2),new B(\\\"R\\\",-1),new B(\\\"U\\\",-1),new B(\\\"R\\\",1),new B(\\\"U\\\",-1),new B(\\\"R\\\",-1)]),SuneCommutator:new _([new We(new _([new B(\\\"R\\\",1),new B(\\\"U\\\",1),new B(\\\"R\\\",-2)]),new _([new Ke(new _([new B(\\\"R\\\",1)]),new _([new B(\\\"U\\\",1)]))]))]),Niklas:new _([new B(\\\"R\\\",1),new B(\\\"U\\\",-1),new B(\\\"L\\\",-1),new B(\\\"U\\\",1),new B(\\\"R\\\",-1),new B(\\\"U\\\",-1),new B(\\\"L\\\",1),new B(\\\"U\\\",1)]),EPerm:new _([new B(\\\"x\\\",-1),new We(new _([new Ke(new _([new B(\\\"R\\\",1)]),new _([new B(\\\"U\\\",-1)]))]),new _([new B(\\\"D\\\",1)])),new We(new _([new Ke(new _([new B(\\\"R\\\",1)]),new _([new B(\\\"U\\\",1)]))]),new _([new B(\\\"D\\\",1)])),new B(\\\"x\\\",1)]),FURURFCompact:new _([new Ke(new _([new B(\\\"F\\\",1)]),new _([new We(new _([new B(\\\"U\\\",1)]),new _([new B(\\\"R\\\",1)]))]))]),APermCompact:new _([new Ke(new _([new B(\\\"R\\\",2)]),new _([new We(new _([new B(\\\"F\\\",2)]),new _([new B(\\\"R\\\",-1),new B(\\\"B\\\",-1),new B(\\\"R\\\",1)]))]))]),FURURFMoves:new _([new B(\\\"F\\\",1),new B(\\\"U\\\",1),new B(\\\"R\\\",1),new B(\\\"U\\\",-1),new B(\\\"R\\\",-1),new B(\\\"F\\\",-1)]),TPerm:new _([new B(\\\"R\\\",1),new B(\\\"U\\\",1),new B(\\\"R\\\",-1),new B(\\\"U\\\",-1),new B(\\\"R\\\",-1),new B(\\\"F\\\",1),new B(\\\"R\\\",2),new B(\\\"U\\\",-1),new B(\\\"R\\\",-1),new B(\\\"U\\\",-1),new B(\\\"R\\\",1),new B(\\\"U\\\",1),new B(\\\"R\\\",-1),new B(\\\"F\\\",-1)]),HeadlightSwaps:new _([new Ke(new _([new B(\\\"F\\\",1)]),new _([new ct(new _([new We(new _([new B(\\\"R\\\",1)]),new _([new B(\\\"U\\\",1)]))]),3)]))]),TriplePause:new _([new $e,new $e,new $e])}});var r3,m2=U(()=>{Vt();r3={73:new B(\\\"R\\\"),75:new B(\\\"R'\\\"),87:new B(\\\"B\\\"),79:new B(\\\"B'\\\"),83:new B(\\\"D\\\"),76:new B(\\\"D'\\\"),68:new B(\\\"L\\\"),69:new B(\\\"L'\\\"),74:new B(\\\"U\\\"),70:new B(\\\"U'\\\"),72:new B(\\\"F\\\"),71:new B(\\\"F'\\\"),78:new B(\\\"x'\\\"),67:new B(\\\"l\\\"),82:new B(\\\"l'\\\"),85:new B(\\\"r\\\"),77:new B(\\\"r'\\\"),88:new B(\\\"d\\\"),188:new B(\\\"d'\\\"),84:new B(\\\"x\\\"),89:new B(\\\"x\\\"),66:new B(\\\"x'\\\"),186:new B(\\\"y\\\"),59:new B(\\\"y\\\"),65:new B(\\\"y'\\\"),80:new B(\\\"z\\\"),81:new B(\\\"z'\\\"),90:new B(\\\"M'\\\"),190:new B(\\\"M'\\\")}});var L2=U(()=>{});var B2=U(()=>{qt()});var Re=U(()=>{qt();ha();Sa();p2();m2();Sl();Vt();L2();B2();ba();Dt()});function xo(e,t,r){let n={};for(let o in e.orbits){let l=e.orbits[o],i=t[o],a=r[o];if(wo(l.numOrientations,a))n[o]=i;else if(wo(l.numOrientations,i))n[o]=a;else{let s=new Array(l.numPieces);if(l.numOrientations===1){for(let f=0;f<l.numPieces;f++)s[f]=i.permutation[a.permutation[f]];n[o]={permutation:s,orientation:i.orientation}}else{let f=new Array(l.numPieces);for(let g=0;g<l.numPieces;g++)f[g]=(i.orientation[a.permutation[g]]+a.orientation[g])%l.numOrientations,s[g]=i.permutation[a.permutation[g]];n[o]={permutation:s,orientation:f}}}}return n}function va(e,t,r){let n={};for(let o in e.orbits){let l=e.orbits[o],i=t[o],a=r[o];if(wo(l.numOrientations,a))n[o]=i;else{let s=new Array(l.numPieces);if(l.numOrientations===1){for(let f=0;f<l.numPieces;f++)s[f]=i.pieces[a.permutation[f]];n[o]={pieces:s,orientation:i.orientation}}else{let f=new Array(l.numPieces);for(let g=0;g<l.numPieces;g++)f[g]=(i.orientation[a.permutation[g]]+a.orientation[g])%l.numOrientations,s[g]=i.pieces[a.permutation[g]];n[o]={pieces:s,orientation:f}}}}return n}var El=U(()=>{So()});function zp(e){let t=d2.get(e);if(t)return t;let r=new Array(e),n=new Array(e);for(let l=0;l<e;l++)r[l]=l,n[l]=0;let o={permutation:r,orientation:n};return R2&&(Object.freeze(r),Object.freeze(n),Object.freeze(o)),d2.set(e,o),o}function h2(e){let t={};for(let[r,n]of Object.entries(e.orbits))t[r]=zp(n.numPieces);return R2&&Object.freeze(t),t}function D2(e,t){let r=t.quantum.toString(),n=e.definition.moves[r];if(n)return ur(e,n,t.amount);let o=e.definition.moves[t.toString()];if(o)return o;let l=e.definition.moves[t.invert().toString()];if(l)return ur(e,l,-1);throw new Error(`Invalid move for KPuzzle (${e.name()}): ${t}`)}var R2,d2,Ea=U(()=>{So();R2=!1,d2=new Map});var Le,kl=U(()=>{El();vo();Le=class{constructor(t,r){this.kpuzzle=t;this.stateData=r}static fromTransformation(t){let r=va(t.kpuzzle.definition,t.kpuzzle.definition.startStateData,t.transformationData);return new Le(t.kpuzzle,r)}apply(t){return this.applyTransformation(this.kpuzzle.toTransformation(t))}applyTransformation(t){if(t.isIdentityTransformation())return new Le(this.kpuzzle,this.stateData);let r=va(this.kpuzzle.definition,this.stateData,t.transformationData);return new Le(this.kpuzzle,r)}applyMove(t){return this.applyTransformation(this.kpuzzle.moveToTransformation(t))}applyAlg(t){return this.applyTransformation(this.kpuzzle.algToTransformation(t))}experimentalToTransformation(){if(!this.kpuzzle.canConvertStateToUniqueTransformation())return null;let t={};for(let[r,n]of Object.entries(this.stateData)){let o={permutation:n.pieces,orientation:n.orientation};t[r]=o}return new yt(this.kpuzzle,t)}}});var Ir,gr,yt,vo=U(()=>{So();El();Ea();kl();gr=class{constructor(t,r){this.kpuzzle=t;this.transformationData=r;oe(this,Ir,void 0)}invert(){return new gr(this.kpuzzle,ka(this.kpuzzle,this.transformationData))}isIdentityTransformation(){return d(this,Ir)??q(this,Ir,this.isIdentical(this.kpuzzle.identityTransformation()))}static experimentalConstructIdentity(t){let r=new gr(t,h2(t.definition));return q(r,Ir,!0),r}isIdentical(t){return F2(this.kpuzzle,this.transformationData,t.transformationData)}apply(t){return this.applyTransformation(this.kpuzzle.toTransformation(t))}applyTransformation(t){if(this.kpuzzle!==t.kpuzzle)throw new Error(`Tried to apply a transformation for a KPuzzle (${t.kpuzzle.name()}) to a different KPuzzle (${this.kpuzzle.name()}).`);return d(this,Ir)?new gr(this.kpuzzle,t.transformationData):d(t,Ir)?new gr(this.kpuzzle,this.transformationData):new gr(this.kpuzzle,xo(this.kpuzzle.definition,this.transformationData,t.transformationData))}applyMove(t){return this.applyTransformation(this.kpuzzle.moveToTransformation(t))}applyAlg(t){return this.applyTransformation(this.kpuzzle.algToTransformation(t))}toKState(){return Le.fromTransformation(this)}repetitionOrder(){return A2(this.kpuzzle.definition,this)}selfMultiply(t){return new gr(this.kpuzzle,ur(this.kpuzzle,this.transformationData,t))}},yt=gr;Ir=new WeakMap});function wo(e,t){let{permutation:r}=t,n=r.length;for(let o=0;o<n;o++)if(r[o]!==o)return!1;if(e>1){let{orientation:o}=t;for(let l=0;l<n;l++)if(o[l]!==0)return!1}return!0}function Cp(e,t,r,n={}){for(let o=0;o<e.numPieces;o++)if(!n?.ignoreOrientation&&t.orientation[o]!==r.orientation[o]||!n?.ignorePermutation&&t.permutation[o]!==r.permutation[o])return!1;return!0}function F2(e,t,r){for(let[n,o]of Object.entries(e.definition.orbits))if(!Cp(o,t[n],r[n]))return!1;return!0}function ka(e,t){let r={};for(let n in e.definition.orbits){let o=e.definition.orbits[n],l=t[n];if(wo(o.numOrientations,l))r[n]=l;else if(o.numOrientations===1){let i=new Array(o.numPieces);for(let a=0;a<o.numPieces;a++)i[l.permutation[a]]=a;r[n]={permutation:i,orientation:l.orientation}}else{let i=new Array(o.numPieces),a=new Array(o.numPieces);for(let s=0;s<o.numPieces;s++){let f=l.permutation[s];i[f]=s,a[f]=(o.numOrientations-l.orientation[s]+o.numOrientations)%o.numOrientations}r[n]={permutation:i,orientation:a}}}return r}function ur(e,t,r){if(r===1)return t;if(r<0)return ur(e,ka(e,t),-r);if(r===0){let{transformationData:l}=e.identityTransformation();return l}let n=t;r!==2&&(n=ur(e,t,Math.floor(r/2)));let o=xo(e.definition,n,n);return r%2==0?o:xo(e.definition,t,o)}function _a(e,t){return t?_a(t,e%t):e}function A2(e,t){let r=1;for(let n in e.orbits){let o=e.orbits[n],l=t.transformationData[n],i=new Array(o.numPieces);for(let a=0;a<o.numPieces;a++)if(!i[a]){let s=a,f=0,g=0;for(;i[s]=!0,f=f+l.orientation[s],g=g+1,s=l.permutation[s],s!==a;);f!==0&&(g=g*o.numOrientations/_a(o.numOrientations,f)),r=r*g/_a(r,g)}}return r}var y2,U2,b2,So=U(()=>{Re();El();vo();y2=class extends An{traverseAlg(t,r){let n=null;for(let o of t.units())n?n=n.applyTransformation(this.traverseUnit(o,r)):n=this.traverseUnit(o,r);return n??r.identityTransformation()}traverseGrouping(t,r){let n=this.traverseAlg(t.alg,r);return new yt(r,ur(r,n.transformationData,t.amount))}traverseMove(t,r){return r.moveToTransformation(t)}traverseCommutator(t,r){let n=this.traverseAlg(t.A,r),o=this.traverseAlg(t.B,r);return n.applyTransformation(o).applyTransformation(n.invert()).applyTransformation(o.invert())}traverseConjugate(t,r){let n=this.traverseAlg(t.A,r),o=this.traverseAlg(t.B,r);return n.applyTransformation(o).applyTransformation(n.invert())}traversePause(t,r){return r.identityTransformation()}traverseNewline(t,r){return r.identityTransformation()}traverseLineComment(t,r){return r.identityTransformation()}},U2=new y2,b2=U2.traverseAlg.bind(U2)});var Un,_l,ke,za=U(()=>{Re();So();Ea();kl();vo();ke=class{constructor(t,r){this.definition=t;oe(this,Un,new Map);oe(this,_l,void 0);this.experimentalPGNotation=r?.experimentalPGNotation}name(){return this.definition.name}identityTransformation(){return yt.experimentalConstructIdentity(this)}moveToTransformation(t){typeof t==\\\"string\\\"&&(t=new B(t));let r=t.toString(),n=d(this,Un).get(r);if(n)return new yt(this,n);if(this.experimentalPGNotation){let l=this.experimentalPGNotation.lookupMove(t);if(!l)throw new Error(`could not map to internal move: ${t}`);return d(this,Un).set(r,l),new yt(this,l)}let o=D2(this,t);return d(this,Un).set(r,o),new yt(this,o)}algToTransformation(t){return typeof t==\\\"string\\\"&&(t=new _(t)),b2(t,this)}toTransformation(t){return typeof t==\\\"string\\\"?this.algToTransformation(t):t?.is?.(_)?this.algToTransformation(t):t?.is?.(B)?this.moveToTransformation(t):t}startState(){return new Le(this,this.definition.startStateData)}canConvertStateToUniqueTransformation(){return d(this,_l)??q(this,_l,(()=>{for(let[t,r]of Object.entries(this.definition.orbits)){let n=new Array(r.numPieces).fill(!1);for(let o of this.definition.startStateData[t].pieces)n[o]=!0;for(let o of n)if(!o)return!1}return!0})())}get state(){throw new Error(\\\"KPuzzle is now a different (stateless) class.\\\")}reset(){throw new Error(\\\"KPuzzle is now a different (stateless) class.\\\")}applyMove(t){throw new Error(\\\"KPuzzle is now a different class. Try `.moveToTransformation()` to get the transformation for a move.\\\")}applyAlg(t){throw new Error(\\\"KPuzzle is now a different class. Try `.algToTransformation()` to get the transformation for an alg.\\\")}};Un=new WeakMap,_l=new WeakMap});var he,x2=U(()=>{he={name:\\\"3x3x3\\\",orbits:{EDGES:{numPieces:12,numOrientations:2},CORNERS:{numPieces:8,numOrientations:3},CENTERS:{numPieces:6,numOrientations:4}},startStateData:{EDGES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{pieces:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{pieces:[0,1,2,3,4,5],orientation:[0,0,0,0,0,0]}},moves:{U:{EDGES:{permutation:[1,2,3,0,4,5,6,7,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[1,0,0,0,0,0]}},y:{EDGES:{permutation:[1,2,3,0,5,6,7,4,10,8,11,9],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[1,2,3,0,7,4,5,6],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,2,3,4,1,5],orientation:[1,0,0,0,0,3]}},x:{EDGES:{permutation:[4,8,0,9,6,10,2,11,5,7,1,3],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[4,0,3,5,7,6,2,1],orientation:[2,1,2,1,1,2,1,2]},CENTERS:{permutation:[2,1,5,3,0,4],orientation:[0,3,0,1,2,2]}},L:{EDGES:{permutation:[0,1,2,11,4,5,6,9,8,3,10,7],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,1,0,0,0,0]}},F:{EDGES:{permutation:[9,1,2,3,8,5,6,7,0,4,10,11],orientation:[1,0,0,0,1,0,0,0,1,1,0,0]},CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,1,0,0,0]}},R:{EDGES:{permutation:[0,8,2,3,4,10,6,7,5,9,1,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,1,0,0]}},B:{EDGES:{permutation:[0,1,10,3,4,5,11,7,8,9,6,2],orientation:[0,0,1,0,0,0,1,0,0,0,1,1]},CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,0,1,0]}},D:{EDGES:{permutation:[0,1,2,3,7,4,5,6,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,0,0,1]}},z:{EDGES:{permutation:[9,3,11,7,8,1,10,5,0,4,2,6],orientation:[1,1,1,1,1,1,1,1,1,1,1,1]},CORNERS:{permutation:[3,2,6,5,0,4,7,1],orientation:[1,2,1,2,2,1,2,1]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,1,1,3,1]}},M:{EDGES:{permutation:[2,1,6,3,0,5,4,7,8,9,10,11],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,0,0,0,2,0]}},E:{EDGES:{permutation:[0,1,2,3,4,5,6,7,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[0,0,0,0,0,0]}},S:{EDGES:{permutation:[0,3,2,7,4,1,6,5,8,9,10,11],orientation:[0,1,0,1,0,1,0,1,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,0,1,0,1]}},u:{EDGES:{permutation:[1,2,3,0,4,5,6,7,10,8,11,9],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,2,3,4,1,5],orientation:[1,0,0,0,0,0]}},l:{EDGES:{permutation:[2,1,6,11,0,5,4,9,8,3,10,7],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,1,0,0,2,0]}},f:{EDGES:{permutation:[9,3,2,7,8,1,6,5,0,4,10,11],orientation:[1,1,0,1,1,1,0,1,1,1,0,0]},CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,1,1,0,1]}},r:{EDGES:{permutation:[4,8,0,3,6,10,2,7,5,9,1,11],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]},CENTERS:{permutation:[2,1,5,3,0,4],orientation:[0,0,0,1,2,2]}},b:{EDGES:{permutation:[0,5,10,1,4,7,11,3,8,9,6,2],orientation:[0,1,1,1,0,1,1,1,0,0,1,1]},CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]},CENTERS:{permutation:[3,0,2,5,4,1],orientation:[3,3,0,3,1,3]}},d:{EDGES:{permutation:[0,1,2,3,7,4,5,6,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[0,0,0,0,0,1]}}}};he.moves.Uw=he.moves.u;he.moves.Lw=he.moves.l;he.moves.Fw=he.moves.f;he.moves.Rw=he.moves.r;he.moves.Bw=he.moves.b;he.moves.Dw=he.moves.d;he.moves.Rv=he.moves.x;he.moves.Uv=he.moves.y;he.moves.Fv=he.moves.z;he.moves.Lv={EDGES:{permutation:[2,10,6,11,0,8,4,9,1,3,5,7],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,1,0,3,2,0]}};he.moves.Dv={EDGES:{permutation:[3,0,1,2,7,4,5,6,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[3,0,0,0,0,1]}};he.moves.Bv={EDGES:{permutation:[8,5,10,1,9,7,11,3,4,0,6,2],orientation:[1,1,1,1,1,1,1,1,1,1,1,1]},CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]},CENTERS:{permutation:[3,0,2,5,4,1],orientation:[3,3,3,3,1,3]}}});var Ca,Ye=U(()=>{za();kl();vo();x2();za();Ca=new ke(he)});var w2=U(()=>{Ye()});var Pp,uA,S2=U(()=>{Pp={\\\"333\\\":{puzzleID:\\\"3x3x3\\\",eventName:\\\"3x3x3 Cube\\\"},\\\"222\\\":{puzzleID:\\\"2x2x2\\\",eventName:\\\"2x2x2 Cube\\\"},\\\"444\\\":{puzzleID:\\\"4x4x4\\\",eventName:\\\"4x4x4 Cube\\\"},\\\"555\\\":{puzzleID:\\\"5x5x5\\\",eventName:\\\"5x5x5 Cube\\\"},\\\"666\\\":{puzzleID:\\\"6x6x6\\\",eventName:\\\"6x6x6 Cube\\\"},\\\"777\\\":{puzzleID:\\\"7x7x7\\\",eventName:\\\"7x7x7 Cube\\\"},\\\"333bf\\\":{puzzleID:\\\"3x3x3\\\",eventName:\\\"3x3x3 Blindfolded\\\"},\\\"333fm\\\":{puzzleID:\\\"3x3x3\\\",eventName:\\\"3x3x3 Fewest Moves\\\"},\\\"333oh\\\":{puzzleID:\\\"3x3x3\\\",eventName:\\\"3x3x3 One-Handed\\\"},clock:{puzzleID:\\\"clock\\\",eventName:\\\"Clock\\\"},minx:{puzzleID:\\\"megaminx\\\",eventName:\\\"Megaminx\\\"},pyram:{puzzleID:\\\"pyraminx\\\",eventName:\\\"Pyraminx\\\"},skewb:{puzzleID:\\\"skewb\\\",eventName:\\\"Skewb\\\"},sq1:{puzzleID:\\\"square1\\\",eventName:\\\"Square-1\\\"},\\\"444bf\\\":{puzzleID:\\\"4x4x4\\\",eventName:\\\"4x4x4 Blindfolded\\\"},\\\"555bf\\\":{puzzleID:\\\"5x5x5\\\",eventName:\\\"5x5x5 Blindfolded\\\"},\\\"333mb\\\":{puzzleID:\\\"3x3x3\\\",eventName:\\\"3x3x3 Multi-Blind\\\"}},uA={...Pp,fto:{puzzleID:\\\"fto\\\",eventName:\\\"Face-Turning Octahedron\\\"},master_tetraminx:{puzzleID:\\\"master_tetraminx\\\",eventName:\\\"Master Tetraminx\\\"},kilominx:{puzzleID:\\\"kilominx\\\",eventName:\\\"Kilominx\\\"}}});function jp(e){switch(e){case x.Regular:return Mp;case x.Dim:return Wp;case x.Ignored:return Np;case x.OrientationStickers:return Tp;case x.Invisible:return Gp;case x.IgnoreNonPrimary:return Ip;case x.PermuteNonPrimary:return Op;case x.Ignoriented:return Kp;case x.OrientationWithoutPermutation:return Qp}}var x,bn,Pt,qe,xn,zl,Or,Mp,Np,Tp,Gp,Ip,Op,Wp,Kp,Qp,Eo,ko,_o=U(()=>{(function(f){f.Regular=\\\"Regular\\\",f.Dim=\\\"Dim\\\",f.Ignored=\\\"Ignored\\\",f.OrientationStickers=\\\"OrientationStickers\\\",f.Invisible=\\\"Invisible\\\",f.Ignoriented=\\\"Ignoriented\\\",f.IgnoreNonPrimary=\\\"IgnoreNonPrimary\\\",f.PermuteNonPrimary=\\\"PermuteNonPrimary\\\",f.OrientationWithoutPermutation=\\\"OrientationWithoutPermutation\\\"})(x||(x={}));bn=class{constructor(t,r){this.stickerings=new Map;for(let[n,o]of Object.entries(t.definition.orbits))this.stickerings.set(n,new Array(o.numPieces).fill(r))}},Pt=\\\"regular\\\",qe=\\\"ignored\\\",xn=\\\"oriented\\\",zl=\\\"invisible\\\",Or=\\\"dim\\\",Mp={facelets:[Pt,Pt,Pt,Pt,Pt]},Np={facelets:[qe,qe,qe,qe,qe]},Tp={facelets:[xn,xn,xn,xn,xn]},Gp={facelets:[zl,zl,zl,zl]},Ip={facelets:[Pt,qe,qe,qe,qe]},Op={facelets:[Or,Pt,Pt,Pt,Pt]},Wp={facelets:[Or,Or,Or,Or,Or]},Kp={facelets:[Or,qe,qe,qe,qe]},Qp={facelets:[xn,qe,qe,qe,qe]};Eo=class extends bn{constructor(t){super(t,x.Regular)}set(t,r){for(let[n,o]of this.stickerings.entries())for(let l=0;l<o.length;l++)t.stickerings.get(n)[l]&&(o[l]=r);return this}toAppearance(){let t={orbits:{}};for(let[r,n]of this.stickerings.entries()){let o=[],l={pieces:o};t.orbits[r]=l;for(let i of n)o.push(jp(i))}return t}},ko=class{constructor(t){this.kpuzzle=t}and(t){let r=new bn(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits)){e:for(let l=0;l<o.numPieces;l++){r.stickerings.get(n)[l]=!0;for(let i of t)if(!i.stickerings.get(n)[l]){r.stickerings.get(n)[l]=!1;continue e}}}return r}or(t){let r=new bn(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits)){e:for(let l=0;l<o.numPieces;l++){r.stickerings.get(n)[l]=!1;for(let i of t)if(i.stickerings.get(n)[l]){r.stickerings.get(n)[l]=!0;continue e}}}return r}not(t){let r=new bn(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits))for(let l=0;l<o.numPieces;l++)r.stickerings.get(n)[l]=!t.stickerings.get(n)[l];return r}all(){return this.and(this.moves([]))}move(t){let r=this.kpuzzle.moveToTransformation(t),n=new bn(this.kpuzzle,!1);for(let[o,l]of Object.entries(this.kpuzzle.definition.orbits))for(let i=0;i<l.numPieces;i++)(r.transformationData[o].permutation[i]!==i||r.transformationData[o].orientation[i]!==0)&&(n.stickerings.get(o)[i]=!0);return n}moves(t){return t.map(r=>this.move(r))}}});function qp(e){(async()=>{v2=e;let t=Array.from(document.body.querySelectorAll(\\\"twisty-player\\\"));console.log(`Setting the custom stickering for ${t.length} players!`);let r=[];for(let n of t)r.push((async()=>{let o=await n.experimentalModel.stickering.get();n.experimentalStickering=o===\\\"experimental-global-custom-1\\\"?\\\"experimental-global-custom-2\\\":\\\"experimental-global-custom-1\\\"})());await Promise.all(r),console.log(\\\"Success!\\\")})()}function E2(e,t){v2(e,t)}var v2,k2=U(()=>{_o();v2=()=>{};globalThis.location&&new URL(location.href).searchParams.get(\\\"global-custom-stickerer\\\")===\\\"true\\\"&&(window.setGlobalCustomStickerer=qp,window.PieceStickering=x,console.log(\\\"Global custom stickerer enabled! (using: global-custom-stickerer=true)\\\"),console.log(\\\"Look here for inspiration:\\\",\\\"https://github.com/cubing/cubing.js/blob/81b5cab3e27d8defb39dd1e0a10bc9e8ba894d26/src/cubing/puzzles/stickerings/cube-stickerings.ts#L67\\\"))});async function Mt(e,t){let r=await e.kpuzzle(),n=new Eo(r),o=new ko(r),l=()=>o.move(\\\"U\\\"),i=()=>o.or(o.moves([\\\"U\\\",\\\"D\\\"])),a=()=>o.not(i()),s=()=>o.or(o.moves([\\\"L\\\",\\\"R\\\"])),f=()=>o.not(s()),g=()=>o.or(o.moves([\\\"F\\\",\\\"B\\\"])),c=()=>o.not(g()),u=()=>o.not(l()),p=()=>o.and([l(),f(),c()]),m=()=>o.and([o.and(o.moves([\\\"F\\\",\\\"R\\\"])),o.not(i())]),L=()=>o.and(o.moves([\\\"D\\\",\\\"R\\\",\\\"F\\\"])),R=()=>o.or([L(),m()]),h=()=>o.or([o.and([f(),a()]),o.and([f(),c()]),o.and([a(),c()])]),A=()=>o.or([o.and([f(),i(),g()]),o.and([a(),s(),g()]),o.and([c(),i(),s()])]),y=()=>o.not(o.or([h(),A()])),k=()=>o.or([f(),o.and([l(),A()])]);function E(){n.set(u(),x.Dim)}function Q(){n.set(l(),x.PermuteNonPrimary),n.set(p(),x.Dim)}function $(){n.set(l(),x.IgnoreNonPrimary),n.set(p(),x.Regular)}function N(){n.set(l(),x.Ignoriented),n.set(p(),x.Dim)}switch(t){case\\\"full\\\":break;case\\\"PLL\\\":E(),Q();break;case\\\"CLS\\\":E(),n.set(o.and(o.moves([\\\"D\\\",\\\"R\\\",\\\"F\\\"])),x.Regular),n.set(l(),x.Ignoriented),n.set(o.and([l(),f(),c()]),x.Dim),n.set(o.and([l(),y()]),x.IgnoreNonPrimary);break;case\\\"OLL\\\":E(),$();break;case\\\"COLL\\\":E(),Q(),n.set(o.and([l(),y()]),x.Regular);break;case\\\"OCLL\\\":E(),N(),n.set(o.and([l(),y()]),x.IgnoreNonPrimary);break;case\\\"CLL\\\":E(),n.set(o.not(o.and([y(),l()])),x.Dim);break;case\\\"ELL\\\":E(),n.set(l(),x.Dim),n.set(o.and([l(),A()]),x.Regular);break;case\\\"ELS\\\":E(),$(),n.set(o.and([l(),y()]),x.Ignored),n.set(m(),x.Regular),n.set(L(),x.Ignored);break;case\\\"LL\\\":E();break;case\\\"F2L\\\":n.set(l(),x.Ignored);break;case\\\"ZBLL\\\":E(),n.set(l(),x.PermuteNonPrimary),n.set(p(),x.Dim),n.set(o.and([l(),y()]),x.Regular);break;case\\\"ZBLS\\\":E(),n.set(R(),x.Regular),$(),n.set(o.and([l(),y()]),x.Ignored);break;case\\\"WVLS\\\":case\\\"VLS\\\":E(),n.set(R(),x.Regular),$();break;case\\\"LS\\\":E(),n.set(R(),x.Regular),n.set(l(),x.Ignored),n.set(p(),x.Dim);break;case\\\"EO\\\":n.set(y(),x.Ignored),n.set(A(),x.OrientationWithoutPermutation);break;case\\\"EOline\\\":n.set(y(),x.Ignored),n.set(A(),x.OrientationWithoutPermutation),n.set(o.and(o.moves([\\\"D\\\",\\\"M\\\"])),x.Regular);break;case\\\"EOcross\\\":n.set(A(),x.OrientationWithoutPermutation),n.set(o.move(\\\"D\\\"),x.Regular),n.set(y(),x.Ignored);break;case\\\"CMLL\\\":n.set(u(),x.Dim),n.set(k(),x.Ignored),n.set(o.and([l(),y()]),x.Regular);break;case\\\"L6E\\\":n.set(o.not(k()),x.Dim);break;case\\\"L6EO\\\":n.set(o.not(k()),x.Dim),n.set(k(),x.OrientationWithoutPermutation),n.set(o.and([h(),i()]),x.OrientationStickers);break;case\\\"Daisy\\\":n.set(o.all(),x.Ignored),n.set(h(),x.Dim),n.set(o.and([o.move(\\\"D\\\"),h()]),x.Regular),n.set(o.and([o.move(\\\"U\\\"),A()]),x.IgnoreNonPrimary);break;case\\\"Cross\\\":n.set(o.all(),x.Ignored),n.set(h(),x.Dim),n.set(o.and([o.move(\\\"D\\\"),h()]),x.Regular),n.set(o.and([o.move(\\\"D\\\"),A()]),x.Regular);break;case\\\"2x2x2\\\":n.set(o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),x.Ignored),n.set(o.and([o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),h()]),x.Dim);break;case\\\"2x2x3\\\":n.set(o.all(),x.Dim),n.set(o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),x.Ignored),n.set(o.and([o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),h()]),x.Dim),n.set(o.and([o.move(\\\"F\\\"),o.not(o.or(o.moves([\\\"U\\\",\\\"R\\\"])))]),x.Regular);break;case\\\"Void Cube\\\":n.set(h(),x.Invisible);break;case\\\"picture\\\":case\\\"invisible\\\":n.set(o.all(),x.Invisible);break;case\\\"centers-only\\\":n.set(o.not(h()),x.Ignored);break;case\\\"experimental-global-custom-1\\\":case\\\"experimental-global-custom-2\\\":E2(n,o);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),x.Dim)}return n.toAppearance()}async function wn(){return[\\\"full\\\",\\\"PLL\\\",\\\"CLS\\\",\\\"OLL\\\",\\\"COLL\\\",\\\"OCLL\\\",\\\"ELL\\\",\\\"ELS\\\",\\\"LL\\\",\\\"F2L\\\",\\\"ZBLL\\\",\\\"ZBLS\\\",\\\"WVLS\\\",\\\"VLS\\\",\\\"LS\\\",\\\"EO\\\",\\\"EOline\\\",\\\"EOcross\\\",\\\"CMLL\\\",\\\"L6E\\\",\\\"L6EO\\\",\\\"Daisy\\\",\\\"Cross\\\",\\\"2x2x2\\\",\\\"2x2x3\\\",\\\"Void Cube\\\",\\\"picture\\\",\\\"invisible\\\",\\\"centers-only\\\"]}var Sn=U(()=>{_o();k2()});function we(e){let t=null;return()=>t??(t=e())}var cr=U(()=>{});var zo,_2=U(()=>{zo=class{constructor(t,r){this.facenames=t;this.prefixFree=!0;this.gripnames=[];r&&(this.gripnames=r);for(let n=0;this.prefixFree&&n<t.length;n++)for(let o=0;this.prefixFree&&o<t.length;o++)n!==o&&t[n].startsWith(t[o])&&(this.prefixFree=!1)}setGripNames(t){this.gripnames=t}splitByFaceNames(t){let r=[],n=0;for(;n<t.length;){n>0&&n<t.length&&t[n]===\\\"_\\\"&&n++;let o=-1;for(let l=0;l<this.facenames.length;l++)t.substr(n).startsWith(this.facenames[l])&&(o<0||this.facenames[l].length>this.facenames[o].length)&&(o=l);if(o>=0)r.push(o),n+=this.facenames[o].length;else throw new Error(\\\"Could not split \\\"+t+\\\" into face names.\\\")}return r}joinByFaceIndices(t){let r=\\\"\\\",n=[];for(let o=0;o<t.length;o++)n.push(r),n.push(this.facenames[t[o]]),this.prefixFree||(r=\\\"_\\\");return n.join(\\\"\\\")}spinmatch(t,r){if(t===r)return!0;try{let n=this.splitByFaceNames(t),o=this.splitByFaceNames(r);if(n.length!==o.length&&n.length<3)return!1;for(let l=0;l<n.length;l++){for(let a=0;a<l;a++)if(n[l]===n[a])return!1;let i=!1;for(let a=0;a<o.length;a++)if(n[l]===o[a]){i=!0;break}if(!i)return!1}return!0}catch(n){return!1}}spinmatchv(t,r){return t.endsWith(\\\"v\\\")&&r.endsWith(\\\"v\\\")?this.spinmatch(t.slice(0,t.length-1),r.slice(0,r.length-1)):this.spinmatch(t,r)}unswizzle(t){(t.endsWith(\\\"v\\\")||t.endsWith(\\\"w\\\"))&&t[0]<=\\\"Z\\\"&&(t=t.slice(0,t.length-1));let r=t.toUpperCase();for(let n=0;n<this.gripnames.length;n++){let o=this.gripnames[n];if(this.spinmatch(r,o))return o}return t}}});var vn,z2=U(()=>{vn=class{notationToInternal(t){return t}notationToExternal(t){return t}}});var Cl,C2=U(()=>{Re();Cl=class{constructor(t,r){this.child=t;this.sw=r}notationToInternal(t){return t.family===\\\"T\\\"&&t.innerLayer===void 0&&t.outerLayer===void 0?new B(new P(\\\"FLRv\\\",t.innerLayer,t.outerLayer),t.amount):this.child.notationToInternal(t)}notationToExternal(t){let r=t.family;return r.length>0&&r[r.length-1]===\\\"v\\\"&&(r=r.substring(0,r.length-1)),this.sw.spinmatch(r,\\\"FLUR\\\")?new B(new P(\\\"T\\\",t.innerLayer,t.outerLayer),t.amount):this.child.notationToExternal(t)}}});var Co,P2=U(()=>{Re();Co=class{constructor(t,r){this.internalNames=t;this.externalNames=r}convertString(t,r,n){let o=\\\"\\\";(t.endsWith(\\\"v\\\")||t.endsWith(\\\"v\\\"))&&t<=\\\"_\\\"&&(o=t.slice(t.length-1),t=t.slice(0,t.length-1));let l=t.toUpperCase(),i=!1;return t!==l&&(i=!0,t=l),t=n.joinByFaceIndices(r.splitByFaceNames(t)),i&&(t=t.toLowerCase()),t+o}convert(t,r,n){let o=t.family,l=this.convertString(o,r,n);return o===l?t:new B(new P(l,t.innerLayer,t.outerLayer),t.amount)}notationToInternal(t){return this.convert(t,this.externalNames,this.internalNames)}notationToExternal(t){return this.convert(t,this.internalNames,this.externalNames)}}});var Pl,M2=U(()=>{Re();Pl=class{constructor(t){this.child=t}notationToInternal(t){if(t.innerLayer===void 0&&t.outerLayer===void 0){if(Math.abs(t.amount)===1){if(t.family===\\\"R++\\\")return new B(new P(\\\"L\\\",3,2),-2*t.amount);if(t.family===\\\"R--\\\")return new B(new P(\\\"L\\\",3,2),2*t.amount);if(t.family===\\\"D++\\\")return new B(new P(\\\"U\\\",3,2),-2*t.amount);if(t.family===\\\"D--\\\")return new B(new P(\\\"U\\\",3,2),2*t.amount);if(t.family===\\\"R_PLUSPLUS_\\\")return new B(new P(\\\"L\\\",3,2),-2*t.amount);if(t.family===\\\"D_PLUSPLUS_\\\")return new B(new P(\\\"U\\\",3,2),-2*t.amount)}if(t.family===\\\"y\\\")return new B(\\\"Uv\\\",t.amount)}return this.child.notationToInternal(t)}notationToExternal(t){return t.family===\\\"Uv\\\"?new B(new P(\\\"y\\\",t.innerLayer,t.outerLayer),t.amount):t.family===\\\"Dv\\\"?new B(\\\"y\\\",-t.amount):this.child.notationToExternal(t)}}});var Ml,N2=U(()=>{Re();Ml=class{constructor(t){this.slices=t}notationToInternal(t){let r=t.family;return!t.innerLayer&&!t.outerLayer&&(r===\\\"x\\\"?t=new B(\\\"Rv\\\",t.amount):r===\\\"y\\\"?t=new B(\\\"Uv\\\",t.amount):r===\\\"z\\\"&&(t=new B(\\\"Fv\\\",t.amount)),(this.slices&1)==1&&(r===\\\"E\\\"?t=new B(new P(\\\"D\\\",(this.slices+1)/2),t.amount):r===\\\"M\\\"?t=new B(new P(\\\"L\\\",(this.slices+1)/2),t.amount):r===\\\"S\\\"&&(t=new B(new P(\\\"F\\\",(this.slices+1)/2),t.amount))),this.slices>2&&(r===\\\"e\\\"?t=new B(new P(\\\"D\\\",this.slices-1,2),t.amount):r===\\\"m\\\"?t=new B(new P(\\\"L\\\",this.slices-1,2),t.amount):r===\\\"s\\\"&&(t=new B(new P(\\\"F\\\",this.slices-1,2),t.amount)))),t}notationToExternal(t){let r=t.family;if(!t.innerLayer&&!t.outerLayer){if(r===\\\"Rv\\\")return new B(\\\"x\\\",t.amount);if(r===\\\"Uv\\\")return new B(\\\"y\\\",t.amount);if(r===\\\"Fv\\\")return new B(\\\"z\\\",t.amount);if(r===\\\"Lv\\\")return new B(\\\"x\\\",-t.amount);if(r===\\\"Dv\\\")return new B(\\\"y\\\",-t.amount);if(r===\\\"Bv\\\")return new B(\\\"z\\\",-t.amount)}return t}}});var Vp,Hp,T2,G2,I2,Po,Nl,O2=U(()=>{Re();Vp={U:\\\"frl\\\",L:\\\"fld\\\",R:\\\"fdr\\\",B:\\\"dlr\\\",u:\\\"FRL\\\",l:\\\"FLD\\\",r:\\\"FDR\\\",b:\\\"DLR\\\",Uv:\\\"FRLv\\\",Lv:\\\"FLDv\\\",Rv:\\\"FDRv\\\",Bv:\\\"DLRv\\\",D:\\\"D\\\",F:\\\"F\\\",BL:\\\"L\\\",BR:\\\"R\\\"},Hp={U:\\\"FRL\\\",L:\\\"FLD\\\",R:\\\"FDR\\\",B:\\\"DLR\\\",u:\\\"frl\\\",l:\\\"fld\\\",r:\\\"fdr\\\",b:\\\"dlr\\\",Uv:\\\"FRLv\\\",Lv:\\\"FLDv\\\",Rv:\\\"FDRv\\\",Bv:\\\"DLRv\\\",D:\\\"D\\\",F:\\\"F\\\",BL:\\\"L\\\",BR:\\\"R\\\",d:\\\"d\\\",f:\\\"f\\\",bl:\\\"l\\\",br:\\\"r\\\"},T2={U:\\\"FRL\\\",L:\\\"FLD\\\",R:\\\"FDR\\\",B:\\\"DLR\\\"},G2=new P(\\\"y\\\"),I2=new P(\\\"Dv\\\"),Po=class{constructor(t){this.child=t;this.wcaHack=!1;this.map=Vp}notationToInternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){let n=T2[t.family];if(n)return new B(new P(n,t.innerLayer,t.outerLayer),t.amount)}let r=this.map[t.family];return r?new B(new P(r,t.innerLayer,t.outerLayer),t.amount):G2.isIdentical(t.quantum)?new B(I2,-t.amount):null}notationToExternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){for(let[r,n]of Object.entries(T2))if(this.child.spinmatch(t.family,n))return new B(new P(r,t.innerLayer,t.outerLayer),t.amount)}for(let[r,n]of Object.entries(this.map))if(this.child.spinmatch(t.family,n))return new B(new P(r,t.innerLayer,t.outerLayer),t.amount);return I2.isIdentical(t.quantum)?new B(G2,-t.amount):null}},Nl=class extends Po{constructor(t){super(t);this.map=Hp}}});var W2,Pa,K2,Yp,Ma,Q2,Jp,Na,j2,Zp,Tl,q2=U(()=>{Re();W2={U:\\\"UBL\\\",UL:\\\"ULF\\\",F:\\\"UFR\\\",UR:\\\"URB\\\",B:\\\"DBL\\\",D:\\\"DFR\\\",L:\\\"DLF\\\",R:\\\"DRB\\\",Uv:\\\"UBLv\\\",ULv:\\\"ULFv\\\",Fv:\\\"UFRv\\\",URv:\\\"URBv\\\",Bv:\\\"DBLv\\\",Dv:\\\"DFRv\\\",Lv:\\\"DLFv\\\",Rv:\\\"DRBv\\\"},Pa=new P(\\\"x\\\"),K2=new P(\\\"Rv\\\"),Yp=new P(\\\"Lv\\\"),Ma=new P(\\\"y\\\"),Q2=new P(\\\"Uv\\\"),Jp=new P(\\\"Dv\\\"),Na=new P(\\\"z\\\"),j2=new P(\\\"Fv\\\"),Zp=new P(\\\"Bv\\\"),Tl=class{constructor(t){this.child=t}notationToInternal(t){if(t.innerLayer||t.outerLayer)return null;let r=W2[t.family];return r?new B(new P(r,t.outerLayer,t.innerLayer),t.amount):Pa.isIdentical(t.quantum)?new B(K2,t.amount):Ma.isIdentical(t.quantum)?new B(Q2,t.amount):Na.isIdentical(t.quantum)?new B(j2,t.amount):null}notationToExternal(t){for(let[r,n]of Object.entries(W2))if(this.child.spinmatchv(t.family,n))return new B(new P(r,t.innerLayer,t.outerLayer),t.amount);return K2.isIdentical(t.quantum)?new B(Pa,t.amount):Yp.isIdentical(t.quantum)?new B(Pa,-t.amount):Q2.isIdentical(t.quantum)?new B(Ma,t.amount):Jp.isIdentical(t.quantum)?new B(Ma,-t.amount):j2.isIdentical(t.quantum)?new B(Na,t.amount):Zp.isIdentical(t.quantum)?new B(Na,-t.amount):null}}});var Ta=U(()=>{z2();C2();P2();M2();N2();O2();q2()});function V2(e){let t=0,r={};for(;t<e.length&&e[t][0]===\\\"-\\\";){let o=e[t++];if(o===\\\"--rotations\\\")r.addRotations=!0;else if(o===\\\"--allmoves\\\")r.allMoves=!0;else if(o===\\\"--outerblockmoves\\\")r.outerBlockMoves=!0;else if(o===\\\"--vertexmoves\\\")r.vertexMoves=!0;else if(o===\\\"--nocorners\\\")r.includeCornerOrbits=!1;else if(o===\\\"--noedges\\\")r.includeEdgeOrbits=!1;else if(o===\\\"--noorientation\\\")r.fixedOrientation=!0;else if(o===\\\"--nocenters\\\")r.includeCenterOrbits=!1;else if(o===\\\"--omit\\\")r.excludeOrbits=e[t].split(\\\",\\\"),t++;else if(o===\\\"--moves\\\")r.moveList=e[t].split(\\\",\\\"),t++;else if(o===\\\"--optimize\\\")r.optimizeOrbits=!0;else if(o===\\\"--scramble\\\")r.scrambleAmount=100;else if(o===\\\"--fixcorner\\\")r.fixedPieceType=\\\"v\\\";else if(o===\\\"--fixedge\\\")r.fixedPieceType=\\\"e\\\";else if(o===\\\"--fixcenter\\\")r.fixedPieceType=\\\"f\\\";else if(o===\\\"--orientcenters\\\")r.orientCenters=!0;else if(o===\\\"--puzzleorientation\\\")r.puzzleOrientation=JSON.parse(e[t]),t++;else throw new Error(\\\"Bad option: \\\"+o)}return{puzzleDescription:Mo(e.slice(t).join(\\\" \\\")),options:r}}var Ga,Ia=U(()=>{Gl();Ga=class{constructor(t={}){this.verbosity=0;this.allMoves=!1;this.vertexMoves=!1;this.addRotations=!1;this.moveList=null;this.fixedOrientation=!1;this.fixedPieceType=null;this.orientCenters=!1;this.includeCornerOrbits=!0;this.includeCenterOrbits=!0;this.includeEdgeOrbits=!0;this.excludeOrbits=[];this.optimizeOrbits=!1;this.grayCorners=!1;this.grayCenters=!1;this.grayEdges=!1;this.puzzleOrientation=null;this.puzzleOrientations=null;this.scrambleAmount=0;Object.assign(this,t)}}});function pr(e){if(!Oa[e]){let t=Array(e);for(let r=0;r<e;r++)t[r]=0;Oa[e]=t}return Oa[e]}function Nt(e){if(!Wa[e]){let t=Array(e);for(let r=0;r<e;r++)t[r]=r;Wa[e]=t}return Wa[e]}function H2(e){return new Lt(Nt(e))}function Y2(e){let t=1;for(;e>1;)t*=e,e--;return t}function Xp(e,t){if(e>t){let r=e;e=t,t=r}for(;e>0;){let r=t%e;t=e,e=r}return t}function Ka(e,t){return e/Xp(e,t)*t}var Oa,Wa,Lt,Il=U(()=>{Oa=[],Wa=[];Lt=class{constructor(t){this.n=t.length,this.p=t}toString(){return\\\"Perm[\\\"+this.p.join(\\\" \\\")+\\\"]\\\"}mul(t){let r=Array(this.n);for(let n=0;n<this.n;n++)r[n]=t.p[this.p[n]];return new Lt(r)}rmul(t){let r=Array(this.n);for(let n=0;n<this.n;n++)r[n]=this.p[t.p[n]];return new Lt(r)}inv(){let t=Array(this.n);for(let r=0;r<this.n;r++)t[this.p[r]]=r;return new Lt(t)}compareTo(t){for(let r=0;r<this.n;r++)if(this.p[r]!==t.p[r])return this.p[r]-t.p[r];return 0}toGap(){let t=new Array,r=new Array(this.n);for(let n=0;n<this.p.length;n++){if(r[n]||this.p[n]===n)continue;let o=new Array;for(let l=n;!r[l];l=this.p[l])o.push(1+l),r[l]=!0;t.push(\\\"(\\\"+o.join(\\\",\\\")+\\\")\\\")}return t.join(\\\"\\\")}order(){let t=1,r=new Array(this.n);for(let n=0;n<this.p.length;n++){if(r[n]||this.p[n]===n)continue;let o=0;for(let l=n;!r[l];l=this.p[l])o++,r[l]=!0;t=Ka(t,o)}return t}}});function Qa(e,t){let r=B.fromString(t),n=e.notationToExternal(r);return n===null||r===n?t:n.toString()}function J2(e,t){let r=e.moveops.length;if(r>30)throw new Error(\\\"Canon info too big for bitmask\\\");let n=[],o=[];for(let i=0;i<r;i++){let a=e.moveops[i];n.push(a.order());let s=0;for(let f=0;f<r;f++){if(f===i)continue;let g=e.moveops[f];a.mul(g).equal(g.mul(a))&&(s|=1<<f)}o.push(s)}let l={};l[0]=1;for(let i=0;i<100;i++){let a=0,s={},f=0;for(let g in l){let c=+g,u=l[c];a+=u,f++;for(let p=0;p<n.length;p++)if((c>>p&1)==0&&(c&o[p]&(1<<p)-1)==0){let m=c&o[p]|1<<p;s[m]===void 0&&(s[m]=0),s[m]+=(n[p]-1)*u}}t(`${i}: canonseq ${a} states ${f}`),l=s}}var No,$p,En,Ut,Yt,ja,mr,kn,qa,Z2=U(()=>{Re();Ta();Il();No=class{constructor(t,r){this.size=t;this.mod=r}reassemblySize(){return Y2(this.size)*Math.pow(this.mod,this.size)}},$p=0;En=class{constructor(t,r,n,o,l){this.orbitnames=t;this.orbitdefs=r;this.solved=n;this.movenames=o;this.moveops=l}transformToKTransformationData(t){let r={};for(let n=0;n<this.orbitnames.length;n++)r[this.orbitnames[n]]=t.orbits[n].toKPuzzle();return r}static transformToKTransformationData(t,r){let n={};for(let o=0;o<t.length;o++)n[t[o]]=r.orbits[o].toKPuzzle();return n}toKsolve(t,r=new vn){let n=[];n.push(\\\"Name \\\"+t),n.push(\\\"\\\");for(let o=0;o<this.orbitnames.length;o++)n.push(`Set ${this.orbitnames[o]} ${this.orbitdefs[o].size} ${this.orbitdefs[o].mod}`);n.push(\\\"\\\"),n.push(\\\"Solved\\\");for(let o=0;o<this.orbitnames.length;o++)this.solved.orbits[o].appendDefinition(n,this.orbitnames[o],!1,!1);n.push(\\\"End\\\");for(let o=0;o<this.movenames.length;o++){n.push(\\\"\\\");let l=Qa(r,this.movenames[o]),i=!1;l[l.length-1]===\\\"'\\\"&&(i=!0,l=l.substring(0,l.length-1)),n.push(\\\"Move \\\"+l);for(let a=0;a<this.orbitnames.length;a++)i?this.moveops[o].orbits[a].inv().appendDefinition(n,this.orbitnames[a],!0):this.moveops[o].orbits[a].appendDefinition(n,this.orbitnames[a],!0);n.push(\\\"End\\\")}return n}toKPuzzleDefinition(t){let r={},n={};for(let l=0;l<this.orbitnames.length;l++){r[this.orbitnames[l]]={numPieces:this.orbitdefs[l].size,numOrientations:this.orbitdefs[l].mod};let i=this.solved.orbits[l].toKPuzzle();n[this.orbitnames[l]]={pieces:i.permutation,orientation:i.orientation}}let o={};if(t)for(let l=0;l<this.movenames.length;l++)o[this.movenames[l]]=this.transformToKTransformationData(this.moveops[l]);return{name:`PG3D #${++$p}`,orbits:r,startStateData:n,moves:o}}optimize(){let t=[],r=[],n=[],o=[];for(let l=0;l<this.moveops.length;l++)o.push([]);for(let l=0;l<this.orbitdefs.length;l++){let i=this.orbitdefs[l].mod,a=this.orbitdefs[l].size,s=new qa(a),f=new Array(this.orbitdefs[l].size);for(let p=0;p<a;p++)f[p]=!1;for(let p=0;p<this.moveops.length;p++)for(let m=0;m<a;m++)(this.moveops[p].orbits[l].perm[m]!==m||this.moveops[p].orbits[l].ori[m]!==0)&&(f[m]=!0,s.union(m,this.moveops[p].orbits[l].perm[m]));let g=!0;if(i>1){g=!1;let p=new qa(this.orbitdefs[l].size*i);for(let m=0;m<this.moveops.length;m++)for(let L=0;L<a;L++)if(this.moveops[m].orbits[l].perm[L]!==L||this.moveops[m].orbits[l].ori[L]!==0)for(let R=0;R<i;R++)p.union(L*i+R,this.moveops[m].orbits[l].perm[L]*i+(R+this.moveops[m].orbits[l].ori[L])%i);for(let m=0;!g&&m<a;m++)for(let L=1;L<i;L++)p.find(m*i)===p.find(m*i+L)&&(g=!0);for(let m=0;!g&&m<a;m++)for(let L=0;L<m;L++)this.solved.orbits[l].perm[m]===this.solved.orbits[l].perm[L]&&(g=!0)}let c=-1,u=!1;for(let p=0;p<this.orbitdefs[l].size;p++)if(f[p]){let m=s.find(p);c<0?c=m:c!==m&&(u=!0)}for(let p=0;p<this.orbitdefs[l].size;p++){if(!f[p]||s.find(p)!==p)continue;let L=[],R=[],h=0;for(let A=0;A<this.orbitdefs[l].size;A++)s.find(A)===p&&(L[h]=A,R[A]=h,h++);if(u?t.push(`${this.orbitnames[l]}_p${p}`):t.push(this.orbitnames[l]),g){r.push(new No(h,this.orbitdefs[l].mod)),n.push(this.solved.orbits[l].remapVS(L,h));for(let A=0;A<this.moveops.length;A++)o[A].push(this.moveops[A].orbits[l].remap(L,R,h))}else{r.push(new No(h,1)),n.push(this.solved.orbits[l].remapVS(L,h).killOri());for(let A=0;A<this.moveops.length;A++)o[A].push(this.moveops[A].orbits[l].remap(L,R,h).killOri())}}}return new En(t,r,new kn(n),this.movenames,o.map(l=>new mr(l)))}scramble(t){this.solved=this.solved.mul(this.getScrambleTransformation(t))}getScrambleTransformation(t){t<100&&(t=100);let r=[];for(let o=0;o<this.moveops.length;o++)r[o]=this.moveops[o];for(let o=0;o<r.length;o++){let l=Math.floor(Math.random()*r.length),i=r[o];r[o]=r[l],r[l]=i}t<r.length&&(t=r.length);for(let o=0;o<t;o++){let l=Math.floor(Math.random()*r.length),i=Math.floor(Math.random()*r.length),a=Math.floor(Math.random()*this.moveops.length);r[l]=r[l].mul(r[i]).mul(this.moveops[a]),Math.random()<.1&&(r[l]=r[l].mul(this.moveops[a]))}let n=r[0];for(let o=1;o<r.length;o++)n=n.mul(r[o]);return n}reassemblySize(){let t=1;for(let r=0;r<this.orbitdefs.length;r++)t*=this.orbitdefs[r].reassemblySize();return t}},Ut=class{constructor(t,r,n){this.perm=t;this.ori=r;this.orimod=n}static e(t,r){return new Ut(Nt(t),pr(t),r)}mul(t){let r=this.perm.length,n=new Array(r);if(this.orimod===1){for(let o=0;o<r;o++)n[o]=this.perm[t.perm[o]];return new Ut(n,this.ori,this.orimod)}else{let o=new Array(r);for(let l=0;l<r;l++)n[l]=this.perm[t.perm[l]],o[l]=(this.ori[t.perm[l]]+t.ori[l])%this.orimod;return new Ut(n,o,this.orimod)}}inv(){let t=this.perm.length,r=new Array(t),n=new Array(t);for(let o=0;o<t;o++)r[this.perm[o]]=o,n[this.perm[o]]=(this.orimod-this.ori[o])%this.orimod;return new Ut(r,n,this.orimod)}equal(t){let r=this.perm.length;for(let n=0;n<r;n++)if(this.perm[n]!==t.perm[n]||this.ori[n]!==t.ori[n])return!1;return!0}killOri(){let t=this.perm.length;for(let r=0;r<t;r++)this.ori[r]=0;return this.orimod=1,this}toPerm(){let t=this.orimod;if(t===1)return new Lt(this.perm);let r=this.perm.length,n=new Array(r*t);for(let o=0;o<r;o++)for(let l=0;l<t;l++)n[o*t+l]=t*this.perm[o]+(this.ori[o]+l)%t;return new Lt(n)}identicalPieces(){let t=[],r=this.perm.length,n=[];for(let o=0;o<r;o++){let l=this.perm[o];if(t[l]===void 0){let i=[o];t[l]=!0;for(let a=o+1;a<r;a++)this.perm[a]===l&&i.push(a);n.push(i)}}return n}order(){return this.toPerm().order()}isIdentity(){let t=this.perm.length;if(this.perm===Nt(t)&&this.ori===pr(t))return!0;for(let r=0;r<t;r++)if(this.perm[r]!==r||this.ori[r]!==0)return!1;return!0}zeroOris(){let t=this.perm.length;if(this.ori===pr(t))return!0;for(let r=0;r<t;r++)if(this.ori[r]!==0)return!1;return!0}remap(t,r,n){let o=new Array(n),l=new Array(n);for(let i=0;i<n;i++)o[i]=r[this.perm[t[i]]],l[i]=this.ori[t[i]];return new Ut(o,l,this.orimod)}remapVS(t,r){let n=new Array(r),o=new Array(r),l=0,i=[];for(let a=0;a<r;a++){let s=this.perm[t[a]];i[s]===void 0&&(i[s]=l++),n[a]=i[s],o[a]=this.ori[t[a]]}return new Ut(n,o,this.orimod)}appendDefinition(t,r,n,o=!0){if(!(o&&this.isIdentity())&&(t.push(r),t.push(this.perm.map(l=>l+1).join(\\\" \\\")),!this.zeroOris()))if(n){let l=new Array(this.ori.length);for(let i=0;i<l.length;i++)l[this.perm[i]]=this.ori[i];t.push(l.join(\\\" \\\"))}else t.push(this.ori.join(\\\" \\\"))}toKPuzzle(){let t=this.perm.length;return this.isIdentity()?(Ut.kcache[t]||(Ut.kcache[t]={permutation:Nt(t),orientation:pr(t)}),Ut.kcache[t]):{permutation:this.perm,orientation:this.ori}}},Yt=Ut;Yt.kcache=[];ja=class{constructor(t){this.orbits=t}internalMul(t){let r=[];for(let n=0;n<this.orbits.length;n++)r.push(this.orbits[n].mul(t.orbits[n]));return r}internalInv(){let t=[];for(let r of this.orbits)t.push(r.inv());return t}equal(t){for(let r=0;r<this.orbits.length;r++)if(!this.orbits[r].equal(t.orbits[r]))return!1;return!0}killOri(){for(let t of this.orbits)t.killOri();return this}toPerm(){let t=new Array,r=0;for(let o of this.orbits){let l=o.toPerm();t.push(l),r+=l.n}let n=new Array(r);r=0;for(let o of t){for(let l=0;l<o.n;l++)n[r+l]=r+o.p[l];r+=o.n}return new Lt(n)}identicalPieces(){let t=[],r=0;for(let n of this.orbits){let o=n.orimod,l=n.identicalPieces();for(let i=0;i<l.length;i++)t.push(l[i].map(a=>a*o+r));r+=o*n.perm.length}return t}order(){let t=1;for(let r of this.orbits)t=Ka(t,r.order());return t}},mr=class extends ja{constructor(t){super(t)}mul(t){return new mr(this.internalMul(t))}mulScalar(t){if(t===0)return this.e();let r=this;for(t<0&&(r=r.inv(),t=-t);(t&1)==0;)r=r.mul(r),t>>=1;if(t===1)return r;let n=r,o=this.e();for(;t>0;)t&1&&(o=o.mul(n)),t>1&&(n=n.mul(n)),t>>=1;return o}inv(){return new mr(this.internalInv())}e(){return new mr(this.orbits.map(t=>Yt.e(t.perm.length,t.orimod)))}},kn=class extends ja{constructor(t){super(t)}mul(t){return new kn(this.internalMul(t))}},qa=class{constructor(t){this.n=t;this.heads=new Array(t);for(let r=0;r<t;r++)this.heads[r]=r}find(t){let r=this.heads[t];return this.heads[r]===r||(r=this.find(this.heads[r]),this.heads[t]=r),r}union(t,r){let n=this.find(t),o=this.find(r);n<o?this.heads[o]=n:n>o&&(this.heads[n]=o)}}});var Ol,X2=U(()=>{Ol={\\\"2x2x2\\\":\\\"c f 0\\\",\\\"3x3x3\\\":\\\"c f 0.333333333333333\\\",\\\"4x4x4\\\":\\\"c f 0.5 f 0\\\",\\\"5x5x5\\\":\\\"c f 0.6 f 0.2\\\",\\\"6x6x6\\\":\\\"c f 0.666666666666667 f 0.333333333333333 f 0\\\",\\\"7x7x7\\\":\\\"c f 0.714285714285714 f 0.428571428571429 f 0.142857142857143\\\",\\\"8x8x8\\\":\\\"c f 0.75 f 0.5 f 0.25 f 0\\\",\\\"9x9x9\\\":\\\"c f 0.777777777777778 f 0.555555555555556 f 0.333333333333333 f 0.111111111111111\\\",\\\"10x10x10\\\":\\\"c f 0.8 f 0.6 f 0.4 f 0.2 f 0\\\",\\\"11x11x11\\\":\\\"c f 0.818181818181818 f 0.636363636363636 f 0.454545454545455 f 0.272727272727273 f 0.0909090909090909\\\",\\\"12x12x12\\\":\\\"c f 0.833333333333333 f 0.666666666666667 f 0.5 f 0.333333333333333 f 0.166666666666667 f 0\\\",\\\"13x13x13\\\":\\\"c f 0.846153846153846 f 0.692307692307692 f 0.538461538461538 f 0.384615384615385 f 0.230769230769231 f 0.0769230769230769\\\",\\\"20x20x20\\\":\\\"c f 0 f .1 f .2 f .3 f .4 f .5 f .6 f .7 f .8 f .9\\\",\\\"30x30x30\\\":\\\"c f 0 f .066667 f .133333 f .2 f .266667 f .333333 f .4 f .466667 f .533333 f .6 f .666667 f .733333 f .8 f .866667 f .933333\\\",\\\"40x40x40\\\":\\\"c f 0 f .05 f .1 f .15 f .2 f .25 f .3 f .35 f .4 f .45 f .5 f .55 f .6 f .65 f .7 f .75 f .8 f .85 f .9 f .95\\\",skewb:\\\"c v 0\\\",\\\"master skewb\\\":\\\"c v 0.275\\\",\\\"professor skewb\\\":\\\"c v 0 v 0.38\\\",\\\"compy cube\\\":\\\"c v 0.915641442663986\\\",helicopter:\\\"c e 0.707106781186547\\\",\\\"curvy copter\\\":\\\"c e 0.83\\\",dino:\\\"c v 0.577350269189626\\\",\\\"little chop\\\":\\\"c e 0\\\",pyramorphix:\\\"t e 0\\\",mastermorphix:\\\"t e 0.346184634065199\\\",pyraminx:\\\"t v 0.333333333333333 v 1.66666666666667\\\",tetraminx:\\\"t v 0.333333333333333\\\",\\\"master pyraminx\\\":\\\"t v 0 v 1 v 2\\\",\\\"master tetraminx\\\":\\\"t v 0 v 1\\\",\\\"professor pyraminx\\\":\\\"t v -0.2 v 0.6 v 1.4 v 2.2\\\",\\\"professor tetraminx\\\":\\\"t v -0.2 v 0.6 v 1.4\\\",\\\"Jing pyraminx\\\":\\\"t f 0\\\",\\\"master pyramorphix\\\":\\\"t e 0.866025403784437\\\",megaminx:\\\"d f 0.7\\\",gigaminx:\\\"d f 0.64 f 0.82\\\",teraminx:\\\"d f 0.64 f 0.76 f 0.88\\\",petaminx:\\\"d f 0.64 f 0.73 f 0.82 f 0.91\\\",examinx:\\\"d f 0.64 f 0.712 f 0.784 f 0.856 f 0.928\\\",zetaminx:\\\"d f 0.64 f 0.7 f 0.76 f 0.82 f 0.88 f 0.94\\\",yottaminx:\\\"d f 0.64 f 0.6914 f 0.7429 f 0.7943 f 0.8457 f 0.8971 f 0.9486\\\",pentultimate:\\\"d f 0\\\",\\\"master pentultimate\\\":\\\"d f 0.1\\\",\\\"elite pentultimate\\\":\\\"d f 0 f 0.145905\\\",starminx:\\\"d v 0.937962370425399\\\",\\\"starminx 2\\\":\\\"d f 0.23606797749979\\\",\\\"pyraminx crystal\\\":\\\"d f 0.447213595499989\\\",chopasaurus:\\\"d v 0\\\",\\\"big chop\\\":\\\"d e 0\\\",\\\"skewb diamond\\\":\\\"o f 0\\\",FTO:\\\"o f 0.333333333333333\\\",\\\"master FTO\\\":\\\"o f 0.5 f 0\\\",\\\"Christopher's jewel\\\":\\\"o v 0.577350269189626\\\",octastar:\\\"o e 0\\\",\\\"Trajber's octahedron\\\":\\\"o v 0.433012701892219\\\",\\\"radio chop\\\":\\\"i f 0\\\",icosamate:\\\"i v 0\\\",\\\"icosahedron 2\\\":\\\"i v 0.18759247376021\\\",\\\"icosahedron 3\\\":\\\"i v 0.18759247376021 e 0\\\",\\\"icosahedron static faces\\\":\\\"i v 0.84\\\",\\\"icosahedron moving faces\\\":\\\"i v 0.73\\\",\\\"Eitan's star\\\":\\\"i f 0.61803398874989\\\",\\\"2x2x2 + dino\\\":\\\"c f 0 v 0.577350269189626\\\",\\\"2x2x2 + little chop\\\":\\\"c f 0 e 0\\\",\\\"dino + little chop\\\":\\\"c v 0.577350269189626 e 0\\\",\\\"2x2x2 + dino + little chop\\\":\\\"c f 0 v 0.577350269189626 e 0\\\",\\\"megaminx + chopasaurus\\\":\\\"d f 0.61803398875 v 0\\\",\\\"starminx combo\\\":\\\"d f 0.23606797749979 v 0.937962370425399\\\"}});function Wl(e){let t=new O(0,0,0,0);for(let r=0;r<e.length;r++)t=t.sum(e[r]);return t.smul(1/e.length)}function $2(e,t,r,n){let o=n[e].intersect3(n[t],n[r]);if(!o)return o;for(let l=0;l<n.length;l++)if(l!==e&&l!==t&&l!==r){let i=n[l].b*o.b+n[l].c*o.c+n[l].d*o.d;if(n[l].a>0&&i>n[l].a||n[l].a<0&&i<n[l].a)return!1}return o}var Wr,O,Kl=U(()=>{Wr=1e-9;O=class{constructor(t,r,n,o){this.a=t;this.b=r;this.c=n;this.d=o}mul(t){return new O(this.a*t.a-this.b*t.b-this.c*t.c-this.d*t.d,this.a*t.b+this.b*t.a+this.c*t.d-this.d*t.c,this.a*t.c-this.b*t.d+this.c*t.a+this.d*t.b,this.a*t.d+this.b*t.c-this.c*t.b+this.d*t.a)}toString(){return`Q[${this.a},${this.b},${this.c},${this.d}]`}dist(t){return Math.hypot(this.a-t.a,this.b-t.b,this.c-t.c,this.d-t.d)}len(){return Math.hypot(this.a,this.b,this.c,this.d)}cross(t){return new O(0,this.c*t.d-this.d*t.c,this.d*t.b-this.b*t.d,this.b*t.c-this.c*t.b)}dot(t){return this.b*t.b+this.c*t.c+this.d*t.d}normalize(){let t=Math.sqrt(this.dot(this));return new O(this.a/t,this.b/t,this.c/t,this.d/t)}makenormal(){return new O(0,this.b,this.c,this.d).normalize()}normalizeplane(){let t=Math.hypot(this.b,this.c,this.d);return new O(this.a/t,this.b/t,this.c/t,this.d/t)}smul(t){return new O(this.a*t,this.b*t,this.c*t,this.d*t)}sum(t){return new O(this.a+t.a,this.b+t.b,this.c+t.c,this.d+t.d)}sub(t){return new O(this.a-t.a,this.b-t.b,this.c-t.c,this.d-t.d)}angle(){return 2*Math.acos(this.a)}invrot(){return new O(this.a,-this.b,-this.c,-this.d)}det3x3(t,r,n,o,l,i,a,s,f){return t*(l*f-i*s)+r*(i*a-o*f)+n*(o*s-l*a)}rotateplane(t){let r=t.mul(new O(0,this.b,this.c,this.d)).mul(t.invrot());return r.a=this.a,r}orthogonal(){let t=Math.abs(this.b),r=Math.abs(this.c),n=Math.abs(this.d);return t<r&&t<n?this.cross(new O(0,1,0,0)).normalize():r<t&&r<n?this.cross(new O(0,0,1,0)).normalize():this.cross(new O(0,0,0,1)).normalize()}pointrotation(t){let r=this.normalize();if(t=t.normalize(),r.sub(t).len()<Wr)return new O(1,0,0,0);let n=r.sum(t);n.len()<Wr?n=n.orthogonal():n=n.normalize();let o=r.cross(n);return o.a=r.dot(n),o}unproject(t){return this.sum(t.smul(-this.dot(t)/(this.len()*t.len())))}rotatepoint(t){return t.mul(this).mul(t.invrot())}rotateface(t){return t.map(r=>r.rotatepoint(this))}intersect3(t,r){let n=this.det3x3(this.b,this.c,this.d,t.b,t.c,t.d,r.b,r.c,r.d);return Math.abs(n)<Wr?!1:new O(0,this.det3x3(this.a,this.c,this.d,t.a,t.c,t.d,r.a,r.c,r.d)/n,this.det3x3(this.b,this.a,this.d,t.b,t.a,t.d,r.b,r.a,r.d)/n,this.det3x3(this.b,this.c,this.a,t.b,t.c,t.a,r.b,r.c,r.a)/n)}side(t){return t>Wr?1:t<-Wr?-1:0}cutface(t){let r=this.a,n=0,o=null;for(let l=0;l<t.length;l++)n|=1<<this.side(t[l].dot(this)-r)+1;if((n&5)==5){o=[];let l=t.map(i=>this.side(i.dot(this)-r));for(let i=-1;i<=1;i+=2){let a=[];for(let s=0;s<t.length;s++){(l[s]===i||l[s]===0)&&a.push(t[s]);let f=(s+1)%t.length;if(l[s]+l[f]===0&&l[s]!==0){let g=t[s].dot(this)-r,c=t[f].dot(this)-r,u=g/(g-c),p=t[s].smul(1-u).sum(t[f].smul(u));a.push(p)}}o.push(a)}}return o}cutfaces(t){let r=[];for(let n=0;n<t.length;n++){let o=t[n],l=this.cutface(o);l?(r.push(l[0]),r.push(l[1])):r.push(o)}return r}faceside(t){let r=this.a;for(let n=0;n<t.length;n++){let o=this.side(t[n].dot(this)-r);if(o!==0)return o}throw new Error(\\\"Could not determine side of plane in faceside\\\")}sameplane(t){let r=this.normalize(),n=t.normalize();return r.dist(n)<Wr||r.dist(n.smul(-1))<Wr}makecut(t){return new O(t,this.b,this.c,this.d)}}});function ef(){let e=Math.sqrt(.5);return[new O(e,e,0,0),new O(e,0,e,0)]}function tf(){return[new O(.5,.5,.5,.5),new O(.5,.5,.5,-.5)]}function rf(){let e=2*Math.PI/10,t=.5+.3*Math.sqrt(5),r=.5+.1*Math.sqrt(5),n=Math.sqrt(t*t+r*r);return t/=n,r/=n,[new O(Math.cos(e),t*Math.sin(e),r*Math.sin(e),0),new O(.5,.5,.5,.5)]}function nf(){let e=1/6+Math.sqrt(5)/6,t=2/3+Math.sqrt(5)/3,r=Math.sqrt(e*e+t*t);e/=r,t/=r;let n=2*Math.PI/6;return[new O(Math.cos(n),e*Math.sin(n),t*Math.sin(n),0),new O(Math.cos(n),-e*Math.sin(n),t*Math.sin(n),0)]}function of(){let e=Math.sqrt(.5);return[new O(.5,.5,.5,.5),new O(e,0,0,e)]}function lf(e){let t=[new O(1,0,0,0)];for(let r=0;r<t.length;r++)for(let n=0;n<e.length;n++){let o=e[n].mul(t[r]),l=o.smul(-1),i=!1;for(let a=0;a<t.length;a++)if(o.dist(t[a])<Ql||l.dist(t[a])<Ql){i=!0;break}i||t.push(o)}return t}function Va(e,t){let r=[],n=[];for(let o=0;o<t.length;o++){let l=e.rotateplane(t[o]),i=!1;for(let a=0;a<r.length;a++)if(l.dist(r[a])<Ql){i=!0;break}i||(r.push(l),n.push(t[o]))}return n}function Ha(e){let t=[];for(let r=1;r<e.length;r++)for(let n=r+1;n<e.length;n++){let o=$2(0,r,n,e);if(o){let l=!1;for(let i=0;i<t.length;i++)if(o.dist(t[i])<Ql){l=!0;break}l||t.push(o)}}for(;;){let r=!1;for(let n=0;n<t.length;n++){let o=(n+1)%t.length;if(e[0].dot(t[n].cross(t[o]))<0){let l=t[n];t[n]=t[o],t[o]=l,r=!0}}if(!r)break}return t}var Ql,af=U(()=>{Kl();Ql=1e-9});function jl(e,t){let r=e[0].p.length,n=H2(r),o=[],l=[],i=[],a=[],s=[];function f(p){for(let m=p.p.length-1;m>=0;m--){let L=p.p[m];if(L!==m){if(!o[m][L])return!1;p=p.mul(l[m][L])}}return!0}function g(p,m,L){a[p].push(m),s[p].push(L);for(let R=0;R<o[p].length;R++)o[p][R]&&c(p,o[p][R].mul(m),L+i[p][R])}function c(p,m,L){let R=m.p[p];if(!o[p][R]){o[p][R]=m,l[p][R]=m.inv(),i[p][R]=L;for(let A=0;A<a[p].length;A++)c(p,m.mul(a[p][A]),L+s[p][A]);return}let h=m.mul(l[p][R]);f(h)||g(p-1,h,L+i[p][R])}function u(){o=[],l=[],a=[],i=[],s=[];for(let L=0;L<r;L++)o.push([]),l.push([]),i.push([]),a.push([]),s.push([]),o[L][L]=n,l[L][L]=n,i[L][L]=0;let p=0,m=1;for(let L=0;L<e.length;L++){g(r-1,e[L],1),m=1;let R=0,h=0,A=[],y=new sf;for(let k=0;k<r;k++){let E=0,Q=0;for(let N=0;N<r;N++)o[k][N]&&(E++,Q+=i[k][N],k!==N&&p++);R+=a[k].length,m*=E,E>1&&y.multiply(E);let $=Q/E;A.push($),h+=$}t(`${L}: sz ${m} T ${R} sol ${h} none ${p} mults ${y.toString()}`)}return m}return u()}var sf,Ya=U(()=>{Il();sf=class{constructor(){this.mult=[]}multiply(t){for(let r=2;r*r<=t;r++)for(;t%r==0;)this.mult[r]!==void 0?this.mult[r]++:this.mult[r]=1,t/=r;t>1&&(this.mult[t]!==void 0?this.mult[t]++:this.mult[t]=1)}toString(){let t=\\\"\\\";for(let r=0;r<this.mult.length;r++)this.mult[r]!==void 0&&(t!==\\\"\\\"&&(t+=\\\"*\\\"),t+=r,this.mult[r]>1&&(t+=`^${this.mult[r]}`));return t}}});function Ja(e){return e}function Za(e){}function em(e,t){let r=[];for(let n of e)for(let o of t)r.push(o.rotate(n));return r}function nm(){return{4:[[\\\"F\\\",\\\"D\\\",\\\"L\\\",\\\"R\\\"]],6:[[\\\"F\\\",\\\"D\\\",\\\"L\\\",\\\"U\\\",\\\"R\\\"],[\\\"R\\\",\\\"F\\\",\\\"\\\",\\\"B\\\",\\\"\\\"]],8:[[\\\"F\\\",\\\"D\\\",\\\"L\\\",\\\"R\\\"],[\\\"D\\\",\\\"F\\\",\\\"BR\\\",\\\"\\\"],[\\\"BR\\\",\\\"D\\\",\\\"\\\",\\\"BB\\\"],[\\\"BB\\\",\\\"BR\\\",\\\"U\\\",\\\"BL\\\"]],12:[[\\\"U\\\",\\\"F\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\"],[\\\"F\\\",\\\"U\\\",\\\"R\\\",\\\"C\\\",\\\"A\\\",\\\"L\\\"],[\\\"R\\\",\\\"F\\\",\\\"\\\",\\\"\\\",\\\"E\\\",\\\"\\\"],[\\\"E\\\",\\\"R\\\",\\\"\\\",\\\"BF\\\",\\\"\\\",\\\"\\\"],[\\\"BF\\\",\\\"E\\\",\\\"BR\\\",\\\"BL\\\",\\\"I\\\",\\\"D\\\"]],20:[[\\\"R\\\",\\\"C\\\",\\\"F\\\",\\\"E\\\"],[\\\"F\\\",\\\"R\\\",\\\"L\\\",\\\"U\\\"],[\\\"L\\\",\\\"F\\\",\\\"A\\\",\\\"\\\"],[\\\"E\\\",\\\"R\\\",\\\"G\\\",\\\"I\\\"],[\\\"I\\\",\\\"E\\\",\\\"S\\\",\\\"H\\\"],[\\\"S\\\",\\\"I\\\",\\\"J\\\",\\\"B\\\"],[\\\"B\\\",\\\"S\\\",\\\"K\\\",\\\"D\\\"],[\\\"K\\\",\\\"B\\\",\\\"M\\\",\\\"O\\\"],[\\\"O\\\",\\\"K\\\",\\\"P\\\",\\\"N\\\"],[\\\"P\\\",\\\"O\\\",\\\"Q\\\",\\\"\\\"]]}}function om(){return{4:{F:\\\"#00ff00\\\",D:\\\"#ffff00\\\",L:\\\"#ff0000\\\",R:\\\"#0000ff\\\"},6:{U:\\\"#ffffff\\\",F:\\\"#00ff00\\\",R:\\\"#ff0000\\\",D:\\\"#ffff00\\\",B:\\\"#0000ff\\\",L:\\\"#ff8000\\\"},8:{U:\\\"#ffffff\\\",F:\\\"#ff0000\\\",R:\\\"#00bb00\\\",D:\\\"#ffff00\\\",BB:\\\"#1122ff\\\",L:\\\"#9524c5\\\",BL:\\\"#ff8800\\\",BR:\\\"#aaaaaa\\\"},12:{U:\\\"#ffffff\\\",F:\\\"#006633\\\",R:\\\"#ff0000\\\",C:\\\"#ffffd0\\\",A:\\\"#3399ff\\\",L:\\\"#660099\\\",E:\\\"#ff66cc\\\",BF:\\\"#99ff00\\\",BR:\\\"#0000ff\\\",BL:\\\"#ffff00\\\",I:\\\"#ff6633\\\",D:\\\"#999999\\\"},20:{R:\\\"#db69f0\\\",C:\\\"#178fde\\\",F:\\\"#23238b\\\",E:\\\"#9cc726\\\",L:\\\"#2c212d\\\",U:\\\"#177fa7\\\",A:\\\"#e0de7f\\\",G:\\\"#2b57c0\\\",I:\\\"#41126b\\\",S:\\\"#4b8c28\\\",H:\\\"#7c098d\\\",J:\\\"#7fe7b4\\\",B:\\\"#85fb74\\\",K:\\\"#3f4bc3\\\",D:\\\"#0ff555\\\",M:\\\"#f1c2c8\\\",O:\\\"#58d340\\\",P:\\\"#c514f2\\\",N:\\\"#14494e\\\",Q:\\\"#8b1be1\\\"}}}function lm(){return{4:[\\\"F\\\",\\\"D\\\",\\\"L\\\",\\\"R\\\"],6:[\\\"U\\\",\\\"D\\\",\\\"F\\\",\\\"B\\\",\\\"L\\\",\\\"R\\\"],8:[\\\"F\\\",\\\"BB\\\",\\\"D\\\",\\\"U\\\",\\\"BR\\\",\\\"L\\\",\\\"R\\\",\\\"BL\\\"],12:[\\\"L\\\",\\\"E\\\",\\\"F\\\",\\\"BF\\\",\\\"R\\\",\\\"I\\\",\\\"U\\\",\\\"D\\\",\\\"BR\\\",\\\"A\\\",\\\"BL\\\",\\\"C\\\"],20:[\\\"L\\\",\\\"S\\\",\\\"E\\\",\\\"O\\\",\\\"F\\\",\\\"B\\\",\\\"I\\\",\\\"P\\\",\\\"R\\\",\\\"K\\\",\\\"U\\\",\\\"D\\\",\\\"J\\\",\\\"A\\\",\\\"Q\\\",\\\"H\\\",\\\"G\\\",\\\"N\\\",\\\"M\\\",\\\"C\\\"]}}function im(){return{4:[[\\\"FLR\\\",[0,1,0]],[\\\"F\\\",[0,0,1]]],6:[[\\\"U\\\",[0,1,0]],[\\\"F\\\",[0,0,1]]],8:[[\\\"U\\\",[0,1,0]],[\\\"F\\\",[0,0,1]]],12:[[\\\"U\\\",[0,1,0]],[\\\"F\\\",[0,0,1]]],20:[[\\\"GUQMJ\\\",[0,1,0]],[\\\"F\\\",[0,0,1]]]}}function ql(e,t){for(let r=0;r<e.length;r++)if(e[r][0].dist(t)<Se)return r;throw new Error(\\\"Element not found\\\")}function ff(){return Ol}function uf(e){return Ol[e]}function Mo(e){let t=e.split(/ /).filter(Boolean);if(t.length%2==0)return null;let r=t[0];if(r!==\\\"o\\\"&&r!==\\\"c\\\"&&r!==\\\"i\\\"&&r!==\\\"d\\\"&&r!==\\\"t\\\")return null;let n=[];for(let o=1;o<t.length;o+=2){if(t[o]!==\\\"f\\\"&&t[o]!==\\\"v\\\"&&t[o]!==\\\"e\\\")return null;n.push({cutType:t[o],distance:parseFloat(t[o+1])})}return{shape:r,cuts:n}}function Xa(e,t={}){let r=Mo(e);if(r===null)throw new Error(\\\"Could not parse the puzzle description\\\");let n=new Hl(r,Object.assign({},{allMoves:!0},t));return n.allstickers(),n.genperms(),n}function zn(e,t){return Xa(Ol[e],t)}function am(e,t,r){let n=!1;r-t[1]<t[0]&&(e=[e[2],e[3],e[0],e[1]],t=[r-t[1],r-t[0]],n=!0);let o=e[0],l=\\\"\\\";if(t[0]===0&&t[1]===r)o=o+\\\"v\\\";else if(t[0]===t[1])t[1]>0&&(l=String(t[1]+1));else if(t[0]===0)o=o.toLowerCase(),t[1]>1&&(l=String(t[1]+1));else throw`We only support slice and outer block moves right now. ${t}`;return[l+o,n]}function sm(e,t){let r=[],n=0;for(;n<e.length;){n>0&&n<e.length&&e[n]===\\\"_\\\"&&n++;let o=\\\"\\\";for(let l of t)e.substr(n).startsWith(l[1])&&l[1].length>o.length&&(o=l[1]);if(o!==\\\"\\\")r.push(o),n+=o.length;else throw new Error(\\\"Could not split \\\"+e+\\\" into face names.\\\")}return r}function Vl(e,t){return[e.b/t,-e.c/t,e.d/t]}function $a(e,t){let r=[],n=e.length;for(let o=0;o<n;o++){let l=Vl(e.get(n-o-1),t);r[3*o]=l[0],r[3*o+1]=l[1],r[3*o+2]=l[2]}return r}var _n,To,Se,tm,rm,Hl,Kr,Gl=U(()=>{Re();_2();Ta();Ia();Il();Z2();X2();af();Kl();Ya();_n=class{constructor(t){this.coords=new Array(t.length*3);for(let r=0;r<t.length;r++)this.coords[3*r]=t[r].b,this.coords[3*r+1]=t[r].c,this.coords[3*r+2]=t[r].d;this.length=t.length}get(t){return new O(0,this.coords[3*t],this.coords[3*t+1],this.coords[3*t+2])}centermass(){let t=0,r=0,n=0;for(let o=0;o<this.length;o++)t+=this.coords[3*o],r+=this.coords[3*o+1],n+=this.coords[3*o+2];return new O(0,t/this.length,r/this.length,n/this.length)}rotate(t){let r=[];for(let n=0;n<this.length;n++)r.push(this.get(n).rotatepoint(t));return new _n(r)}rotateforward(){let t=[];for(let r=1;r<this.length;r++)t.push(this.get(r));return t.push(this.get(0)),new _n(t)}},To=class{constructor(t,r,n){this.face=t;this.left=r;this.right=n}split(t){let r=t.cutface(this.face);return r!==null&&(this.left===void 0?(this.left=new To(r[0]),this.right=new To(r[1])):(this.left=this.left?.split(t),this.right=this.right?.split(t))),this}collect(t,r){return this.left===void 0?t.push(new _n(this.face)):r?(this.left?.collect(t,!1),this.right?.collect(t,!0)):(this.right?.collect(t,!1),this.left?.collect(t,!0)),t}};Se=1e-9,tm=\\\"PuzzleGeometry 0.1 Copyright 2018 Tomas Rokicki.\\\",rm=!1;Hl=class{constructor(t,r){this.puzzleDescription=t;this.cmovesbyslice=[];this.duplicatedFaces=[];this.duplicatedCubies=[];this.fixedCubie=-1;this.net=[];this.colors=[];this.faceorder=[];this.faceprecedence=[];this.notationMapper=new vn;this.addNotationMapper=\\\"\\\";this.setReidOrder=!1;let n=Ja(\\\"genperms\\\");this.options=new Ga(r),this.options.verbosity>0&&console.log(this.header(\\\"# \\\")),this.create(t),Za(n)}create(t){let{shape:r,cuts:n}=t;this.moveplanes=[],this.moveplanes2=[],this.faces=[],this.cubies=[];let o=null;switch(r){case\\\"c\\\":o=ef();break;case\\\"o\\\":o=of();break;case\\\"i\\\":o=nf();break;case\\\"t\\\":o=tf();break;case\\\"d\\\":o=rf();break;default:throw new Error(\\\"Bad shape argument: \\\"+r)}this.rotations=lf(o),this.options.verbosity&&console.log(\\\"# Rotations: \\\"+this.rotations.length);let l=o[0];this.baseplanerot=Va(l,this.rotations);let i=this.baseplanerot.map(F=>l.rotateplane(F));this.baseplanes=i,this.baseFaceCount=i.length;let a=nm()[i.length];this.net=a,this.colors=om()[i.length],this.faceorder=lm()[i.length],this.options.verbosity>0&&console.log(\\\"# Base planes: \\\"+i.length);let s=Ha(i),f=new O(0,0,0,0);this.options.verbosity>0&&console.log(\\\"# Face vertices: \\\"+s.length);let g=i[0].makenormal(),c=s[0].sum(s[1]).makenormal(),u=s[0].makenormal(),p=new O(1,g.b,g.c,g.d);this.options.verbosity>0&&console.log(\\\"# Boundary is \\\"+p);let L=Va(p,this.rotations).map(F=>p.rotateplane(F)),R=Ha(L);this.edgedistance=R[0].sum(R[1]).smul(.5).dist(f),this.vertexdistance=R[0].dist(f);let h=[],A=[],y=!1,k=!1,E=!1;for(let F of n){let v=null,G=0;switch(F.cutType){case\\\"f\\\":v=g,G=1,y=!0;break;case\\\"v\\\":v=u,G=this.vertexdistance,E=!0;break;case\\\"e\\\":v=c,G=this.edgedistance,k=!0;break;default:throw new Error(\\\"Bad cut argument: \\\"+F.cutType)}h.push(v.makecut(F.distance)),A.push(F.distance<G)}this.options.addRotations&&(y||h.push(g.makecut(10)),E||h.push(u.makecut(10)),k||h.push(c.makecut(10))),this.basefaces=[];for(let F of this.baseplanerot){let v=F.rotateface(R);this.basefaces.push(new _n(v))}let Q=[],$=[],N=[],le=[],b=R.length;function z(F,v,G){for(let K of F)if(K[0].dist(v)<Se){K.push(G);return}F.push([v,G])}for(let F=0;F<this.baseplanerot.length;F++){let v=this.baseplanerot[F].rotateface(R);for(let G=0;G<v.length;G++){let K=(G+1)%v.length,ie=v[G].sum(v[K]).smul(.5);z(le,ie,F)}}let M=[];for(let F=0;F<this.baseplanerot.length;F++){let v=this.baseplanerot[F].rotateface(R),G=[];for(let K=0;K<v.length;K++){let ie=(K+1)%v.length,He=v[K].sum(v[ie]).smul(.5),gt=le[ql(le,He)];if(F===gt[1])G.push(gt[2]);else if(F===gt[2])G.push(gt[1]);else throw new Error(\\\"Could not find edge\\\")}M.push(G)}let w={},S=[];S.push(a[0][0]),w[a[0][0]]=0,S[M[0][0]]=a[0][1],w[a[0][1]]=M[0][0];for(let F of a){let v=F[0],G=w[v];if(G===void 0)throw new Error(\\\"Bad edge description; first edge not connected\\\");let K=-1;for(let ie=0;ie<M[G].length;ie++){let He=S[M[G][ie]];if(He!==void 0&&He===F[1]){K=ie;break}}if(K<0)throw new Error(\\\"First element of a net not known\\\");for(let ie=2;ie<F.length;ie++){if(F[ie]===\\\"\\\")continue;let He=M[G][(ie+K-1)%b],gt=S[He];if(gt!==void 0&&gt!==F[ie])throw new Error(\\\"Face mismatch in net\\\");S[He]=F[ie],w[F[ie]]=He}}for(let F=0;F<S.length;F++){let v=!1;for(let G=0;G<this.faceorder.length;G++)if(S[F]===this.faceorder[G]){this.faceprecedence[F]=G,v=!0;break}if(!v)throw new Error(\\\"Could not find face \\\"+S[F]+\\\" in face order list \\\"+this.faceorder)}for(let F=0;F<this.baseplanerot.length;F++){let v=this.baseplanerot[F].rotateface(R),G=p.rotateplane(this.baseplanerot[F]),K=S[F];Q.push([v,K]),$.push([G,K])}for(let F=0;F<this.baseplanerot.length;F++){let v=this.baseplanerot[F].rotateface(R),G=S[F];for(let K=0;K<v.length;K++){let ie=(K+1)%v.length,He=v[K].sum(v[ie]).smul(.5),gt=(K+2)%v.length,lp=v[ie].sum(v[gt]).smul(.5),ip=ql(le,He),ap=ql(le,lp);z(N,v[ie],[G,ap,ip])}}this.swizzler=new zo(Q.map(F=>F[1]));let C=this.swizzler.prefixFree?\\\"\\\":\\\"_\\\";for(let F=0;F<le.length;F++){if(le[F].length!==3)throw new Error(\\\"Bad length in edge names \\\"+le[F]);let v=S[le[F][1]],G=S[le[F][2]];this.faceprecedence[le[F][1]]<this.faceprecedence[le[F][2]]?v=v+C+G:v=G+C+v,le[F]=[le[F][0],v]}for(let F=0;F<N.length;F++){if(N[F].length<4)throw new Error(\\\"Bad length in vertex names\\\");let v=1;for(let K=2;K<N[F].length;K++)this.faceprecedence[w[N[F][K][0]]]<this.faceprecedence[w[N[F][v][0]]]&&(v=K);let G=\\\"\\\";for(let K=1;K<N[F].length;K++){K===1?G=N[F][v][0]:G=G+C+N[F][v][0];for(let ie=1;ie<N[F].length;ie++)if(N[F][v][1]===N[F][ie][2]){v=ie;break}}N[F]=[N[F][0],G]}this.options.verbosity>1&&(console.log(\\\"# Face precedence list: \\\"+this.faceorder.join(\\\" \\\")),console.log(\\\"# Face names: \\\"+Q.map(F=>F[1]).join(\\\" \\\")),console.log(\\\"# Edge names: \\\"+le.map(F=>F[1]).join(\\\" \\\")),console.log(\\\"# Vertex names: \\\"+N.map(F=>F[1]).join(\\\" \\\")));let j=[];for(let F of $)j.push([F[0].makenormal(),F[1],\\\"f\\\"]);for(let F of le)j.push([F[0].makenormal(),F[1],\\\"e\\\"]);for(let F of N)j.push([F[0].makenormal(),F[1],\\\"v\\\"]);this.facenames=Q,this.faceplanes=$,this.edgenames=le,this.vertexnames=N,this.geonormals=j;let J=j.map(F=>F[1]);this.swizzler.setGripNames(J),this.options.verbosity>0&&console.log(\\\"# Distances: face \\\"+1+\\\" edge \\\"+this.edgedistance+\\\" vertex \\\"+this.vertexdistance);for(let F=0;F<h.length;F++)for(let v of this.rotations){let G=h[F].rotateplane(v),K=!1;for(let ie of this.moveplanes)if(G.sameplane(ie)){K=!0;break}K||(this.moveplanes.push(G),A[F]&&this.moveplanes2.push(G))}let pe=new To(R),Be=this.moveplanes2.slice(),Ue=31;for(let F=0;F<Be.length;F++){let v=F+Math.floor((Be.length-F)*(Ue/65536));pe=pe.split(Be[v]),Be[v]=Be[F],Ue=(Ue*1657+101)%65536}let xe=pe.collect([],!0);this.faces=xe,this.options.verbosity>0&&console.log(\\\"# Faces is now \\\"+xe.length),this.stickersperface=xe.length;let Ct=[],Ie=Wl(R);for(let F of this.rotations){let v=F.rotateface(R);Ie.dist(Wl(v))<Se&&Ct.push(F)}let ot=new Array(xe.length),Ee=[];for(let F=0;F<xe.length;F++){let v=xe[F].centermass();Ee.push([Ie.dist(v),v,F])}Ee.sort((F,v)=>F[0]-v[0]);for(let F=0;F<xe.length;F++){let v=Ee[F][2];if(!ot[v]){ot[v]=!0;for(let G of Ct){let K=xe[v].rotate(G),ie=K.centermass();for(let He=F+1;He<xe.length&&!(Ee[He][0]-Ee[F][0]>Se);He++){let gt=Ee[He][2];if(!ot[gt]&&ie.dist(Ee[He][1])<Se){ot[gt]=!0,xe[gt]=K;break}}}}}this.shortedge=1e99;for(let F of xe)for(let v=0;v<F.length;v++){let G=(v+1)%F.length,K=F.get(v).dist(F.get(G));K<this.shortedge&&(this.shortedge=K)}this.options.verbosity>0&&console.log(\\\"# Short edge is \\\"+this.shortedge),r===\\\"c\\\"&&y&&!k&&!E&&(this.addNotationMapper=\\\"NxNxNCubeMapper\\\",this.setReidOrder=!0),r===\\\"c\\\"&&E&&!y&&!k&&(this.addNotationMapper=\\\"SkewbMapper\\\"),r===\\\"t\\\"&&(E||y)&&!k&&(this.addNotationMapper=\\\"PyraminxOrTetraminxMapper\\\"),r===\\\"o\\\"&&y&&(this.notationMapper=new Co(this.swizzler,new zo([\\\"F\\\",\\\"D\\\",\\\"L\\\",\\\"BL\\\",\\\"R\\\",\\\"U\\\",\\\"BR\\\",\\\"B\\\"])),!k&&!E&&(this.addNotationMapper=\\\"FTOMapper\\\")),r===\\\"d\\\"&&y&&(this.addNotationMapper=\\\"MegaminxMapper\\\",this.notationMapper=new Co(this.swizzler,new zo([\\\"U\\\",\\\"F\\\",\\\"L\\\",\\\"BL\\\",\\\"BR\\\",\\\"R\\\",\\\"FR\\\",\\\"FL\\\",\\\"DL\\\",\\\"B\\\",\\\"DR\\\",\\\"D\\\"])))}keyface(t){return this.keyface2(t.centermass())}keyface2(t){let r=\\\"\\\",n=String.fromCharCode;for(let o of this.moveplanesets)if(o.length>0){let l=t.dot(o[0]),i=0,a=1;for(;a*2<=o.length;)a*=2;for(;a>0;a>>=1)i+a<=o.length&&l>o[i+a-1].a&&(i+=a);if(i<47)r=r+n(33+i);else if(i<47+47*47)r=r+n(33+47+Math.floor(i/47)-1)+n(33+i%47);else if(i<47+47*47+47*47*47)r=r+n(33+47+Math.floor((i-47)/(47*47)-1))+n(33+47+Math.floor((i-47)/47)%47)+n(33+i%47);else throw Error(\\\"Too many slices for cubie encoding\\\")}return r}keyface3(t){let r=t.centermass(),n=[];for(let o of this.moveplanesets)if(o.length>0){let l=r.dot(o[0]),i=0,a=1;for(;a*2<=o.length;)a*=2;for(;a>0;a>>=1)i+a<=o.length&&l>o[i+a-1].a&&(i+=a);n.push(i)}return n}findface(t){let r=this.keyface2(t),n=this.facelisthash.get(r);if(n.length===1)return n[0];for(let o=0;o+1<n.length;o++){let l=this.facelisthash.get(r)[o];if(Math.abs(t.dist(this.facecentermass[l]))<Se)return l}return n[n.length-1]}project2d(t,r,n){let o=this.facenames[t][0],l=(r+1)%o.length,i=this.baseplanes[t],a=o[l].sub(o[r]),s=a.len();a=a.normalize();let f=a.cross(i).normalize(),g=n[1].sub(n[0]),c=g.len()/s;g=g.normalize();let u=g.b,p=g.c,m=a.smul(u).sub(f.smul(p)).smul(c),L=f.smul(u).sum(a.smul(p)).smul(c),R=new O(0,n[0].b-m.dot(o[r]),n[0].c-L.dot(o[r]),0);return[m,L,R]}allstickers(){let t=Ja(\\\"allstickers\\\");this.faces=em(this.baseplanerot,this.faces),this.options.verbosity>0&&console.log(\\\"# Total stickers is now \\\"+this.faces.length),this.facecentermass=new Array(this.faces.length);for(let b=0;b<this.faces.length;b++)this.facecentermass[b]=this.faces[b].centermass();let r=[],n=[];for(let b of this.moveplanes){let z=b.makenormal(),M=!1;for(let w of n)z.sameplane(w.makenormal())&&(M=!0);M||(n.push(z),r.push([]))}for(let b of this.moveplanes2){let z=b.makenormal();for(let M=0;M<n.length;M++)if(z.sameplane(n[M])){r[M].push(b);break}}for(let b=0;b<r.length;b++){let z=r[b].map(w=>w.normalizeplane()),M=n[b];for(let w=0;w<z.length;w++)z[w].makenormal().dist(M)>Se&&(z[w]=z[w].smul(-1));z.sort((w,S)=>w.a-S.a),r[b]=z}this.moveplanesets=r,this.moveplanenormals=n;let o=r.map(b=>b.length);this.options.verbosity>0&&console.log(\\\"# Move plane sets: \\\"+o);let l=[];for(let b=0;b<r.length;b++)l.push([]);for(let b of this.rotations){if(Math.abs(Math.abs(b.a)-1)<Se)continue;let z=b.makenormal();for(let M=0;M<r.length;M++)if(z.sameplane(n[M])){l[M].push(b);break}}this.moverotations=l;for(let b=0;b<l.length;b++){let z=l[b],M=z[0].makenormal();for(let w=0;w<z.length;w++)M.dist(z[w].makenormal())>Se&&(z[w]=z[w].smul(-1));z.sort((w,S)=>w.angle()-S.angle()),l[b][0].dot(n[b])<0&&z.reverse()}let i=l.map(b=>1+b.length);this.movesetorders=i;let a=[],s=\\\"?\\\";for(let b=0;b<r.length;b++){let z=n[b],M=null,w=null;for(let S of this.geonormals){let C=z.dot(S[0]);Math.abs(C-1)<Se?(w=[S[1],S[2]],s=S[2]):Math.abs(C+1)<Se&&(M=[S[1],S[2]],s=S[2])}if(w===null||M===null)throw new Error(\\\"Saw positive or negative sides as null\\\");a.push([w[0],w[1],M[0],M[1],1+r[b].length]),this.addNotationMapper===\\\"NxNxNCubeMapper\\\"&&s===\\\"f\\\"&&(this.notationMapper=new Ml(1+r[b].length),this.addNotationMapper=\\\"\\\"),this.addNotationMapper===\\\"SkewbMapper\\\"&&r[0].length===1&&(this.notationMapper=new Tl(this.swizzler),this.addNotationMapper=\\\"\\\"),this.addNotationMapper===\\\"PyraminxOrTetraminxMapper\\\"&&(r[0].length===2&&r[0][0].a===.333333333333333&&r[0][1].a===1.66666666666667?(this.notationMapper=new Po(this.swizzler),this.addNotationMapper=\\\"\\\"):(this.notationMapper=new Nl(this.swizzler),this.addNotationMapper=\\\"\\\")),this.addNotationMapper===\\\"MegaminxMapper\\\"&&s===\\\"f\\\"&&(1+r[b].length===3&&(this.notationMapper=new Pl(this.notationMapper)),this.addNotationMapper=\\\"\\\"),this.addNotationMapper===\\\"FTOMapper\\\"&&s===\\\"f\\\"&&(1+r[b].length===3&&(this.notationMapper=new Cl(this.notationMapper,this.swizzler)),this.addNotationMapper=\\\"\\\")}this.movesetgeos=a;let f=new Map,g=this.faces;for(let b=0;b<g.length;b++){let z=g[b],M=this.keyface(z);if(!f.get(M))f.set(M,[b]);else{let w=f.get(M);if(w.push(b),w.length===this.baseFaceCount){this.options.verbosity>0&&console.log(\\\"# Splitting core.\\\");for(let S=0;S<w.length;S++){let C=M+\\\" \\\"+S;f.set(C,[w[S]])}}}}this.facelisthash=f,this.options.verbosity>0&&console.log(\\\"# Cubies: \\\"+f.size);let c=[],u=[],p=[];for(let b of f.values())if(b.length!==this.baseFaceCount){if(b.length>1){let z=b.map(C=>g[C].centermass()),M=Wl(z);for(let C=0;b.length>2;C++){let j=!1;for(let J=0;J<b.length;J++){let pe=(J+1)%b.length;if(M.dot(z[J].cross(z[pe]))<0){let Be=z[J];z[J]=z[pe],z[pe]=Be;let Ue=b[J];b[J]=b[pe],b[pe]=Ue,j=!0}}if(!j)break;if(C>1e3)throw new Error(\\\"Bad epsilon math; too close to border\\\")}let w=0,S=b[w];for(let C=1;C<b.length;C++){let j=b[C];this.faceprecedence[this.getfaceindex(j)]<this.faceprecedence[this.getfaceindex(S)]&&(w=C,S=j)}if(w!==0){let C=b.slice();for(let j=0;j<b.length;j++)b[j]=C[(w+j)%b.length]}}for(let z=0;z<b.length;z++){let M=b[z];u[M]=c.length,p[M]=z}c.push(b)}this.cubies=c,this.facetocubie=u,this.facetoord=p;let m=[\\\"?\\\",\\\"CENTERS\\\",\\\"EDGES\\\",\\\"CORNERS\\\",\\\"C4RNER\\\",\\\"C5RNER\\\"],L=[],R=[0,0,0,0,0,0],h=[],A=[],y=0,k=[],E=[],Q=[],$=[],N=b=>c[b].map(z=>this.getfaceindex(z)).join(\\\" \\\"),le=[];for(let b=0;b<c.length;b++){if(A[b])continue;let z=c[b];if(z.length===0)continue;let M={},w=0;Q.push(0),le.push([]);let S=z.length,C=R[S]++,j=m[S];(j===void 0||S===this.baseFaceCount)&&(j=\\\"CORE\\\"),j=j+(C===0?\\\"\\\":C+1),L[y]=j,h[y]=S;let J=[b],pe=0;for(A[b]=!0;pe<J.length;){let Be=J[pe++],Ue=N(Be);if((z.length>1||M[Ue]===void 0)&&(M[Ue]=w++),$[Be]=M[Ue],k[Be]=y,le[y].push(Be),E[Be]=Q[y]++,J.length<this.rotations.length){let xe=this.facecentermass[c[Be][0]];for(let Ct of l){let Ie=this.facetocubie[this.findface(xe.rotatepoint(Ct[0]))];A[Ie]||(J.push(Ie),A[Ie]=!0)}}}y++}if(this.setReidOrder&&4<=this.stickersperface&&this.stickersperface<=9){let b=[[\\\"UF\\\",\\\"UR\\\",\\\"UB\\\",\\\"UL\\\",\\\"DF\\\",\\\"DR\\\",\\\"DB\\\",\\\"DL\\\",\\\"FR\\\",\\\"FL\\\",\\\"BR\\\",\\\"BL\\\"],[\\\"UFR\\\",\\\"URB\\\",\\\"UBL\\\",\\\"ULF\\\",\\\"DRF\\\",\\\"DFL\\\",\\\"DLB\\\",\\\"DBR\\\"],[\\\"U\\\",\\\"L\\\",\\\"F\\\",\\\"R\\\",\\\"B\\\",\\\"D\\\"]],z={};for(let M of b)for(let w=0;w<M.length;w++){let S=0;for(let C=0;C<M[w].length;C++)S|=1<<M[w].charCodeAt(C)-65;z[S]=w}for(let M of le)for(let w of M){let S=0;for(let C of c[w])S|=1<<this.facenames[this.getfaceindex(C)][1].charCodeAt(0)-65;E[w]=z[S]}}if(this.cubiesetnums=k,this.cubieordnums=E,this.cubiesetnames=L,this.cubieords=Q,this.orbitoris=h,this.cubievaluemap=$,this.cubiesetcubies=le,this.options.fixedPieceType!==null){for(let b=0;b<c.length;b++)if(this.options.fixedPieceType===\\\"v\\\"&&c[b].length>2||this.options.fixedPieceType===\\\"e\\\"&&c[b].length===2||this.options.fixedPieceType===\\\"f\\\"&&c[b].length===1){this.fixedCubie=b;break}if(this.fixedCubie<0)throw new Error(\\\"Could not find a cubie of type \\\"+this.options.fixedPieceType+\\\" to fix.\\\")}this.options.verbosity>0&&console.log(\\\"# Cubie orbit sizes \\\"+Q),Za(t)}unswizzle(t){let r=this.notationMapper.notationToInternal(t);return r===null?\\\"\\\":this.swizzler.unswizzle(r.family)}stringToBlockMove(t){let r=RegExp(\\\"^(([0-9]+)-)?([0-9]+)?([^0-9]+)([0-9]+'?)?$\\\"),n=t.match(r);if(n===null)throw new Error(\\\"Bad move passed \\\"+t);let o=n[4],l,i;if(n[2]!==void 0){if(n[3]===void 0)throw new Error(\\\"Missing second number in range\\\");l=parseInt(n[2],10)}n[3]!==void 0&&(i=parseInt(n[3],10));let a=\\\"1\\\",s=1;return n[5]!==void 0&&(a=n[5],a[0]===\\\"'\\\"&&(a=\\\"-\\\"+a.substring(1)),s=parseInt(a,10)),new B(new P(o,i,l),s)}parseMove(t){let r=this.notationMapper.notationToInternal(t);if(r===null)throw new Error(\\\"Bad move \\\"+t.family);t=r;let n=t.family,o=!1;if(n.endsWith(\\\"v\\\")&&n[0]<=\\\"Z\\\"){if(t.innerLayer!==void 0||t.outerLayer!==void 0)throw new Error(\\\"Cannot use a prefix with full cube rotations\\\");n=n.slice(0,-1),o=!0}n.endsWith(\\\"w\\\")&&n[0]<=\\\"Z\\\"&&(n=n.slice(0,-1).toLowerCase());let l,i=-1,a=this.swizzler.unswizzle(n),s=!1;for(let c=0;c<this.movesetgeos.length;c++){let u=this.movesetgeos[c];a===u[0]&&(s=!0,l=u,i=c),a===u[2]&&(s=!1,l=u,i=c)}let f=1,g=1;if(n.toUpperCase()!==n&&(g=2),l===void 0)throw new Error(\\\"Bad grip in move \\\"+t.family);if(t.outerLayer!==void 0&&(f=t.outerLayer),t.innerLayer!==void 0&&(t.outerLayer===void 0?(g=t.innerLayer,n<=\\\"Z\\\"?f=g:f=1):g=t.innerLayer),f--,g--,o&&(f=0,g=this.moveplanesets[i].length),f<0||f>this.moveplanesets[i].length||g<0||g>this.moveplanesets[i].length)throw new Error(\\\"Bad slice spec \\\"+f+\\\" \\\"+g+\\\" vs \\\"+this.moveplanesets[i].length);if(!rm&&f===0&&g===this.moveplanesets[i].length&&!o)throw new Error(\\\"! full puzzle rotations must be specified with v suffix.\\\");return[void 0,i,f,g,s,t.amount]}parsemove(t){let r=this.parseMove(this.stringToBlockMove(t));return r[0]=t,r}genperms(){let t=Ja(\\\"genperms\\\");if(this.cmovesbyslice.length>0)return;let r=[];if(this.options.orientCenters){for(let n=0;n<this.cubies.length;n++)if(this.cubies[n].length===1){let o=this.cubies[n][0],l=this.getfaceindex(o);if(this.basefaces[l].centermass().dist(this.facecentermass[o])<Se){let i=this.basefaces[l].length;for(let a=1;a<i;a++)this.cubies[n].push(this.cubies[n][a-1]);this.duplicatedFaces[o]=i,this.duplicatedCubies[n]=i,this.orbitoris[this.cubiesetnums[n]]=i}}}for(let n=0;n<this.moveplanesets.length;n++){let o=this.moveplanesets[n],l=[],i=[o.length+1,0],a=1;for(;a*2<=o.length;)a*=2;for(let g=0;g<this.faces.length;g++){let c=0;if(o.length>0){let u=this.facecentermass[g].dot(o[0]);for(let p=a;p>0;p>>=1)c+p<=o.length&&u>o[c+p-1].a&&(c+=p);c=o.length-c}for(l.push(c);i.length<=c;)i.push(0);i[c]++}let s=new Array(i.length);for(let g=0;g<i.length;g++)s[g]=[];let f=[];for(let g=0;g<this.faces.length;g++){if(l[g]<0)continue;let c=[this.facetocubie[g],this.facetoord[g]],u=this.facecentermass[g],p=u,m=g,L=l[m];for(;;){l[m]=-1;let R=u.rotatepoint(this.moverotations[n][0]);if(R.dist(p)<Se)break;m=this.findface(R),c.push(this.facetocubie[m],this.facetoord[m]),u=R}if(c.length>2&&this.options.orientCenters&&(this.cubies[c[0]].length===1||this.duplicatedCubies[c[0]]>1)&&this.facecentermass[g].dist(this.basefaces[this.getfaceindex(g)].centermass())<Se){let R=this.faces[this.cubies[c[0]][0]];for(let h=0;h<c.length;h+=2){let A=this.faces[this.cubies[c[h]][0]],y=-1;for(let k=0;k<R.length;k++)if(A.get(k).dist(R.get(0))<Se){y=k;break}if(y<0)throw new Error(\\\"Couldn't find rotation of center faces; ignoring for now.\\\");c[h+1]=y,R=R.rotate(this.moverotations[n][0])}}if(c.length===2&&this.options.orientCenters)for(let R=1;R<this.movesetorders[n];R++)L===0?c.push(c[0],R):c.push(c[0],(this.movesetorders[n]-R)%this.movesetorders[n]);if(c.length>2&&!f[c[0]]){if(c.length!==2*this.movesetorders[n])throw new Error(\\\"Bad length in perm gen\\\");for(let R of c)s[L].push(R)}for(let R=0;R<c.length;R+=2)f[c[R]]=!0}for(let g=0;g<s.length;g++)s[g]=s[g].slice();r.push(s)}if(this.cmovesbyslice=r,this.options.moveList){let n=[];for(let o of this.options.moveList)n.push(this.parsemove(o));this.parsedmovelist=n}this.facelisthash.clear(),this.facecentermass=[],Za(t)}getboundarygeometry(){return{baseplanes:this.baseplanes,facenames:this.facenames,faceplanes:this.faceplanes,vertexnames:this.vertexnames,edgenames:this.edgenames,geonormals:this.geonormals}}getmovesets(t){let r=this.moveplanesets[t].length,n=[];if(this.parsedmovelist!==void 0)for(let o of this.parsedmovelist)o[1]===t&&(o[4]?n.push([o[2],o[3]]):n.push([r-o[3],r-o[2]]),n.push(o[5]));else if(this.options.vertexMoves&&!this.options.allMoves){let o=this.movesetgeos[t];if(o[1]!==o[3])for(let l=0;l<r;l++)o[1]!==\\\"v\\\"?(this.options.outerBlockMoves?n.push([l+1,r]):n.push([l+1]),n.push(1)):(this.options.outerBlockMoves?n.push([0,l]):n.push([l,l]),n.push(1))}else for(let o=0;o<=r;o++)!this.options.allMoves&&o+o===r||(this.options.outerBlockMoves?o+o>r?n.push([o,r]):n.push([0,o]):n.push([o,o]),n.push(1));if(this.fixedCubie>=0){let o=this.keyface3(this.faces[this.cubies[this.fixedCubie][0]])[t],l=[];for(let i=0;i<n.length;i+=2){let a=n[i];if(o>=a[0]&&o<=a[1])if(a[0]===0)a=[a[1]+1,r];else if(r===a[1])a=[0,a[0]-1];else throw Error(\\\"fixed cubie option would disconnect move\\\");let s=!1;for(let f=0;f<l.length;f+=2)if(l[f][0]===a[0]&&l[f][1]===a[1]&&l[f+1]===n[i+1]){s=!0;break}s||(l.push(a),l.push(n[i+1]))}n=l}return n}graybyori(t){let r=this.cubies[t].length;return this.duplicatedCubies[t]&&(r=1),r===1&&(this.options.grayCenters||!this.options.includeCenterOrbits)||r===2&&(this.options.grayEdges||!this.options.includeEdgeOrbits)||r>2&&(this.options.grayCorners||!this.options.includeCornerOrbits)}skipbyori(t){let r=this.cubies[t].length;return this.duplicatedCubies[t]&&(r=1),r===1&&!this.options.includeCenterOrbits||r===2&&!this.options.includeEdgeOrbits||r>2&&!this.options.includeCornerOrbits}skipcubie(t){return this.skipbyori(t)}header(t){return t+tm+`\\n`+t+`\\n`}writegap(){let t=this.getOrbitsDef(!1),r=[],n=[];for(let l=0;l<t.moveops.length;l++){let i=\\\"M_\\\"+Qa(this.notationMapper,t.movenames[l]),a=!1;i[i.length-1]===\\\"'\\\"&&(i=i.substring(0,i.length-1),a=!0),n.push(i),a?r.push(i+\\\":=\\\"+t.moveops[l].toPerm().inv().toGap()+\\\";\\\"):r.push(i+\\\":=\\\"+t.moveops[l].toPerm().toGap()+\\\";\\\")}r.push(\\\"Gen:=[\\\"),r.push(n.join(\\\",\\\")),r.push(\\\"];\\\");let o=t.solved.identicalPieces();return r.push(\\\"ip:=[\\\"+o.map(l=>\\\"[\\\"+l.map(i=>i+1).join(\\\",\\\")+\\\"]\\\").join(\\\",\\\")+\\\"];\\\"),r.push(\\\"# Size(Group(Gen));\\\"),r.push(\\\"# Size(Stabilizer(Group(Gen), ip, OnTuplesSets));\\\"),r.push(\\\"\\\"),this.header(\\\"# \\\")+r.join(`\\n`)}writeksolve(t=\\\"PuzzleGeometryPuzzle\\\"){let r=this.getOrbitsDef(!1);return this.header(\\\"# \\\")+r.toKsolve(t,this.notationMapper).join(`\\n`)}getKPuzzleDefinition(t=!0,r=!0){let o=this.getOrbitsDef(t,r).toKPuzzleDefinition(r);if(o.experimentalPuzzleDescription=this.puzzleDescription,!o)throw new Error(\\\"Missing definition!\\\");return o}getMoveFromBits(t,r,n,o,l,i){let a=[],s=[],f=[];for(let u of this.cubieords)s.push(Nt(u)),f.push(pr(u));for(let u=t[0];u<=t[1];u++){let p=o[u];for(let m=0;m<p.length;m+=2*i){let L=p.slice(m,m+2*i),R=this.cubiesetnums[L[0]];for(let y=0;y<L.length;y+=2)L[y]=this.cubieordnums[L[y]];let h=2,A=3;n&&(h=L.length-2,A=L.length-1),s[R]===Nt(this.cubieords[R])&&(s[R]=s[R].slice(),this.orbitoris[R]>1&&!this.options.fixedOrientation&&(f[R]=f[R].slice()));for(let y=0;y<L.length;y+=2)s[R][L[(y+h)%L.length]]=L[y],this.orbitoris[R]>1&&!this.options.fixedOrientation&&(f[R][L[y]]=(L[(y+A)%L.length]-L[(y+1)%L.length]+2*this.orbitoris[R])%this.orbitoris[R])}}let g=new Yt(Nt(24),pr(24),1);for(let u=0;u<this.cubiesetnames.length;u++)if(!(l&&!l[u]))if(this.orbitoris[u]===1||this.options.fixedOrientation)s[u]===Nt(g.perm.length)?(s[u]!==g.perm&&(g=new Yt(s[u],f[u],1)),a.push(g)):a.push(new Yt(s[u],f[u],1));else{let p=new Array(f[u].length);for(let m=0;m<s[u].length;m++)p[m]=f[u][s[u][m]];a.push(new Yt(s[u],p,this.orbitoris[u]))}let c=new mr(a);return r!==1&&(c=c.mulScalar(r)),c}omitSet(t){for(let r of this.options.excludeOrbits)if(r===t)return!0;return!1}diffmvsets(t,r,n,o){for(let l=0;l<t.length;l+=2){let i=!1;for(let a=0;!i&&a<r.length;a+=2)o?t[l][0]+r[a][1]===n&&t[l][1]+r[a][0]===n&&t[l+1]===r[a+1]&&(i=!0):t[l][0]===r[a][0]&&t[l][1]===r[a][1]&&t[l+1]===r[a+1]&&(i=!0);if(!i)return!0}return!1}getOrbitsDef(t,r=!0){let n=[];if(t)for(let u=0;u<this.cubiesetnames.length;u++)n.push(1);let o=[],l=[],i=[],a=[];for(let u=0;u<this.moveplanesets.length;u++){let p=this.getmovesets(u);i.push(p),this.options.addRotations?a.push(1):a.push(0)}if(this.options.moveList&&this.options.addRotations){for(let u=0;u<this.moverotations.length;u++)a[u]=0;for(let u=0;u<this.moveplanesets.length;u++)for(let p=0;p<this.moverotations.length;p++){let m=this.moveplanenormals[u];for(let L=1;L*2<=this.movesetorders[p];L++){if(m=m.rotatepoint(this.moverotations[p][0]),a[p]&L)continue;let R=-1,h=!1;for(let y=0;y<this.moveplanenormals.length;y++)if(m.dist(this.moveplanenormals[y])<Se){R=y;break}else if(m.dist(this.moveplanenormals[y].smul(-1))<Se){R=y,h=!0;break}if(R<0)throw new Error(\\\"Could not find rotation\\\");let A=i[R];(A.length!==i[u].length||this.moveplanesets[u].length!==this.moveplanesets[R].length||this.diffmvsets(A,i[u],this.moveplanesets[R].length,h))&&(a[p]|=L)}}for(let u=0;u<this.moverotations.length;u++)if(a[u]===0)a[u]=1;else if(a[u]===1)this.movesetorders[u]>3?a[u]=2:a[u]=0;else if(a[u]===3)a[u]=0;else throw new Error(\\\"Impossible addrot val\\\")}for(let u=0;u<this.moveplanesets.length;u++)a[u]!==0&&(i[u].push([0,this.moveplanesets[u].length]),i[u].push(a[u]));for(let u=0;u<this.moveplanesets.length;u++){let p=i[u],m=this.movesetorders[u];for(let h=0;h<p.length;h+=2)for(let A=0;A<h;A+=2)if(p[h]===p[A]&&p[h+1]===p[A+1])throw new Error(\\\"Redundant moves in moveset.\\\");let L=[];for(let h=0;h<p.length;h+=2)for(let A=p[h][0];A<=p[h][1];A++)L[A]=1;let R=this.cmovesbyslice[u];for(let h=0;h<R.length;h++){if(L[h]!==1)continue;let A=R[h];for(let y=0;y<A.length;y+=2*m){if(this.skipcubie(A[y]))continue;let k=this.cubiesetnums[A[y]];n[k]=1}}}for(let u=0;u<this.cubiesetnames.length;u++)if(!!n[u]){if(this.omitSet(this.cubiesetnames[u])){n[u]=0;continue}o.push(this.cubiesetnames[u]),l.push(new No(this.cubieords[u],this.options.fixedOrientation?1:this.orbitoris[u]))}let s=[];for(let u=0;u<this.cubiesetnames.length;u++){if(!n[u]||this.omitSet(this.cubiesetnames[u]))continue;let p=[],m=[];for(let L=0;L<this.cubieords[u];L++){if(t)p.push(L);else{let R=this.cubiesetcubies[u][L];p.push(this.cubievaluemap[R])}m.push(0)}s.push(new Yt(p,m,this.options.fixedOrientation?1:this.orbitoris[u]))}let f=[],g=[];if(r)for(let u=0;u<this.moveplanesets.length;u++){let m=this.moveplanesets[u].length,L=i[u],R=this.movesetgeos[u];for(let h=0;h<L.length;h+=2){let A=L[h],y=am(R,A,m),k=y[0],E=y[1];L[h+1]===1?f.push(k):f.push(k+L[h+1]);let Q=this.getMoveFromBits(A,L[h+1],E,this.cmovesbyslice[u],n,this.movesetorders[u]);g.push(Q)}}let c=new En(o,l,new kn(s),f,g);return this.options.optimizeOrbits&&(c=c.optimize()),this.options.scrambleAmount!==0&&c.scramble(this.options.scrambleAmount),c}getScramble(t=0){let r=this.getOrbitsDef(!1);return r.transformToKTransformationData(r.getScrambleTransformation(t))}getMovesAsPerms(){return this.getOrbitsDef(!1).moveops.map(t=>t.toPerm())}showcanon(t){J2(this.getOrbitsDef(!1),t)}getsolved(){let t=[];for(let r=0;r<this.baseFaceCount;r++)for(let n=0;n<this.stickersperface;n++)t.push(r);return new Lt(t)}getOrientationRotation(t){let[r,[n,o,l]]=t[0],i=new O(0,n,-o,l),[a,[s,f,g]]=t[1],c=new O(0,s,-f,g),u=null,p=null,m=this.swizzler.unswizzle(r),L=this.swizzler.unswizzle(a);for(let y of this.geonormals)m===y[1]&&(u=y[0]),L===y[1]&&(p=y[0]);if(!u)throw new Error(\\\"Could not find feature \\\"+r);if(!p)throw new Error(\\\"Could not find feature \\\"+a);let R=u.pointrotation(i);return p.rotatepoint(R).unproject(i).pointrotation(c.unproject(i)).mul(R)}getInitial3DRotation(){let t=this.baseFaceCount,r=null;if(this.options.puzzleOrientation?r=this.options.puzzleOrientation:this.options.puzzleOrientations&&(r=this.options.puzzleOrientations[t]),r||(r=im()[t]),!r)throw new Error(\\\"No default orientation?\\\");return this.getOrientationRotation(r)}generate2dmapping(t=800,r=500,n=10,o=!1,l=.92){t-=2*n,r-=2*n;function i(w,S){let C=w[1][0]-w[0][0],j=w[1][1]-w[0][1],J=2*Math.PI/S,pe=Math.cos(J),Be=Math.sin(J);for(let Ue=2;Ue<S;Ue++){let xe=C*pe+j*Be;j=j*pe-C*Be,C=xe,w.push([w[Ue-1][0]+C,w[Ue-1][1]+j])}}this.genperms();let f=this.getboundarygeometry().facenames[0][0].length,g=this.net;if(g===null)throw new Error(\\\"No net?\\\");let c={},u=0,p=0,m=1,L=0;c[g[0][0]]=[[1,0],[0,0]],i(c[g[0][0]],f);for(let w of g){let S=w[0];if(!c[S])throw new Error(\\\"Bad edge description; first edge not connected.\\\");for(let C=1;C<w.length;C++){let j=w[C];j===\\\"\\\"||c[j]||(c[j]=[c[S][C%f],c[S][(C+f-1)%f]],i(c[j],f))}}for(let w in c){let S=c[w];for(let C of S)u=Math.min(u,C[0]),m=Math.max(m,C[0]),p=Math.min(p,C[1]),L=Math.max(L,C[1])}let R=Math.min(t/(m-u),r/(L-p)),h=.5*(t-R*(m+u)),A=.5*(r-R*(L+p)),y={},k=this.getboundarygeometry(),E={},Q=[[R+h,A],[h,A]];E[g[0][0]]=Q,i(E[g[0][0]],f),y[this.facenames[0][1]]=this.project2d(0,0,[new O(0,Q[0][0],Q[0][1],0),new O(0,Q[1][0],Q[1][1],0)]);let $=[];$[0]=0;for(let w of g){let S=w[0];if(!E[S])throw new Error(\\\"Bad edge description; first edge not connected.\\\");let C=-1;for(let J=0;J<k.facenames.length;J++)if(S===k.facenames[J][1]){C=J;break}if(C<0)throw new Error(\\\"Could not find first face name \\\"+S);let j=k.facenames[C][0];for(let J=1;J<w.length;J++){let pe=w[J];if(pe===\\\"\\\"||E[pe])continue;E[pe]=[E[S][J%f],E[S][(J+f-1)%f]],i(E[pe],f);let Be=$[C],Ue=j[(Be+J)%f].sum(j[(Be+J+f-1)%f]).smul(.5),xe=ql(k.edgenames,Ue),Ct=k.edgenames[xe][1],Ie=sm(Ct,this.facenames),ot=Ie[S===Ie[0]?1:0],Ee=-1;for(let v=0;v<k.facenames.length;v++)if(ot===k.facenames[v][1]){Ee=v;break}if(Ee<0)throw new Error(\\\"Could not find second face name\\\");let F=k.facenames[Ee][0];for(let v=0;v<F.length;v++)if(F[v].sum(F[(v+1)%f]).smul(.5).dist(Ue)<=Se){let K=E[S][(J+f-1)%f],ie=E[S][J%f];$[Ee]=v,y[ot]=this.project2d(Ee,v,[new O(0,ie[0],ie[1],0),new O(0,K[0],K[1],0)]);break}}}let N=0,le=0,b=this.getInitial3DRotation();for(let w of this.faces){o&&(w=w.rotate(b));for(let S=0;S<w.length;S++)N=Math.max(N,Math.abs(w.get(S).b)),le=Math.max(le,Math.abs(w.get(S).c))}let z=Math.min(r/le/2,(t-n)/N/4);return(w,S)=>{if(o){S=S.rotatepoint(b);let C=.5*n+.25*t,j=this.baseplanes[w].rotateplane(b).d<0?1:-1;return[n+t*.5+j*(C-S.b*z),n+r*.5+S.c*z]}else{let C=y[this.facenames[w][1]];return[n+l*S.dot(C[0])+C[2].b,n+r-l*S.dot(C[1])-C[2].c]}}}generatesvg(t=800,r=500,n=10,o=!1){let l=this.generate2dmapping(t,r,n,o);function i(u,p,m){return'<polygon id=\\\"'+u+'\\\" class=\\\"sticker\\\" style=\\\"fill: '+m+'\\\" points=\\\"'+p.map(L=>L[0]+\\\" \\\"+L[1]).join(\\\" \\\")+`\\\"/>\\n`}let a=this.getsolved(),s=[],f=[];for(let u=0;u<this.baseFaceCount;u++)s[u]=this.colors[this.facenames[u][1]];for(let u=0;u<this.faces.length;u++){let p=this.faces[u],m=Math.floor(u/this.stickersperface),L=[];for(let R=0;R<p.length;R++)L.push(l(m,p.get(R)));f.push(L)}let g=[];for(let u=0;u<this.baseFaceCount;u++){g.push(\\\"<g>\\\"),g.push(\\\"<title>\\\"+this.facenames[u][1]+`</title>\\n`);for(let p=0;p<this.stickersperface;p++){let m=u*this.stickersperface+p,L=this.facetocubie[m],R=this.facetoord[m],h=this.cubiesetnums[L],A=this.cubieordnums[L],y=this.graybyori(L)?\\\"#808080\\\":s[a.p[m]],k=this.cubiesetnames[h]+\\\"-l\\\"+A+\\\"-o\\\"+R;if(g.push(i(k,f[m],y)),this.duplicatedFaces[m])for(let E=1;E<this.duplicatedFaces[m];E++)k=this.cubiesetnames[h]+\\\"-l\\\"+A+\\\"-o\\\"+E,g.push(i(k,f[m],y))}g.push(\\\"</g>\\\")}return`<svg id=\\\"svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 800 500\\\">\\n<style type=\\\"text/css\\\"><![CDATA[.sticker { stroke: #000000; stroke-width: 1px; }]]></style>\\n`+g.join(\\\"\\\")+\\\"</svg>\\\"}get3d(t){let r=[],n=this.getInitial3DRotation(),o=[],l=.52*this.basefaces[0].get(0).len();for(let f=0;f<this.basefaces.length;f++){let g=this.basefaces[f].rotate(n),c=this.facenames[f][1];o.push({coords:$a(g,l),name:c})}for(let f=0;f<this.faces.length;f++){let g=Math.floor(f/this.stickersperface),c=this.facetocubie[f],u=this.facetoord[f],p=this.cubiesetnums[c],m=this.cubieordnums[c],L=this.graybyori(c)?\\\"#808080\\\":this.colors[this.facenames[g][1]];t?.stickerColors&&(L=t.stickerColors[f]);let R=this.faces[f].rotate(n);r.push({coords:$a(R,l),color:L,orbit:this.cubiesetnames[p],ord:m,ori:u,face:g});let h=R;if(this.duplicatedFaces[f]){let A=h.length/this.duplicatedFaces[f];for(let y=1;y<this.duplicatedFaces[f];y++){for(let k=0;k<A;k++)h=h.rotateforward();r.push({coords:$a(h,l),color:L,orbit:this.cubiesetnames[p],ord:m,ori:y,face:g,isDup:!0})}}}let i=[];for(let f=0;f<this.movesetgeos.length;f++){let g=this.movesetgeos[f],c=this.movesetorders[f];for(let u of this.geonormals)g[0]===u[1]&&g[1]===u[2]&&(i.push({coordinates:Vl(u[0].rotatepoint(n),1),quantumMove:new B(g[0]),order:c}),i.push({coordinates:Vl(u[0].rotatepoint(n).smul(-1),1),quantumMove:new B(g[2]),order:c}))}let a=this.generate2dmapping(2880,2160,0,!1,1),s=function(){let f=n.invrot();return function(g,c){let u=new O(0,c[0]*l,-c[1]*l,c[2]*l);u=u.rotatepoint(f);let p=a(g,u);return p[0]/=2880,p[1]=1-p[1]/2160,p}}().bind(this);return{stickers:r,faces:o,axis:i,unswizzle:this.unswizzle.bind(this),notationMapper:this.notationMapper,textureMapper:{getuv:s}}}getGeoNormal(t){let r=this.getInitial3DRotation(),n=this.swizzler.unswizzle(t);for(let o of this.geonormals)if(n===o[1]){let l=Vl(o[0].rotatepoint(r),1);return Math.abs(l[0])<Se&&Math.abs(l[2])<Se&&(l[0]=0,l[2]=1e-6),l}}getfaceindex(t){let r=this.stickersperface;return Math.floor(t/r)}textForTwizzleExplorer(){return`Faces ${this.baseplanerot.length}\\nStickers per face ${this.stickersperface}\\nShort edge ${this.shortedge}\\nCubies ${this.cubies.length}\\nEdge distance ${this.edgedistance}\\nVertex distance ${this.vertexdistance}`}writeSchreierSims(t){let n=this.getOrbitsDef(!1).reassemblySize();t(`Reassembly size is ${n}`);let o=jl(this.getMovesAsPerms(),t),l=n/o;t(`Ratio is ${l}`)}},Kr=class{constructor(t,r){this.pg=t;this.orbitNames=r.orbitnames}lookupMove(t){let r=this.pg.parseMove(t);if(this.pg.parsedmovelist){let i=!1;for(let a of this.pg.parsedmovelist)a[1]===r[1]&&a[2]===r[2]&&a[3]===r[3]&&a[4]===r[4]&&(i=!0);if(!i)return null}let n=[r[2],r[3]];if(!r[4]){let i=this.pg.moveplanesets[r[1]].length;n=[i-r[3],i-r[2]]}let o=this.pg.getMoveFromBits(n,r[5],!r[4],this.pg.cmovesbyslice[r[1]],void 0,this.pg.movesetorders[r[1]]);return En.transformToKTransformationData(this.orbitNames,o)}}});var Yl={};De(Yl,{ExperimentalPGNotation:()=>Kr,PuzzleGeometry:()=>Hl,Quat:()=>O,getPG3DNamedPuzzles:()=>ff,getPuzzleDescriptionString:()=>uf,getPuzzleGeometryByDesc:()=>Xa,getPuzzleGeometryByName:()=>zn,parseOptions:()=>V2,parsePuzzleDescription:()=>Mo,schreierSims:()=>jl});var Cn=U(()=>{Gl();Ia();Kl();Ya();Gl()});async function Qr(e){return(await Promise.resolve().then(()=>(Cn(),Yl))).getPuzzleGeometryByName(e,{allMoves:!0,orientCenters:!0,addRotations:!0})}async function fm(e,t){let r=await e,n=r.getKPuzzleDefinition(!0);n.name=t;let o=await Promise.resolve().then(()=>(Cn(),Yl)),l=new o.ExperimentalPGNotation(r,r.getOrbitsDef(!0));return new ke(n,{experimentalPGNotation:l})}var Jl,Zl,Xl,Bt,jr,Lr=U(()=>{Ye();Sn();cr();Bt=class{constructor(t){oe(this,Jl,void 0);oe(this,Zl,void 0);oe(this,Xl,void 0);this.pgId=t.pgID,this.id=t.id,this.fullName=t.fullName,this.inventedBy=t.inventedBy,this.inventionYear=t.inventionYear}pg(){return d(this,Jl)??q(this,Jl,Qr(this.pgId??this.id))}kpuzzle(){return d(this,Zl)??q(this,Zl,fm(this.pg(),this.id))}svg(){return d(this,Xl)??q(this,Xl,(async()=>(await this.pg()).generatesvg())())}};Jl=new WeakMap,Zl=new WeakMap,Xl=new WeakMap;jr=class extends Bt{constructor(){super(...arguments);this.stickerings=wn}appearance(t){return Mt(this,t)}}});var gf={};De(gf,{cube2x2x2KPuzzleDefinition:()=>Tt});var Tt,cf=U(()=>{Tt={name:\\\"2x2x2\\\",orbits:{CORNERS:{numPieces:8,numOrientations:3}},startStateData:{CORNERS:{pieces:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]}},moves:{U:{CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]}},y:{CORNERS:{permutation:[1,2,3,0,7,4,5,6],orientation:[0,0,0,0,0,0,0,0]}},x:{CORNERS:{permutation:[4,0,3,5,7,6,2,1],orientation:[2,1,2,1,1,2,1,2]}},L:{CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]}},F:{CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]}},R:{CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]}},B:{CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]}},D:{CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}},z:{CORNERS:{permutation:[3,2,6,5,0,4,7,1],orientation:[1,2,1,2,2,1,2,1]}}}};Tt.moves.Rv=Tt.moves.x;Tt.moves.Uv=Tt.moves.y;Tt.moves.Fv=Tt.moves.z;Tt.moves.Lv={CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]}};Tt.moves.Dv={CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}};Tt.moves.Bv={CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]}}});var pf={};De(pf,{default:()=>um});var um,mf=U(()=>{um=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.0//EN\\\"\\n \\\"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\\\">\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 520 394\\\" preserveAspectRatio=\\\"xMidYMid meet\\\">\\n <title>2x2x2</title>\\n <defs>\\n <g id=\\\"sticker\\\">\\n <rect x=\\\"0\\\" y=\\\"0\\\" width=\\\"1\\\" height=\\\"1\\\" stroke=\\\"black\\\" stroke-width=\\\"0.04px\\\" />\\n </g>\\n </defs>\\n <g id=\\\"puzzle\\\" transform=\\\"translate(5, 5) scale(60)\\\">\\n <use id=\\\"CORNERS-l0-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l0-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.4, 2.2)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l0-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 2.2)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS-l1-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 0)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l1-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(6.6, 2.2)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CORNERS-l1-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.4, 2.2)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l2-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 0)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l2-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(0, 2.2)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CORNERS-l2-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.6, 2.2)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"CORNERS-l3-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l3-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 2.2)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l3-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1, 2.2)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CORNERS-l4-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 4.4)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l4-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 3.2)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l4-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.4, 3.2)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l5-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 4.4)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l5-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1, 3.2)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CORNERS-l5-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 3.2)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS-l6-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 5.4)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l6-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.6, 3.2)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CORNERS-l6-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(0, 3.2)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CORNERS-l7-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 5.4)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l7-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.4, 3.2)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l7-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(6.6, 3.2)\\\" style=\\\"fill: #26f\\\"/>\\n </g>\\n\\n</svg>`});var Go,Lf=U(()=>{Ye();Lr();cr();Sn();Go={id:\\\"2x2x2\\\",fullName:\\\"2\\\\xD72\\\\xD72 Cube\\\",kpuzzle:we(async()=>new ke((await Promise.resolve().then(()=>(cf(),gf))).cube2x2x2KPuzzleDefinition)),svg:async()=>(await Promise.resolve().then(()=>(mf(),pf))).default,pg:we(async()=>Qr(\\\"2x2x2\\\")),appearance:e=>Mt(Go,e),stickerings:wn}});var Bf={};De(Bf,{default:()=>gm});var gm,Rf=U(()=>{gm=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.0//EN\\\"\\n \\\"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\\\">\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 518 392\\\" preserveAspectRatio=\\\"xMidYMid meet\\\">\\n <title>3x3x3</title>\\n <defs>\\n <g id=\\\"sticker\\\">\\n <rect x=\\\"0\\\" y=\\\"0\\\" width=\\\"1\\\" height=\\\"1\\\" stroke=\\\"black\\\" stroke-width=\\\"0.04px\\\" />\\n </g>\\n </defs>\\n\\n<!-- 0 1 2 3 4 5 6 7 8 9 10 11 -->\\n<!-- | | | | | | | | | | | |<- -->\\n<!-- 0 - . . . -->\\n<!-- 1 - . . . -->\\n<!-- 2 - . . . -->\\n<!-- 3 - . . . . . . . . . . . . -->\\n<!-- 4 - . . . . . . . . . . . . -->\\n<!-- 5 - . . . . . . . . . . . . -->\\n<!-- 6 - . . . -->\\n<!-- 7 - . . . -->\\n<!-- 8 - . . . -->\\n\\n <g id=\\\"puzzle\\\" transform=\\\"translate(5,5) scale(40)\\\">\\n <!-- CORNERS -->\\n <use id=\\\"CORNERS-l0-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,2.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l0-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(6.5,3.3)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l0-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,3.3)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS-l1-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,0.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l1-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(9.7,3.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CORNERS-l1-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(8.5,3.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l2-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,0.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l2-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(0.1,3.3)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CORNERS-l2-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(11.7,3.3)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"CORNERS-l3-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,2.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l3-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,3.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l3-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.1,3.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CORNERS-l4-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,6.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l4-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,5.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l4-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(6.5,5.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l5-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,6.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l5-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.1,5.3)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CORNERS-l5-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,5.3)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS-l6-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,8.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l6-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(11.7,5.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CORNERS-l6-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(0.1,5.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CORNERS-l7-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,8.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l7-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(8.5,5.3)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l7-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(9.7,5.3)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <!-- EDGES -->\\n <use id=\\\"EDGES-l0-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,2.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"EDGES-l0-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,3.3)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"EDGES-l1-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"EDGES-l1-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,3.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l2-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,0.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"EDGES-l2-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,3.3)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"EDGES-l3-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"EDGES-l3-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,3.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"EDGES-l4-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,6.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l4-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,5.3)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"EDGES-l5-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l5-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,5.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l6-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,8.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l6-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,5.3)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"EDGES-l7-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l7-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,5.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"EDGES-l8-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l8-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(6.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l9-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l9-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"EDGES-l10-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(9.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"EDGES-l10-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(8.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l11-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(11.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"EDGES-l11-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(0.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <!-- CENTERS -->\\n <!-- TODO: Allow the same sticker to be reused for multiple orientations -->\\n <use id=\\\"CENTERS-l0-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CENTERS-l0-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CENTERS-l0-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CENTERS-l0-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n\\n <use id=\\\"CENTERS-l1-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CENTERS-l2-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CENTERS-l3-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CENTERS-l4-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"CENTERS-l5-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n </g>\\n\\n</svg>`});var df={};De(df,{default:()=>cm});var cm,hf=U(()=>{cm=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<svg width=\\\"288px\\\" height=\\\"288px\\\" viewBox=\\\"-16 -16 288 288\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n <title>3x3x3 LL</title>\\n <defs>\\n <g id=\\\"sticker\\\">\\n <rect x=\\\"-10\\\" y=\\\"-10\\\" width=\\\"1\\\" height=\\\"1\\\" stroke=\\\"black\\\" stroke-width=\\\"0.04px\\\" />\\n </g>\\n </defs>\\n <g id=\\\"3x3x3-LL\\\" stroke=\\\"none\\\" stroke-width=\\\"4\\\" style=\\\"none\\\" stroke-linejoin=\\\"round\\\">\\n <rect id=\\\"CENTERS-l0-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"CENTERS-l0-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"CENTERS-l0-o2\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"CENTERS-l0-o3\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n\\n <rect id=\\\"CORNERS-l0-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"160\\\" y=\\\"160\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <polygon id=\\\"CORNERS-l0-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: red\\\" points=\\\"224 160 252 160 252 252 224 224\\\"></polygon>\\n <polygon id=\\\"CORNERS-l0-o2\\\" stroke=\\\"#000000\\\" style=\\\"fill: limegreen\\\" transform=\\\"translate(206, 238) scale(1, -1) rotate(-90) translate(-206, -238) \\\" points=\\\"192 192 220 192 220 284 192 256\\\"></polygon>\\n <rect id=\\\"CORNERS-l1-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"160\\\" y=\\\"32\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <polygon id=\\\"CORNERS-l1-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: #26f\\\" transform=\\\"translate(206, 18) rotate(-90) translate(-206, -18) \\\" points=\\\"192 -28 220 -28 220 64 192 36\\\"></polygon>\\n <polygon id=\\\"CORNERS-l1-o2\\\" stroke=\\\"#000000\\\" style=\\\"fill: red\\\" transform=\\\"translate(238, 50) scale(1, -1) translate(-238, -50) \\\" points=\\\"224 4 252 4 252 96 224 68\\\"></polygon>\\n <rect id=\\\"CORNERS-l2-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"32\\\" y=\\\"32\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <polygon id=\\\"CORNERS-l2-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: orange\\\" transform=\\\"translate(18, 50) scale(-1, -1) translate(-18, -50) \\\" points=\\\"4 4 32 4 32 96 4 68\\\"></polygon>\\n <polygon id=\\\"CORNERS-l2-o2\\\" stroke=\\\"#000000\\\" style=\\\"fill: #26f\\\" transform=\\\"translate(50, 18) scale(1, -1) rotate(90) translate(-50, -18) \\\" points=\\\"36 -28 64 -28 64 64 36 36\\\"></polygon>\\n <rect id=\\\"CORNERS-l3-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"32\\\" y=\\\"160\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <polygon id=\\\"CORNERS-l3-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: limegreen\\\" transform=\\\"translate(50, 238) rotate(90) translate(-50, -238) \\\" points=\\\"36 192 64 192 64 284 36 256\\\"></polygon>\\n <polygon id=\\\"CORNERS-l3-o2\\\" stroke=\\\"#000000\\\" style=\\\"fill: orange\\\" transform=\\\"translate(18, 206) scale(-1, 1) translate(-18, -206) \\\" points=\\\"4 160 32 160 32 252 4 224\\\"></polygon>\\n\\n <rect id=\\\"EDGES-l0-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"160\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l0-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: limegreen\\\" transform=\\\"translate(128, 238) scale(1, -1) rotate(90) translate(-128, -238) \\\" x=\\\"114\\\" y=\\\"206\\\" width=\\\"28\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l1-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"160\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l1-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: red\\\" x=\\\"224\\\" y=\\\"96\\\" width=\\\"28\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l2-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"32\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l2-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: #26f\\\" transform=\\\"translate(128, 18) scale(1, -1) rotate(90) translate(-128, -18) \\\" x=\\\"114\\\" y=\\\"-14\\\" width=\\\"28\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l3-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"32\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l3-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: orange\\\" x=\\\"4\\\" y=\\\"96\\\" width=\\\"28\\\" height=\\\"64\\\"></rect>\\n\\n </g>\\n <g style=\\\"opacity: 0\\\">\\n <!-- CORNERS -->\\n <use id=\\\"CORNERS-l4-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l4-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l4-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l5-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l5-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CORNERS-l5-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS-l6-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l6-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CORNERS-l6-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CORNERS-l7-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l7-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l7-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n\\n <!-- EDGES -->\\n <use id=\\\"EDGES-l4-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l4-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"EDGES-l5-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l5-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l6-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l6-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"EDGES-l7-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l7-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"EDGES-l8-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l8-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l9-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l9-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"EDGES-l10-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"EDGES-l10-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l11-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"EDGES-l11-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n\\n <!-- CENTERS -->\\n <!-- TODO: Allow the same sticker to be reused for multiple orientations -->\\n <use id=\\\"CENTERS-l1-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o3\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CENTERS-l2-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o3\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CENTERS-l3-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o3\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CENTERS-l4-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o3\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"CENTERS-l5-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o3\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n </g>\\n</svg>`});var es,Df=U(()=>{Ye();Lr();cr();Sn();es={id:\\\"3x3x3\\\",fullName:\\\"3\\\\xD73\\\\xD73 Cube\\\",inventedBy:[\\\"Ern\\\\u0151 Rubik\\\"],inventionYear:1974,kpuzzle:we(async()=>Ca),svg:we(async()=>(await Promise.resolve().then(()=>(Rf(),Bf))).default),llSVG:we(async()=>(await Promise.resolve().then(()=>(hf(),df))).default),pg:we(async()=>Qr(\\\"3x3x3\\\")),appearance:e=>Mt(es,e),stickerings:wn}});var Ff={};De(Ff,{clockKPuzzleDefinition:()=>pm});var pm,Af=U(()=>{pm={name:\\\"Clock\\\",orbits:{DIALS:{numPieces:18,numOrientations:12},FACES:{numPieces:18,numOrientations:1},FRAME:{numPieces:1,numOrientations:2}},startStateData:{DIALS:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{pieces:[0],orientation:[0]}},moves:{UR_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,1,1,0,1,1,0,0,0,-1,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DR_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,-1,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},UL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,0,1,1,0,0,0,0,0,0,-1,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},U_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,1,1,1,1,0,0,0,-1,0,-1,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},R_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,1,1,0,1,1,0,1,1,-1,0,0,0,0,0,-1,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},D_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,-1,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},L_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,0,1,1,0,1,1,0,0,0,-1,0,0,0,0,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},ALL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,1,1,1,1,1,1,1,-1,0,-1,0,0,0,-1,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},y2:{DIALS:{permutation:[9,10,11,12,13,14,15,16,17,0,1,2,3,4,5,6,7,8],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[9,10,11,12,13,14,15,16,17,0,1,2,3,4,5,6,7,8],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[1]}},UL:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},UR:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DL:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DR:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}}}}});var yf={};De(yf,{default:()=>mm});var mm,Uf=U(()=>{mm=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 480 240\\\" preserveAspectRatio=\\\"xMidYMid meet\\\">\\n <title>clock</title>\\n <defs>\\n <g id=\\\"hand\\\" transform=\\\"translate(-20, -20)\\\">\\n <path d=\\\"M19.9995197,2.22079449 L23.8791657,19.0203611 C23.9580836,19.3338406 24,19.6620253 24,20 C24,22.209139 22.209139,24 20,24 C17.790861,24 16,22.209139 16,20 C16,19.6620253 16.0419164,19.3338406 16.1208343,19.0203611 L19.9995197,2.22079449 Z\\\"></path>\\n </g>\\n <g id=\\\"cardinal_hours\\\" style=\\\"fill: #FFFFFF\\\">\\n <circle cx=\\\"0\\\" cy=\\\"24\\\" r=\\\"2\\\"></circle>\\n <circle cx=\\\"-24\\\" cy=\\\"0\\\" r=\\\"2\\\"></circle>\\n <circle cx=\\\"24\\\" cy=\\\"0\\\" r=\\\"2\\\"></circle>\\n <circle cx=\\\"0\\\" cy=\\\"-24\\\" r=\\\"2\\\"></circle>\\n </g>\\n <g id=\\\"face_hours\\\">\\n <g>\\n <use xlink:href=\\\"#cardinal_hours\\\"/>\\n </g>\\n <g transform=\\\"rotate(30)\\\">\\n <use xlink:href=\\\"#cardinal_hours\\\"/>\\n </g>\\n <g transform=\\\"rotate(60)\\\">\\n <use xlink:href=\\\"#cardinal_hours\\\"/>\\n </g>\\n </g>\\n <g id=\\\"pegs\\\" stroke=\\\"#000000\\\" style=\\\"fill: #FFD000\\\">\\n <circle id=\\\"PEG4\\\" cx=\\\"90\\\" cy=\\\"90\\\" r=\\\"10\\\"></circle>\\n <circle id=\\\"PEG3\\\" cx=\\\"30\\\" cy=\\\"90\\\" r=\\\"10\\\"></circle>\\n <circle id=\\\"PEG2\\\" cx=\\\"90\\\" cy=\\\"30\\\" r=\\\"10\\\"></circle>\\n <circle id=\\\"PEG1\\\" cx=\\\"30\\\" cy=\\\"30\\\" r=\\\"10\\\"></circle>\\n </g>\\n <g id=\\\"frame\\\" transform=\\\"translate(-24, -24)\\\">\\n <path stroke=\\\"#000000\\\" d=\\\"M120,20 C137.495665,20 153.941932,24.4930026 168.247913,32.3881183 C171.855881,30.8514056 175.828512,30 180,30 C196.568542,30 210,43.4314575 210,60 C210,64.1714878 209.148594,68.1441192 207.610077,71.7536009 C215.506997,86.0580678 220,102.504335 220,120 C220,137.495665 215.506997,153.941932 207.611882,168.247913 C209.148594,171.855881 210,175.828512 210,180 C210,196.568542 196.568542,210 180,210 C175.828512,210 171.855881,209.148594 168.246399,207.610077 C153.941932,215.506997 137.495665,220 120,220 C102.504335,220 86.0580678,215.506997 71.7520869,207.611882 C68.1441192,209.148594 64.1714878,210 60,210 C43.4314575,210 30,196.568542 30,180 C30,175.828512 30.8514056,171.855881 32.3899234,168.246399 C24.4930026,153.941932 20,137.495665 20,120 C20,102.504335 24.4930026,86.0580678 32.3881183,71.7520869 C30.8514056,68.1441192 30,64.1714878 30,60 C30,43.4314575 43.4314575,30 60,30 C64.1714878,30 68.1441192,30.8514056 71.7536009,32.3899234 C86.0580678,24.4930026 102.504335,20 120,20 Z\\\"></path>\\n </g>\\n </defs>\\n <g>\\n <g transform=\\\"translate(24, 24)\\\">\\n <use xlink:href=\\\"#frame\\\" id=\\\"FRAME-l0-o0\\\" style=\\\"fill: #0C5093\\\"/>\\n <use xlink:href=\\\"#pegs\\\" transform=\\\"translate(36, 36)\\\"/>\\n <g transform=\\\"translate(36, 36)\\\">\\n <circle id=\\\"FACES-l0-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l0-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l0-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 36)\\\">\\n <circle id=\\\"FACES-l1-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l1-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l1-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 36)\\\">\\n <circle id=\\\"FACES-l2-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l2-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l2-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(36, 96)\\\">\\n <circle id=\\\"FACES-l3-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l3-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l3-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 96)\\\">\\n <circle id=\\\"FACES-l4-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l4-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l4-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 96)\\\">\\n <circle id=\\\"FACES-l5-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l5-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l5-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(36, 156)\\\">\\n <circle id=\\\"FACES-l6-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l6-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l6-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 156)\\\">\\n <circle id=\\\"FACES-l7-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l7-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l7-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 156)\\\">\\n <circle id=\\\"FACES-l8-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l8-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l8-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n </g>\\n <g transform=\\\"translate(264, 24)\\\">\\n <use xlink:href=\\\"#frame\\\" id=\\\"FRAME-l0-o1\\\" style=\\\"fill: #90B8DF\\\"/>\\n <use xlink:href=\\\"#pegs\\\" transform=\\\"translate(36, 36)\\\"/>\\n <g transform=\\\"translate(36, 36)\\\">\\n <circle id=\\\"FACES-l9-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l9-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l9-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 36)\\\">\\n <circle id=\\\"FACES-l10-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l10-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l10-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 36)\\\">\\n <circle id=\\\"FACES-l11-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l11-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l11-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(36, 96)\\\">\\n <circle id=\\\"FACES-l12-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l12-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l12-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 96)\\\">\\n <circle id=\\\"FACES-l13-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l13-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l13-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 96)\\\">\\n <circle id=\\\"FACES-l14-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l14-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l14-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(36, 156)\\\">\\n <circle id=\\\"FACES-l15-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l15-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l15-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 156)\\\">\\n <circle id=\\\"FACES-l16-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l16-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l16-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 156)\\\">\\n <circle id=\\\"FACES-l17-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l17-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l17-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n </g>\\n </g>\\n</svg>`});var bf,xf=U(()=>{Ye();cr();bf={id:\\\"clock\\\",fullName:\\\"Clock\\\",inventedBy:[\\\"Christopher C. Wiggs\\\",\\\"Christopher J. Taylor\\\"],inventionYear:1988,kpuzzle:we(async()=>new ke((await Promise.resolve().then(()=>(Af(),Ff))).clockKPuzzleDefinition)),svg:we(async()=>(await Promise.resolve().then(()=>(Uf(),yf))).default)}});async function wf(e,t){let r=await e.kpuzzle(),n=new Eo(r),o=new ko(r),l=()=>o.and([o.move(\\\"U\\\"),o.not(o.or(o.moves([\\\"F\\\",\\\"BL\\\",\\\"BR\\\"])))]),i=()=>o.and([o.move(\\\"U\\\"),o.not(o.move(\\\"F\\\"))]),a=()=>o.or([i(),o.and([o.move(\\\"F\\\"),o.not(o.or(o.moves([\\\"U\\\",\\\"BL\\\",\\\"BR\\\"])))])]),s=()=>o.not(o.or([o.and([o.move(\\\"U\\\"),o.move(\\\"F\\\")]),o.and([o.move(\\\"F\\\"),o.move(\\\"BL\\\")]),o.and([o.move(\\\"F\\\"),o.move(\\\"BR\\\")]),o.and([o.move(\\\"BL\\\"),o.move(\\\"BR\\\")])])),f=()=>o.not(o.or([o.and([o.move(\\\"F\\\"),o.move(\\\"BL\\\")]),o.and([o.move(\\\"F\\\"),o.move(\\\"BR\\\")]),o.and([o.move(\\\"BL\\\"),o.move(\\\"BR\\\")])]));switch(t){case\\\"full\\\":break;case\\\"experimental-fto-fc\\\":n.set(o.not(l()),x.Ignored);break;case\\\"experimental-fto-f2t\\\":n.set(o.not(i()),x.Ignored),n.set(l(),x.Dim);break;case\\\"experimental-fto-sc\\\":n.set(o.not(a()),x.Ignored),n.set(i(),x.Dim);break;case\\\"experimental-fto-l2c\\\":n.set(o.not(s()),x.Ignored),n.set(a(),x.Dim);break;case\\\"experimental-fto-lbt\\\":n.set(o.not(f()),x.Ignored),n.set(s(),x.Dim);break;case\\\"experimental-fto-l3t\\\":n.set(f(),x.Dim);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),x.Dim)}return n.toAppearance()}async function Sf(){return[\\\"full\\\",\\\"experimental-fto-fc\\\",\\\"experimental-fto-f2t\\\",\\\"experimental-fto-sc\\\",\\\"experimental-fto-l2c\\\",\\\"experimental-fto-lbt\\\",\\\"experimental-fto-l3t\\\"]}var vf=U(()=>{_o()});var Ef,kf,_f=U(()=>{Lr();vf();Ef=class extends Bt{constructor(){super({pgID:\\\"FTO\\\",id:\\\"fto\\\",fullName:\\\"Face-Turning Octahedron\\\",inventedBy:[\\\"Karl Rohrbach\\\",\\\"David Pitcher\\\"],inventionYear:1983});this.stickerings=Sf}appearance(t){return wf(this,t)}},kf=new Ef});async function zf(e,t){switch(t){case\\\"full\\\":case\\\"F2L\\\":case\\\"LL\\\":return Mt(e,t);default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`)}return Mt(e,\\\"full\\\")}async function Cf(){return[\\\"full\\\",\\\"F2L\\\",\\\"LL\\\"]}var Pf=U(()=>{Sn()});var Mf,Nf,Tf=U(()=>{Lr();Pf();Mf=class extends Bt{constructor(){super({id:\\\"megaminx\\\",fullName:\\\"Megaminx\\\",inventionYear:1981});this.stickerings=Cf}appearance(t){return zf(this,t)}},Nf=new Mf});var Gf={};De(Gf,{default:()=>Lm});var Lm,If=U(()=>{Lm=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.0//EN\\\"\\n \\\"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\\\">\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"-20 -20 546 480\\\" preserveAspectRatio=\\\"xMidYMid meet\\\">\\n <defs>\\n </defs>\\n <title>pyraminx</title>\\n <defs>\\n <g id=\\\"stickerA\\\" transform=\\\"scale(1, 0.577350269)\\\">\\n <path\\n d=\\\"m 0,1.732050808 1,-1.732050808 1,1.732050808 z\\\"\\n stroke=\\\"black\\\" stroke-width=\\\"0.04px\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"round\\\"\\n />\\n </g>\\n <g id=\\\"stickerV\\\" transform=\\\"scale(1, 0.577350269)\\\">\\n <path\\n d=\\\"m 0,0 1,1.732050808 1,-1.732050808 z\\\"\\n stroke=\\\"black\\\" stroke-width=\\\"0.04px\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"round\\\"\\n />\\n </g>\\n </defs>\\n\\n<!-- 0 1 2 3 4 5 6 7 8 9 10 -->\\n<!-- | | | | | | | | | | | -->\\n<!-- 0 - L L L L L F R R R R R -->\\n<!-- 1 - L L L F F F R R R -->\\n<!-- 2 - L F F F F F R -->\\n<!-- 3 - D D D D D -->\\n<!-- 4 - D D D -->\\n<!-- 5 - D -->\\n\\n <g id=\\\"puzzle\\\" transform=\\\"translate(5, 5) scale(40, 69.28203232)\\\">\\n <!-- CORNERS -->\\n <use id=\\\"CORNERS-l0-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(5.2, 1.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l0-o1\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(3, 0)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l0-o2\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(7.4, 0)\\\" style=\\\"fill: blue\\\"/>\\n\\n <use id=\\\"CORNERS-l3-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(4.2, 2.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l3-o1\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(4.2, 3.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l3-o2\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(2, 1)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l2-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(6.2, 2.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l2-o1\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(8.4, 1)\\\" style=\\\"fill: blue\\\"/>\\n <use id=\\\"CORNERS-l2-o2\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(6.2, 3.2)\\\" style=\\\"fill: yellow\\\"/>\\n\\n <use id=\\\"CORNERS-l1-o1\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(9.4, 0)\\\" style=\\\"fill: blue\\\"/>\\n <use id=\\\"CORNERS-l1-o2\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(1, 0)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l1-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(5.2, 4.2)\\\" style=\\\"fill: yellow\\\"/>\\n\\n <!-- \\\"TIPS\\\" -->\\n <!-- CORNERS2 -->\\n <use id=\\\"CORNERS2-l0-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(5.2, 0.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS2-l0-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(4, 0)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS2-l0-o2\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(6.4, 0)\\\" style=\\\"fill: blue\\\"/>\\n\\n <use id=\\\"CORNERS2-l3-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(3.2, 2.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS2-l3-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(3.2, 3.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS2-l3-o2\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(2, 2)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS2-l2-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(8.4, 2)\\\" style=\\\"fill: blue\\\"/>\\n <use id=\\\"CORNERS2-l2-o2\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(7.2, 3.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS2-l2-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(7.2, 2.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS2-l1-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(10.4,0)\\\" style=\\\"fill: blue\\\"/>\\n <use id=\\\"CORNERS2-l1-o2\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(0, 0)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS2-l1-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(5.2, 5.2)\\\" style=\\\"fill: yellow\\\"/>\\n\\n <!-- EDGES -->\\n <use id=\\\"EDGES-l0-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(4.2, 1.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l0-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(3, 1)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l5-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(6.2, 1.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l5-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(7.4, 1)\\\" style=\\\"fill: blue\\\"/>\\n\\n <use id=\\\"EDGES-l1-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(8.4, 0)\\\" style=\\\"fill: blue\\\"/>\\n <use id=\\\"EDGES-l1-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(2, 0)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l2-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(5.2, 3.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l2-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(5.2, 2.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"EDGES-l3-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(6.2, 4.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l3-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(9.4, 1)\\\" style=\\\"fill: blue\\\"/>\\n\\n <use id=\\\"EDGES-l4-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(4.2, 4.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l4-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(1, 1)\\\" style=\\\"fill: red\\\"/>\\n </g>\\n\\n</svg>`});var Of,Wf,Kf=U(()=>{Lr();cr();Of=class extends Bt{constructor(){super({id:\\\"pyraminx\\\",fullName:\\\"Pyraminx\\\",inventedBy:[\\\"Uwe Meffert\\\"]});this.svg=we(async()=>(await Promise.resolve().then(()=>(If(),Gf))).default)}},Wf=new Of});var Qf={};De(Qf,{sq1HyperOrbitKPuzzleDefinition:()=>Bm});var Bm,jf=U(()=>{Bm={name:\\\"Square-1\\\",orbits:{WEDGES:{numPieces:24,numOrientations:9},EQUATOR:{numPieces:2,numOrientations:6}},startStateData:{WEDGES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{pieces:[0,1],orientation:[0,0]}},moves:{U_SQ_:{WEDGES:{permutation:[11,0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,0]}},D_SQ_:{WEDGES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,23,12,13,14,15,16,17,18,19,20,21,22],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,0]}},_SLASH_:{WEDGES:{permutation:[0,1,2,3,4,5,12,13,14,15,16,17,6,7,8,9,10,11,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,3]}}}}});var qf={};De(qf,{default:()=>Rm});var Rm,Vf=U(()=>{Rm=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<svg width=\\\"360px\\\" height=\\\"552px\\\" viewBox=\\\"0 0 360 552\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n <!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->\\n <title>sq1-fancy</title>\\n <desc>Created with Sketch.</desc>\\n <!-- stroke=\\\"none\\\" -->\\n <g id=\\\"sq1-fancy\\\" stroke=\\\"#888\\\" stroke-width=\\\"0.25\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\n <g id=\\\"EQUATOR\\\" transform=\\\"translate(24.000000, 264.000000)\\\">\\n <rect id=\\\"EQUATOR-l1-o3\\\" style=\\\"fill: red\\\" x=\\\"168\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l1-o4\\\" style=\\\"fill: red\\\" x=\\\"192\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l1-o5\\\" style=\\\"fill: limegreen\\\" x=\\\"216\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l1-o2\\\" style=\\\"fill: limegreen\\\" x=\\\"240\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l1-o1\\\" style=\\\"fill: limegreen\\\" x=\\\"264\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l1-o0\\\" style=\\\"fill: orange\\\" x=\\\"288\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o3\\\" style=\\\"fill: orange\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o4\\\" style=\\\"fill: orange\\\" x=\\\"24\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o5\\\" style=\\\"fill: limegreen\\\" x=\\\"48\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o2\\\" style=\\\"fill: limegreen\\\" x=\\\"72\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o1\\\" style=\\\"fill: limegreen\\\" x=\\\"96\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o0\\\" style=\\\"fill: red\\\" x=\\\"120\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n </g>\\n <g id=\\\"BOTTOM\\\" transform=\\\"translate(41.000000, 257.000000)\\\" stroke-linejoin=\\\"round\\\">\\n <g id=\\\"WEDGES-23\\\" transform=\\\"translate(130.000000, 88.588457) rotate(120.000000) translate(-130.000000, -88.588457) translate(82.000000, 22.588457)\\\">\\n <polygon id=\\\"WEDGES-l23-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o7\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o6\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o4\\\" style=\\\"fill: red\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o3\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-22\\\" transform=\\\"translate(97.157677, 115.157677) rotate(90.000000) translate(-97.157677, -115.157677) translate(49.157677, 49.157677)\\\">\\n <polygon id=\\\"WEDGES-l22-o8\\\" style=\\\"fill: blue\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o6\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o4\\\" style=\\\"fill: white\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o3\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-21\\\" transform=\\\"translate(82.000000, 154.588457) rotate(60.000000) translate(-82.000000, -154.588457) translate(34.000000, 88.588457)\\\">\\n <polygon id=\\\"WEDGES-l21-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o4\\\" style=\\\"fill: blue\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o3\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o2\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-20\\\" transform=\\\"translate(88.588457, 196.315353) rotate(30.000000) translate(-88.588457, -196.315353) translate(40.588457, 130.315353)\\\">\\n <polygon id=\\\"WEDGES-l20-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o7\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o6\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o4\\\" style=\\\"fill: blue\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o3\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-19\\\" transform=\\\"translate(67.157677, 163.157677)\\\">\\n <polygon id=\\\"WEDGES-l19-o8\\\" style=\\\"fill: orange\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o6\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o4\\\" style=\\\"fill: white\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o3\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-18\\\" transform=\\\"translate(154.588457, 244.315353) scale(-1, -1) rotate(150.000000) translate(-154.588457, -244.315353) translate(106.588457, 178.315353)\\\">\\n <polygon id=\\\"WEDGES-l18-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o4\\\" style=\\\"fill: orange\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o3\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o2\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-17\\\" transform=\\\"translate(196.315353, 237.726896) scale(-1, -1) rotate(120.000000) translate(-196.315353, -237.726896) translate(148.315353, 171.726896)\\\">\\n <polygon id=\\\"WEDGES-l17-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o7\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o6\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o4\\\" style=\\\"fill: orange\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o3\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-16\\\" transform=\\\"translate(229.157677, 211.157677) scale(-1, -1) rotate(90.000000) translate(-229.157677, -211.157677) translate(181.157677, 145.157677)\\\">\\n <polygon id=\\\"WEDGES-l16-o8\\\" style=\\\"fill: limegreen\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o6\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o4\\\" style=\\\"fill: white\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o3\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-15\\\" transform=\\\"translate(244.315353, 171.726896) scale(-1, -1) rotate(60.000000) translate(-244.315353, -171.726896) translate(196.315353, 105.726896)\\\">\\n <polygon id=\\\"WEDGES-l15-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o4\\\" style=\\\"fill: limegreen\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o3\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o2\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-14\\\" transform=\\\"translate(237.726896, 130.000000) scale(-1, -1) rotate(30.000000) translate(-237.726896, -130.000000) translate(189.726896, 64.000000)\\\">\\n <polygon id=\\\"WEDGES-l14-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o7\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o6\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o4\\\" style=\\\"fill: limegreen\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o3\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-13\\\" transform=\\\"translate(211.157677, 97.157677) scale(-1, -1) translate(-211.157677, -97.157677) translate(163.157677, 31.157677)\\\">\\n <polygon id=\\\"WEDGES-l13-o8\\\" style=\\\"fill: red\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o6\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o4\\\" style=\\\"fill: white\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o3\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-12\\\" transform=\\\"translate(171.726896, 82.000000) rotate(150.000000) translate(-171.726896, -82.000000) translate(123.726896, 16.000000)\\\">\\n <polygon id=\\\"WEDGES-l12-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o4\\\" style=\\\"fill: red\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o3\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o2\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n </g>\\n <g id=\\\"TOP\\\" transform=\\\"translate(41.000000, -31.000000)\\\" stroke-linejoin=\\\"round\\\">\\n <g id=\\\"WEDGES-11\\\" transform=\\\"translate(154.588457, 244.315353) scale(-1, -1) rotate(150.000000) translate(-154.588457, -244.315353) translate(106.588457, 178.315353)\\\">\\n <polygon id=\\\"WEDGES-l11-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o4\\\" style=\\\"fill: red\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o3\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o2\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-10\\\" transform=\\\"translate(196.315353, 237.726896) scale(-1, -1) rotate(120.000000) translate(-196.315353, -237.726896) translate(148.315353, 171.726896)\\\">\\n <polygon id=\\\"WEDGES-l10-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o7\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o6\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o4\\\" style=\\\"fill: red\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o3\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-9\\\" transform=\\\"translate(229.157677, 211.157677) scale(-1, -1) rotate(90.000000) translate(-229.157677, -211.157677) translate(181.157677, 145.157677)\\\">\\n <polygon id=\\\"WEDGES-l9-o8\\\" style=\\\"fill: limegreen\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o6\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o4\\\" style=\\\"fill: yellow\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o3\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-8\\\" transform=\\\"translate(244.315353, 171.726896) scale(-1, -1) rotate(60.000000) translate(-244.315353, -171.726896) translate(196.315353, 105.726896)\\\">\\n <polygon id=\\\"WEDGES-l8-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o4\\\" style=\\\"fill: limegreen\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o3\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o2\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-7\\\" transform=\\\"translate(237.726896, 130.000000) scale(-1, -1) rotate(30.000000) translate(-237.726896, -130.000000) translate(189.726896, 64.000000)\\\">\\n <polygon id=\\\"WEDGES-l7-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o7\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o6\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o4\\\" style=\\\"fill: limegreen\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o3\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-6\\\" transform=\\\"translate(211.157677, 97.157677) scale(-1, -1) translate(-211.157677, -97.157677) translate(163.157677, 31.157677)\\\">\\n <polygon id=\\\"WEDGES-l6-o8\\\" style=\\\"fill: orange\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o6\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o4\\\" style=\\\"fill: yellow\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o3\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-5\\\" transform=\\\"translate(171.726896, 82.000000) rotate(150.000000) translate(-171.726896, -82.000000) translate(123.726896, 16.000000)\\\">\\n <polygon id=\\\"WEDGES-l5-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o4\\\" style=\\\"fill: orange\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o3\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o2\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-4\\\" transform=\\\"translate(130.000000, 88.588457) rotate(120.000000) translate(-130.000000, -88.588457) translate(82.000000, 22.588457)\\\">\\n <polygon id=\\\"WEDGES-l4-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o7\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o6\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o4\\\" style=\\\"fill: orange\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o3\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-3\\\" transform=\\\"translate(97.157677, 115.157677) rotate(90.000000) translate(-97.157677, -115.157677) translate(49.157677, 49.157677)\\\">\\n <polygon id=\\\"WEDGES-l3-o8\\\" style=\\\"fill: blue\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o6\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o4\\\" style=\\\"fill: yellow\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o3\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-2\\\" transform=\\\"translate(82.000000, 154.588457) rotate(60.000000) translate(-82.000000, -154.588457) translate(34.000000, 88.588457)\\\">\\n <polygon id=\\\"WEDGES-l2-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o4\\\" style=\\\"fill: blue\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o3\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o2\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-1\\\" transform=\\\"translate(88.588457, 196.315353) rotate(30.000000) translate(-88.588457, -196.315353) translate(40.588457, 130.315353)\\\">\\n <polygon id=\\\"WEDGES-l1-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o7\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o6\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o4\\\" style=\\\"fill: blue\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o3\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-0\\\" transform=\\\"translate(67.157677, 163.157677)\\\">\\n <polygon id=\\\"WEDGES-l0-o8\\\" style=\\\"fill: red\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o6\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o4\\\" style=\\\"fill: yellow\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o3\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n </g>\\n <g id=\\\"DIAGONALS\\\" transform=\\\"translate(168.861561, 1.019238)\\\" stroke=\\\"#000000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\">\\n <line x1=\\\"0\\\" y1=\\\"287.842323\\\" x2=\\\"70.2768775\\\" y2=\\\"550.119201\\\" id=\\\"BOTTOM\\\"></line>\\n <line x1=\\\"0.15767665\\\" y1=\\\"262.276878\\\" x2=\\\"70.4345542\\\" y2=\\\"2.27488928e-16\\\" id=\\\"TOP\\\"></line>\\n </g>\\n </g>\\n</svg>`});var Hf,Yf=U(()=>{Ye();cr();Hf={id:\\\"square1\\\",fullName:\\\"Square-1\\\",inventedBy:[\\\"Karel Hr\\\\u0161el\\\",\\\"Vojtech Kopsk\\\\xFD\\\"],inventionYear:1990,kpuzzle:we(async()=>new ke((await Promise.resolve().then(()=>(jf(),Qf))).sq1HyperOrbitKPuzzleDefinition)),svg:we(async()=>(await Promise.resolve().then(()=>(Vf(),qf))).default)}});var Jf={};De(Jf,{kilominxSVG:()=>dm});var dm,Zf=U(()=>{dm=`<svg id=\\\"svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 800 500\\\">\\n<style type=\\\"text/css\\\"><![CDATA[.sticker { stroke: #000000; stroke-width: 1px; }]]></style>\\n<g><title>U</title>\\n<polygon id=\\\"CORNERS-l0-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ffffff\\\" points=\\\"247.941 89.861 283.500 115.696 269.918 157.499 212.382 138.805\\\"/>\\n<polygon id=\\\"CORNERS-l10-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #ffffff\\\" points=\\\"154.845 157.499 141.263 115.696 176.822 89.861 212.382 138.805\\\"/>\\n<polygon id=\\\"CORNERS-l5-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #ffffff\\\" points=\\\"176.822 89.861 212.381 64.025 247.941 89.861 212.382 138.805\\\"/>\\n<polygon id=\\\"CORNERS-l4-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ffffff\\\" points=\\\"212.381 199.301 168.427 199.301 154.845 157.499 212.382 138.805\\\"/>\\n<polygon id=\\\"CORNERS-l1-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ffffff\\\" points=\\\"269.918 157.499 256.335 199.301 212.381 199.301 212.382 138.805\\\"/>\\n</g><g><title>F</title>\\n<polygon id=\\\"CORNERS-l7-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #006633\\\" points=\\\"247.941 319.263 212.381 345.098 176.822 319.263 212.382 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l1-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #006633\\\" points=\\\"212.381 209.823 256.335 209.823 269.918 251.625 212.382 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l3-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #006633\\\" points=\\\"269.918 251.625 283.500 293.428 247.941 319.263 212.382 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l4-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #006633\\\" points=\\\"154.845 251.625 168.427 209.823 212.381 209.823 212.382 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l9-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #006633\\\" points=\\\"176.822 319.263 141.263 293.428 154.845 251.625 212.382 270.32\\\"/>\\n</g><g><title>L</title>\\n<polygon id=\\\"CORNERS-l13-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #660099\\\" points=\\\"87.302 290.176 43.349 290.176 29.766 248.374 87.303 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l4-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #660099\\\" points=\\\"122.862 180.736 158.421 206.571 144.839 248.374 87.303 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l9-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #660099\\\" points=\\\"144.839 248.374 131.256 290.176 87.302 290.176 87.303 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l10-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #660099\\\" points=\\\"51.743 180.736 87.302 154.901 122.862 180.736 87.303 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l11-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #660099\\\" points=\\\"29.766 248.374 16.184 206.571 51.743 180.736 87.303 229.68\\\"/>\\n</g><g><title>BL</title>\\n<polygon id=\\\"CORNERS-l15-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ffff00\\\" points=\\\"700.480 172.224 664.921 198.059 629.361 172.224 664.921 123.281\\\"/>\\n<polygon id=\\\"CORNERS-l10-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ffff00\\\" points=\\\"664.921 62.784 708.874 62.784 722.457 104.586 664.921 123.281\\\"/>\\n<polygon id=\\\"CORNERS-l11-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #ffff00\\\" points=\\\"722.457 104.586 736.039 146.389 700.480 172.224 664.921 123.281\\\"/>\\n<polygon id=\\\"CORNERS-l5-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ffff00\\\" points=\\\"607.384 104.586 620.967 62.784 664.921 62.784 664.921 123.281\\\"/>\\n<polygon id=\\\"CORNERS-l19-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #ffff00\\\" points=\\\"629.361 172.224 593.802 146.389 607.384 104.586 664.921 123.281\\\"/>\\n</g><g><title>BR</title>\\n<polygon id=\\\"CORNERS-l12-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #0000ff\\\" points=\\\"545.874 172.224 510.315 198.059 474.755 172.224 510.315 123.281\\\"/>\\n<polygon id=\\\"CORNERS-l5-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #0000ff\\\" points=\\\"510.315 62.784 554.269 62.784 567.851 104.586 510.315 123.281\\\"/>\\n<polygon id=\\\"CORNERS-l19-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #0000ff\\\" points=\\\"567.851 104.586 581.433 146.389 545.874 172.224 510.315 123.281\\\"/>\\n<polygon id=\\\"CORNERS-l0-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #0000ff\\\" points=\\\"452.779 104.586 466.361 62.784 510.315 62.784 510.315 123.281\\\"/>\\n<polygon id=\\\"CORNERS-l6-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #0000ff\\\" points=\\\"474.755 172.224 439.196 146.389 452.779 104.586 510.315 123.281\\\"/>\\n</g><g><title>R</title>\\n<polygon id=\\\"CORNERS-l6-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ff0000\\\" points=\\\"373.019 180.736 408.579 206.571 394.996 248.374 337.461 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l1-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #ff0000\\\" points=\\\"279.924 248.374 266.341 206.571 301.901 180.736 337.461 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l0-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #ff0000\\\" points=\\\"301.901 180.736 337.460 154.901 373.019 180.736 337.461 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l3-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ff0000\\\" points=\\\"337.460 290.176 293.506 290.176 279.924 248.374 337.461 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l2-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #ff0000\\\" points=\\\"394.996 248.374 381.414 290.176 337.460 290.176 337.461 229.68\\\"/>\\n</g><g><title>C</title>\\n<polygon id=\\\"CORNERS-l8-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #ffffd0\\\" points=\\\"347.220 395.413 333.638 437.215 289.684 437.215 289.685 376.719\\\"/>\\n<polygon id=\\\"CORNERS-l3-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #ffffd0\\\" points=\\\"254.125 327.775 289.684 301.940 325.244 327.775 289.685 376.719\\\"/>\\n<polygon id=\\\"CORNERS-l2-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ffffd0\\\" points=\\\"325.244 327.775 360.803 353.610 347.220 395.413 289.685 376.719\\\"/>\\n<polygon id=\\\"CORNERS-l7-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ffffd0\\\" points=\\\"232.148 395.413 218.566 353.610 254.125 327.775 289.685 376.719\\\"/>\\n<polygon id=\\\"CORNERS-l17-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #ffffd0\\\" points=\\\"289.684 437.215 245.730 437.215 232.148 395.413 289.685 376.719\\\"/>\\n</g><g><title>A</title>\\n<polygon id=\\\"CORNERS-l17-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #3399ff\\\" points=\\\"192.615 395.413 179.032 437.215 135.078 437.215 135.079 376.719\\\"/>\\n<polygon id=\\\"CORNERS-l9-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #3399ff\\\" points=\\\"99.519 327.775 135.078 301.940 170.638 327.775 135.079 376.719\\\"/>\\n<polygon id=\\\"CORNERS-l7-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #3399ff\\\" points=\\\"170.638 327.775 206.197 353.610 192.615 395.413 135.079 376.719\\\"/>\\n<polygon id=\\\"CORNERS-l13-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #3399ff\\\" points=\\\"77.542 395.413 63.960 353.610 99.519 327.775 135.079 376.719\\\"/>\\n<polygon id=\\\"CORNERS-l14-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #3399ff\\\" points=\\\"135.078 437.215 91.125 437.215 77.542 395.413 135.079 376.719\\\"/>\\n</g><g><title>I</title>\\n<polygon id=\\\"CORNERS-l18-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ff6633\\\" points=\\\"677.137 319.263 641.578 293.428 655.160 251.625 712.697 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l13-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #ff6633\\\" points=\\\"770.233 251.625 783.815 293.428 748.256 319.263 712.697 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l14-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #ff6633\\\" points=\\\"748.256 319.263 712.697 345.098 677.137 319.263 712.697 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l11-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #ff6633\\\" points=\\\"712.697 209.823 756.650 209.823 770.233 251.625 712.697 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l15-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #ff6633\\\" points=\\\"655.160 251.625 668.743 209.823 712.697 209.823 712.697 270.32\\\"/>\\n</g><g><title>BF</title>\\n<polygon id=\\\"CORNERS-l16-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #99ff00\\\" points=\\\"587.618 290.176 543.664 290.176 530.081 248.374 587.618 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l15-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #99ff00\\\" points=\\\"623.177 180.736 658.736 206.571 645.154 248.374 587.618 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l18-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #99ff00\\\" points=\\\"645.154 248.374 631.572 290.176 587.618 290.176 587.618 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l19-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #99ff00\\\" points=\\\"552.058 180.736 587.618 154.901 623.177 180.736 587.618 229.68\\\"/>\\n<polygon id=\\\"CORNERS-l12-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #99ff00\\\" points=\\\"530.081 248.374 516.499 206.571 552.058 180.736 587.618 229.68\\\"/>\\n</g><g><title>E</title>\\n<polygon id=\\\"CORNERS-l8-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #ff66cc\\\" points=\\\"498.098 319.263 462.539 345.098 426.980 319.263 462.539 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l12-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #ff66cc\\\" points=\\\"462.539 209.823 506.493 209.823 520.075 251.625 462.539 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l16-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #ff66cc\\\" points=\\\"520.075 251.625 533.658 293.428 498.098 319.263 462.539 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l6-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #ff66cc\\\" points=\\\"405.003 251.625 418.585 209.823 462.539 209.823 462.539 270.32\\\"/>\\n<polygon id=\\\"CORNERS-l2-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #ff66cc\\\" points=\\\"426.980 319.263 391.420 293.428 405.003 251.625 462.539 270.32\\\"/>\\n</g><g><title>D</title>\\n<polygon id=\\\"CORNERS-l18-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #999999\\\" points=\\\"587.618 300.698 631.572 300.698 645.154 342.500 587.618 361.195\\\"/>\\n<polygon id=\\\"CORNERS-l8-o1\\\" class=\\\"sticker\\\" style=\\\"fill: #999999\\\" points=\\\"552.058 410.138 516.499 384.303 530.081 342.500 587.618 361.195\\\"/>\\n<polygon id=\\\"CORNERS-l16-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #999999\\\" points=\\\"530.081 342.500 543.664 300.698 587.618 300.698 587.618 361.195\\\"/>\\n<polygon id=\\\"CORNERS-l17-o0\\\" class=\\\"sticker\\\" style=\\\"fill: #999999\\\" points=\\\"623.177 410.138 587.618 435.974 552.058 410.138 587.618 361.195\\\"/>\\n<polygon id=\\\"CORNERS-l14-o2\\\" class=\\\"sticker\\\" style=\\\"fill: #999999\\\" points=\\\"645.154 342.500 658.736 384.303 623.177 410.138 587.618 361.195\\\"/>\\n</g></svg>\\n`});var Xf,$f=U(()=>{Ye();Lr();cr();Xf={id:\\\"kilominx\\\",fullName:\\\"Kilominx\\\",kpuzzle:we(async()=>{let e=await Qr(\\\"megaminx + chopasaurus\\\"),t=JSON.parse(JSON.stringify(e.getKPuzzleDefinition(!0)));delete t.orbits.CENTERS,delete t.orbits.CENTERS2,delete t.startStateData.CENTERS,delete t.startStateData.CENTERS2;for(let i of Object.values(t.moves))delete i.CENTERS,delete i.CENTERS2;t.name=\\\"kilominx\\\",delete t.experimentalPuzzleDescription;let r=await Promise.resolve().then(()=>(Cn(),Yl)),n=new r.ExperimentalPGNotation(e,e.getOrbitsDef(!0)),o=new ke(t,{experimentalPGNotation:{lookupMove:i=>i.toString()===\\\"x2\\\"||i.toString()===\\\"x2'\\\"?l.transformationData:n.lookupMove(i)}}),l=o.algToTransformation(\\\"Rv2 Fv Uv'\\\");return t.moves.x2=l,o}),svg:we(async()=>(await Promise.resolve().then(()=>(Zf(),Jf))).kilominxSVG)}});var _e,Jt=U(()=>{Ye();w2();S2();_o();Sn();Lr();Lf();Df();xf();_f();Tf();Kf();Yf();$f();_e={\\\"3x3x3\\\":es,\\\"2x2x2\\\":Go,\\\"4x4x4\\\":new jr({id:\\\"4x4x4\\\",fullName:\\\"4\\\\xD74\\\\xD74 Cube\\\"}),\\\"5x5x5\\\":new jr({id:\\\"5x5x5\\\",fullName:\\\"5\\\\xD75\\\\xD75 Cube\\\"}),\\\"6x6x6\\\":new jr({id:\\\"6x6x6\\\",fullName:\\\"6\\\\xD76\\\\xD76 Cube\\\"}),\\\"7x7x7\\\":new jr({id:\\\"7x7x7\\\",fullName:\\\"7\\\\xD77\\\\xD77 Cube\\\"}),\\\"40x40x40\\\":new jr({id:\\\"40x40x40\\\",fullName:\\\"40\\\\xD740\\\\xD740 Cube\\\"}),clock:bf,megaminx:Nf,pyraminx:Wf,skewb:new Bt({id:\\\"skewb\\\",fullName:\\\"Skewb\\\",inventedBy:[\\\"Tony Durham\\\"]}),square1:Hf,fto:kf,gigaminx:new Bt({id:\\\"gigaminx\\\",fullName:\\\"Gigaminx\\\",inventedBy:[\\\"Tyler Fox\\\"],inventionYear:2006}),master_tetraminx:new Bt({pgID:\\\"master tetraminx\\\",id:\\\"master_tetraminx\\\",fullName:\\\"Master Tetraminx\\\",inventedBy:[\\\"Katsuhiko Okamoto\\\"],inventionYear:2002}),kilominx:Xf}});function tu(e){eu=e}function ze(){if(!eu)throw new Error(\\\"Must be called from inside a worker, to avoid impact on page performance. Try importing from the top level of `cubing/solve`?\\\")}var eu,bt=U(()=>{eu=!1});async function ru(){return globalThis?.crypto?.getRandomValues?crypto.getRandomValues.bind(crypto):(await(hm??(hm=import(Fm())))).webcrypto.getRandomValues}var hm,Dm,Fm,nu=U(()=>{hm=null,Dm=\\\"cr-yp-to\\\",Fm=()=>Dm.replace(/-/g,\\\"\\\")});function Um(e){let t=new Uint32Array(2);e(t);let r=t[0],n=t[1];return Math.floor(r*Am)+Math.floor(n/ym)}function bm(e){if(typeof e!=\\\"number\\\"||e<0||Math.floor(e)!==e)throw new Error(\\\"randomInt.below() not called with a positive integer value.\\\");if(e>ou)throw new Error(`Called randomInt.below() with max == ${e}, which is larger than JavaScript can handle with integer precision.`)}async function Ce(){let e=await ru(),t=r=>{bm(r);let n=Um(e),o=Math.floor(ou/r)*r;return n<o?n%r:t(r)};return t}var ou,Am,ym,$l=U(()=>{nu();ou=9007199254740992,Am=2097152,ym=2048});async function Zt(){let e=await Ce();return t=>t[e(t.length)]}var lu=U(()=>{$l()});async function iu(e){for(let t=1;t<e.length;t++){let r=(await xm)(t);[e[t],e[r]]=[e[r],e[t]]}}var xm,xt=U(()=>{lu();$l();$l();xm=Ce()});function It(e,t){let r=[],n=[];for(let g of t.split(`\\n`)){let c=g.split(\\\" \\\");if(!g.startsWith(\\\"SetOrder \\\")){if(g.startsWith(\\\"Alg \\\")){let u=_.fromString(g.substring(4));n.push({alg:u,transformation:e.algToTransformation(u)})}else if(g.startsWith(\\\"SubgroupSizes \\\"))for(let u=1;u<c.length;u++)r.push(parseInt(c[u]))}}let o={ordering:new Array(r.length)},l=[],i=0;l.push(0);let a=_.fromString(\\\"\\\"),s=e.identityTransformation();for(let g=0;g<r.length;g++)i+=r[g],l.push(i),n.splice(i-1,0,{alg:a,transformation:s});if(n.length!==i)throw Error(`Bad sgs; expected ${i-r.length} algs but saw ${n.length-r.length}`);let f={};for(let g in e.definition.orbits){let c=e.definition.orbits[g];f[g]=new Array(c.numPieces).fill(!1)}for(let g=r.length-1;g>=0;g--){let c=[];for(let p=l[g];p<l[g+1];p++){let m=n[p].transformation;for(let L in e.definition.orbits){let R=e.definition.orbits[L];for(let h=0;h<R.numPieces;h++)(m.transformationData[L].permutation[h]!==h||m.transformationData[L].orientation[h]!==0)&&(f[L][h]||(c.push({orbitName:L,permutationIdx:h}),f[L][h]=!0))}}let u={};for(let p=l[g];p<l[g+1];p++){let m=n[p].transformation.invert(),L=\\\"\\\";for(let R=0;R<c.length;R++){let h=c[R];L=`${L} ${m.transformationData[h.orbitName].permutation[h.permutationIdx]} ${m.transformationData[h.orbitName].orientation[h.permutationIdx]}`}u[L]=n[p],n[p].alg=n[p].alg.invert(),n[p].transformation=n[p].transformation.invert()}o.ordering[g]={pieceOrdering:c,lookup:u}}return o}var Pn=U(()=>{Re()});var pu={};De(pu,{cachedData222:()=>Mm,data222:()=>cu});async function Mm(){return Pm??(Pm=cu())}async function cu(){return It(await Go.kpuzzle(),`SubgroupSizes 24 21 18 15 12 9 6\\n\\nAlg F\\nAlg F2\\nAlg F'\\nAlg D\\nAlg D2\\nAlg D'\\nAlg L\\nAlg L2\\nAlg L'\\nAlg F U\\nAlg F U2\\nAlg F U'\\nAlg F L\\nAlg F L2\\nAlg F L'\\nAlg F2 U\\nAlg F2 U'\\nAlg F2 R\\nAlg F2 R'\\nAlg F' D\\nAlg F' D'\\nAlg F' R\\nAlg F' R'\\nAlg B\\nAlg B2\\nAlg B'\\nAlg B R\\nAlg B R2\\nAlg B R'\\nAlg B2 U\\nAlg B2 U2\\nAlg B2 U'\\nAlg B2 R\\nAlg B2 R2\\nAlg B2 R'\\nAlg B' U\\nAlg B' U'\\nAlg F D' F'\\nAlg F2 L F2\\nAlg B R' B2\\nAlg B R' U2\\nAlg B2 U R'\\nAlg B2 R B'\\nAlg R\\nAlg R2\\nAlg R'\\nAlg R2 U\\nAlg R2 U2\\nAlg R2 U'\\nAlg R' U\\nAlg R' U2\\nAlg R' U'\\nAlg F R F'\\nAlg F R2 F'\\nAlg L2 D' L2\\nAlg L' B L\\nAlg R2 U' R\\nAlg R' U R2\\nAlg R' U R'\\nAlg F R F' U2\\nAlg F' U F\\nAlg F' U2 F\\nAlg F' U' F\\nAlg L F L'\\nAlg L F2 L'\\nAlg L F' L'\\nAlg F' D R D'\\nAlg F' U2 F U'\\nAlg F D2 B D2 F'\\nAlg F2 D' L2 D F2\\nAlg F2 L F L' F\\nAlg L' F2 L' F2 L\\nAlg F L' U' L2 F L'\\nAlg F2 L F L' U2 F\\nAlg U\\nAlg U2\\nAlg U'\\nAlg F2 D2 B D2 F2\\nAlg F2 D2 B' D2 F2\\nAlg L2 D2 R D2 L2\\nAlg L2 D2 R' D2 L2\\nAlg F2 D2 B D2 F2 U\\nAlg F2 D2 B D2 F2 U'\\nAlg U F2 D2 B D2 F2\\nAlg U F2 D2 B' D2 F2\\nAlg F D B D' R' F' U\\nAlg F' D L F U B' L'\\nAlg F' L' F U L U L'\\nAlg D' L F D R' U' F'\\nAlg L F L' U' F' U' F\\nAlg L D' F' L' U' R F\\nAlg F D F U F' L' F' R'\\nAlg F2 D' F L F2 D F' R'\\nAlg F D' F L' D F R2 U2 F' U'\\nAlg F D' L D' L F D2 L2 B' R'\\nAlg F L' D F R2 D2 L D F' U2\\nAlg F L' D F2 D' L F L2 F2 U\\nAlg F D F' D L2 F R' F' D' B2 U'`)}var Pm,mu=U(()=>{Jt();Pn();Pm=null});async function Mn(e,t){let r=new mt;r.experimentalPushAlg(e);for(let n of t){let o=(await Zt())(n);o!==null&&r.push(B.fromString(o))}return r.toAlg()}var ti=U(()=>{Re();xt()});function hu(e,t){return e.slice(t)+e.slice(0,t)}function Qm(e){let t=[[],[]];for(let r=0;r<6;r++)if(e.stateData.CENTERS.pieces[r]!==r)throw new Error(\\\"non-oriented puzzles are not supported\\\");for(let r=0;r<12;r++)t[0].push(hu(Im[e.stateData.EDGES.pieces[r]],e.stateData.EDGES.orientation[r]));for(let r=0;r<8;r++)t[1].push(hu(Om[e.stateData.CORNERS.pieces[r]],e.stateData.CORNERS.orientation[r]));return t.push(Wm),t}function Du(e){let t=Qm(e);return Km.map(([r,n,o])=>t[r][n][o]).join(\\\"\\\")}var Im,Om,Wm,Km,Fu=U(()=>{Im=\\\"UF UR UB UL DF DR DB DL FR FL BR BL\\\".split(\\\" \\\"),Om=\\\"UFR URB UBL ULF DRF DFL DLB DBR\\\".split(\\\" \\\"),Wm=\\\"U L F R B D\\\".split(\\\" \\\"),Km=[[1,2,0],[0,2,0],[1,1,0],[0,3,0],[2,0,0],[0,1,0],[1,3,0],[0,0,0],[1,0,0],[1,0,2],[0,1,1],[1,1,1],[0,8,1],[2,3,0],[0,10,1],[1,4,1],[0,5,1],[1,7,2],[1,3,2],[0,0,1],[1,0,1],[0,9,0],[2,2,0],[0,8,0],[1,5,1],[0,4,1],[1,4,2],[1,5,0],[0,4,0],[1,4,0],[0,7,0],[2,5,0],[0,5,0],[1,6,0],[0,6,0],[1,7,0],[1,2,2],[0,3,1],[1,3,1],[0,11,1],[2,1,0],[0,9,1],[1,6,1],[0,7,1],[1,5,2],[1,1,2],[0,2,1],[1,2,1],[0,10,0],[2,4,0],[0,11,0],[1,7,1],[0,6,1],[1,6,2]]});function Au(e,t){let r=new Le(e.kpuzzle,{EDGES:e.stateData.EDGES,CORNERS:e.stateData.CORNERS,CENTERS:{pieces:e.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}}).experimentalToTransformation(),n=new Le(t.kpuzzle,{EDGES:t.stateData.EDGES,CORNERS:t.stateData.CORNERS,CENTERS:{pieces:t.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}}).experimentalToTransformation();return r.isIdentical(n)}function yu(e,t){if(Au(e.startState(),t))return!1;for(let r of\\\"ULFRBD\\\")for(let n=1;n<4;n++){let o=e.moveToTransformation(new B(r,n)).toKState();if(Au(o,t))return!1}return!0}var Uu=U(()=>{Re();Ye()});var bu,xu=U(()=>{bu=[[\\\"R U'\\\",\\\"R2 B\\\",\\\"D2 B2\\\",\\\"D' L B'\\\",\\\"R' U'\\\",\\\"B\\\",\\\"D B2\\\",\\\"R' B\\\",\\\"L' U\\\",\\\"L2 B'\\\",\\\"B2\\\",\\\"D L B'\\\",\\\"L U\\\",\\\"B'\\\",\\\"U'\\\",\\\"R B\\\",\\\"D' B2\\\",\\\"L B'\\\",\\\"U2\\\",\\\"U L' B'\\\",\\\"\\\",\\\"U' L' B'\\\",\\\"U\\\",\\\"L' B'\\\"],[\\\"F2 L2\\\",\\\"F' L'\\\",\\\"R' F L2\\\",\\\"D' L2\\\",\\\"F L2\\\",\\\"F2 L'\\\",\\\"R' F' L'\\\",\\\"R2 F L2\\\",\\\"R2 F2 L'\\\",\\\"L2\\\",\\\"F L'\\\",\\\"D' L\\\",\\\"D2 L2\\\",\\\"R2 F' L'\\\",\\\"D L\\\",\\\"\\\",\\\"L2 F L'\\\",\\\"L F' L2\\\",\\\"L F L'\\\",\\\"F' L2\\\",\\\"L'\\\",\\\"D L2\\\",\\\"D F L'\\\",\\\"L\\\"],[\\\"R B U2 B'\\\",\\\"R2 B U' B'\\\",\\\"F2 B U B'\\\",\\\"F B2 L' B2\\\",\\\"B2 L B2\\\",\\\"B U' B'\\\",\\\"R2 B U2 B'\\\",\\\"R' B U' B'\\\",\\\"B2 L' B2\\\",\\\"F B U B'\\\",\\\"B2 U' B2\\\",\\\"B' L B\\\",\\\"L F' B D' B'\\\",\\\"B' U' B2 D B'\\\",\\\"B U2 B'\\\",\\\"R B U' B'\\\",\\\"B2 L2 B2\\\",\\\"D' B' L B\\\",\\\"B U B'\\\",\\\"F' B2 L' B2\\\",\\\"\\\",\\\"B2 L' B' U' B'\\\"],[\\\"U F2 L2 U'\\\",\\\"F' U L' U'\\\",\\\"F2 U L' U'\\\",\\\"U F L2 U'\\\",\\\"U2 B2 U2\\\",\\\"R' U' B U\\\",\\\"D2 U L U'\\\",\\\"D U2 B' U2\\\",\\\"U L2 U'\\\",\\\"F U L' U'\\\",\\\"D U L U'\\\",\\\"U2 B' U2\\\",\\\"\\\",\\\"U2 B' U' L' U'\\\",\\\"U2 L' U2\\\",\\\"U' B U\\\",\\\"U L U'\\\",\\\"D' U2 B' U2\\\",\\\"U L' U'\\\",\\\"U2 B U2\\\"],[\\\"R' D' F2\\\",\\\"F'\\\",\\\"F2\\\",\\\"D R F'\\\",\\\"R D' F2\\\",\\\"R2 F'\\\",\\\"D' F2\\\",\\\"R F'\\\",\\\"F2 R' D' F2\\\",\\\"F\\\",\\\"D2 F2\\\",\\\"D' R F'\\\",\\\"R2 D' F2\\\",\\\"R' F'\\\",\\\"D F2\\\",\\\"D2 R F'\\\",\\\"\\\",\\\"F R' D' F2\\\"],[\\\"R' D2 F' D F\\\",\\\"R F2 R2 F2\\\",\\\"R2 F' D2 F\\\",\\\"F' R2 D2 F\\\",\\\"L D' L'\\\",\\\"D F' D2 F\\\",\\\"F2 R2 F2\\\",\\\"R F' D2 F\\\",\\\"F' R2 D' F\\\",\\\"F' R' D2 F\\\",\\\"F2 R' F2\\\",\\\"L D L'\\\",\\\"F' R D' F\\\",\\\"F2 R F2\\\",\\\"F' D2 F\\\",\\\"\\\",\\\"L D2 R D' L'\\\",\\\"F' D2 F' R F2\\\",\\\"D2 R2 F2 R2 F2\\\",\\\"D F' D' F\\\",\\\"F' D F\\\"],[\\\"U F2 U'\\\",\\\"R U F' U'\\\",\\\"D R U F2 U'\\\",\\\"U F U'\\\",\\\"R2 U F2 U'\\\",\\\"R' U F' U'\\\",\\\"R U F2 U'\\\",\\\"R2 U F' U'\\\",\\\"\\\",\\\"U L D L' F U'\\\",\\\"F2 D' R D F2\\\",\\\"D2 U F U'\\\",\\\"R' U F2 U'\\\",\\\"U F' U'\\\",\\\"F2 D2 R D2 F2\\\",\\\"D U F U'\\\"],[\\\"R2\\\",\\\"R' B' D B\\\",\\\"D R'\\\",\\\"F' R2 F\\\",\\\"\\\",\\\"R B' D B\\\",\\\"R'\\\",\\\"B' D B\\\",\\\"D' R'\\\",\\\"D2 F' R2 F\\\",\\\"R\\\",\\\"R2 B' D B\\\",\\\"D2 R'\\\",\\\"B' D' B\\\"],[\\\"R2 D' R2\\\",\\\"F' R' F R\\\",\\\"R D' R2 D R'\\\",\\\"D2 R2 D2 R2\\\",\\\"R' D' F' R F\\\",\\\"U F D F' U'\\\",\\\"\\\",\\\"R2 D2 B R' B' R'\\\",\\\"R' F D' F2 R F\\\",\\\"R2 D R2\\\",\\\"F2 U F U' F\\\",\\\"R' D F' R F\\\",\\\"D R2 D2 R2\\\",\\\"U F D' F' U'\\\",\\\"D R' D2 F' R F\\\",\\\"R2 D2 R2\\\",\\\"U F D2 F' U'\\\",\\\"R' D2 F' R F\\\"],[\\\"B R B'\\\",\\\"F D F' B R2 B'\\\",\\\"D B R2 B'\\\",\\\"D2 B R' B'\\\",\\\"B R2 B'\\\",\\\"D B R' B'\\\",\\\"D' B R2 B'\\\",\\\"B R' B'\\\",\\\"\\\",\\\"B R2 B' D B R' B'\\\",\\\"D2 B R2 B'\\\",\\\"D' B R' B'\\\"],[\\\"\\\",\\\"R' D R F D2 F'\\\",\\\"R' D R\\\",\\\"D F D' F'\\\",\\\"R F' R' F\\\",\\\"F D' F'\\\",\\\"R' D' R\\\",\\\"F D2 F'\\\",\\\"R' D2 R\\\",\\\"F D F'\\\"],[\\\"\\\",\\\"F2 D2 R F' R' D2 F' D2 F'\\\",\\\"F2 D2 F' D' F D' F' D2 F'\\\",\\\"F2 D F2 D F2 D2 F2\\\",\\\"D2 F L D2 L' D2 F'\\\",\\\"D F D2 L D2 L' F'\\\",\\\"R' D B' D2 B D' R\\\",\\\"R' D2 B' D2 B R\\\",\\\"F D2 F' D F D F'\\\",\\\"F D' L D2 L' D F'\\\",\\\"B D' F D B' D' F'\\\",\\\"F D2 L D2 L' F'\\\",\\\"F D' L D L' D F'\\\",\\\"F L D2 L' D2 F'\\\",\\\"R' B' D2 B D2 R\\\"],[\\\"D'\\\",\\\"F L D L' D' F'\\\",\\\"D2\\\",\\\"L B D B' D' L'\\\",\\\"D\\\",\\\"B' L' D' L D B\\\",\\\"\\\",\\\"D F L D L' D' F'\\\"],[\\\"F' D2 F D F' D F\\\",\\\"F' D' R' D R F\\\",\\\"F' R' D' R D F\\\",\\\"B D R D' R' B'\\\",\\\"\\\",\\\"D B' D' L' D L B\\\"],[\\\"D F D F' D F D2 F'\\\",\\\"F' U2 B' R' B U2 F' L F' L' F'\\\",\\\"\\\",\\\"D2 L D L2 F L F2 D F\\\"],[\\\"L B' L' F L B L' F'\\\",\\\"F2 U F' D2 F U' F' D2 F'\\\",\\\"D' F' D B D' F D B'\\\",\\\"F L2 F R2 F' L2 F R2 F2\\\",\\\"D B D' F' D B' D' F\\\",\\\"R F L F' R' F L' F'\\\",\\\"\\\",\\\"D2 B L' U2 L B' D2 B L' U2 L B'\\\",\\\"D2 F R' U2 R F' D2 F R' U2 R F'\\\",\\\"R F L' F' R' F L F'\\\",\\\"D F D' B' D F' D' B\\\",\\\"L2 F2 L' B2 L F2 L' B2 L'\\\"],[\\\"L B R' B' L' B R B'\\\",\\\"R' B R F' R' B' R F\\\",\\\"L D2 L U L' D2 L U' L2\\\",\\\"\\\",\\\"D2 B' D2 F D' L2 F L2 F' D2 B D' F'\\\",\\\"D2 F' R' F R2 B' D2 B D2 R' F D2 F'\\\",\\\"L B L' F L B' L' F'\\\",\\\"F' D2 F' U' F D2 F' U F2\\\",\\\"D' B' D F D' B D F'\\\"],[\\\"\\\",\\\"D2 F' L U2 L' F D2 F' L U2 L' F\\\",\\\"D2 B' R U2 R' B D2 B' R U2 R' B\\\"]]});var o1={};De(o1,{initialize:()=>CL,solveState:()=>PL});function wu(){}function qm(e){function t(){}return t.prototype=e||{},new t}function Vm(e){return e instanceof Array?e[0]:null}function Oo(e,t,r){var n=ri,o=Hm,l=Vm,i=n[e],a=l(i);i&&!a?H=i:(H=n[e]=t?o(t):{},H.castableTypeMap$=r,H.constructor=H,!t&&(H.typeMarker$=wu));for(var s=3;s<arguments.length;++s)arguments[s].prototype=H;a&&(H.___clazz$=a)}function Hm(e){var t=ri;return qm(t[e])}function Ym(){}function ni(e){return e<<24>>24}function ls(){this.typeName=null,this.simpleName=null,this.packageName=null,this.compoundName=null,this.canonicalName=null,this.typeId=null,this.arrayLiterals=null}function is(e,t){var r;return r=new ls,r.packageName=e,r.compoundName=t,r}function Rr(e,t,r){var n;return n=is(e,t),Xm(r,n),n}function Jm(e,t){var r;return r=is(e,t),r.modifiers=2,r}function oi(e,t){var r;return r=is(\\\"\\\",e),r.typeId=t,r.modifiers=1,r}function Su(e,t){var r=e.arrayLiterals=e.arrayLiterals||[];return r[t]||(r[t]=e.createClassLiteralForArray(t))}function Zm(e){if(e.isPrimitive())return null;var t=e.typeId,r=ri[t];return r}function Xm(e,t){if(!!e){t.typeId=e;var r=Zm(t);if(!r){ri[e]=[t];return}r.___clazz$=t}}function ee(e,t){return Su(e,t)}function Z(e,t,r,n,o,l){var i;return i=Eu(o,n),te(ee(e,l),t,r,o,i),i}function rt(e,t,r,n,o,l){return vu(e,t,r,n,o,0,l)}function vu(e,t,r,n,o,l,i){var a,s,f,g,c;if(g=o[l],f=l==i-1,a=f?n:0,c=Eu(a,g),te(ee(e,i-l),t[l],r[l],a,c),!f)for(++l,s=0;s<g;++s)c[s]=vu(e,t,r,n,o,l,i);return c}function te(e,t,r,n,o){return o.___clazz$=e,o.castableTypeMap$=t,o.typeMarker$=wu,o.__elementTypeId$=r,o.__elementTypeCategory$=n,o}function Eu(e,t){var r=new Array(t),n;switch(e){case 6:n={l:0,m:0,h:0};break;case 7:n=0;break;case 8:n=!1;break;default:return r}for(var o=0;o<t;++o)r[o]=n;return r}function ku(e){var t,r,n;return t=e&tt,r=e>>22&tt,n=e<0?Br:0,$m(t,r,n)}function $m(e,t,r){return{l:e,m:t,h:r}}function eL(e,t){var r,n,o;return r=e.l+t.l,n=e.m+t.m+(r>>22),o=e.h+t.h+(n>>22),{l:r&tt,m:n&tt,h:o&Br}}function Ot(e,t){return{l:e.l&t.l,m:e.m&t.m,h:e.h&t.h}}function as(e){var t,r;return e>-129&&e<128?(t=e+128,ii==null&&(ii=Z(_L,fe,293,256,0,1)),r=ii[t],!r&&(r=ii[t]=ku(e)),r):ku(e)}function _u(e,t){var r,n;return r=e.h>>19,n=t.h>>19,r==0?n!=0||e.h>t.h||e.h==t.h&&e.m>t.m||e.h==t.h&&e.m==t.m&&e.l>=t.l:!(n==0||e.h<t.h||e.h==t.h&&e.m<t.m||e.h==t.h&&e.m==t.m&&e.l<t.l)}function ss(e,t){return e.l!=t.l||e.m!=t.m||e.h!=t.h}function fs(e,t){return{l:e.l|t.l,m:e.m|t.m,h:e.h|t.h}}function li(e,t){var r,n,o;return t&=63,t<22?(r=e.l<<t,n=e.m<<t|e.l>>22-t,o=e.h<<t|e.m>>22-t):t<44?(r=0,n=e.l<<t-22,o=e.m<<t-22|e.l>>44-t):(r=0,n=0,o=e.l<<t-44),{l:r&tt,m:n&tt,h:o&Br}}function qr(e,t){var r,n,o,l,i;return t&=63,r=e.h,n=(r&jm)!=0,n&&(r|=-1048576),t<22?(i=r>>t,l=e.m>>t|r<<22-t,o=e.l>>t|e.m<<22-t):t<44?(i=n?Br:0,l=r>>t-22,o=e.m>>t-22|r<<44-t):(i=n?Br:0,l=n?tt:0,o=r>>t-44),{l:o&tt,m:l&tt,h:i&Br}}function zu(e,t){var r,n,o;return r=e.l-t.l,n=e.m-t.m+(r>>22),o=e.h-t.h+(n>>22),{l:r&tt,m:n&tt,h:o&Br}}function Vr(e){return e.l|e.m<<22}function tL(e){this.string=e}function dr(e,t){return e>t?e:t}function us(e,t){return e<t?e:t}function rL(e,t){return e.indexOf(t)}function nL(e){return oL(e,0,e.length)}function oL(e,t,r){for(var n=\\\"\\\",o=t;o<r;){var l=Math.min(o+1e4,r);n+=String.fromCharCode.apply(null,e.slice(o,l)),o=l}return n}function lL(e){return String.fromCharCode(e&Ve)}function Cu(e){return e.string+=\\\" \\\",e}function Pu(e,t){return e.string+=t,e}function aL(){tL.call(this,\\\"\\\")}function ai(e,t){var r;if(e===t)return!0;if(e.length!=t.length)return!1;for(r=0;r<e.length;++r)if(e[r]!=t[r])return!1;return!0}function Hr(){Mu||(Mu=!0,Dr=rt(Ae,[fe,Fe],[11,0],7,[495,18],2),Kn=rt(Ae,[fe,Fe],[11,0],7,[324,18],2),In=rt(Ae,[fe,Fe],[11,0],7,[336,18],2),hr=rt(Ae,[fe,Fe],[11,0],7,[495,8],2),ui=Z(Te,Ne,0,20048,7,1),fi=Z(Te,Ne,0,20791,7,1),Wn=Z(Te,Ne,0,82945,7,1),Nn=rt(Ae,[fe,Fe],[11,0],7,[2768,10],2),Gn=rt(Ae,[fe,Fe],[11,0],7,[2768,10],2),On=rt(Ae,[fe,Fe],[11,0],7,[24,10],2),Qo=rt(Ae,[fe,Fe],[11,0],7,[24,16],2),Yr=rt(Ae,[fe,Fe],[11,0],7,[140,16],2),si=Z(Te,Ne,0,8305,7,1),Tn=Z(Te,Ne,0,48441,7,1))}function sL(e,t,r){return e.slice_0=Dr[t.slice_0][r],e.flip=In[t.flip][(X(),Zr)[r<<3|t.fsym]],e.fsym=e.flip&7^t.fsym,e.flip>>=3,e.twist=Kn[t.twist][Zr[r<<3|t.tsym]],e.tsym=e.twist&7^t.tsym,e.twist>>=3,e.prun=dr(dr(st(ui,e.twist*495+hr[e.slice_0][e.tsym]),st(fi,e.flip*495+hr[e.slice_0][e.fsym])),st(Wn,e.twist<<11|yr[e.flip<<3|e.fsym^e.tsym])),e.prun}function fL(e,t,r){return r=(X(),Vo)[3][r],e.flipc=In[t.flipc>>3][Zr[r<<3|t.flipc&7]]^t.flipc&7,e.twistc=Kn[t.twistc>>3][Zr[r<<3|t.twistc&7]]^t.twistc&7,st(Wn,e.twistc>>3<<11|yr[e.flipc^e.twistc&7])}function Nu(e,t,r){var n;return e.twist=(X(),Ho)[mi(t)],e.flip=Jr[pi(t)],e.tsym=e.twist&7,e.twist=e.twist>>3,e.prun=st(Wn,e.twist<<11|yr[e.flip^e.tsym]),e.prun>r||(e.fsym=e.flip&7,e.flip=e.flip>>3,e.slice_0=494-qn(t.ea,8,!0),e.prun=dr(e.prun,dr(st(ui,e.twist*495+hr[e.slice_0][e.tsym]),st(fi,e.flip*495+hr[e.slice_0][e.fsym]))),e.prun>r)?!1:(n=new ge,jo(t,1,n),qo(t,1,n),e.twistc=Ho[mi(n)],e.flipc=Jr[pi(n)],e.prun=dr(e.prun,st(Wn,e.twistc>>3<<11|yr[e.flipc^e.twistc&7])),e.prun<=r)}function Wo(){Hr()}function st(e,t){return Hr(),e[t>>3]>>(t<<2)&15}function Tu(e){Hr(),!(gi==2||gi==1&&!e)&&(gi==0&&(AL(),uL(),cL(),mL(),gL(),X(),Bs(2048,Rs,Jr,ju=Z(Ae,Fe,0,336,7,1),0),Bs(2187,Fs,Ho,Ds=Z(Ae,Fe,0,324,7,1),1),pL(),LL(),BL()),Ko(si,On,Qo,Nn,(X(),hs),584244,e),Ko(Tn,gs,Yr,Gn,hs,514084,e),Ko(ui,Dr,hr,Kn,Ds,431619,e),Ko(fi,Dr,hr,In,ju,431619,e),Ko(Wn,null,null,Kn,Ds,103939,e),gi=e?2:1)}function uL(){var e,t,r,n;for(e=new ge,t=new ge,r=0;r<2768;r++)for(hL(e,(X(),Qn)[r]),n=0;n<10;n++)Fr(e,ce[(Je(),St)[n]],t),Nn[r][n]=Ri($t[ut(t.ca,8,!1)])&Ve}function gL(){var e,t,r,n,o;for(e=new ge,t=new ge,gs=rt(Ae,[fe,Fe],[11,0],7,[140,10],2),r=0;r<140;r++){for(e1(e.ca,r%70,0,!1),o=0;o<10;o++)Fr(e,(X(),ce)[(Je(),St)[o]],t),gs[r][o]=qn(t.ca,0,!1)+70*(165>>o&1^~~(r/70))&Ve;for(n=0;n<16;n++)jo(e,(X(),ft)[0][n],t),Yr[r][n]=qn(t.ca,0,!1)+70*~~(r/70)&Ve}}function cL(){var e,t,r,n;for(e=new ge,t=new ge,r=0;r<2768;r++)for(Wu(e,(X(),Qn)[r]),n=0;n<10;n++)Rt(e,ce[(Je(),St)[n]],t),Gn[r][n]=$t[ut(t.ea,8,!0)]}function pL(){var e,t,r,n;for(e=new ge,t=new ge,r=0;r<336;r++)for(ms(e,(X(),Rs)[r]),n=0;n<18;n++)Rt(e,ce[n],t),In[r][n]=Jr[pi(t)]}function mL(){var e,t,r,n,o;for(e=new ge,t=new ge,r=0;r<24;r++){for(Xr(e.ea,r,12,!0),o=0;o<10;o++)Rt(e,(X(),ce)[(Je(),St)[o]],t),On[r][o]=ut(t.ea,12,!0)%24&Ve;for(n=0;n<16;n++)qo(e,(X(),ft)[0][n],t),Qo[r][n]=ut(t.ea,12,!0)%24&Ve}}function Ko(e,t,r,n,o,l,i){var a,s,f,g,c,u,p,m,L,R,h,A,y,k,E,Q,$,N,le,b,z,M,w,S,C,j,J,pe,Be,Ue,xe,Ct,Ie,ot,Ee,F;if(y=l&15,h=(l>>4&1)==1?os:0,f=(l>>5&1)==1,a=l>>8&15,g=l>>12&15,c=l>>16&15,R=i?g:c,A=(1<<y)-1,s=t==null,m=s?2048:t.length,L=m*n.length,p=f?10:18,u=p==10?66:599186,E=(e[L>>3]>>(L<<2)&15)-1,E==-1){for(N=0;N<~~(L/8)+1;N++)e[N]=Io;e[0]^=1,E=0}for(;E<R;){for(C=(E+1)*Io^-1,le=0;le<e.length;le++)Ee=e[le]^C,Ee&=Ee>>1,e[le]+=Ee&Ee>>2&Io;for(M=E>a,Ue=M?E+2:E,Be=Ue*Io,k=M?E:E+2,++E,F=E^E+1,ot=0,N=0;N<L;++N,ot>>=4){if((N&7)==0&&(ot=e[N>>3],((ot^Be)-Io&~(ot^Be)&-2004318072)==0)){N+=7;continue}if((ot&15)==Ue)for(J=N%m,xe=~~(N/m),Q=0,$=0,s&&(Q=(X(),Jr)[J],$=Q&7,Q>>=3),S=0;S<p;S++){if(Ie=n[xe][S],s?pe=(X(),yr)[In[Q][Zr[S<<3|$]]^$^Ie&A]:pe=r[t[J][S]][Ie&A],Ie>>=y,b=Ie*m+pe,j=e[b>>3]>>(b<<2)&15,j!=k){j<E-1&&(S+=u>>S&3);continue}if(M){e[N>>3]^=F<<(N<<2);break}for(e[b>>3]^=F<<(b<<2),w=1,Ct=o[Ie];(Ct>>=1)!=0;w++)(Ct&1)==1&&(z=Ie*m,s?z+=(X(),yr)[Jr[pe]^w]:z+=r[pe][w^h>>(w<<1)&3],(e[z>>3]>>(z<<2)&15)==k&&(e[z>>3]^=F<<(z<<2)))}}}}function LL(){var e,t,r,n;for(e=new ge,t=new ge,r=0;r<324;r++)for(Ls(e,(X(),Fs)[r]),n=0;n<18;n++)Fr(e,ce[n],t),Kn[r][n]=Ho[mi(t)]}function BL(){var e,t,r,n,o,l,i,a;for(e=new ge,t=new ge,n=0;n<495;n++){for(e1(e.ea,494-n,8,!0),l=0;l<18;l+=3)Rt(e,(X(),ce)[l],t),Dr[n][l]=494-qn(t.ea,8,!0)&Ve;for(o=0;o<16;o+=2)qo(e,(X(),ft)[0][o],t),hr[n][o>>1]=494-qn(t.ea,8,!0)&Ve}for(r=0;r<495;r++)for(o=0;o<18;o+=3)for(a=Dr[r][o],i=1;i<3;i++)a=Dr[a][o],Dr[r][o+i]=a&Ve}function X(){Gu||(Gu=!0,Xt=Z(Yo,fe,7,16,0,1),ce=Z(Yo,fe,7,18,0,1),hi=Z(zL,fe,0,18,6,1),qu=Z(Te,Ne,0,48,7,1),er=rt(Te,[fe,Ne],[17,0],7,[16,16],2),ft=rt(Te,[fe,Ne],[17,0],7,[16,16],2),Vo=rt(Te,[fe,Ne],[17,0],7,[16,18],2),Zr=Z(Te,Ne,0,144,7,1),Ur=rt(Te,[fe,Ne],[17,0],7,[16,18],2),Rs=Z(Ae,Fe,0,336,7,1),Fs=Z(Ae,Fe,0,324,7,1),Qn=Z(Ae,Fe,0,2768,7,1),jn=Z(re,se,0,2768,7,1),ds=Z(Ae,Fe,0,2768,7,1),di=Z(re,se,0,24,7,1),Jr=Z(Ae,Fe,0,2048,7,1),Ho=Z(Ae,Fe,0,2187,7,1),$t=Z(Ae,Fe,0,40320,7,1),yr=Z(Ae,Fe,0,2688,7,1),As=new wt(2531,1373,67026819,1367),ys=new wt(2089,1906,322752913,2040),Di=te(ee(re,2),fe,10,0,[te(ee(re,1),se,0,7,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),te(ee(re,1),se,0,7,[6,7,8,0,1,2,3,4,5,15,16,17,9,10,11,12,13,14]),te(ee(re,1),se,0,7,[3,4,5,6,7,8,0,1,2,12,13,14,15,16,17,9,10,11]),te(ee(re,1),se,0,7,[2,1,0,5,4,3,8,7,6,11,10,9,14,13,12,17,16,15]),te(ee(re,1),se,0,7,[8,7,6,2,1,0,5,4,3,17,16,15,11,10,9,14,13,12]),te(ee(re,1),se,0,7,[5,4,3,8,7,6,2,1,0,14,13,12,17,16,15,11,10,9])]),FL(),yL())}function cs(e){e.ca=te(ee(re,1),se,0,7,[0,1,2,3,4,5,6,7]),e.ea=te(ee(re,1),se,0,7,[0,2,4,6,8,10,12,14,16,18,20,22])}function Iu(e){!e.temps&&(e.temps=new ge),Fr(ys,e,e.temps),Fr(e.temps,As,e),Rt(ys,e,e.temps),Rt(e.temps,As,e)}function ps(e,t){var r,n;for(n=0;n<8;n++)e.ca[n]=t.ca[n];for(r=0;r<12;r++)e.ea[r]=t.ea[r]}function RL(e){return Ri($t[ut(e.ca,8,!1)])}function dL(e){return $t[ut(e.ea,8,!0)]}function pi(e){var t,r;for(r=0,t=0;t<11;t++)r=r<<1|e.ea[t]&1;return r}function mi(e){var t,r;for(r=0,t=0;t<7;t++)r+=(r<<1)+(e.ca[t]>>3);return r}function Li(e){var t,r;for(!e.temps&&(e.temps=new ge),r=0;r<12;r++)e.temps.ea[e.ea[r]>>1]=(r<<1|e.ea[r]&1)<<24>>24;for(t=0;t<8;t++)e.temps.ca[e.ca[t]&7]=(t|32>>(e.ca[t]>>3)&24)<<24>>24;ps(e,e.temps)}function Ou(e){var t,r,n,o,l,i,a;for(t=new Ku(e),o=new ge,r=Ri($t[ut(t.ca,8,!1)])>>4,i={l:0,m:0,h:0},a=0;a<6;a++){if(n=Ri($t[ut(t.ca,8,!1)])>>4,r==n)for(l=0;l<16;l++)jo(t,ft[0][l],o),ai(o.ca,e.ca)&&(qo(t,ft[0][l],o),ai(o.ea,e.ea)&&(i=fs(i,li({l:1,m:0,h:0},(a<<4|l)<48?a<<4|l:48))));Iu(t),a%3==2&&Li(t)}return i}function hL(e,t){Xr(e.ca,t,8,!1)}function Wu(e,t){Xr(e.ea,t,8,!0)}function ms(e,t){var r,n,o;for(n=0,r=10;r>=0;--r,t>>=1)n^=o=t&1,e.ea[r]=(e.ea[r]&-2|o)<<24>>24;e.ea[11]=(e.ea[11]&-2|n)<<24>>24}function Ls(e,t){var r,n,o;for(n=15,r=6;r>=0;--r,t=~~(t/3))n-=o=t%3,e.ca[r]=(e.ca[r]&7|o<<3)<<24>>24;e.ca[7]=(e.ca[7]&7|n%3<<3)<<24>>24}function DL(e){var t,r,n,o,l;for(l=0,o=0,n=0;n<12;n++)o|=1<<(e.ea[n]>>1),l^=e.ea[n]&1;if(o!=4095)return-2;if(l!=0)return-3;for(r=0,l=0,t=0;t<8;t++)r|=1<<(e.ca[t]&7),l+=e.ca[t]>>3;return r!=255?-4:l%3!=0?-5:(bs(ut(e.ea,12,!0),12)^bs(ut(e.ca,8,!1),8))!=0?-6:0}function jo(e,t,r){X();var n,o,l,i,a,s;for(s=Xt[ft[0][t]],a=Xt[t],n=0;n<8;n++)l=s.ca[e.ca[a.ca[n]&7]&7]>>3,i=e.ca[a.ca[n]&7]>>3,o=l<3?i:(3-i)%3,r.ca[n]=(s.ca[e.ca[a.ca[n]&7]&7]&7|o<<3)<<24>>24}function Fr(e,t,r){X();var n,o,l;for(n=0;n<8;n++)o=e.ca[t.ca[n]&7]>>3,l=t.ca[n]>>3,r.ca[n]=(e.ca[t.ca[n]&7]&7|(o+l)%3<<3)<<24>>24}function Bi(e,t,r){var n,o,l,i;for(n=0;n<8;n++)l=e.ca[t.ca[n]&7]>>3,i=t.ca[n]>>3,o=l+(l<3?i:6-i),o=o%3+(l<3==i<3?0:3),r.ca[n]=(e.ca[t.ca[n]&7]&7|o<<3)<<24>>24}function ge(){X(),cs(this)}function wt(e,t,r,n){cs(this),Xr(this.ca,e,8,!1),Ls(this,t),Xr(this.ea,r,12,!0),ms(this,n)}function Ku(e){cs(this),ps(this,e)}function Ri(e){return X(),e^os>>((e&15)<<1)&3}function qo(e,t,r){X();var n,o,l;for(l=Xt[ft[0][t]],o=Xt[t],n=0;n<12;n++)r.ea[n]=(l.ea[e.ea[o.ea[n]>>1]>>1]^e.ea[o.ea[n]>>1]&1^o.ea[n]&1)<<24>>24}function Rt(e,t,r){X();var n;for(n=0;n<12;n++)r.ea[n]=(e.ea[t.ea[n]>>1]^t.ea[n]&1)<<24>>24}function Ar(e,t,r){X();var n;return n=ds[e],r&&(n=n^os>>((n&15)<<1)&3),n&65520|er[n&15][t]}function Qu(){return X(),0}function FL(){var e,t;for(ce[0]=new wt(15120,0,119750400,0),ce[3]=new wt(21021,1494,323403417,0),ce[6]=new wt(8064,1236,29441808,550),ce[9]=new wt(9,0,5880,0),ce[12]=new wt(1230,412,2949660,0),ce[15]=new wt(224,137,328552,137),e=0;e<18;e+=3)for(t=0;t<2;t++)ce[e+t+1]=new ge,Rt(ce[e+t],ce[e],ce[e+t+1]),Fr(ce[e+t],ce[e],ce[e+t+1])}function AL(){X();var e,t,r;for(Bs(40320,Qn,$t,hs=Z(Ae,Fe,0,2768,7,1),2),e=new ge,r=0;r<2768;r++)Wu(e,Qn[r]),jn[r]=qn(e.ea,0,!0)+bs(Qn[r],8)*70<<24>>24,Li(e),ds[r]=$t[ut(e.ea,8,!0)];for(t=0;t<24;t++)Xr(e.ea,t,12,!0),Li(e),di[t]=ut(e.ea,12,!0)%24<<24>>24}function yL(){var e,t,r,n,o,l,i,a,s,f,g,c,u,p,m,L;for(e=new ge,t=new ge,r=new wt(28783,0,259268407,0),L=new wt(15138,0,119765538,7),c=new wt(5167,0,83473207,0),o=0;o<8;o++)c.ca[o]=ni(c.ca[o]|24);for(l=0;l<16;l++)Xt[l]=new Ku(e),Bi(e,L,t),Rt(e,L,t),m=t,t=e,e=m,l%4==3&&(Bi(m,c,t),Rt(m,c,t),m=t,t=e,e=m),l%8==7&&(Bi(m,r,t),Rt(m,r,t),m=t,t=e,e=m);for(i=0;i<16;i++)for(s=0;s<16;s++)for(Bi(Xt[i],Xt[s],e),g=0;g<16;g++)if(ai(Xt[g].ca,e.ca)){er[i][s]=g,ft[g][s]=i;break}for(f=0;f<18;f++)for(p=0;p<16;p++){for(jo(ce[f],ft[0][p],e),u=0;u<18;u++)if(ai(ce[u].ca,e.ca)){Vo[p][f]=u,Ur[p][(Je(),Vn)[f]]=Vn[u];break}p%2==0&&(Zr[f<<3|p>>1]=Vo[p][f])}for(n=0;n<18;n++)for(hi[n]=Ou(ce[n]),a=n,p=0;p<48;p++)Vo[p%16][a]<n&&(qu[p]|=1<<n),p%16==15&&(a=Di[2][a])}function Bs(e,t,r,n,o){X();var l,i,a,s,f,g,c,u,p;for(l=new ge,a=new ge,i=0,f=0,p=o>=2?1:2,g=o!=1,s=0;s<e;s++)if(r[s]==0){switch(o){case 0:ms(l,s);break;case 1:Ls(l,s);break;case 2:Xr(l.ea,s,8,!0)}for(c=0;c<16;c+=p){switch(g?qo(l,c,a):jo(l,c,a),o){case 0:f=pi(a);break;case 1:f=mi(a);break;case 2:f=ut(a.ea,8,!0)}o==0&&(yr[i<<3|c>>1]=f&Ve),f==s&&(n[i]=(n[i]|1<<~~(c/p))&Ve),u=~~((i<<4|c)/p),r[f]=u&Ve}t[i++]=s&Ve}return i}function UL(e,t,r,n,o,l,i,a){var s,f,g,c,u;if(c=dr(st((Hr(),Tn),(i>>4)*140+Yr[(X(),jn)[a>>4]&255][ft[i&15][a&15]]),dr(st(Tn,n*140+Yr[jn[t]&255][ft[o][r]]),st(si,t*24+Qo[l][r]))),c>e.maxDep2)return c-e.maxDep2;for(s=e.maxDep2;s>=c&&(u=Yu(e,n,o,t,r,l,s,e.depth1,10),!(u<0));s--){for(s-=u,e.solLen=0,e.solution=new n1,kL(e.solution,e.verbose,e.urfIdx,e.depth1),g=0;g<e.depth1+s;g++)t1(e.solution,e.move[g]);for(f=e.preMoveLen-1;f>=0;f--)t1(e.solution,e.preMoves[f]);e.solLen=e.solution.length_0}return s!=e.maxDep2?(e.maxDep2=us(Zu,e.solLen-e.length1-1),_u(e.probe,e.probeMin)?0:1):1}function bL(e){var t,r,n,o,l,i,a,s,f,g,c,u,p,m,L;if(e.isRec=!1,_u(e.probe,e.solution?e.probeMin:e.probeMax))return 0;for(e.probe=eL(e.probe,{l:1,m:0,h:0}),n=e.valid1;n<e.depth1;n++)Fr(e.phase1Cubie[n],(X(),ce)[e.move[n]],e.phase1Cubie[n+1]),Rt(e.phase1Cubie[n],ce[e.move[n]],e.phase1Cubie[n+1]);for(e.valid1=e.depth1,a=RL(e.phase1Cubie[e.depth1]),s=a&15,a>>=4,f=dL(e.phase1Cubie[e.depth1]),g=f&15,f>>=4,c=ut(e.phase1Cubie[e.depth1].ea,12,!0)%24,r=Ar(f,g,!1),t=Ar(a,s,!0),o=e.depth1==0?-1:e.move[e.depth1-1],l=e.preMoveLen==0?-1:e.preMoves[e.preMoveLen-1],L=0,m=(e.preMoveLen==0?1:2)*(e.depth1==0?1:2),u=0,p=(1<<m)-1;u<m;u++){if((p>>u&1)!=0){if(p&=~(1<<u),L=UL(e,a,s,f,g,c,r,t),L==0||L>2)break;L==2&&(p&=4<<u)}if(p==0)break;(u&1)==0&&e.depth1>0?(i=(Je(),Vn)[~~(o/3)*3+1],e.move[e.depth1-1]=St[i]*2-e.move[e.depth1-1],c=(Hr(),On)[c][i],a=Nn[a][(X(),Ur)[s][i]],s=er[a&15][s],a>>=4,f=Gn[f][Ur[g][i]],g=er[f&15][g],f>>=4,t=Ar(a,s,!0),r=Ar(f,g,!1)):e.preMoveLen>0&&(i=(Je(),Vn)[~~(l/3)*3+1],e.preMoves[e.preMoveLen-1]=St[i]*2-e.preMoves[e.preMoveLen-1],c=(X(),di)[(Hr(),On)[di[c]][i]],a=Nn[t>>4][Ur[t&15][i]],t=a&-16|er[a&15][t&15],a=Ar(t>>4,t&15,!0),s=a&15,a>>=4,f=Gn[r>>4][Ur[r&15][i]],r=f&-16|er[f&15][r&15],f=Ar(r>>4,r&15,!1),g=f&15,f>>=4)}return e.depth1>0&&(e.move[e.depth1-1]=o),e.preMoveLen>0&&(e.preMoves[e.preMoveLen-1]=l),L==0?0:2}function xL(e){var t;for(e.conjMask=0,e.selfSym=Ou(e.cc),e.conjMask|=ss(Ot(qr(e.selfSym,16),{l:Ve,m:0,h:0}),{l:0,m:0,h:0})?18:0,e.conjMask|=ss(Ot(qr(e.selfSym,32),{l:Ve,m:0,h:0}),{l:0,m:0,h:0})?36:0,e.conjMask|=ss(Ot(qr(e.selfSym,48),{l:Ve,m:0,h:0}),{l:0,m:0,h:0})?56:0,e.selfSym=Ot(e.selfSym,{l:tt,m:tt,h:15}),e.maxPreMoves=e.conjMask>7?0:20,t=0;t<6;t++)ps(e.urfCubieCube[t],e.cc),Nu(e.urfCoordCube[t],e.urfCubieCube[t],20),Iu(e.cc),t%3==2&&Li(e.cc)}function Vu(e,t,r,n,o){var l,i,a,s,f,g;if(t.prun==0&&n<5)return e.allowShorter||n==0?(e.depth1-=n,f=bL(e),e.depth1+=n,f):1;for(g=Qu(as(r)),l=0;l<18;l+=3)if(!(l==o||l==o-9)){for(a=0;a<3;a++)if(i=l+a,!(e.isRec&&i!=e.move[e.depth1-n]||g!=0&&(g&1<<i)!=0)){if(s=sL(e.nodeUD[n],t,i),s>n)break;if(s==n)continue;if(s=fL(e.nodeUD[n],t,i),s>n)break;if(s==n)continue;if(e.move[e.depth1-n]=i,e.valid1=us(e.valid1,e.depth1-n),f=Vu(e,e.nodeUD[n],r&Vr((X(),hi)[i]),n-1,l),f==0)return 0;if(f>=2)break}}return 1}function Hu(e,t,r,n,o){var l,i,a;if(e.preMoveLen=e.maxPreMoves-t,(e.isRec?e.depth1==e.length1-e.preMoveLen:e.preMoveLen==0||(225207>>r&1)==0)&&(e.depth1=e.length1-e.preMoveLen,e.phase1Cubie[0]=n,e.allowShorter=e.depth1==Us&&e.preMoveLen!=0,Nu(e.nodeUD[e.depth1+1],n,e.depth1)&&Vu(e,e.nodeUD[e.depth1+1],o,e.depth1,-1)==0))return 0;if(t==0||e.preMoveLen+Us>=e.length1)return 1;for(a=Qu(as(o)),(t==1||e.preMoveLen+1+Us>=e.length1)&&(a|=225207),r=~~(r/3)*3,l=0;l<18;l++){if(l==r||l==r-9||l==r+9){l+=2;continue}if(!(e.isRec&&l!=e.preMoves[e.maxPreMoves-t]||(a&1<<l)!=0)&&(Fr((X(),ce)[l],n,e.preMoveCubes[t]),Rt(ce[l],n,e.preMoveCubes[t]),e.preMoves[e.maxPreMoves-t]=l,i=Hu(e,t-1,l,e.preMoveCubes[t],o&Vr(hi[l])),i==0))return 0}return 1}function Yu(e,t,r,n,o,l,i,a,s){var f,g,c,u,p,m,L,R,h,A,y;if(t==0&&n==0&&l==0)return i;for(h=(Je(),Jo)[s],L=0;L<10;L++){if((h>>L&1)!=0){L+=66>>L&3;continue}if(R=(Hr(),On)[l][L],g=Nn[n][(X(),Ur)[o][L]],c=er[g&15][o],g>>=4,p=Gn[t][Ur[r][L]],m=er[p&15][r],p>>=4,u=Ar(p,m,!1),f=Ar(g,c,!0),A=st(Tn,(u>>4)*140+Yr[jn[f>>4]&255][ft[u&15][f&15]]),A>i+1)return i-A+1;if(A>=i){L+=66>>L&3&i-A;continue}if(A=dr(st(si,g*24+Qo[R][c]),st(Tn,p*140+Yr[jn[g]&255][ft[m][c]])),A>=i){L+=66>>L&3&i-A;continue}if(y=Yu(e,p,m,g,c,R,i-1,a+1,L),y>=0)return e.move[a]=St[L],y;if(y<-2)break;y<-1&&(L+=66>>L&3)}return-1}function wL(e){for(e.length1=e.isRec?e.length1:0;e.length1<e.solLen;e.length1++)for(e.maxDep2=us(Zu,e.solLen-e.length1-1),e.urfIdx=e.isRec?e.urfIdx:0;e.urfIdx<6;e.urfIdx++)if((e.conjMask&1<<e.urfIdx)==0&&Hu(e,e.maxPreMoves,-30,e.urfCubieCube[e.urfIdx],Vr(Ot(e.selfSym,{l:Ve,m:0,h:0})))==0)return e.solution?r1(e.solution):\\\"Error 8\\\";return e.solution?r1(e.solution):\\\"Error 7\\\"}function SL(e,t){var r;return r=vL(e,t),r!=0?\\\"Error \\\"+(r<0?-r:r):(e.solLen=22,e.probe={l:0,m:0,h:0},e.probeMax={l:3531008,m:23,h:0},e.probeMin={l:0,m:0,h:0},e.verbose=0,e.solution=null,e.isRec=!1,Tu(!1),xL(e),wL(e))}function vL(e,t){var r,n,o,l;for(n=0,o=Z(re,se,0,54,7,1),r=nL(te(ee(Ae,1),Fe,0,7,[t.charCodeAt(4),t.charCodeAt(13),t.charCodeAt(22),t.charCodeAt(31),t.charCodeAt(40),t.charCodeAt(49)])),l=0;l<54;l++){if(o[l]=rL(r,lL(t.charCodeAt(l)))<<24>>24,o[l]==-1)return-1;n+=1<<(o[l]<<2)}return n!=10066329?-1:(EL(o,e.cc),DL(e.cc))}function Ju(){var e,t,r;for(this.move=Z(Te,Ne,0,31,7,1),this.nodeUD=Z(ci,fe,31,21,0,1),this.nodeRL=Z(ci,fe,31,21,0,1),this.nodeFB=Z(ci,fe,31,21,0,1),this.cc=new ge,this.urfCubieCube=Z(Yo,fe,7,6,0,1),this.urfCoordCube=Z(ci,fe,31,6,0,1),this.phase1Cubie=Z(Yo,fe,7,21,0,1),this.preMoveCubes=Z(Yo,fe,7,21,0,1),this.preMoves=Z(Te,Ne,0,20,7,1),t=0;t<21;t++)this.nodeUD[t]=new Wo,this.nodeRL[t]=new Wo,this.nodeFB[t]=new Wo,this.phase1Cubie[t]=new ge;for(r=0;r<6;r++)this.urfCubieCube[r]=new ge,this.urfCoordCube[r]=new Wo;for(e=0;e<20;e++)this.preMoveCubes[e+1]=new ge}function Je(){if(!Xu){Xu=!0;var e,t,r,n,o,l;for($r=te(ee(re,2),fe,10,0,[te(ee(re,1),se,0,7,[8,9,20]),te(ee(re,1),se,0,7,[6,18,38]),te(ee(re,1),se,0,7,[0,36,47]),te(ee(re,1),se,0,7,[2,45,11]),te(ee(re,1),se,0,7,[29,26,15]),te(ee(re,1),se,0,7,[27,44,24]),te(ee(re,1),se,0,7,[33,53,42]),te(ee(re,1),se,0,7,[35,17,51])]),rr=te(ee(re,2),fe,10,0,[te(ee(re,1),se,0,7,[5,10]),te(ee(re,1),se,0,7,[7,19]),te(ee(re,1),se,0,7,[3,37]),te(ee(re,1),se,0,7,[1,46]),te(ee(re,1),se,0,7,[32,16]),te(ee(re,1),se,0,7,[28,25]),te(ee(re,1),se,0,7,[30,43]),te(ee(re,1),se,0,7,[34,52]),te(ee(re,1),se,0,7,[23,12]),te(ee(re,1),se,0,7,[21,41]),te(ee(re,1),se,0,7,[50,39]),te(ee(re,1),se,0,7,[48,14])]),tr=rt(Te,[fe,Ne],[17,0],7,[13,13],2),xs=te(ee(iL,1),fe,2,4,[\\\"U \\\",\\\"U2\\\",\\\"U'\\\",\\\"R \\\",\\\"R2\\\",\\\"R'\\\",\\\"F \\\",\\\"F2\\\",\\\"F'\\\",\\\"D \\\",\\\"D2\\\",\\\"D'\\\",\\\"L \\\",\\\"L2\\\",\\\"L'\\\",\\\"B \\\",\\\"B2\\\",\\\"B'\\\"]),St=te(ee(Te,1),Ne,0,7,[0,1,2,4,7,9,10,11,13,16,3,5,6,8,12,14,15,17]),Vn=Z(Te,Ne,0,18,7,1),Jo=Z(Te,Ne,0,11,7,1),t=0;t<18;t++)Vn[St[t]]=t;for(r=0;r<10;r++)for(n=~~(St[r]/3),Jo[r]=0,o=0;o<10;o++)l=~~(St[o]/3),Jo[r]|=(n==l||n%3==l%3&&n>=l?1:0)<<o;for(Jo[10]=0,e=0;e<13;e++)for(tr[e][0]=tr[e][e]=1,o=1;o<e;o++)tr[e][o]=tr[e-1][o-1]+tr[e-1][o]}}function qn(e,t,r){Je();var n,o,l,i,a;for(n=e.length-1,l=0,a=4,o=n;o>=0;o--)i=$u(e[o],r),(i&12)==t&&(l+=tr[o][a--]);return l}function bs(e,t){Je();var r,n;for(n=0,r=t-2;r>=0;r--)n^=e%(t-r),e=~~(e/(t-r));return n&1}function ut(e,t,r){Je();var n,o,l,i;for(o=0,i={l:1323536,m:2777561,h:1043915},n=0;n<t-1;n++)l=$u(e[n],r)<<2,o=(t-n)*o+Vr(Ot(qr(i,l),{l:15,m:0,h:0})),i=zu(i,li({l:1118480,m:279620,h:69905},l));return o}function $u(e,t){return t?e>>1:e&7}function e1(e,t,r,n){Je();var o,l,i,a;for(o=e.length-1,a=4,l=o,i=o;i>=0;i--)t>=tr[i][a]?(t-=tr[i][a--],e[i]=Fi(e[i],a|r,n)):((l&12)==r&&(l-=4),e[i]=Fi(e[i],l--,n))}function Xr(e,t,r,n){Je();var o,l,i,a,s,f;for(f={l:1323536,m:2777561,h:1043915},o={l:0,m:0,h:0},a=2;a<=r;a++)o=fs(li(o,4),as(t%a)),t=~~(t/a);for(l=0;l<r-1;l++)s=(Vr(o)&15)<<2,o=qr(o,4),e[l]=Fi(e[l],Vr(Ot(qr(f,s),{l:15,m:0,h:0})),n),i=zu(li({l:1,m:0,h:0},s),{l:1,m:0,h:0}),f=fs(Ot(f,i),Ot(qr(f,4),{l:~i.l&tt,m:~i.m&tt,h:~i.h&Br}));e[r-1]=Fi(e[r-1],Vr(Ot(f,{l:15,m:0,h:0})),n)}function Fi(e,t,r){return(r?t<<1|e&1:t|e&-8)<<24>>24}function EL(e,t){Je();var r,n,o,l,i,a,s,f;for(l=0;l<8;l++)t.ca[l]=0;for(i=0;i<12;i++)t.ea[i]=0;for(a=0;a<8;a++){for(f=0;f<3&&!(e[$r[a][f]]==0||e[$r[a][f]]==3);f++);for(r=e[$r[a][(f+1)%3]],n=e[$r[a][(f+2)%3]],s=0;s<8;s++)if(r==~~($r[s][1]/9)&&n==~~($r[s][2]/9)){t.ca[a]=ni(f%3<<3|s);break}}for(o=0;o<12;o++)for(s=0;s<12;s++){if(e[rr[o][0]]==~~(rr[s][0]/9)&&e[rr[o][1]]==~~(rr[s][1]/9)){t.ea[o]=ni(s<<1);break}if(e[rr[o][0]]==~~(rr[s][1]/9)&&e[rr[o][1]]==~~(rr[s][0]/9)){t.ea[o]=ni(s<<1|1);break}}}function t1(e,t){var r,n,o;if(e.length_0==0){e.moves[e.length_0++]=t;return}if(r=~~(t/3),n=~~(e.moves[e.length_0-1]/3),r==n){o=(t%3+e.moves[e.length_0-1]%3+1)%4,o==3?--e.length_0:e.moves[e.length_0-1]=r*3+o;return}if(e.length_0>1&&r%3==n%3&&r==~~(e.moves[e.length_0-2]/3)){o=(t%3+e.moves[e.length_0-2]%3+1)%4,o==3?(e.moves[e.length_0-2]=e.moves[e.length_0-1],--e.length_0):e.moves[e.length_0-2]=r*3+o;return}e.moves[e.length_0++]=t}function kL(e,t,r,n){e.verbose=t,e.urfIdx=r,e.depth1=n}function r1(e){var t,r,n;if(r=new aL,n=(e.verbose&2)!=0?(e.urfIdx+3)%6:e.urfIdx,n<3)for(t=0;t<e.length_0;t++)(e.verbose&1)!=0&&t==e.depth1&&(r.string+=\\\". \\\"),Cu(Pu(r,(Je(),xs)[(X(),Di)[n][e.moves[t]]]));else for(t=e.length_0-1;t>=0;t--)Cu(Pu(r,(Je(),xs)[(X(),Di)[n][e.moves[t]]])),(e.verbose&1)!=0&&t==e.depth1&&(r.string+=\\\". \\\");return r.string}function n1(){this.moves=Z(Te,Ne,0,31,7,1)}var fe,tt,Br,jm,Ve,Fe,Ne,os,Io,se,H,ri,ii,iL,Mu,Yr,gs,Nn,Tn,Gn,In,si,Qo,On,Wn,Kn,hr,fi,Dr,ui,gi,ci,Gu,Xt,$t,Qn,Jr,Rs,yr,di,jn,ds,Zr,Vo,Ur,er,ft,ju,hs,Ds,Ho,Fs,qu,ce,hi,As,ys,Di,Yo,Zu,Us,Xu,tr,Jo,$r,rr,xs,Vn,St,Te,_L,re,zL,Ae,CL,PL,l1=U(()=>{fe={3:1},tt=4194303,Br=1048575,jm=524288,Ve=65535,Fe={11:1,3:1},Ne={17:1,3:1},os=14540032,Io=286331153,se={10:1,3:1},ri={};Oo(1,null,{},Ym);Oo(79,1,{},ls);H.createClassLiteralForArray=function(t){var r;return r=new ls,r.modifiers=4,t>1?r.componentType=Su(this,t-1):r.componentType=this,r};H.isPrimitive=function(){return(this.modifiers&1)!=0};iL=Rr(\\\"java.lang\\\",\\\"String\\\",2);Mu=!1;Oo(31,1,{31:1},Wo);H.flip=0;H.flipc=0;H.fsym=0;H.prun=0;H.slice_0=0;H.tsym=0;H.twist=0;H.twistc=0;gi=0,ci=Rr(\\\"org.cubing.min2phase.client\\\",\\\"CoordCube\\\",31),Gu=!1;Yo=Rr(\\\"org.cubing.min2phase.client\\\",\\\"CubieCube\\\",7);Oo(72,1,{},Ju);H.allowShorter=!1;H.conjMask=0;H.depth1=0;H.isRec=!1;H.length1=0;H.maxDep2=0;H.maxPreMoves=0;H.preMoveLen=0;H.probe={l:0,m:0,h:0};H.probeMax={l:0,m:0,h:0};H.probeMin={l:0,m:0,h:0};H.selfSym={l:0,m:0,h:0};H.solLen=0;H.urfIdx=0;H.valid1=0;H.verbose=0;Zu=12,Us=7,Xu=!1;Oo(150,1,{},n1);H.depth1=0;H.length_0=0;H.urfIdx=0;H.verbose=0;Te=oi(\\\"int\\\",\\\"I\\\");Rr(\\\"com.google.gwt.lang\\\",\\\"CollapsedPropertyHolder\\\",252);Rr(\\\"com.google.gwt.lang\\\",\\\"JavaClassHierarchySetupUtil\\\",254);_L=Rr(\\\"com.google.gwt.lang\\\",\\\"LongLibBase/LongEmul\\\",null);Rr(\\\"com.google.gwt.lang\\\",\\\"ModuleUtils\\\",257);re=oi(\\\"byte\\\",\\\"B\\\"),zL=oi(\\\"long\\\",\\\"J\\\"),Ae=oi(\\\"char\\\",\\\"C\\\");Rr(\\\"com.google.gwt.user.client.rpc\\\",\\\"XsrfToken\\\",null),Jm(\\\"java.util\\\",\\\"Map/Entry\\\");CL=function(){Tu(!1)},PL=function(e){return SL(new Ju,e)}});async function i1(){let e=await _e[\\\"3x3x3\\\"].kpuzzle(),t=e.startState();for(let r of bu)t=t.applyAlg(_.fromString((await Zt())(r)));return yu(e,t)?t:i1()}function a1(){return ML??(ML=Promise.resolve().then(()=>(l1(),o1)))}async function ws(e){return ze(),_.fromString((await a1()).solveState(Du(e)))}async function Hn(){return ws(await i1())}async function s1(){(await a1()).initialize()}async function f1(){return Mn(await Hn(),NL)}async function g1(){let e=new mt,t=await Hn();return e.experimentalPushAlg(u1),e.experimentalPushAlg(t),e.experimentalPushAlg(u1),e.toAlg()}var ML,NL,u1,Ss=U(()=>{Re();Jt();xt();bt();ti();Fu();Uu();xu();ML=null;NL=[[null,\\\"Rw\\\",\\\"Rw2\\\",\\\"Rw'\\\",\\\"Fw\\\",\\\"Fw'\\\"],[null,\\\"Dw\\\",\\\"Dw2\\\",\\\"Dw'\\\"]];u1=new _(\\\"R' U' F\\\")});function ue(e,...t){let r=t.length,n=e[t[r-1]];for(let o=r;o>0;o--)e[t[o]]=e[t[o-1]];return e[t[0]]=n,ue}function c1(e,t,r,n){r=(r||8)-1;let o=1985229328,l=0;n??(n=0),n<0&&(t<<=1);for(let i=0;i<r;++i){let a=vs[r-i],s=~~(t/a);l^=s,t%=a,s<<=2,e[i]=o>>s&7;let f=(1<<s)-1;o=(o&f)+(o>>4&~f)}return n<0&&(l&1)!=0?(e[r]=e[r-1],e[r-1]=o&7):e[r]=o&7,e}var me,vs,p1=U(()=>{me=[],vs=[1];for(let e=0;e<32;++e){me[e]=[];for(let t=0;t<32;++t)me[e][t]=0}for(let e=0;e<32;++e){me[e][0]=me[e][e]=1,vs[e+1]=vs[e]*(e+1);for(let t=1;t<e;++t)me[e][t]=me[e-1][t-1]+me[e-1][t]}});var Dg={};De(Dg,{initialize:()=>XB,random444Scramble:()=>$B});function T(e,t){let r=new Array(e);if(t!==void 0)for(let n=0;n<e;n++)r[n]=new Array(t);return r}function QL(e){return new Zo[e]}function pt(e,t,r,...n){let o=Zo[e];o&&!o.___clazz$?Y=o.prototype:(!o&&(o=Zo[e]=function(){}),Y=o.prototype=t<0?{}:QL(t),Y.castableTypeMap$=r);for(let l of n)l.prototype=Y;o.___clazz$&&(Y.___clazz$=o.___clazz$,o.___clazz$=null)}function br(e){let t={};for(let r=0,n=e.length;r<n;++r)t[e[r]]=1;return t}function R1(){}function jL(e,t){let r=d1(0,t);return h1(e.___clazz$,e.castableTypeMap$,e.queryId$,r),r}function d1(e,t){let r=new Array(t);if(e===3)for(let n=0;n<t;++n){let o={m:0,l:0,h:0};o.l=o.m=o.h=0,r[n]=o}else if(e>0){let n=[null,0,!1][e];for(let o=0;o<t;++o)r[o]=n}return r}function _s(e,t,r,n,o){let l=d1(o,n);return h1(e,t,r,l),l}function h1(e,t,r,n){return F1(),VL(n,zs,Cs),n.___clazz$=e,n.castableTypeMap$=t,n.queryId$=r,n}function Ai(e,t,r){return e[t]=r}function F1(){D1||(D1=!0,zs=[],Cs=[],qL(new R1,zs,Cs))}function qL(e,t,r){let n=0,o;for(let l in e)(o=e[l])&&(t[n]=l,r[n]=o,++n)}function VL(e,t,r){F1();for(let n=0,o=t.length;n<o;++n)e[t[n]]=r[n]}function HL(e,t){return e.castableTypeMap$&&!!e.castableTypeMap$[t]}function YL(e,t){return e!==null&&HL(e,t)}function JL(){if(A1)return!1;A1=!0,wi=T(15582,36),Si=T(15582),Et=T(15582),Zn=T(48,48),kt=T(48,36),Jn=T(48),Ns=T(48)}function Ps(e){e.ct=T(24)}function y1(e,t){let r,n;if(YL(t,L1)){for(r=t,n=0;n<24;++n)if(e.ct[n]!==r.ct[n])return!1;return!0}return!1}function yi(e){let t,r,n;for(r=0,n=8,t=23;t>=0;--t)e.ct[t]===1&&(r+=me[t][n--]);return r}function Ui(e){let t,r;if(Yn!==null)return Yn[yi(e)];for(r=0;r<48;++r){if(t=rB(yi(e)),t!==-1)return t*64+r;ae(e,0),r%2==1&&ae(e,1),r%8==7&&ae(e,2),r%16==15&&ae(e,3)}}function vt(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:D(e.ct,0,1,2,3,r);break;case 1:D(e.ct,16,17,18,19,r);break;case 2:D(e.ct,8,9,10,11,r);break;case 3:D(e.ct,4,5,6,7,r);break;case 4:D(e.ct,20,21,22,23,r);break;case 5:D(e.ct,12,13,14,15,r);break;case 6:D(e.ct,0,1,2,3,r),D(e.ct,8,20,12,16,r),D(e.ct,9,21,13,17,r);break;case 7:D(e.ct,16,17,18,19,r),D(e.ct,1,15,5,9,r),D(e.ct,2,12,6,10,r);break;case 8:D(e.ct,8,9,10,11,r),D(e.ct,2,19,4,21,r),D(e.ct,3,16,5,22,r);break;case 9:D(e.ct,4,5,6,7,r),D(e.ct,10,18,14,22,r),D(e.ct,11,19,15,23,r);break;case 10:D(e.ct,20,21,22,23,r),D(e.ct,0,8,4,14,r),D(e.ct,3,11,7,13,r);break;case 11:D(e.ct,12,13,14,15,r),D(e.ct,1,20,7,18,r),D(e.ct,0,23,6,17,r)}}function ae(e,t){switch(t){case 0:vt(e,19),vt(e,28);break;case 1:vt(e,21),vt(e,32);break;case 2:D(e.ct,0,3,1,2,1),D(e.ct,8,11,9,10,1),D(e.ct,4,7,5,6,1),D(e.ct,12,15,13,14,1),D(e.ct,16,19,21,22,1),D(e.ct,17,18,20,23,1);break;case 3:vt(e,18),vt(e,29),vt(e,24),vt(e,35)}}function U1(e,t){let r;for(r=0;r<t;++r)ae(e,0),r%2==1&&ae(e,1),r%8==7&&ae(e,2),r%16==15&&ae(e,3)}function Ms(e,t){let r,n;for(n=8,r=23;r>=0;--r)e.ct[r]=0,t>=me[r][n]&&(t-=me[r][n--],e.ct[r]=1)}function bi(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function Xo(){let e;for(Ps(this),e=0;e<8;++e)this.ct[e]=1;for(e=8;e<24;++e)this.ct[e]=0}function xi(e,t){let r;for(Ps(this),r=0;r<24;++r)this.ct[r]=~~(e.ct[r]/2)===t?1:0}function $o(e){let t;for(Ps(this),t=0;t<24;++t)this.ct[t]=e[t]}function ZL(){let e,t,r=new Xo,n=new Xo;for(e=0;e<15582;++e)for(Ms(n,Si[e]),t=0;t<36;++t)bi(r,n),vt(r,t),wi[e][t]=Ui(r)}function XL(){let e,t,r,n,o,l,i,a;for(qi(Et),Et[0]=0,t=0,r=1;r!==15582;)for(l=t>4,a=l?-1:t,e=l?t:-1,++t,n=0;n<15582;++n)if(Et[n]===a){for(i=0;i<27;++i)if(o=~~wi[n][i]>>>6,Et[o]===e)if(++r,l){Et[n]=t;break}else Et[o]=t}}function $L(e){let t,r,n,o=new $o(e.ct);for(n=0;n<48;++n){for(t=!0,r=0;r<24;++r)if(o.ct[r]!==~~(r/4)){t=!1;break}if(t)return n;ae(o,0),n%2==1&&ae(o,1),n%8==7&&ae(o,2),n%16==15&&ae(o,3)}return-1}function eB(){let e,t,r,n=new Xo;for(e=0;e<24;++e)n.ct[e]=e;let o=new $o(n.ct),l=new $o(n.ct),i=new $o(n.ct);for(e=0;e<48;++e){for(t=0;t<48;++t){for(r=0;r<48;++r)y1(n,o)&&(Zn[e][t]=r,r===0&&(Jn[e]=t)),ae(o,0),r%2==1&&ae(o,1),r%8==7&&ae(o,2),r%16==15&&ae(o,3);ae(n,0),t%2==1&&ae(n,1),t%8==7&&ae(n,2),t%16==15&&ae(n,3)}ae(n,0),e%2==1&&ae(n,1),e%8==7&&ae(n,2),e%16==15&&ae(n,3)}for(e=0;e<48;++e)for(bi(n,l),U1(n,Jn[e]),t=0;t<36;++t)for(bi(o,n),vt(o,t),U1(o,e),r=0;r<36;++r)if(bi(i,l),vt(i,r),y1(i,o)){kt[e][t]=r;break}for(Ms(n,0),e=0;e<48;++e)Ns[Jn[e]]=yi(n),ae(n,0),e%2==1&&ae(n,1),e%8==7&&ae(n,2),e%16==15&&ae(n,3)}function tB(){let e,t,r,n,o=new Xo,l=T(22984);for(t=0;t<22984;t++)l[t]=0;for(e=0,t=0;t<735471;++t)if((l[~~t>>>5]&1<<(t&31))==0){for(Ms(o,t),n=0;n<48;++n)r=yi(o),l[~~r>>>5]|=1<<(r&31),Yn!==null&&(Yn[r]=e<<6|Jn[n]),ae(o,0),n%2==1&&ae(o,1),n%8==7&&ae(o,2),n%16==15&&ae(o,3);Si[e++]=t}}function rB(e){let t=KB(Si,e);return t>=0?t:-1}function nB(){b1||(b1=!0,_i=T(70,28),ki=T(6435,28),k1=T(70,16),v1=T(6435,16),nt=T(450450),E1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0])}function vi(e){let t,r,n;for(r=0,n=8,t=14;t>=0;--t)e.ct[t]!==e.ct[15]&&(r+=me[t][n--]);return r}function Ei(e){let t,r,n;for(r=0,n=4,t=6;t>=0;--t)e.rl[t]!==e.rl[7]&&(r+=me[t][n--]);return r*2+e.parity}function Xn(e,t){e.parity^=E1[t];let r=t%3;switch(t=~~(t/3),t){case 0:D(e.ct,0,1,2,3,r);break;case 1:D(e.rl,0,1,2,3,r);break;case 2:D(e.ct,8,9,10,11,r);break;case 3:D(e.ct,4,5,6,7,r);break;case 4:D(e.rl,4,5,6,7,r);break;case 5:D(e.ct,12,13,14,15,r);break;case 6:D(e.ct,0,1,2,3,r),D(e.rl,0,5,4,1,r),D(e.ct,8,9,12,13,r);break;case 7:D(e.rl,0,1,2,3,r),D(e.ct,1,15,5,9,r),D(e.ct,2,12,6,10,r);break;case 8:D(e.ct,8,9,10,11,r),D(e.rl,0,3,6,5,r),D(e.ct,3,2,5,4,r);break;case 9:D(e.ct,4,5,6,7,r),D(e.rl,3,2,7,6,r),D(e.ct,11,10,15,14,r);break;case 10:D(e.rl,4,5,6,7,r),D(e.ct,0,8,4,14,r),D(e.ct,3,11,7,13,r);break;case 11:D(e.ct,12,13,14,15,r),D(e.rl,1,4,7,2,r),D(e.ct,1,0,7,6,r)}}function $n(e,t){switch(t){case 0:Xn(e,19),Xn(e,28);break;case 1:Xn(e,21),Xn(e,32);break;case 2:D(e.ct,0,3,1,2,1),D(e.ct,8,11,9,10,1),D(e.ct,4,7,5,6,1),D(e.ct,12,15,13,14,1),D(e.rl,0,3,5,6,1),D(e.rl,1,2,4,7,1)}}function x1(e,t,r){let n;for(n=0;n<16;++n)e.ct[n]=~~(t.ct[n]/2);for(n=0;n<8;++n)e.rl[n]=t.ct[n+16];e.parity=r}function w1(e,t){let r,n;for(n=8,e.ct[15]=0,r=14;r>=0;--r)t>=me[r][n]?(t-=me[r][n--],e.ct[r]=1):e.ct[r]=0}function S1(e,t){let r,n;for(e.parity=t&1,t>>>=1,n=4,e.rl[7]=0,r=6;r>=0;--r)t>=me[r][n]?(t-=me[r][n--],e.rl[r]=1):e.rl[r]=0}function Ts(){this.rl=T(8),this.ct=T(16)}function oB(){let e,t,r,n,o,l,i,a,s,f,g=new Ts;for(o=0;o<70;++o)for(a=0;a<28;++a)S1(g,o),Xn(g,tn[a]),_i[o][a]=Ei(g);for(o=0;o<70;++o)for(S1(g,o),i=0;i<16;++i)k1[o][i]=Ei(g),$n(g,0),i%2==1&&$n(g,1),i%8==7&&$n(g,2);for(o=0;o<6435;++o)for(w1(g,o),i=0;i<16;++i)v1[o][i]=vi(g)&65535,$n(g,0),i%2==1&&$n(g,1),i%8==7&&$n(g,2);for(o=0;o<6435;++o)for(a=0;a<28;++a)w1(g,o),Xn(g,tn[a]),ki[o][a]=vi(g)&65535;for(qi(nt),nt[0]=nt[18]=nt[28]=nt[46]=nt[54]=nt[56]=0,r=0,n=6;n!==450450;){let c=r>6,u=c?-1:r,p=c?r:-1;for(++r,o=0;o<450450;++o)if(nt[o]===u){for(e=~~(o/70),s=o%70,a=0;a<23;++a)if(t=ki[e][a],f=_i[s][a],l=t*70+f,nt[l]===p)if(++n,c){nt[o]=r;break}else nt[l]=r}}}function lB(){_1||(_1=!0,el=T(29400,20),C1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1],xr=T(29400),Os=[0,9,14,23,27,28,41,42,46,55,60,69],Ws=T(70))}function Gs(e){let t,r,n,o;for(r=0,o=4,t=6;t>=0;--t)e.ud[t]!==e.ud[7]&&(r+=me[t][o--]);for(r*=35,o=4,t=6;t>=0;--t)e.fb[t]!==e.fb[7]&&(r+=me[t][o--]);r*=12;let l=e.fb[7]^e.ud[7];for(n=0,o=4,t=7;t>=0;--t)e.rl[t]!==l&&(n+=me[t][o--]);return e.parity+2*(r+Ws[n])}function iB(e,t){switch(e.parity^=C1[t],t){case 0:case 1:case 2:D(e.ud,0,1,2,3,t%3);break;case 3:D(e.rl,0,1,2,3,1);break;case 4:case 5:case 6:D(e.fb,0,1,2,3,(t-1)%3);break;case 7:case 8:case 9:D(e.ud,4,5,6,7,(t-1)%3);break;case 10:D(e.rl,4,5,6,7,1);break;case 11:case 12:case 13:D(e.fb,4,5,6,7,(t+1)%3);break;case 14:D(e.ud,0,1,2,3,1),D(e.rl,0,5,4,1,1),D(e.fb,0,5,4,1,1);break;case 15:D(e.rl,0,1,2,3,1),D(e.fb,1,4,7,2,1),D(e.ud,1,6,5,2,1);break;case 16:D(e.fb,0,1,2,3,1),D(e.ud,3,2,5,4,1),D(e.rl,0,3,6,5,1);break;case 17:D(e.ud,4,5,6,7,1),D(e.rl,3,2,7,6,1),D(e.fb,3,2,7,6,1);break;case 18:D(e.rl,4,5,6,7,1),D(e.fb,0,3,6,5,1),D(e.ud,0,3,4,7,1);break;case 19:D(e.fb,4,5,6,7,1),D(e.ud,0,7,6,1,1),D(e.rl,1,4,7,2,1)}}function z1(e,t,r){let n,o=(t.ct[0]>t.ct[8]?1:0)^(t.ct[8]>t.ct[16]?1:0)^(t.ct[0]>t.ct[16]?1:0)?1:0;for(n=0;n<8;++n)e.ud[n]=t.ct[n]&1^1,e.fb[n]=t.ct[n+8]&1^1,e.rl[n]=t.ct[n+16]&1^1^o;e.parity=o^r}function aB(e,t){let r,n,o,l;for(e.parity=t&1,t>>>=1,o=Os[t%12],t=~~(t/12),l=4,r=7;r>=0;--r)e.rl[r]=0,o>=me[r][l]&&(o-=me[r][l--],e.rl[r]=1);for(n=t%35,t=~~(t/35),l=4,e.fb[7]=0,r=6;r>=0;--r)n>=me[r][l]?(n-=me[r][l--],e.fb[r]=1):e.fb[r]=0;for(l=4,e.ud[7]=0,r=6;r>=0;--r)t>=me[r][l]?(t-=me[r][l--],e.ud[r]=1):e.ud[r]=0}function Is(){this.ud=T(8),this.rl=T(8),this.fb=T(8)}function sB(){let e,t,r,n;for(r=0;r<12;++r)Ws[Os[r]]=r;let o=new Is;for(r=0;r<29400;++r)for(n=0;n<20;++n)aB(o,r),iB(o,n),el[r][n]=Gs(o)&65535;for(qi(xr),xr[0]=0,e=0,t=1;t!==29400;){for(r=0;r<29400;++r)if(xr[r]===e)for(n=0;n<17;++n)xr[el[r][n]]===-1&&(xr[el[r][n]]=e+1,++t);++e}}function fB(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function uB(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:D(e.ct,0,1,2,3,r);break;case 1:D(e.ct,16,17,18,19,r);break;case 2:D(e.ct,8,9,10,11,r);break;case 3:D(e.ct,4,5,6,7,r);break;case 4:D(e.ct,20,21,22,23,r);break;case 5:D(e.ct,12,13,14,15,r);break;case 6:D(e.ct,0,1,2,3,r),D(e.ct,8,20,12,16,r),D(e.ct,9,21,13,17,r);break;case 7:D(e.ct,16,17,18,19,r),D(e.ct,1,15,5,9,r),D(e.ct,2,12,6,10,r);break;case 8:D(e.ct,8,9,10,11,r),D(e.ct,2,19,4,21,r),D(e.ct,3,16,5,22,r);break;case 9:D(e.ct,4,5,6,7,r),D(e.ct,10,18,14,22,r),D(e.ct,11,19,15,23,r);break;case 10:D(e.ct,20,21,22,23,r),D(e.ct,0,8,4,14,r),D(e.ct,3,11,7,13,r);break;case 11:D(e.ct,12,13,14,15,r),D(e.ct,1,20,7,18,r),D(e.ct,0,23,6,17,r)}}function Ks(){let e;for(this.ct=T(24),e=0;e<24;++e)this.ct[e]=~~(e/4)}function P1(e){let t,r,n;for(Ks.call(this),t=0;t<23;++t)n=t+e(24-t),this.ct[n]!==this.ct[t]&&(r=this.ct[t],this.ct[t]=this.ct[n],this.ct[n]=r)}function gB(){M1||(M1=!0,dt=T(18),mB())}function N1(e){e.cp=[0,1,2,3,4,5,6,7],e.co=[0,0,0,0,0,0,0,0]}function T1(e,t){let r;for(r=0;r<8;++r)e.cp[r]=t.cp[r],e.co[r]=t.co[r]}function cB(e,t){!e.temps&&(e.temps=new zi),G1(e,dt[t],e.temps),T1(e,e.temps)}function pB(e,t){let r,n;for(n=0,r=6;r>=0;--r)n+=e.co[r]=t%3,t=~~(t/3);e.co[7]=(15-n)%3}function G1(e,t,r){let n,o,l,i;for(n=0;n<8;++n)r.cp[n]=e.cp[t.cp[n]],l=e.co[t.cp[n]],i=t.co[n],o=l,o=o+(l<3?i:6-i),o=o%3,(l>=3?1:0)^(i>=3?1:0)&&(o=o+3),r.co[n]=o}function zi(){N1(this)}function wr(e,t){N1(this),c1(this.cp,e),pB(this,t)}function I1(e){wr.call(this,e(40320),e(2187))}function mB(){let e,t;for(dt[0]=new wr(15120,0),dt[3]=new wr(21021,1494),dt[6]=new wr(8064,1236),dt[9]=new wr(9,0),dt[12]=new wr(1230,412),dt[15]=new wr(224,137),e=0;e<18;e+=3)for(t=0;t<2;++t)dt[e+t+1]=new zi,G1(dt[e+t],dt[e],dt[e+t+1])}function LB(){O1||(O1=!0,_t=T(1937880),Ni=T(1538),Ti=T(1538),oo=T(11880),V1=[0,1,6,3,4,5,2,7],Vs=T(160,12),Hs=T(160,12),qs=[1,1,1,3,12,60,360,2520,20160,181440,1814400,19958400,239500800],js=[0,2,4,6,1,3,7,5,8,9,10,11])}function eo(e,t,r,n,o){let l=e.edgeo[o];e.edgeo[o]=e.edge[n],e.edge[n]=e.edgeo[r],e.edgeo[r]=e.edge[t],e.edge[t]=l}function to(e,t){let r,n,o,l,i;for(e.isStd||j1(e),n=0,i=1985229328,l=47768,r=0;r<t;++r)o=e.edge[r]<<2,n*=12-r,o>=32?(n+=l>>o-32&15,l-=4368<<o-32):(n+=i>>o&15,l-=4369,i-=286331152<<o);return n}function W1(e){let t,r=to(e,4);t=oo[r];let n=t&7;t>>=3,Pi(e,n);let o=to(e,10)%20160;return t*20160+o}function Ci(e,t){switch(e.isStd=!1,t){case 0:ue(e.edge,0,4,1,5),ue(e.edgeo,0,4,1,5);break;case 1:de(e.edge,0,4,1,5),de(e.edgeo,0,4,1,5);break;case 2:ue(e.edge,0,5,1,4),ue(e.edgeo,0,5,1,4);break;case 3:de(e.edge,5,10,6,11),de(e.edgeo,5,10,6,11);break;case 4:ue(e.edge,0,11,3,8),ue(e.edgeo,0,11,3,8);break;case 5:de(e.edge,0,11,3,8),de(e.edgeo,0,11,3,8);break;case 6:ue(e.edge,0,8,3,11),ue(e.edgeo,0,8,3,11);break;case 7:ue(e.edge,2,7,3,6),ue(e.edgeo,2,7,3,6);break;case 8:de(e.edge,2,7,3,6),de(e.edgeo,2,7,3,6);break;case 9:ue(e.edge,2,6,3,7),ue(e.edgeo,2,6,3,7);break;case 10:de(e.edge,4,8,7,9),de(e.edgeo,4,8,7,9);break;case 11:ue(e.edge,1,9,2,10),ue(e.edgeo,1,9,2,10);break;case 12:de(e.edge,1,9,2,10),de(e.edgeo,1,9,2,10);break;case 13:ue(e.edge,1,10,2,9),ue(e.edgeo,1,10,2,9);break;case 14:de(e.edge,0,4,1,5),de(e.edgeo,0,4,1,5),ue(e.edge,9,11),ue(e.edgeo,8,10);break;case 15:de(e.edge,5,10,6,11),de(e.edgeo,5,10,6,11),ue(e.edge,1,3),ue(e.edgeo,0,2);break;case 16:de(e.edge,0,11,3,8),de(e.edgeo,0,11,3,8),ue(e.edge,5,7),ue(e.edgeo,4,6);break;case 17:de(e.edge,2,7,3,6),de(e.edgeo,2,7,3,6),ue(e.edge,8,10),ue(e.edgeo,9,11);break;case 18:de(e.edge,4,8,7,9),de(e.edgeo,4,8,7,9),ue(e.edge,0,2),ue(e.edgeo,1,3);break;case 19:de(e.edge,1,9,2,10),de(e.edgeo,1,9,2,10),ue(e.edge,4,6),ue(e.edgeo,5,7)}}function ro(e,t){switch(e.isStd=!1,t){case 0:Ci(e,14),Ci(e,17);break;case 1:eo(e,11,5,10,6),eo(e,5,10,6,11),eo(e,1,2,3,0),eo(e,4,9,7,8),eo(e,8,4,9,7),eo(e,0,1,2,3);break;case 2:ht(e,4,5),ht(e,5,4),ht(e,11,8),ht(e,8,11),ht(e,7,6),ht(e,6,7),ht(e,9,10),ht(e,10,9),ht(e,1,1),ht(e,0,0),ht(e,3,3),ht(e,2,2)}}function Pi(e,t){for(;t>=2;)t-=2,ro(e,1),ro(e,2);t!==0&&ro(e,0)}function tl(e,t){let r,n,o,l,i,a;for(i=1985229328,a=47768,o=0,r=0;r<11;++r)if(n=qs[11-r],l=~~(t/n),t=t%n,o^=l,l<<=2,l>=32){l=l-32,e.edge[r]=a>>l&15;let s=(1<<l)-1;a=(a&s)+(a>>4&~s)}else{e.edge[r]=i>>l&15;let s=(1<<l)-1;i=(i&s)+(i>>>4&~s)+(a<<28),a=a>>4}for((o&1)==0?e.edge[11]=i:(e.edge[11]=e.edge[10],e.edge[10]=i),r=0;r<12;++r)e.edgeo[r]=r;e.isStd=!0}function K1(e,t){let r;for(r=0;r<12;++r)e.edge[r]=t.edge[r],e.edgeo[r]=t.edgeo[r];e.isStd=t.isStd}function Q1(e,t){let r,n,o,l;for(e.temp===null&&(e.temp=T(12)),r=0;r<12;++r)e.temp[r]=r,e.edge[r]=t.ep[js[r]+12]%12;for(n=1,r=0;r<12;++r)for(;e.edge[r]!==r;)l=e.edge[r],e.edge[r]=e.edge[l],e.edge[l]=l,o=e.temp[r],e.temp[r]=e.temp[l],e.temp[l]=o,n^=1;for(r=0;r<12;++r)e.edge[r]=e.temp[t.ep[js[r]]%12];return n}function j1(e){let t;for(e.temp===null&&(e.temp=T(12)),t=0;t<12;++t)e.temp[e.edgeo[t]]=t;for(t=0;t<12;++t)e.edge[t]=e.temp[e.edge[t]],e.edgeo[t]=t;e.isStd=!0}function de(e,t,r,n,o){let l;l=e[t],e[t]=e[n],e[n]=l,l=e[r],e[r]=e[o],e[o]=l}function ht(e,t,r){let n=e.edge[t];e.edge[t]=e.edgeo[r],e.edgeo[r]=n}function nr(){this.edge=T(12),this.edgeo=T(12)}function BB(){let e,t,r,n,o,l,i,a,s,f,g,c,u,p,m,L,R,h,A,y,k,E,Q=new nr,$=new nr,N=new nr;for(qi(_t),a=0,Mi=1,Qs(_t,0,0);Mi!==31006080&&(m=a>9,i=a%3,l=(a+1)%3,f=m?3:i,e=m?i:3,!(a>=9));){for(c=0;c<31006080;c+=16)if(E=_t[~~c>>4],!(!m&&E===-1)){for(g=c,s=c+16;g<s;++g,E>>=2)if((E&3)===f){for(A=~~(g/20160),t=Ni[A],n=g%20160,tl(Q,t*20160+n),R=0;R<17;++R)if(r=no(Q.edge,R<<3,4),y=oo[r],k=y&7,y>>=3,o=no(Q.edge,R<<3|k,10)%20160,u=y*20160+o,rl(_t,u)===e){if(Qs(_t,m?g:u,l),++Mi,m)break;if(h=Ti[y],h!==1)for(K1($,Q),Ci($,R),Pi($,k),L=1;(h=~~h>>1&65535)!=0;++L)(h&1)==1&&(K1(N,$),Pi(N,L),p=y*20160+to(N,10)%20160,rl(_t,p)===e&&(Qs(_t,p,l),++Mi))}}}++a}}function rl(e,t){return e[t>>4]>>((t&15)<<1)&3}function no(e,t,r){let n,o,l,i,a,s=Hs[t],f=Vs[t];for(o=0,a=1985229328,i=47768,n=0;n<r;++n)l=s[e[f[n]]]<<2,o*=12-n,l>=32?(o+=i>>l-32&15,i-=4368<<l-32):(o+=a>>l&15,i-=4369,a-=286331152<<l);return o}function q1(e){let t,r,n,o,l,i,a,s,f,g,c,u=new nr;if(i=0,l=rl(_t,e),l===3)return 10;for(;e!==0;)for(l===0?l=2:--l,f=~~(e/20160),t=Ni[f],n=e%20160,tl(u,t*20160+n),s=0;s<17;++s)if(r=no(u.edge,s<<3,4),g=oo[r],c=g&7,g>>=3,o=no(u.edge,s<<3|c,10)%20160,a=g*20160+o,rl(_t,a)===l){++i,e=a;break}return i}function RB(e,t){let r=rl(_t,e);return r===3?10:(1227133513<<r>>t&3)+t-1}function dB(){let e,t,r,n=new nr;for(t=0;t<20;++t)for(r=0;r<8;++r){for(tl(n,0),Ci(n,t),Pi(n,r),e=0;e<12;++e)Vs[t<<3|r][e]=n.edge[e];for(j1(n),e=0;e<12;++e)Hs[t<<3|r][e]=n.temp[e]}}function hB(){let e,t,r,n,o=new nr,l=T(1485);for(t=0;t<1485;t++)l[t]=0;for(e=0,t=0;t<11880;++t)if((l[~~t>>>3]&1<<(t&7))==0){for(tl(o,t*qs[8]),n=0;n<8;++n)r=to(o,4),r===t&&(Ti[e]=(Ti[e]|1<<n)&65535),l[~~r>>3]=l[~~r>>3]|1<<(r&7),oo[r]=e<<3|V1[n],ro(o,0),n%2==1&&(ro(o,1),ro(o,2));Ni[e++]=t}}function Qs(e,t,r){e[t>>4]^=(3^r)<<((t&15)<<1)}function DB(){H1||(H1=!0)}function FB(e){let t,r,n;for(t=0,n=!1,r=0;r<12;++r)t|=1<<e.ep[r],n=n!==e.ep[r]>=12;return t&=~~t>>12,t===0&&!n}function AB(e,t){let r;for(r=0;r<24;++r)e.ep[r]=t.ep[r]}function yB(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:D(e.ep,0,1,2,3,r),D(e.ep,12,13,14,15,r);break;case 1:D(e.ep,11,15,10,19,r),D(e.ep,23,3,22,7,r);break;case 2:D(e.ep,0,11,6,8,r),D(e.ep,12,23,18,20,r);break;case 3:D(e.ep,4,5,6,7,r),D(e.ep,16,17,18,19,r);break;case 4:D(e.ep,1,20,5,21,r),D(e.ep,13,8,17,9,r);break;case 5:D(e.ep,2,9,4,10,r),D(e.ep,14,21,16,22,r);break;case 6:D(e.ep,0,1,2,3,r),D(e.ep,12,13,14,15,r),D(e.ep,9,22,11,20,r);break;case 7:D(e.ep,11,15,10,19,r),D(e.ep,23,3,22,7,r),D(e.ep,2,16,6,12,r);break;case 8:D(e.ep,0,11,6,8,r),D(e.ep,12,23,18,20,r),D(e.ep,3,19,5,13,r);break;case 9:D(e.ep,4,5,6,7,r),D(e.ep,16,17,18,19,r),D(e.ep,8,23,10,21,r);break;case 10:D(e.ep,1,20,5,21,r),D(e.ep,13,8,17,9,r),D(e.ep,14,0,18,4,r);break;case 11:D(e.ep,2,9,4,10,r),D(e.ep,14,21,16,22,r),D(e.ep,7,15,1,17,r)}}function Ys(){let e;for(this.ep=T(24),e=0;e<24;++e)this.ep[e]=e}function Y1(e){let t,r,n;for(Ys.call(this),t=0;t<23;++t)n=t+e(24-t),n!==t&&(r=this.ep[t],this.ep[t]=this.ep[n],this.ep[n]=r)}function UB(){J1||(J1=!0,Js=[35,1,34,2,4,6,22,5,19])}function Z1(e){e.moveBuffer=T(60)}function bB(e,t){return e.value-t.value}function lo(e,t){let r;for(AB(e.edge,t.edge),fB(e.center,t.center),T1(e.corner,t.corner),e.value=t.value,e.add1=t.add1,e.length1=t.length1,e.length2=t.length2,e.length3=t.length3,e.sym=t.sym,r=0;r<60;++r)e.moveBuffer[r]=t.moveBuffer[r];e.moveLength=t.moveLength,e.edgeAvail=t.edgeAvail,e.centerAvail=t.centerAvail,e.cornerAvail=t.cornerAvail}function Sr(e){for(;e.centerAvail<e.moveLength;)uB(e.center,e.moveBuffer[e.centerAvail++]);return e.center}function X1(e){for(;e.cornerAvail<e.moveLength;)cB(e.corner,e.moveBuffer[e.cornerAvail++]%18);return e.corner}function nl(e){for(;e.edgeAvail<e.moveLength;)yB(e.edge,e.moveBuffer[e.edgeAvail++]);return e.edge}function xB(e){let t,r,n,o,l,i,a=new Array(e.moveLength-(e.add1?2:0));for(r=0,t=0;t<e.length1;++t)a[r++]=e.moveBuffer[t];for(i=e.sym,t=e.length1+(e.add1?2:0);t<e.moveLength;++t)kt[i][e.moveBuffer[t]]>=27?(a[r++]=kt[i][e.moveBuffer[t]]-9,o=Js[kt[i][e.moveBuffer[t]]-27],i=Zn[i][o]):a[r++]=kt[i][e.moveBuffer[t]];let s=Zn[Jn[i]][$L(Sr(e))];for(l=\\\"\\\",i=s,t=r-1;t>=0;--t)n=a[t],n=~~(n/3)*3+(2-n%3),kt[i][n]>=27?(l=l+Zs[kt[i][n]-9]+\\\" \\\",o=Js[kt[i][n]-27],i=Zn[i][o]):l=l+Zs[kt[i][n]]+\\\" \\\";return l}function en(e,t){e.moveBuffer[e.moveLength++]=t}function Gi(){Z1(this),this.edge=new Ys,this.center=new Ks,this.corner=new zi}function Ii(e){Gi.call(this),lo(this,e)}function $1(e){Z1(this),this.edge=new Y1(e),this.center=new P1(e),this.corner=new I1(e)}function wB(e,t){return t.value-e.value}function Oi(e,t){return wB(e,t)}function eg(){}function SB(){if(tg)return;tg=!0;let e,t;for(Zs=[\\\"U \\\",\\\"U2 \\\",\\\"U' \\\",\\\"R \\\",\\\"R2 \\\",\\\"R' \\\",\\\"F \\\",\\\"F2 \\\",\\\"F' \\\",\\\"D \\\",\\\"D2 \\\",\\\"D' \\\",\\\"L \\\",\\\"L2 \\\",\\\"L' \\\",\\\"B \\\",\\\"B2 \\\",\\\"B' \\\",\\\"Uw \\\",\\\"Uw2\\\",\\\"Uw'\\\",\\\"Rw \\\",\\\"Rw2\\\",\\\"Rw'\\\",\\\"Fw \\\",\\\"Fw2\\\",\\\"Fw'\\\",\\\"Dw \\\",\\\"Dw2\\\",\\\"Dw'\\\",\\\"Lw \\\",\\\"Lw2\\\",\\\"Lw'\\\",\\\"Bw \\\",\\\"Bw2\\\",\\\"Bw'\\\"],tn=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,21,22,23,25,28,30,31,32,34,36],ol=[0,1,2,4,6,7,8,9,10,11,13,15,16,17,19,22,25,28,31,34,36],rg=T(37),ng=T(37),io=T(37,36),Wi=T(29,28),Ki=T(21,20),Xs=T(36),ll=T(28),ao=T(20),e=0;e<29;++e)rg[tn[e]]=e;for(e=0;e<21;++e)ng[ol[e]]=e;for(e=0;e<36;++e){for(t=0;t<36;++t)io[e][t]=~~(e/3)==~~(t/3)||~~(e/3)%3==~~(t/3)%3&&e>t;io[36][e]=!1}for(e=0;e<29;++e)for(t=0;t<28;++t)Wi[e][t]=io[tn[e]][tn[t]];for(e=0;e<21;++e)for(t=0;t<20;++t)Ki[e][t]=io[ol[e]][ol[t]];for(e=0;e<36;++e)for(Xs[e]=36,t=e;t<36;++t)if(!io[e][t]){Xs[e]=t-1;break}for(e=0;e<28;++e)for(ll[e]=28,t=e;t<28;++t)if(!Wi[e][t]){ll[e]=t-1;break}for(e=0;e<20;++e)for(ao[e]=20,t=e;t<20;++t)if(!Ki[e][t]){ao[e]=t-1;break}}function vB(e){let t,r,n,o,l,i,a,s,f,g,c,u;e.solution=\\\"\\\";let p=Ui(new xi(Sr(e.c),0)),m=Ui(new xi(Sr(e.c),1)),L=Ui(new xi(Sr(e.c),2)),R=Et[~~p>>6],h=Et[~~m>>6],A=Et[~~L>>6];for(e.p1SolsCnt=0,e.arr2idx=0,TB(e.p1sols.heap),e.length1=(R<h?R:h)<A?R<h?R:h:A;e.length1<100&&!(A<=e.length1&&Qi(e,~~L>>>6,L&63,e.length1,-1,0)||R<=e.length1&&Qi(e,~~p>>>6,p&63,e.length1,-1,0)||h<=e.length1&&Qi(e,~~m>>>6,m&63,e.length1,-1,0));++e.length1);let y=YB(e.p1sols,_s(ZB,br([OL,Es,ks]),B1,0,0));y.sort(function(Q,$){return Q.value-$.value}),t=9;do{e:for(s=y[0].value;s<100;++s)for(i=0;i<y.length&&!(y[i].value>s);++i)if(!(s-y[i].length1>t)&&(lo(e.c1,y[i]),x1(e.ct2,Sr(e.c1),ji(nl(e.c1).ep)),c=vi(e.ct2),u=Ei(e.ct2),e.length1=y[i].length1,e.length2=s-y[i].length1,og(e,c,u,e.length2,28,0)))break e;++t}while(s===100);e.arr2.sort(function(Q,$){return Q.value-$.value}),a=0,r=13;do{e:for(f=e.arr2[0].value;f<100;++f)for(i=0;i<Math.min(e.arr2idx,100)&&!(e.arr2[i].value>f);++i)if(!(f-e.arr2[i].length1-e.arr2[i].length2>r)&&(l=Q1(e.e12,nl(e.arr2[i])),z1(e.ct3,Sr(e.arr2[i]),l^ji(X1(e.arr2[i]).cp)),n=Gs(e.ct3),o=to(e.e12,10),g=q1(W1(e.e12)),g<=f-e.arr2[i].length1-e.arr2[i].length2&&lg(e,o,n,g,f-e.arr2[i].length1-e.arr2[i].length2,20,0))){a=i;break e}++r}while(f===100);let k=new Ii(e.arr2[a]);e.length1=k.length1,e.length2=k.length2;let E=f-e.length1-e.length2;for(i=0;i<E;++i)en(k,ol[e.move3[i]]);e.solution=xB(k)}function EB(e,t){let r,n;for(lo(e.c1,e.c),r=0;r<e.length1;++r)en(e.c1,e.move1[r]);switch(Ns[t]){case 0:en(e.c1,24),en(e.c1,35),e.move1[e.length1]=24,e.move1[e.length1+1]=35,e.add1=!0,t=19;break;case 12869:en(e.c1,18),en(e.c1,29),e.move1[e.length1]=18,e.move1[e.length1+1]=29,e.add1=!0,t=34;break;case 735470:e.add1=!1,t=0}x1(e.ct2,Sr(e.c1),ji(nl(e.c1).ep));let o=vi(e.ct2),l=Ei(e.ct2),i=nt[o*70+l];return e.c1.value=i+e.length1,e.c1.length1=e.length1,e.c1.add1=e.add1,e.c1.sym=t,++e.p1SolsCnt,e.p1sols.heap.size<500?n=new Ii(e.c1):(n=VB(e.p1sols),n.value>e.c1.value&&lo(n,e.c1)),PB(e.p1sols,n),e.p1SolsCnt===1e4}function kB(e){let t;for(lo(e.c2,e.c1),t=0;t<e.length2;++t)en(e.c2,e.move2[t]);if(!FB(nl(e.c2)))return!1;let r=Q1(e.e12,nl(e.c2));z1(e.ct3,Sr(e.c2),r^ji(X1(e.c2).cp));let n=Gs(e.ct3);to(e.e12,10);let o=q1(W1(e.e12));return e.arr2[e.arr2idx]?lo(e.arr2[e.arr2idx],e.c2):e.arr2[e.arr2idx]=new Ii(e.c2),e.arr2[e.arr2idx].value=e.length1+e.length2+Math.max(o,xr[n]),e.arr2[e.arr2idx].length2=e.length2,++e.arr2idx,e.arr2idx===e.arr2.length}function _B(e,t){return ag(),e.c=new $1(t),vB(e),e.solution}function Qi(e,t,r,n,o,l){let i,a,s,f,g,c;if(t===0)return n===0&&EB(e,r);for(i=0;i<27;i+=3)if(!(i===o||i===o-9||i===o-18))for(f=0;f<3;++f){if(s=i+f,a=wi[t][kt[r][s]],g=Et[~~a>>>6],g>=n){if(g>n)break;continue}if(c=Zn[r][a&63],a>>>=6,e.move1[l]=s,Qi(e,a,c,n-1,i,l+1))return!0}return!1}function og(e,t,r,n,o,l){let i,a,s,f;if(t===0&&nt[r]===0)return n===0&&kB(e);for(a=0;a<23;++a){if(Wi[o][a]){a=ll[a];continue}if(i=ki[t][a],f=_i[r][a],s=nt[i*70+f],s>=n){s>n&&(a=ll[a]);continue}if(e.move2[l]=tn[a],og(e,i,f,n-1,a,l+1))return!0}return!1}function lg(e,t,r,n,o,l,i){let a,s,f,g,c,u,p,m,L;if(o===0)return t===0&&r===0;for(tl(e.tempe[i],t),c=0;c<17;++c){if(Ki[l][c]){c=ao[c];continue}if(f=el[r][c],u=xr[f],u>=o){u>o&&c<14&&(c=ao[c]);continue}if(g=no(e.tempe[i].edge,c<<3,10),a=~~(g/20160),m=oo[a],L=m&7,m>>=3,s=no(e.tempe[i].edge,c<<3|L,10)%20160,p=RB(m*20160+s,n),p>=o){p>o&&c<14&&(c=ao[c]);continue}if(lg(e,g,f,p,o-1,c,i+1))return e.move3[i]=c,!0}return!1}function ig(){let e;for(this.p1sols=new Lg(new eg),this.move1=T(15),this.move2=T(20),this.move3=T(20),this.c1=new Gi,this.c2=new Gi,this.ct2=new Ts,this.ct3=new Is,this.e12=new nr,this.tempe=T(20),this.arr2=T(100),e=0;e<20;++e)this.tempe[e]=new nr}function ag(){sg||(eB(),Yn=T(735471),tB(),ZL(),Yn=null,XL(),oB(),sB(),dB(),hB(),BB(),sg=!0)}function zB(){fg||(fg=!0)}function ji(e){let t,r,n,o;for(o=0,t=0,n=e.length;t<n;++t)for(r=t;r<n;++r)e[t]>e[r]&&(o^=1);return o}function D(e,t,r,n,o,l){let i;switch(l){case 0:i=e[o],e[o]=e[n],e[n]=e[r],e[r]=e[t],e[t]=i;return;case 1:i=e[t],e[t]=e[n],e[n]=i,i=e[r],e[r]=e[o],e[o]=i;return;case 2:i=e[t],e[t]=e[r],e[r]=e[n],e[n]=e[o],e[o]=i;return}}function ug(){}function gg(e,t,r,n){let o=new ug;return o.typeName=e+t,pg(r!==0?-r:0)&&mg(r!==0?-r:0,o),o.modifiers=4,o.superclass=$s,o.componentType=n,o}function cg(e,t,r,n){let o=new ug;return o.typeName=e+t,pg(r)&&mg(r,o),o.superclass=n,o}function CB(e){let t=Zo[e.seedId];return e=null,t}function pg(e){return typeof e==\\\"number\\\"&&e>0}function mg(e,t){let r;if(t.seedId=e,e===2)r=String.prototype;else if(e>0){let n=CB(t);if(n)r=n.prototype;else{n=Zo[e]=function(){},n.___clazz$=t;return}}else return;r.___clazz$=t}function PB(e,t){if(qB(e,t))return!0}function MB(e){e.array=_s(Bg,br([Es,ks]),m1,0,0)}function NB(e,t){return Ai(e.array,e.size++,t),!0}function TB(e){e.array=_s(Bg,br([Es,ks]),m1,0,0),e.size=0}function vr(e,t){return e.array[t]}function GB(e,t){let r=e.array[t];return WB(e.array,t,1),--e.size,r}function so(e,t,r){let n=e.array[t];return Ai(e.array,t,r),n}function IB(e,t){let r;for(t.length<e.size&&(t=jL(t,e.size)),r=0;r<e.size;++r)Ai(t,r,e.array[r]);return t.length>e.size&&Ai(t,e.size,null),t}function OB(){MB(this),this.array.length=500}function WB(e,t,r){e.splice(t,r)}function KB(e,t){let r,n,o,l;for(n=0,r=e.length-1;n<=r;)if(o=n+(~~(r-n)>>1),l=e[o],l<t)n=o+1;else if(l>t)r=o-1;else return o;return-n-1}function qi(e){QB(e,e.length)}function QB(e,t){let r;for(r=0;r<t;++r)e[r]=-1}function jB(e,t){let r,n,o,l,i=e.heap.size,a=vr(e.heap,t);for(;t*2+1<i&&(r=(n=2*t+1,o=n+1,l=n,o<i&&Oi(vr(e.heap,o),vr(e.heap,n))<0&&(l=o),l),!(Oi(a,vr(e.heap,r))<0));)so(e.heap,t,vr(e.heap,r)),t=r;so(e.heap,t,a)}function qB(e,t){let r,n;for(n=e.heap.size,NB(e.heap,t);n>0;){if(r=n,n=~~((n-1)/2),Oi(vr(e.heap,n),t)<=0)return so(e.heap,r,t),!0;so(e.heap,r,vr(e.heap,n))}return so(e.heap,n,t),!0}function VB(e){if(e.heap.size===0)return null;let t=vr(e.heap,0);return HB(e),t}function HB(e){let t=GB(e.heap,e.heap.size-1);0<e.heap.size&&(so(e.heap,0,t),jB(e,0))}function YB(e,t){return IB(e.heap,t)}function Lg(e){this.heap=new OB,this.cmp=e}function hg(){dg||(dg=!0,SB(),zB(),JL(),nB(),lB(),LB(),gB(),DB(),UB(),Rg=new ig)}function XB(){hg(),ag()}async function $B(){ze(),hg();let e=_.fromString(_B(Rg,await Ce()));return(await Hn()).concat(e)}var Y,Zo,TL,m1,Es,L1,GL,IL,B1,OL,WL,KL,ks,D1,zs,Cs,A1,Et,wi,Ns,Yn,Si,Jn,kt,Zn,b1,ki,nt,v1,E1,_i,k1,_1,el,C1,xr,Os,Ws,M1,dt,O1,js,Mi,_t,qs,Vs,Hs,oo,Ni,V1,Ti,H1,J1,Js,tg,io,Wi,Ki,tn,Zs,ol,Xs,ll,ao,rg,ng,sg,fg,$s,Bg,JB,ZB,Rg,dg,Fg=U(()=>{Re();Ss();p1();xt();bt();Zo={},TL={},m1=0,Es=30,L1=21,GL=22,IL=23,B1=24,OL=25,WL=34,KL=26,ks=40;pt(1,-1,TL);Y.value=null;pt(73,1,{},R1);Y.queryId$=0;D1=!1;A1=!1;pt(153,1,br([L1]),Xo,xi,$o);Yn=null,b1=!1;pt(154,1,{},Ts);Y.parity=0;_1=!1;pt(155,1,{},Is);Y.parity=0;pt(156,1,{},Ks,P1);M1=!1;pt(157,1,br([GL]),zi,wr,I1);Y.temps=null;O1=!1;pt(158,1,br([IL]),nr);Y.isStd=!0;Y.temp=null;Mi=0,H1=!1;pt(159,1,{},Ys,Y1);J1=!1;pt(160,1,br([B1,WL]),Gi,Ii,$1);Y.compareTo$=function(t){return bB(this,t)};Y.add1=!1;Y.center=null;Y.centerAvail=0;Y.corner=null;Y.cornerAvail=0;Y.edge=null;Y.edgeAvail=0;Y.length1=0;Y.length2=0;Y.length3=0;Y.moveLength=0;Y.sym=0;Y.value=0;pt(161,1,{},eg);Y.compare=function(t,r){return Oi(t,r)};tg=!1;pt(163,1,br([KL]),ig);Y.add1=!1;Y.arr2idx=0;Y.c=null;Y.length1=0;Y.length2=0;Y.p1SolsCnt=0;Y.solution=\\\"\\\";sg=!1,fg=!1;Y.val$outerIter=null;Y.size=0;pt(239,1,{},Lg);Y.cmp=null;Y.heap=null;$s=cg(\\\"java.lang.\\\",\\\"Object\\\",1,null),Bg=gg(\\\"[Ljava.lang.\\\",\\\"Object;\\\",356,$s),JB=cg(\\\"cs.threephase.\\\",\\\"FullCube\\\",160,$s),ZB=gg(\\\"[Lcs.threephase.\\\",\\\"FullCube;\\\",381,JB),dg=!1});var nc={};De(nc,{randomFTOScrambleString:()=>$R});function il(e){if(e<2)return e;let t=1;for(let r=2;r<=e;r++)t*=r;return t}function Vi(e,t){if(t<0||t>e)return 0;if(t===0||t===e)return 1;let r=1;for(let n=0;n<t;n++)r=r*(e-n)/(n+1)|0;return r}function wg(e,t,r,n,o=e-t-r-n){return Vi(e,t+r)*Vi(t+r,t)*Vi(n+o,n)}function iR(e){e=e.slice();let t=e.length,r=il(t-1),n=0;for(;t>1;){t--;let o=e[0];n+=o*r;for(let l=0;l<t;l++){let i=e[l+1];e[l]=i-(i>o)}r/=t}return n}function aR(e){let t=e.length,r=0;for(let n=0;n<t-1;n++)for(let o=n;o<t;o++)e[n]>e[o]&&(r^=1);return r}function t0(e,t){let r=[],n=il(t-1)/2,o=0;for(let l=0;l<t-1;l++)r[l]=e/n|0,e%=n,n/=t-1-l;r[t-1]=0;for(let l=t-2;l>=0;l--)for(let i=l+1;i<t;i++)r[i]>=r[l]?r[i]++:o^=1;return o===1&&([r[t-2],r[t-1]]=[r[t-1],r[t-2]]),r}function rn(e){return iR(e)>>1}function r0(e,t){let r=[0];for(let n=1;n<e;n++){let o=t(n+1);r[n]=r[o],r[o]=n}return r}function Sg(e,t){let r=r0(e,t);return aR(r)===1&&([r[0],r[1]]=[r[1],r[0]]),r}function sR(e){return e|=0,31-Math.clz32(e^e-1)}function vg(e,t){e|=0,t|=0;let r=e+\\\" \\\"+t;if(n0[r])return n0[r];let n=Vi(e,t),o=new Uint32Array(n),l=new Uint32Array(1<<e).fill(-1);for(let i=0,a=(1<<t)-1;i<n;i++){o[i]=a,l[a]=i;let s=a|a-1;a=s+1|(~s&-~s)-1>>sR(a)+1}return n0[r]=[o,l]}function fR(e){e|=0;let t=0;for(;e!==0;)e&=e-1,t++;return t}function Eg(e){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,e}function uR(e,t){return Eg(e)|Eg(t)<<1}function fo(e,t,r,n,o){if(e|=0,t|=0,r|=0,n|=0,o|=0,e!==t+r+n+o)throw\\\"generate_comb4_lookup_tables: invalid parameters\\\";let l=[e,t,r,n,o].join(\\\" \\\");if(o0[l])return o0[l];let[i,a]=vg(e,r+o),[s,f]=vg(e,n+o),g=wg(e,t,r,n,o),c=new Uint32Array(g),u=new Uint32Array(4**e).fill(-1);for(let p=0,m=0;p<s.length;p++){let L=s[p];for(let R=0;R<i.length;R++){let h=i[R];if(fR(h&L)===o){let A=uR(h,L);c[m]=A,u[A]=m,m++}}}return o0[l]=[c,u]}function Ze(e,t){let r=[];for(let n=0;n<t.length;n++)r[n]=e[t[n]];return r}function uo(e,t,r){let n=[];for(let o=0;o<r.length;o++)n[o]=e[t[r[o]]];return n}function l0(e,t){let r=[];for(let n=0;n<t;n++)r[n]=n;for(let n of e)for(let o=0;o<n.length;o++)r[n[o]]=n[(o+1)%n.length];return r}function nn(e,t){let r=e.length,n=Array(r).fill(0);for(let i=1;i<r;i++)n[i]=n[i-1]+t[i-1];let o=n[r-1]+t[r-1],l=Array(o);for(let i=0;i<r;i++)t[i]&&(l[n[i]]=n[e[i]]);return l}function i0(e){let t=e.length,r=Array(t);for(let n=0;n<t;n++)r[e[n]]=n;return r}function gR(e,t){for(;e&&t;)[e,t]=[t%e,e];return Math.abs(e+t)}function cR(e,t){return e*t/gR(e,t)}function pR(e){let t=1,r=e.length,n=Array(r).fill(!1),o=-1;for(;o=n.indexOf(!1,o+1),o!==-1;){let l=0,i=o;for(;!n[i];)n[i]=!0,i=e[i],l++;t=cR(t,l)}return t}function FR(e,t){for(let r=0;r<6;r++){if(e===zt[Er[r][0]]&&t===zt[Er[r][2]])return[r,0];if(e===zt[Er[r][2]]&&t===zt[Er[r][0]])return[r,1]}throw\\\"unknown corner piece\\\"}function AR(e,t){for(let r=0;r<12;r++)if(e===zt[kr[r][0]]&&t===zt[kr[r][1]]||t===zt[kr[r][0]]&&e===zt[kr[r][1]])return r;throw\\\"unknown edge piece\\\"}function a0(e,t){return FR(e[Er[t][0]],e[Er[t][2]])}function Ji(e,t){return AR(e[kr[t][0]],e[kr[t][1]])}function yR(e,t,r,n){let o=Er[t],l=Er[r].map(i=>zt[i]);n%2!=0&&(l=[l[2],l[3],l[0],l[1]]);for(let i=0;i<4;i++)e[o[i]]=l[i]}function UR(e,t,r){let n=kr[t],o=kr[r].map(l=>zt[l]);for(let l=0;l<2;l++)e[n[l]]=o[l]}function zg(e){let t=e.map(s=>zt[s]),n=Array(6).fill().map((s,f)=>a0(t,f)).map(([s,f])=>s+6*f),o=n.concat(n.map(s=>(s+6)%12)),l=Array(12).fill().map((s,f)=>Ji(t,f)),i=Array(12).fill().map((s,f)=>on.indexOf(e[on[f]])),a=Array(12).fill().map((s,f)=>go.indexOf(e[go[f]]));return{cp:o,ep:l,ap:i,bp:a}}function xR(e){let t=Array(72),r=Sg(5,e);r.push(5);let n=Array(4).fill().map(a=>e(2));n.push(n.reduce((a,s)=>a^s)),n.push(0);for(let a=0;a<6;a++)yR(t,a,r[a],n[a]);let o=Sg(12,e);for(let a=0;a<12;a++)UR(t,a,o[a]);let l=r0(12,e).map(a=>a/3|0),i=r0(12,e).map(a=>4+(a/3|0));for(let a=0;a<12;a++)t[on[a]]=l[a],t[go[a]]=i[a];return t}function Pg(e,t=!1){if(t){let l=0,i=1,a=2,s=3,f=4,g=5,c=6,u=7;e=e.map(L=>L.slice());let p=[l,i,a,s,f,g,c,u],m=[[l,s,g,c,f,u,i,a],[u,i,l,c,s,g,f,a],[u,f,a,i,s,l,c,g],[a,f,g,s,c,l,i,u]];m=m.concat(m.map(L=>i0(L)));for(let L=0;L<e.length;L++)if(e[L][0]<4)e[L][0]=p[e[L][0]];else{let R=p[e[L][0]],h=e[L][1];e[L][0]=R,p=Ze(h===1?m[R^4]:m[R],p)}}let r=t?\\\"U L F R D BR B BL\\\".split(\\\" \\\"):bR,n=[\\\"0\\\",\\\"\\\",\\\"'\\\"];return e.map(([l,i])=>r[l]+n[i]).join(\\\" \\\")}function _r(e,t){for(let[r,n]of t)for(let o=0;o<n;o++)e=Ze(e,Cg[r]);return e}function Mg(e){return e.map(([t,r])=>[t,(3-r)%3]).reverse()}function Zi(e,t=!1){if(e.length===0)return[];let r=[],n;for(let[o,l]of e)n&&n[0]===o?(n[1]+=l,n[1]%=3,n[1]===0&&(r.pop(),n=r.length===0?void 0:r[r.length-1])):r.length>=2&&(n[0]^o)==4&&r[r.length-2][0]===o?(r[r.length-2][1]+=l,r[r.length-2][1]%=3,r[r.length-2][1]===0&&r.splice(r.length-2,1)):(n=[o,l],r.push(n));return t&&\\\"\\\"+e!=\\\"\\\"+r&&console.log(`simplified ${e} to ${r}`),r}function wR(e){return Pg(Mg(ER(xR(e),!0)),!0)}function co(e,t,r,n,o,l){let i=wg(e,t,r,n,o),a=l.length,[s,f]=fo(e,t,r,n,o),g=Array(a).fill().map(()=>new Uint32Array(i));for(let c=0;c<i;c++){let u=s[c],p=Array(e);for(let m=0;m<e;m++)p[m]=u>>2*m&3;for(let m=0;m<a;m++){let R=Ze(p,l[m]).reduce((h,A,y)=>h|A<<2*y,0);g[m][c]=f[R]}}return g}function Ng(e){let t=e[0].length,r=e.length,n=Array(r).fill().map(()=>new Uint32Array(t));for(let o=0;o<t;o++)for(let l=0;l<r;l++)n[l][e[l][o]]=o;return n}function an(e,t){let r=e[0].length,n=t[0].length,o=e.length,l=Array(o).fill().map(()=>new Uint32Array(r*n));for(let i=0;i<n;i++)for(let a=0;a<r;a++){let s=a+r*i;for(let f=0;f<o;f++)l[f][s]=e[f][a]+r*t[f][i]}return l}function SR(e,t){let r=e.length,n=e[0].length,o=new Uint8Array(n);o[t]=1;let l=!1;for(;!l;){l=!0;for(let a=0;a<n;a++)if(!!o[a])for(let s=0;s<r;s++)o[e[s][a]]||(o[e[s][a]]=1,l=!1)}let i=new Int32Array(n).fill(-1);for(let a=0,s=0;a<n;a++)!o[a]||(i[a]=s,s++);return[e.map(a=>nn(a,o)),i]}function vR(e,t){let r=e.length,n=e[0].length,o=new Int32Array(n).fill(-1);t.forEach(s=>{o[s]=0});let l=[t];for(let s=0;s<l.length;s++){let f=l[s];for(let g=0;g<r;g++){let c=e[g][f[0]];if(o[c]!==-1)continue;let u=f.map(m=>e[g][m]),p=l.length;l.push(u);for(let m of u){if(o[m]!==-1)throw\\\"quotienting failed\\\";o[m]=p}}}let i=l.length,a=Array(r).fill().map(()=>new Int32Array(i));for(let s=0;s<r;s++)for(let f=0;f<i;f++)a[s][f]=o[e[s][l[f][0]]];return[a,o]}function Tg(e,t,r){let n=e[0].length,o=e.length,l=new Int32Array(n).fill(-1);l[t]=r,l[r]=t;let i=!1;for(;!i;){i=!0;for(let a=0;a<n;a++){if(l[a]===-1)continue;let s=l[a];for(let f=0;f<o;f++){let g=f^1,c=e[f][a],u=e[g][e[g][s]];if(l[c]===-1)i=!1,l[c]=u,l[u]=c;else if(l[c]!==u)throw\\\"mirroring failed - is the initial map correct?\\\"}}}return l}function Gg(e,t){let r=e[0].length,n=e.length,o=new Int8Array(r).fill(-1);for(let a of t)o[a]=0;let l=0,i=!1;for(;!i;){i=!0;for(let a=0;a<r;a++)if(o[a]===l)for(let s=0;s<n;s++){let f=e[s][a];for(;f!==a;)o[f]===-1&&(i=!1,o[f]=l+1),f=e[s][f]}l++}return o}function ER(e,t=!1){let r=PR(e).next().value,n=_r(e,r),o=(t?ZR:JR)(n),l=Zi(r.concat(o),!1);return _r(e,l).join(\\\"\\\")!==al.join(\\\"\\\")&&(console.log(\\\"solving failed!\\\"),console.log(e),console.log(r),console.log(n),console.log(o),console.log(_r(e,l))),l}function _R(e){let[t,r]=fo(12,6,0,3,3),n=Array(12).fill().map((a,s)=>Ji(e,s)),o=n.indexOf(8)+12*n.indexOf(9)+12**2*n.indexOf(10)+12**3*n.indexOf(11),[l,i]=[on,go].map(a=>{let s=a.map(f=>kR[e[f]]);return r[s.reduce((f,g,c)=>f|g<<2*c,0)]});return[o,l,i]}function Ig(){if(W.phase1_edge)return W.phase1_edge;let e=Ng(ln.map(n=>n.ep)),t=an(e,e),r=an(t,t);return W.phase1_edge=r}function zR(){return lr.phase1_edge?lr.phase1_edge:lr.phase1_edge=Gg(Ig(),[8+12*9+12**2*10+12**3*11])}function CR(){return W.phase1_centreA?W.phase1_centreA:W.phase1_centreA=co(12,6,0,3,3,ln.map(e=>e.ap))}function Og(){return W.phase1_centreB?W.phase1_centreB:W.phase1_centreB=co(12,6,0,3,3,ln.map(e=>e.bp))}function Wg(){if(lr.phase1_centre)return lr.phase1_centre;let[e,t]=fo(12,6,0,3,3),r=e.filter(n=>{let o=n>>12&3,l=n>>18&3;return o===2&&l===3}).map(n=>t[n]);return lr.phase1_centre=Gg(Og(),r)}function*PR(e){let t=[Ig(),CR(),Og()],r=[zR(),Wg(),Wg()];yield*MR(_R(e),t,r,15)}function*MR(e,t,r,n){let o=e.length,l=0;for(let i=0;i<o;i++)l=Math.max(l,r[i][e[i]]);for(;l<=n;)yield*Kg(e,t,r,l,-1),l++}function*Kg(e,t,r,n,o){let l=3,i=8,a=Math.max(r[0][e[0]],r[1][e[1]],r[2][e[2]]);if(!(a>n)){if(n===0){yield[];return}if(!(a===0&&n===1))for(let s=0;s<i;s++){if(s===o||s===o-4)continue;let f=[];f[0]=t[0][s][e[0]],f[1]=t[1][s][e[1]],f[2]=t[2][s][e[2]];let g=1;for(;e.some((c,u)=>e[u]!=f[u]);){let c=Kg(f,t,r,n-1,s);for(;;){let{value:u,done:p}=c.next();if(p)break;yield[[s,g]].concat(u)}f[0]=t[0][s][f[0]],f[1]=t[1][s][f[1]],f[2]=t[2][s][f[2]],g++}}}}function s0(e){let[t,r]=fo(10,5,3,2,0),n=Array(8).fill().map((u,p)=>Ji(e,p)),o=n.indexOf(5)+8*n.indexOf(6)+8**2*n.indexOf(7),l=Array(5).fill().map((u,p)=>a0(e,p)),i=i0(l.map(([u,p])=>u+5*p).concat(l.map(([u,p])=>u+5*(p^1)))),a=i.slice(0,5).map(u=>u%5),s=i.slice(0,5).map(u=>u/5|0),f=rn(a)*8+(s[0]^s[2])+2*(s[0]^s[3])+4*s[4],[g,c]=[on,go].map(u=>{let p=Ze(u,TR).map(m=>NR[e[m]]);return r[p.reduce((m,L,R)=>m|L<<2*R,0)]});return Vg(),Jg(),[g,c,Yg[f]+40*qg[o]]}function*Xi(e){yield*KR(s0(e),30)}function jg(){if(W.phase2_centre)return W.phase2_centre;let e=co(10,5,3,2,0,ln.slice(0,4).map(r=>nn(r.ap,Qg))),t=co(10,5,3,2,0,ln.slice(0,4).map(r=>nn(r.bp,Qg)));return W.phase2_centre=[e,t]}function Vg(){if(W.phase2_edge)return W.phase2_edge;let e=Ng(ln.slice(0,4).map(n=>n.ep.slice(0,8))),t=an(e,an(e,e)),r;return[r,qg]=SR(t,501),W.phase2_edge=r}function Hg(){if(W.phase2_corner)return W.phase2_corner;let t=il(5)/2*8,r=[!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1],n=Array(4).fill().map(()=>new Uint32Array(t)),o=ln.slice(0,4).map(l=>i0(nn(l.cp,r)));for(let l=0;l<t;l++){let i=t0(l>>3,5),a=[0,0,l&1,l>>1&1,l>>2&1];a[1]=a[2]^a[3]^a[4];let s=Array(10);for(let f=0;f<5;f++)s[f]=i[f]+5*a[f],s[f+5]=i[f]+5*(a[f]^1);for(let f=0;f<4;f++){let g=Ze(o[f],s),c=g.slice(0,5).map(m=>m%5),u=g.slice(0,5).map(m=>m/5|0),p=(u[0]^u[2])+2*(u[0]^u[3])+4*u[4];n[f][l]=rn(c)*8+p}}return W.phase2_corner=n}function Jg(){return W.phase2_corner_compact||([W.phase2_corner_compact,Yg]=vR(Hg(),OR())),W.phase2_corner_compact}function f0(){if(W.phase2_ce)return W.phase2_ce;let e=Jg(),t=Vg();return W.phase2_ce=an(e,t)}function GR(){if(u0)return u0;let e=s0(al)[2];return u0=Tg(f0(),e,e)}function IR(){let[e,t]=fo(10,5,3,2,0);return e.filter(r=>(r>>10&63)==41).map(r=>t[r])}function OR(){let e=Hg(),t=e[0].length,r=Array(t).fill(!1);r[0]=!0;let n=!1;for(;!n;){n=!0;for(let o=0;o<t;o++)r[o]&&(r[e[0][o]]||(n=!1,r[e[0][o]]=!0),r[e[1][o]]||(n=!1,r[e[1][o]]=!0))}return r.map((o,l)=>l).filter(o=>r[o])}function WR(){if(lr.phase2_ace)return lr.phase2_ace;let[e,t]=jg(),r=f0(),n=2520,o=40*336,l=n*o,i=s0(al)[2],a=9,s=new Int8Array(l).fill(a);for(let f of IR())s[f+n*i]=0;for(let f=0;f<a-1;f++)for(let g=s.indexOf(f);g!==-1;g=s.indexOf(f,g+1)){let c=g%n,u=g/n|0;for(let p=0;p<4;p++){let m=e[p][c],L=r[p][u],R=m+n*L;s[R]===a&&(s[R]=f+1),m=e[p][m],L=r[p][L],R=m+n*L,s[R]===a&&(s[R]=f+1)}}return lr.phase2_ace=s}function*KR(e,t){let[r,n]=jg(),o=f0(),l=WR(),i=GR(),[a,s,f]=e,g=i[f],c=Math.max(l[a+2520*f],l[s+2520*g]);for(;c<=t;)yield*Zg(a,s,f,r,n,o,l,i,c,-1),c++}function*Zg(e,t,r,n,o,l,i,a,s,f){let g=Math.max(i[e+2520*r],i[t+2520*a[r]]);if(!(g>s)){if(s===0){yield[];return}else if(g===0)return;for(let c=0;c<4;c++){if(c===f)continue;let u=e,p=t,m=r;for(let L=1;L<=2;L++){u=n[c][u],p=o[c][p],m=l[c][m];let R=Zg(u,p,m,n,o,l,i,a,s-1,c);for(;;){let{value:h,done:A}=R.next();if(A)break;yield[[c,L]].concat(h)}}}}}function ea(e){let[t,r]=fo(7,3,2,0,2),n=Array(5).fill().map((f,g)=>Ji(e,g)),o=rn(n),l=Array(4).fill().map((f,g)=>a0(e,g)),i=rn(l.map(f=>f[0]))*2+l.find(f=>f[0]===0)[1],[a,s]=[on,go].map(f=>{let g=Ze(f,QR).map(c=>e[c]%4);return r[g.reduce((c,u,p)=>c|u<<2*p,0)]});return[a+210*s,i+24*o]}function qR(){if(W.phase3_2gen_edge)return W.phase3_2gen_edge;let e=il(5)/2,t=Array(po).fill().map(()=>new Uint32Array(e)),r=$i.map(n=>n.ep.slice(0,5));for(let n=0;n<e;n++){let o=t0(n,5);for(let l=0;l<po;l++)t[l][n]=rn(Ze(o,r[l]))}return W.phase3_2gen_edge=t}function VR(){if(W.phase3_2gen_corner)return W.phase3_2gen_corner;let t=il(4)/2*2,r=[!0,!0,!0,!0,!1,!1,!0,!0,!0,!0,!1,!1],n=Array(po).fill().map(()=>new Uint32Array(t)),o=$i.map(l=>nn(l.cp,r).slice(0,4));for(let l=0;l<t;l+=2){let i=t0(l>>1,4),a=i.concat(i.map(s=>s+4));for(let s=0;s<po;s++){let f=Ze(a,o[s]),g=f.map(u=>u%4),c=f.find(u=>u%4==0)>>2;n[s][l]=rn(g)*2+c,n[s][l+1]=rn(g)*2+(c^1)}}return W.phase3_2gen_corner=n}function ta(){return W.phase3_2gen_corneredge?W.phase3_2gen_corneredge:W.phase3_2gen_corneredge=an(VR(),qR())}function g0(){if(W.phase3_2gen_centre)return W.phase3_2gen_centre;let e=co(7,3,2,0,2,$i.map(r=>nn(r.ap,Xg))),t=co(7,3,2,0,2,$i.map(r=>nn(r.bp,Xg)));return W.phase3_2gen_centreA=e,W.phase3_2gen_centreB=t,W.phase3_2gen_centre=an(e,t)}function ec(){if(c0)return c0;let e=g0(),t=W.phase3_2gen_centreA,r=ta(),n=t[0].length,o=r[0].length,l=n*o,i=25,a=ir.map(u=>u.length),s=new Int8Array(l).fill(i),f=ea(al);s[f[0]%n+n*f[1]]=0;let g=0,c=!1;for(;!c&&g<i-1;){c=!0;let u=Array(po).fill().map((h,A)=>A).filter(h=>a[h]+g<i);u.sort((h,A)=>a[h]-a[A]);let p=Ze(a,u),m=Ze(t,u),L=Ze(r,u),R=u.length;for(let h=s.indexOf(g);h!==-1;h=s.indexOf(g,h+1)){let A=h%n,y=h/n|0;for(let k=0;k<R;k++){let E=p[k],Q=m[k][A],$=L[k][y],N=Q+n*$;s[N]>g+E&&(c=!1,s[N]=g+E)}}g++}return c0=s}function tc(){if(p0)return p0;let e=ta().slice(0,2),t=ea(al);return p0=Tg(e,t[1],t[1])}function m0(e,t=ea(e)){let[r,n]=t,o=r%210,l=Math.floor(r/210),i=g0(),a=W.phase3_2gen_centreA,s=W.phase3_2gen_centreB,f=ta(),g=ec(),c=tc(),u=0;for(;;){let p=B0(o,l,n,a,s,f,g,c,u);for(let m of p)return m.map(L=>ir[L]).flat();u++}}function rc(e,t=ea(e)){let[r,n]=t,o=r%210,l=Math.floor(r/210),i=g0(),a=W.phase3_2gen_centreA,s=W.phase3_2gen_centreB,f=ta(),g=ec(),c=tc(),u=m0(e).length,p=1/0,m;for(let L=u;L<=u+0;L++){let R=B0(o,l,n,a,s,f,g,c,L);for(let h of R){let A=h.map(E=>ir[E]).flat(),y=Zi(A),k=L0(y);k<p&&(p=k,m=y)}}return m}function HR(e){return(e-1)*(e-2)/2}function L0(e){let t=Pg(e,!0).replace(/'/g,\\\"\\\").split(\\\" \\\");return e.length+YR(t).map(HR).reduce((r,n)=>r+n,0)}function YR(e){if(e.length<3)return[];let t=e.length,r=[];for(let l=0;l<t-2;l++)r[l]=e[l]===e[l+2];r.push(!1);let n=-1,o=[];for(;n<t-2&&(n=r.indexOf(!0,n+1),n!==-1);){let l=r.indexOf(!1,n+1);o.push(l-n),n=l}return o}function*B0(e,t,r,n,o,l,i,a,s,f=-1){let g=i[e+210*r],c=i[t+210*a[r]],u=Math.max(g,c);if(!(u>s)){if(s===0){yield[];return}if(u!==0)for(let p=0;p<po;p++){if(p===f&&jR[p]<=3)continue;let m=n[p][e],L=o[p][t],R=l[p][r],h=s-ir[p].length;if(h<0)continue;let A=B0(m,L,R,n,o,l,i,a,h,p);for(;;){let{value:y,done:k}=A.next();if(k)break;yield[p].concat(y)}}}}function JR(e,t=200,r=24){let n=[],o=Xi(e),l=Ze(e,Wt).map(s=>s^1),i=Xi(l),a=Array(1e3);for(let s=0;s<t;s++){{let{value:f,done:g}=o.next();if(!g){let c=_r(e,f),u=f.concat(m0(c));if(u.length<=r)return u;u.length<a.length&&(a=u)}}{let{value:f,done:g}=i.next();if(!g){let c=_r(l,f),u=f.concat(m0(c)).map(([p,m])=>[p^2,m]);if(u.length<=r)return u;u.length<a.length&&(a=u)}}}return a}function ZR(e,t=20,r=30){let n=[],o=Xi(e),l=Ze(e,Wt).map(f=>f^1),i=Xi(l),a,s=1/0;for(let f=0;f<t;f++){{let{value:g,done:c}=o.next();if(!c){let u=_r(e,g),p=Zi(g.concat(rc(u))),m=L0(p);if(m<=r)return p;m<s&&(a=p,s=m)}}{let{value:g,done:c}=i.next();if(!c){let u=_r(l,g),p=Zi(g.concat(rc(u)));p=p.map(([L,R])=>[L^2,R]);let m=L0(p);if(m<=r)return p;m<s&&(a=p,s=m)}}}return a}async function $R(){return wR(await XR)}var g6,c6,n0,o0,al,sl,mR,Wt,p6,Hi,kg,LR,BR,RR,Yi,dR,_g,hR,DR,zt,Er,kr,on,go,Cg,bR,ln,W,lr,kR,NR,TR,Qg,qg,Yg,u0,QR,Xg,ir,po,$g,$i,jR,c0,p0,XR,oc=U(()=>{xt();[g6,c6]=(()=>{let e=new Int8Array(256*8),t=new Int8Array(256*8);for(let o=0;o<256;o++)for(let l=0,i=0;l<8;l++)(o>>>l&1)!=0&&(e[l<<8|o]=i,t[i<<8|o]=l,i++);function r(o){let l=255,i=2520,a=0;for(let s=0;s<6;s++){let f=o[s];a+=e[l|f<<8]*i,l&=~(1<<f),i/=7-s}return a}function n(o,l){let i=255,a=2520,s=0;for(let f=0;f<6;f++){let g=o/a|0;o-=g*a,s^=g&1;let c=t[i|g<<8];l[f]=c,i&=~(1<<c),a/=7-f}return l[6]=t[i|s<<8],l[7]=t[i|(s^1)<<8],l}return[r,n]})();n0={};o0={};al=Array(72).fill().map((e,t)=>t/9|0),sl=l0([[0,4,8],[1,6,3],[2,5,7],[9,22,35],[45,67,44],[47,68,43],[46,69,39],[50,70,38],[49,71,36]],72),mR=Ze(sl,sl),Wt=Array(72).fill().map((e,t)=>(t/18|0)*18+(t+9)%18),p6=Array(72).fill().map((e,t)=>(t/36|0)*36+(t+18)%36),Hi=Array(72).fill().map((e,t)=>(t+36)%72),kg=uo(Hi,mR,Hi),LR=uo(Wt,sl,Wt),BR=uo(Wt,kg,Wt),RR=l0([[10,24,30],[11,23,34],[12,19,33],[42,48,64],[41,52,65],[37,51,66]],72),Yi=Ze(sl,RR),dR=Ze(Yi,Yi),_g=uo(Hi,dR,Hi),hR=uo(Wt,Yi,Wt),DR=uo(Wt,_g,Wt),zt=Array(72).fill().map((e,t)=>t/9|0),Er=[[0,45,9,36],[4,67,22,49],[8,44,35,71],[13,58,31,40],[17,53,26,62],[18,63,27,54]],kr=[[1,46],[3,39],[6,69],[10,37],[33,42],[12,48],[15,60],[24,51],[19,64],[28,55],[30,66],[21,57]],on=Array(12).fill().map((e,t)=>(t/3|0)*9+[2,5,7][t%3]),go=on.map(e=>e+36);Cg=[sl,kg,LR,BR,Yi,_g,hR,DR],bR=[\\\"U\\\",\\\"L\\\",\\\"F\\\",\\\"R\\\",\\\"u\\\",\\\"l\\\",\\\"f\\\",\\\"r\\\"],ln=Cg.map(zg);W={},lr={},kR=[0,0,2,3,0,0,2,3];NR=[0,1,2,0,0,1,2,0],TR=[0,1,2,3,4,5,7,8,10,11],Qg=[!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0];QR=[0,1,2,3,4,10,11],Xg=[!0,!0,!0,!0,!0,!1,!1,!1,!1,!1,!0,!0],ir=[[[0,1]],[[1,1]],[[2,1],[0,1],[3,1],[0,2],[3,2],[2,2]],[[3,2],[1,2],[2,2],[1,1],[2,1],[3,1]],[[6,1],[0,1],[3,1],[0,2],[3,2],[6,2]],[[7,2],[1,2],[2,2],[1,1],[2,1],[7,1]],[[2,1],[0,1],[2,2],[0,1],[2,1],[0,1],[2,2]],[[3,2],[1,1],[3,1],[1,1],[3,2],[1,1],[3,1]],[[2,1],[3,1],[2,2],[1,2],[0,2],[2,1],[3,1],[2,2]],[[3,2],[2,2],[3,1],[0,1],[1,1],[3,2],[2,2],[3,1]],[[6,1],[0,1],[6,2],[0,2],[1,2],[6,1],[0,1],[6,2]],[[7,2],[1,2],[7,1],[1,1],[0,1],[7,2],[1,2],[7,1]],[[2,1],[3,2],[2,2],[3,1],[0,1],[2,2],[1,1],[2,1]],[[3,2],[2,1],[3,1],[2,2],[1,2],[3,1],[0,2],[3,2]],[[6,1],[0,2],[6,2],[7,1],[6,1],[1,2],[7,1],[6,1]],[[7,2],[1,1],[7,1],[6,2],[7,2],[0,1],[6,2],[7,2]],[[2,2],[1,2],[2,2],[3,2],[2,2],[3,2],[0,2],[3,2]],[[6,2],[7,2],[1,2],[0,2],[1,2],[0,2],[6,2],[7,2]]];ir=ir.concat(ir.map(e=>Mg(e)));po=ir.length,$g=ir.map(e=>_r(l0([],72),e)),$i=$g.map(zg),jR=$g.map(pR);XR=Ce()});var lc={};De(lc,{randomFTOScrambleString:()=>ed,sgsDataFTO:()=>rd});async function ed(){let{randomFTOScrambleString:e}=await Promise.resolve().then(()=>(oc(),nc));return e()}async function rd(){return td??(td=nd())}async function nd(){return It(await _e.fto.kpuzzle(),`SubgroupSizes 24 12 11 12 12 11 10 9 11 8 10 9 7 8 10 10 6 9 8 5 7 6 5 4 4 8 7 3 6 6 360\\n\\nAlg T\\nAlg B\\nAlg B T\\nAlg B'\\nAlg B' T\\nAlg U\\nAlg U T\\nAlg U'\\nAlg U' T\\nAlg B BL\\nAlg B BL T\\nAlg B BL'\\nAlg B BL' T\\nAlg B' BR\\nAlg B' BR T\\nAlg B' BR'\\nAlg B' BR' T\\nAlg U R'\\nAlg U R' T\\nAlg U' L\\nAlg U' L T\\nAlg B BL' D\\nAlg B BL' D T\\n\\nAlg R\\nAlg R'\\nAlg R D\\nAlg R D'\\nAlg R BR\\nAlg R BR'\\nAlg R' F\\nAlg R' L\\nAlg R' L'\\nAlg B L B'\\nAlg U L' U'\\n\\nAlg B U B'\\nAlg B U' B'\\nAlg B R B'\\nAlg B R' B'\\nAlg B' U' B\\nAlg B' U B L\\nAlg B' U B L'\\nAlg B' U' B BL'\\nAlg B U' B' BR\\nAlg B' R' B F\\n\\nAlg BR\\nAlg BR'\\nAlg BR BL\\nAlg BR BL'\\nAlg BR' F\\nAlg BR' F'\\nAlg BR' D\\nAlg B BR B'\\nAlg U F U'\\nAlg BR BL L\\nAlg BR' D BR'\\n\\nAlg B' BL B\\nAlg B' BL' B\\nAlg BR D' BR'\\nAlg B' BL B D'\\nAlg B' BL B BL\\nAlg B' BL B BL'\\nAlg B' BL L B\\nAlg B' BL' B F'\\nAlg B' BL' B L'\\nAlg B' BL' B BL'\\nAlg B' BL' L BL' B\\n\\nAlg R' BR R\\nAlg R' BR' R\\nAlg BR BL' D BR\\nAlg R' BR D R\\nAlg R' BR D' R\\nAlg R' BR R BL\\nAlg B' D' BL D B\\nAlg BR B D' B' BR'\\nAlg BR BL' D BR L'\\nAlg BR BL' D BL BR\\n\\nAlg U BR U'\\nAlg U BR' U'\\nAlg U' R U\\nAlg U' R' U\\nAlg U BR B' U'\\nAlg U BR' U' D\\nAlg U BR' U' D'\\nAlg U' R F' U\\nAlg U' R' U L'\\n\\nAlg U B U'\\nAlg U B' U'\\nAlg U B U' L\\nAlg U B U' L'\\nAlg U B' U' BL'\\nAlg U B U' L F\\nAlg U B U' L F'\\nAlg U B' U' BL' D'\\n\\nAlg B BL' L BL B'\\nAlg B BL' L' BL B'\\nAlg U B' D B U'\\nAlg U B' D' B U'\\nAlg U R D R' U'\\nAlg U R D' R' U'\\nAlg R' F L F' R\\nAlg R' F L' F' R\\nAlg B L' B F' D B\\nAlg U B' D' B U' D\\n\\nAlg F\\nAlg F'\\nAlg F D\\nAlg F D'\\nAlg F' L\\nAlg F' L'\\nAlg F D' BL\\n\\nAlg F BL F'\\nAlg F BL' F'\\nAlg BR' BL BR\\nAlg BR' BL' BR\\nAlg F BR F' BR'\\nAlg F BL F' BL'\\nAlg F BL' F' L\\nAlg F BL' L' F'\\nAlg F BR' BL BR F'\\n\\nAlg F' BL F\\nAlg F' BL' F\\nAlg U BL U'\\nAlg U BL' U'\\nAlg F U' F' U\\nAlg F' BL F D'\\nAlg F' BL F BL'\\nAlg F' BL D F\\n\\nAlg L\\nAlg L'\\nAlg L BL\\nAlg L BL'\\nAlg F' D F\\nAlg L BL D\\n\\nAlg L' BL L\\nAlg L' BL' L\\nAlg L' BL D L\\nAlg L' BL D' L\\nAlg L' BL L BL'\\nAlg L' BL D' L BL\\nAlg L' BL D' L BL'\\n\\nAlg L D L'\\nAlg L D' L'\\nAlg R' D R\\nAlg R' D' R\\nAlg L D L' D'\\nAlg L R L' R'\\nAlg L' B' L B\\nAlg R' D R BL\\nAlg L BL' L' BL L'\\n\\nAlg U L' D L U'\\nAlg U B D B' U'\\nAlg U L' D' L U'\\nAlg U B D' B' U'\\nAlg R' D' BL' D R\\nAlg U B D' B' U' D\\nAlg U B' L B L' U'\\nAlg U B D B' U' BL'\\nAlg U B D' B' L' D' L U'\\n\\nAlg F L F'\\nAlg F L' F'\\nAlg F L F' D\\nAlg F L F' D'\\nAlg F L' F' BL'\\n\\nAlg L BL' D BL L'\\nAlg L BL' D' BL L'\\nAlg F D L D' L' F'\\nAlg F L D L' D' F'\\nAlg F L' B' L B F'\\nAlg F' D' R' D R F\\nAlg F D L D' L' F' BL'\\nAlg F' R' B' R' B R' F\\n\\nAlg B D B'\\nAlg B D' B'\\nAlg L' D L\\nAlg L' D' L\\nAlg B D B' D'\\nAlg B' L B L'\\nAlg B D B' D' BL\\n\\nAlg D\\nAlg D'\\nAlg D BL\\nAlg D BL'\\n\\nAlg D BL' D BL D'\\nAlg D BL' D' BL D'\\nAlg B D R D' R' B'\\nAlg B R D R' D' B'\\nAlg D BL' D BL D' BL\\nAlg D BL' D BL D' BL'\\n\\nAlg D BL D BL' D'\\nAlg D BL D' BL' D'\\nAlg B' BL' B BR D' BR'\\nAlg D BL D BL' D' BL\\nAlg D BL D BL' D' BL'\\n\\nAlg D' BL D\\nAlg D' BL' D\\nAlg D' BL D BL\\nAlg D' BL D BL'\\n\\nAlg B D' B' BL B D B'\\nAlg B D' B' BL' B D B'\\nAlg D' BL' D BL D' BL D\\n\\nAlg B R' B' BL B R B'\\nAlg B R' B' BL' B R B'\\nAlg L R L' BL' L R' L'\\n\\nAlg F BL' B' BL F' BL' B\\nAlg F' R' F BL F' R F\\nAlg F' R' F BL' F' R F\\nAlg BR R BR' BL' BR R' BR'\\nAlg F L' BL U BL' U' L F'\\nAlg F' U' F D F' U F D'\\nAlg F BL F' D F BL' F' BL D'\\n\\nAlg F D F U' F' U D' F'\\nAlg F D F' BL F BL' D' F'\\nAlg F U D BL' U' BL D' F'\\nAlg F U' D F U F' D' F'\\nAlg F' BR L F BR' F' L' F\\nAlg U R BL' F BL F' R' U'\\n\\nAlg BL\\nAlg BL'\\n\\nAlg F U BL U' BL' F'\\nAlg F BL U BL' U' F'\\nAlg U BL BR BL' BR' U'\\nAlg BR F BL F' BL' BR'\\nAlg F U' F' U BL' U BL U'\\n\\nAlg F U' F' D F U F' D'\\nAlg B' U' F U B U' F' U\\nAlg D F U' F' D' F U F'\\nAlg BR' U BR D' BR' U' BR D\\nAlg D' BR BL' F BL' F' BL BR' BL D\\n\\nAlg D BL D F' U' B L' BL' L R' BR' R L' BL L B' U F D\\nAlg B D BR F' R' BR' R B' F D' BL D B BR' D' B'\\nAlg L B' BR' L F BR L' B BR' L U F U' BR' F L BL BR'\\nAlg L BL' D' BR' B R' U' R BR B' D BL' L'\\nAlg B BR B' D' B D B F' R' B' R BR' B' BR F BR' BL\\nAlg L' BL D L' D' L' D L' U' R' F' R U D'\\nAlg U' L BL L U' D R' BL B' BL F' BL' B R BL' U D' L U\\nAlg L BL BR' L U' D R' F' R BL' U BL D' BR L\\nAlg D L' R F' R' L BL' BR BL' B' BL B BR' F BL' F' D'\\nAlg B BL B BR' L R' U' R BR L' B\\nAlg L B' R' BR B F BL D' BL' D BL' B' F' BR' R U B L'\\nAlg D' L' BL F' D' BL' D B F' R' BR R B' F' BL' L D\\nAlg B D' R D' R' BL BR' B BR' B' BL' D' BR B R' B' R B' BL' D'\\nAlg U' L R' F U L' BL' L B BL' B' BL L U' L' F' R L' U\\nAlg F' D BL' BR' BL' BR B' U' F L F' U B D F L U BL' U' L'\\nAlg L' U BR' U D R' BL F R BL' U D' BR' L' BL' BR' L'\\nAlg U' L' U' D R' BL B' BL F BL' B R BL' U D' L' BL' L' U\\nAlg D F BL L' BL' B L' B' L' B L' B' L' BL L BL' F' D'\\nAlg F' BR' B BL' BR BL B' F L' F' L B BR' B' BR L' F L BL'\\nAlg F' L F' L U' D R' F R U D' L' BL' F L' F\\nAlg F U' F' BR F' R' BR' U F' L' BL F' D' BL'\\nAlg B BR' U R BR' R' BR U' B' BR\\nAlg F' BR' B BR' R BR' BL' BR R' BR BL B' BR F\\nAlg L' U BL B' U' BL U BL' B BR BL' BR' U' L\\nAlg BR BL' BR' BL L' BL BR BL' BR' L\\nAlg U BR' U' BR L' BL BR BL' BR' L\\nAlg U' L F BL' F' BL F' BR F BR' L' U\\nAlg F L F' BL D F' D' F BL' L'\\nAlg U BR' U BR L BL BR BL' BR' L' U\\nAlg F BR R BL' F' BL' F R' BL BR' BL F'\\nAlg D BL D B U BR' D BR' L' U' BR' U BR L D' BR U' B' D\\nAlg U BL' U' BL U BL D L' D BR D' L D BR U BR U D\\nAlg B' U F U' B' U F' BR' U' B L B' U BR U' B L' B BL\\nAlg B U' B BL U' BL L U' D R' F' R U' D' L' BL' U B\\nAlg B L R F D' BR' D F' R' BL' U' L U L' U BL L' B'\\nAlg D BL D F' BR' F BL' D R' BR' R F D' BL F' BR D\\nAlg L' D F' R' U BR L BL B' BL B BL' BR' L' U' R D' L\\nAlg F BL' U D L' U' BR R F' R' BR' U L D BL U' D BL F'\\nAlg BR' BL' U' L' BL D F' L' F' L F L U L' D' BR L BL\\nAlg B' L' BL U D R' F' R U D' L' BL L U BL' L B\\nAlg B BL' L U B' L BL' L B' U' B' L' D L' U' B L' B' D'\\nAlg B' R' L U L' R BR BL' B BR' B' BL B' BL' B'\\nAlg F L R BL B' U' B R' BL' L' BL F' BL BR' BL L BL' BR L'\\nAlg B' U' BL L U D R' F R U D' L' BL' U BL' B' U B'\\nAlg U BR BL' BR' D' B D' F' D B' D' F BL' U' BL' F' BL' F D'\\nAlg D' BL' D L BL L' D' BL D F' D F D' BL' D' BL D\\nAlg B' BL' B' BL L' B' BL' F' D F L F' D' F BL' L BL' B L B\\nAlg F BL' U D' BL' D' L' U' BR R F R' BR' U L U' D' BL F'\\nAlg U' D' B D F' D' BR' D' BR D BR B' BL' D F BL U BL'\\nAlg B BL BR D' BR L' R F R' BR' L D BL' BR' BL' B'\\nAlg L' F L' U BR' U' BR L F' BR' L U BR U'\\nAlg F' BL' D' BR' BL B' U' BL U B BL' BR D F\\nAlg F' D' BR' U R' U BL U' R U' BL' BR D F\\nAlg F U' BR F' U' BL' B U F BR' R F' U BL L\\nAlg B' BL' U' BL U B BL' B BL BR BL' BR' B' BL\\nAlg D' F' U BL U' L F U' F' U L' BL' F D\\nAlg F' BL' D' BR' BL BR' F' BR U' B' BR' U R' BR' F'\\nAlg B' U' B BL' B U' B BL' L U' L BL' L B\\nAlg F' D' F U' F U F' BL F' BL' D F\\nAlg F' D BR F' R F R' BR' F D'\\nAlg D BL D B BR' D L' BL' L' BL' BR' BL L BL L D' BR B' D\\nAlg B L BL L' BL' L' D F' R' BR R D' F L' BL' L' B'\\nAlg B BL' F' BL BR D' BR' F D' B' D L F' BL' F L D L D' BL\\nAlg B D' BR' D' BR' F D' BL' D' BL D BL F' D BR D' B'\\nAlg B D' B U B' D B F' BR' F L' F BR F' L U' B BL\\nAlg L BL' B' U BL L' BL L U L' BL' L BL' U' B BL' L'\\nAlg U D F' D BR BL' BR' BL B D' F D B' D BR BL BR' U'\\nAlg F' D BR L' U' R F' R' U BR' L D BR' BL BR D F\\nAlg BR' L BL L' BL' BR BL' F BL' L R BL B' U B R' BL' L' F'\\nAlg D BL BR D B F' R' U' BR' U R B' F D' BR' D'\\nAlg D' B BR' D L' BL' L' BL' BR BL L BL L D' BR B' D' BL' D'\\nAlg B U' R B' BL' B R' U' B BL' B' U' BL B' U' L U L'\\nAlg B D' B' D' BR' BL BR D' B' L B BR' U B U' BL' BR BL L' BL'\\nAlg B D BR' D' F BL' D' BL' D BL D F' BR D BR D B'\\nAlg D' B D F' D' BR' D' BR D BR BL BR' BL' BR B' BL' D F\\nAlg L BL B' U BL L' BL L U' L' BL' L BL' U' B BL L'\\nAlg B' U B' D' B U' B' D BL' U BL' U' BL' B' U BL' U'\\nAlg D' BR' B' L' U L' B' U B L U' L B BR D BL\\nAlg L' D L' F U' F' L D' L' F U BR F' L F BR' F' L BL'\\nAlg D BR D B F' R' U' BR U R B' F D' BR' BL' D'\\nAlg BR BL D F BR' BL BR BL' BR F' BR' D' BL' BR'\\nAlg BR' U' L' BL F' BL' F L BL' U BL BR\\nAlg D' BR' B' U BR U' BL U' BL' U BR' B BR D\\nAlg F U BR' U R U' BR B U' F' BL U' L' U BL' B'\\nAlg B U' L F BR F' L F' BR' F L U B'\\nAlg BR BL F BL' L F' BR' BL' F BL L' BL' F' BL\\nAlg U' BR' L BL' BR L U' BR' U L' BL L' U' BR U'\\nAlg L' F L' U BR' U' BR L F' L BL' BR BL BR'\\nAlg F' D' BR' BL U R' U BL' U' R U' BR D F\\nAlg F' BR' B F' U F BR U' BR' B' F BL BR BL'\\nAlg L B' U' R' BR B F BL D' BL D BL' B' F' BR' R B L'\\nAlg B F BL B L F BR' R' BL U' R BL' BR' F' L' F' BR' B\\nAlg U BR F' D F BR' U' L' BL L' BL' L U L B' BL L' B U'\\nAlg F' L B F BL B R U' R' B' BL' B' F' L BL L F\\nAlg D BL D B BR' D BR' D' BR D BR BL BR' BL' D' B' D\\nAlg D' BR' BL B BR B' BL' D BL D' B' BL B BR' BL' BR D\\nAlg D F' U BR U' L U' BR' U L' D B D' F D B' D BL\\nAlg L B BL' B L F R U' R' F' L' B' BL B' L' BL'\\nAlg B D' B U B' D F' BR F L' F BR' F' L B U' B BL\\nAlg B' BL L B' L' B' L B' BR' R' U' R BR L'\\nAlg D' F' U' B L' BL' L R' BR R L' BL L B' U F D' BL' D'\\nAlg B' F' BL' B' F U D' R BR R' BL U' BL' D B'\\nAlg F' BL' D BL F BL' D' B' U' B D F' D' B' F U B\\nAlg F' L' BL' L' B F BL B R U R' B' BL' B' F' L' F\\nAlg L' BL U' D F D' BL' D BL F' BL' D' BL D F' U D' BL L\\nAlg B' BR L R' U R BR F L' B' BL' B L F' BR L' B\\nAlg B' L B' BR' B L' B' D F' U F D' F U' F' BR B' BL'\\nAlg B' BR D' BL' BR' BL B L' R' L' R BR L D L BL BR' B BL\\nAlg L' D F' L F L' F D' L' BL' L' D BL' BR' BL' BR BL' D'\\nAlg B' F BR F BR L R' BL U R BL' BR L' B' BL' B' F\\nAlg F L' F' BR' B BR' F' BR B' BR' F' L F' BR'\\nAlg BR' B' BR BL' D' BR D BR' BL B\\nAlg L' F L' U BR' U' L U' BR U F' L\\nAlg F U' BR' R U' BR BL BR' U' BL' U' R' F' BR U\\nAlg B' BR' R' U' BL D' BL U BL' D R BL' BR B\\nAlg D BR' U' L BL' F' BL F L' BL U BL' BR D'\\nAlg F' BL' D' F BR' BL BR BL' BR F' BR' D BL F\\nAlg F' BR' BL' BR D' F' BR F BR' D BL F\\nAlg F' BR R' BR BL' BR' R BR' BL F\\nAlg B BR F' BR' B' F BL F BL' F'\\nAlg B D' B U B' D BL' F R' F BL F' R B F' U' B BL\\nAlg L BL' B' U L U L BL L B' BL B' U' BL' U' B' L' BL\\nAlg L' BL' U' D F D' BL' D BL F BL' D' BL D F' U D' BL' L\\nAlg F' L F' BL' D' BR' B R' U' R BR B' D BL' F L' F\\nAlg U D' BR' D BR' U' L U BR L' D' BR D L U' L' BL\\nAlg B' BR' B' BL B L F' BR' R' U' R BR F BR L' B\\nAlg U' F' D BR' F' BR D L D L' U D' B D' B' F D' BL F\\nAlg B F BL B F' L F BR' R' BL U' R BL' BR' F' BR' L' B\\nAlg F' D' BL B BR' BL BR BL' BR' D' BR' D BR D F D' B' D\\nAlg B' BR' B' BL B L F BR' R' U' R BR F' BR L' B\\nAlg L' F BR L' R' BR BL' BR' R BR' BL B' L F' L' B L' BL'\\nAlg B' U' BL' U D' BL' D F L' R U R' F' L U' BL U B\\nAlg D' B D BL BR BL' BR' D' BR' D BR D' BR B' D' BL' D'\\nAlg B' BR' L F' BR' R' U R BR F L' B' BL' B BR B\\nAlg L U L' D' BR' D L U' L' U D' BR D BR BL BR' BL' U' BL'\\nAlg F' L F' BL D' B BR' R' U R B' BR D BL F L' F\\nAlg B' L B' BR' B L' F' R F' BL F R' F BL' B' BR B' BL'\\nAlg F' L BL' BR' R' BL U R BR B L' B L B L' F BL' B\\nAlg L' F D' BR U' BR' D BR' U BR L' B' L F' L' B L' BL'\\nAlg B' BR' L F BR' R' U R BR F' L' B' BL' B BR B\\nAlg L F' D' F BR' BL BR BL' BR F' BR' D F L'\\nAlg F' BL' D F BL' F' BL D' BR' BL BR F\\nAlg B' BR' R' BL D' BL U' BL' D BL' U R BR B\\nAlg B' L BL' BR BL L' B' F BL F' BL' B BR' B\\nAlg F U' BR' R BR F' U BL L U BL' B U'\\nAlg B' BR B' BL F BL' B F' L BL' BR' BL L' B\\nAlg U' L BL' U' R U' BL' U R' U BL' L' U\\nAlg F U' BR' R' F' BR' F BL BR R BL' F' BR U\\nAlg B U' L' F' BR F L' F BR' F' L' U B'\\nAlg F' BR' B' F BR' BL' BR F BL B F' BL BR BL'\\nAlg B BL' U' L U BL' B' BL' B' L' BL U B' U' BL L BL L\\nAlg B R' U' B U R B' BR F D' B' D BL F' BL' BR' BL\\nAlg U BL U' B BL U BL U' BL D' B U B' D B U' B\\nAlg B BL B BL' B BR B' BL BR' R' L U' L' R B\\nAlg U' L BL' B BL B' L' F U B' R U R' U F' U B BL\\nAlg F' BL' D' BR' L' B' L B BL BR BL' B' L' B L D BL F BL\\nAlg L B' L' F U B' R BR B BR' R' BR BL' BR' BL B U' F' BL\\nAlg D' F BL B BR' B BR B' BL' D BL D' B' F' D\\nAlg B' L' BL F U F' L' U B U' L F U' F' BL' L BL' B BL B\\nAlg D BL D B U F' R' BR' R F U' B' D\\nAlg B BR B' D' BL BR D BR D B' BL' B D BR' BL' D' BL' D'\\nAlg B' R BR B' BR' R' B U' F' L B L' BL' F BL U BL'\\nAlg U BR BL' BR' D' B D' F' D B' BL' BR BL BR' D' F U' D'\\nAlg U' D' BR' U' BR' D' L' D BR' D' L D' BL' U' BL' U BL U'\\nAlg L' F' BR F' R F' R' L F' BR' D L BL' L' BL D' F BL'\\nAlg B D BL' D B U R BR R' U' B' D' BL D' B' BL\\nAlg B' U L' U B BL L' F' BL F D' B' U B D B' L B L'\\nAlg L BL' B' U L F R U' R' F' U L F' L B L' F\\nAlg L' D R' U BR L BL B' BL' B BL' BR' L' U' R F D' L\\nAlg D' B U F' R' BR R F U' B' D' BL' D'\\nAlg B D BL' B' U' BL L' D L D' BL' U B BL B' D'\\nAlg B U' BL' U' F U' B U B' F' U BL U' B U' B\\nAlg U BR' U L BL' L U' BR U BR' L' BL BR L' U\\nAlg F' D' BR' BL B' U' BL' U B BL' BR D BL F\\nAlg B' L' B' F BL' F' BL F' BR F BR' B L B\\nAlg F' BL' D' BR F' BR' F D BR' BL BR F\\nAlg F D' F' U' F' D' BR D F' D' BR' D' F' U\\nAlg BR' BL' U' BL L U' F U F' L' U BR\\nAlg F BR R U' BR B U BR' F BR BL' BR D BL F\\nAlg F' BR' F U' BL L' U BL' B' F' BL' BR D' BL F\\nAlg B' U L' B' U L' D F L F' D' L U' B L U' L B L'\\nAlg B BL B L F BR' R' U' R BR F' L' B\\nAlg B D' B BR' R' U' B' U R BR U' D' F L' F' U L' D' L\\nAlg L U' L' U B BL' U B BL B' U R B' BL B R' U B'\\nAlg D F' D BL U' R U' BL' U R' U B D' F D B' D BL\\nAlg B BL U B BR' L R' F' U' F R BR L' B' U' B'\\nAlg B' U' B F' D F D' B' U B D BL F' BL' D' BL F\\nAlg B D BR B F' U' R' BR' R U B' F BR' D' BL B'\\nAlg L B' F R BL' U' R' BL B F' L U BR' U' BL L U BR U'\\nAlg F' L F' BL L U' D R' F' R U D' L' F L' F\\nAlg L U L' F' BL' F L B BL' U BL' U' BL B' BL L U' L\\nAlg B' L F BR' R' U R BR F' L' B' BL' B'\\nAlg U BR' U' L' U' BR' F' BR F BR D R' F R U D' L' BL' L'\\nAlg B L BL L F' D R' BR' R F D' L BL L BL' L' B'\\nAlg F' BL' D F' D' B D' B' U' D L D BR' L' F BR D' F U\\nAlg B U B BR' L R' F' U F R BR L' B' U' BL' B'\\nAlg U B' L BL' B L' U' L' BL L BL' L U BR F' D' F BR' U'\\nAlg B BL' D BR B F' U' R' BR R U B' F BR' D' B'\\nAlg B BR B F BR' U BL' L R BR' R' L' F' U BR U BL B BL'\\nAlg B' BR' L R' U R BR L' B' BL' B'\\nAlg B' U BR' R L F' BR' F L' R' BR U' B' BR B'\\nAlg F' BL' F' BR R U' BR B F BR BL' D F U BL'\\nAlg F' BR' B' U BR' F BR' F' BR U' BR B BR F\\nAlg BR' BL' U' BL L' F' BL F BL' L U BR\\nAlg U' L BL U' R U' BL U R' U BL L' U\\nAlg F BR' F' U' L F BR U F' U' L' BL U BL'\\nAlg L' F U' BR' U L' U BR U' L F' L\\nAlg F' BR' B' U' BR' U F BR B U' BL U BR BL'\\nAlg F' BR' U BR D' BR U' BR' D F\\nAlg F BL' BR R BL' F' BL F R' BL BR' F'\\nAlg L BL' B BL' U BL U' BL B' L' F' BL F L U' L U L\\nAlg B F BL B F' L F' BR' R' BL U' R BL' BR' F BR' L' B\\nAlg F BL B' F' BR B' BR' B L F BL B' BR B BL' BR' F' L' B\\nAlg B F D' BL U R BL' BR' R' U' D B F' BL B\\nAlg L B' U B' BR B BR U' BR' B L' F BL' B F' BR' B' BL'\\nAlg U' L R' F L U L' BL' B BL B' L' BL L U' F' R L' U\\nAlg BR BL F BL' F' L' F' BR' L B BR B' L' F L B BR' B' BL\\nAlg B' BR' L F L' B' BL B L F' BR' R' U' R BR' L' B\\nAlg D L U' BR U L U' R BL' F' R' F BL F' BR' U L D BL D\\nAlg B F BL B F BR' L R' BL U' R BL' BR' L' F BR' B\\nAlg L B' L' U L' B' U L' D F L' F' D' L U' B L U' B\\nAlg B' BR L F' BR R' BL U R BL' BR F L' B' F BL' B' F'\\nAlg B' BL L B L' B' BL' L' U BL' U R' L' R U' BL U' L B\\nAlg B U' D' F D B BL' B' U D' R BR R' U' F' U D B'\\nAlg D F L F' L' F R L' BL B L B' BL' L R' F' L D'\\nAlg L BL D' B BR' R' U R B' BR D BL L'\\nAlg D F D' B' U' B U' D F' D' F U B' U B F' BL'\\nAlg D' BR' BL BR B' BL' B D BL' D' BL B BR' B' BL' BR D\\nAlg U BR' U' L U R' L R BR L' B' L' B L U' L' BL'\\nAlg BR' L R' U R BR B L' B L B L' BL' B\\nAlg B BR' B U BR' R L F' BR F L' R' BR U' B\\nAlg F' L B' BR' B L BL' L' B' BR B L BL L F\\nAlg D F U' F' U D' BR U' D' F U F' D BR'\\nAlg B' BL' BR D' BR' D BL BR' B BR\\nAlg B BL U' BR' L U BR' F' BL D BL BR F BR\\nAlg L' U BR BL BR' B' BL U' BL' U B BL' U' L\\nAlg U B' BL U' L' BL' U' F BR' R' BR U F'\\nAlg D BR' BL U' BL' L F' BL' F BL L' U BR D'\\nAlg BR L' BL BR' BL' L BL' BR BL BR'\\nAlg F BL F' BL' B F' BR F BR' B'\\nAlg D BR L' U' R F' R' U BR L BL B' BL B BL' BR D'\\nAlg D' BL' D BL D F' D' F D' BL' D L BL' L' D' BL D\\nAlg B F D' F' U' BL' B U B' BL F D B U' B' U B' F' BL\\nAlg B U F' D' R BR' R' U' D B BL B' U F U' B'\\nAlg B BL B L B BR' F BR B' BR' R' U' R F' BR L' B\\nAlg B BL B L F' U' F' U F BR' R' U' R BR' F BR' L' B\\nAlg B' U' B F' D F D' B' U B U' D BL' F' BL D' F U BL\\nAlg L F' BR B' F' R BL' U' R' BL B F' BR L BL BR L\\nAlg D F' D' BL F' D' F R BL B' L U L' B R' F' BL' D F\\nAlg B BL BR BL D' BR L' R F' R' BR' L D BR' BL' B'\\nAlg B' L B' BR' B L' BL' U BL U' B' BR B' U BL' U'\\nAlg D' B BR' F BL' F' D BR D' BL F' BR B' F D' BL' D'\\nAlg B D F' L' R F D BR' D' F' R BR' L D B' BL' D' F D'\\nAlg D L BL' F' R U R' B F' L BL' L' B' F' BL L' D'\\nAlg B' BR' L F R' U R BR B BR' F' BR B' L' B' BL' B'\\nAlg D L F BL F L BL' L D' BL' D' F' D' F' L BL D' BL'\\nAlg D F BL F' BR B' BL' B BL BR' BL L' R F R' L D'\\nAlg L BL' B' L B L B' L F R U R' B F'\\nAlg F' D' BL F R B' L U' L' B R' BL' F' D F BL' D F D'\\nAlg B' L' BL U' D' L' BL' L U' D R' F R U' BL' L B\\nAlg L' F L' BL U' BL' U L F' L U' BL U BL'\\nAlg D' F' BL L U' F U F' L' U BL' U' F D\\nAlg B' U F D F' U F D' F U B U' F U\\nAlg U B' BR' U R' U' R BR U' B\\nAlg F' BL' D F BL F' BR F' BR' F BL' D' BL F\\nAlg F' BR' BL' BR D BL' F BL F' D' BL F\\nAlg U' F R F' BL' F R' F BL F U\\nAlg F' BR F BR' L BL' BR' BL BR L'\\nAlg F U' B F U' BR U BR' U F' U' B' U F'\\nAlg D F' BR R F' R' F BR' D' F\\nAlg B D' B U B' D B U' B BR BL BR' D BL BR BL BR' BL D'\\nAlg B' U' L' D' F D' L' F' L D F' D L U B BL'\\nAlg D L' F R L' BL B L' B' BL' L R' F' L F L' F' D'\\nAlg D L' D' BL D F' D F D' BL' L BL D'\\nAlg D' B R U' B' F' BL' L BL L' BL B F U R' BR' B' D\\nAlg D L BL' F L BL L' B' F R U' R' B F BL L' D'\\nAlg D F' BL F BL U BL F' D B D' F D B' D BR BL BR' U'\\nAlg B F' BL B F' BR' F' L F R' U' R BL' BR BL F' L' B\\nAlg L F BR B' D BL D' R U' R' D BL' D' B BR' F' L BL L\\nAlg B F BL B F' BR' L R' U' R BL' BR BL L' B\\nAlg D' B U BR' D BR' L' U' BR U BR L D' BR U' B' D' BL' D'\\nAlg F' D' BR' BL' BR D' BR L' U' R F R' U BR' L D' F\\nAlg D F U D' BL U' B D' F BR F' D' F' D BR' D B' BL\\nAlg B U' D' F D BL' D' BR D' BR' D BL B' BL' B F' U D B'\\nAlg L' BL' L' F BR B' D BL D' R U R' D BL' D' B BR' F' L'\\nAlg B U F' U' B BL' B' U D' R BR R' D F U' B'\\nAlg B L BL' U' L U' L' U R BL F D' BR D F' R' L' B'\\nAlg B' L B' BR' B L' F' BL F BL' B' BR B' F U' F' U BL'\\nAlg D' B BR R U' B' F' BL' L BL' L' BL B F U R' B' D\\nAlg B BL' U' B BL' B D B D' B D B D' BL B' U BL B'\\nAlg U BR' U' BR L' F BR' L' U BR U' L F' L\\nAlg L' U BR BL BR' B U BR' U' BR B' BL' U' L\\nAlg BR BL D BR' BL' L BL' BR BL L' BL D' BL' BR'\\nAlg F' BL' D' BR' D BL BR' B U BR U' B' BR F\\nAlg F U' F' D F' U' B' U F' U' B U' F' D'\\nAlg B' U BR' R' U R U' BR B U'\\nAlg L U BL U' BL' L' BL L' F' BL' F BL L BL'\\nAlg U B' BL' BR' U F' BR' D' F BR' U BL' L' BL'\\nAlg F BL' L' F' BL D' F' BR U' R' F' U F' BR'\\nAlg U B U' BL L U' L' U BL' B'\\nAlg U BL U' B BR' B U BL' U' BL L B' BR B L' B\\nAlg B BL B L F' U' F U F BR' R' U' R BR' F' BR' L' B\\nAlg B BR D L' D' F' D F D' F' D' F D' BR' L D' B D B\\nAlg F' L B' L' F L' U' F R U R' F' L' U' B BL L'\\nAlg B' L' F U F L' F R U' R' U L F R U R' U B F' BL\\nAlg B U F' D' F' U R BR' R' U' F D B BL B' F U' B'\\nAlg F BL U BL' U' F' BL L U' L D BR L' U L U' BR' U D' L\\nAlg B U' D' B' F BL B BL' D' BR D BR' D BL D' F' U D B'\\nAlg B BL' D' B' D B BL D BR' BL BR' R D R' BR BL' BR D' B'\\nAlg B F U' F' D' F' U' R BL' BR' R' BL U' F D B BL B\\nAlg D BR' BL B' BL' B BL' BR' L' U' R F R' U BR' L D'\\nAlg B' F' U' F' BL' D' B BR' R' U R B' BR D F U B F\\nAlg B' D' B' D BR L' D F' D F D F' D' F D L D' BR' B'\\nAlg D' B F D BL' D' BL B BR' B' BR B' BL' F' D\\nAlg B D B' F BL L' BL' F' L BL L' BL' BR L R L' R' BR' L' D'\\nAlg B U B F' BL' B' D' F' U R BR R' U' F D F U' B'\\nAlg BR BL' L' F' BR U F' U' BR L' B' BR' L F' BR L' B L'\\nAlg D BL' L' BL D F' D' F D' BL' D L D'\\nAlg F' BL' B F U' B U B' D' F' BL' B U' B' BL U F D B'\\nAlg B' F' L BL' BR' R' BL U R BR L' B' F BL' B'\\nAlg BR BL' BR' BL L' F L' BL' BR BL BR' L F' L\\nAlg B BL BR' F U' L F U BR' F BL D BR' BL\\nAlg B' BL' B' U BR' U' BR BL' BR BL BR' B BL B\\nAlg BR' U' L F U' F' U L' BL' U BL BR\\nAlg B U BR R' BR U' B' BR U' B' U BR' R' BR\\nAlg B BR BL L BL BR' BL' L U' BL' U BL L BL' B'\\nAlg F' BR' B BL' BR' R BR' BL BR R' BR B' BR F\\nAlg F' BR' B U BR' U' B' BR BL' D' BR D BL F\\nAlg D' F' BR U' R' F' U F' BR' F BL' L' F' BL\\nAlg B BL U' L U L' BL' U B' U'\\nAlg L' F' R B F' BR L' D' F' D BR' L B' F R' F BL L\\nAlg D F BL L' BL' B L B' L B L B' L BL L BL' F' D'\\nAlg B BL B BR' L R' U' R BR L' B U BR' U' BR BL' BR BL BR'\\nAlg B' F R U' R' F' L' B L' B' L' B BL L'\\nAlg B' L' F D R' F' L' U L F R' U D' L' B BL L F' L\\nAlg D' L' BL F R' BR' R B' F D' BL D B F BL' L D\\nAlg B' BR' R' U' BL' U' L R' F R F' L' R U' BL BR B BL\\nAlg BR L BL BR L U' D R' BL F' R BL' U' D' BR U' L\\nAlg BR L B' L F R F U F' U' R' L' B L F' BR' L BL\\nAlg B F U D' R BL' BR' R' BL U' D B F' BL B\\nAlg L' BL L' D B D' BL' B' D' L R' D R BL' U' L U BL'\\nAlg L' D BL' U' R' BL F R U D' BR L' BL' BR' L'\\nAlg U BR' U' L' BL' U BR U' L' B' F R BL' U R' BL B F' L'\\nAlg BR L' BL' L' B' F R BL' U R' BL B F BR F BR L'\\nAlg B' F' L F BR BL B' BR' B BL' F' L' B' BR B BR' B F BL'\\nAlg B D BR B' D' BL' D B F' R' BR R F BR' D' B'\\nAlg D BL' L' BL' L BL L' BL F' BL' L' F L BL F BL' L D'\\nAlg U' D R' F R U L D' L D L D' BL' L\\nAlg U D' BR D' L' D R F BR F' BR' R' BR' D' L U' D' BL'\\nAlg B' F' BR' L R' BL U R BL' BR L' B' F BL' B'\\nAlg L' F BL' F' BL F' BR F BR' L\\nAlg L BL F' D F D' BL' F L' F'\\nAlg F' D' BR U BR' D BR' U' BR F\\nAlg BR' L BL' BR BL BR L' F' BR' F\\nAlg B BR F BR' B' BR F' R' BR' BL' BR R BR' BL\\nAlg BR' B U BR' R BR R' U' BR B'\\nAlg F' BL' BR R' BR BL BR' R BR' F\\nAlg BR L' BL BR' BL' BR' L U BR U'\\nAlg U BR' U' BR BL' BR BL BR'\\n`)}var td,ic=U(()=>{Jt();Pn();td=null});var Rc={};De(Rc,{getRandomKilominxScramble:()=>Bc});function sc(e){if(e<2)return e;let t=1;for(let r=2;r<=e;r++)t*=r;return t}function ra(e,t){if(t<0||t>e)return 0;if(t===0||t===e)return 1;let r=1;for(let n=0;n<t;n++)r=r*(e-n)/(n+1)|0;return r}function od(e){e=e.slice();let t=e.length,r=sc(t-1),n=0;for(;t>1;){t--;let o=e[0];n+=o*r;for(let l=0;l<t;l++){let i=e[l+1];e[l]=i-(i>o)}r/=t}return n}function ld(e){let t=e.length,r=0;for(let n=0;n<t-1;n++)for(let o=n;o<t;o++)e[n]>e[o]&&(r^=1);return r}function id(e){return od(e)>>1}function d0(e){let t=e.length,r=0;for(let i=0;i<t;i++)r+=+(e[i]===1);let n=t-r;if(n===0||r===0||t===1)return 0;let o=ra(t-1,r),l=0;for(let i=0;n>0&&r>0&&t>1;i++)t--,e[i]===0?o=o*--n/t:(l+=o,o=o*r--/t);return l}function fd(e,t,r){let n=r-t,o=ra(r-1,t),l=[],i=r-1;for(let a=0;a<i;a++)r--,e<o?(l.push(0),o=o*--n/r):(l.push(1),e-=o,o=o*t--/r);return l.push(t),l}function Kt(e,t){let r=[];for(let n=0;n<t.length;n++)r[n]=e[t[n]];return r}function h0(e,t){let r=Kt(e[0],t[0]),n=[],o=t[0].length;for(let l=0;l<o;l++)n[l]=(e[1][t[0][l]]+t[1][l])%3;return[r,n]}function mo(e,t){let r=[];for(let n=0;n<t;n++)r[n]=n;for(let n=0;n<e.length;n++)r[e[n]]=e[(n+1)%e.length];return r}function zr(e,t){let r=Array(t).fill(0);for(let n in e)r[n]=e[n];return r}function Ld(e){let t=[0];for(let n=1;n<20;n++){let o=e(n+1);t[n]=t[o],t[o]=n}ld(t)===1&&([t[0],t[1]]=[t[1],t[0]]);let r=Array(20).fill(0);for(let n=0;n<19;n++)r[n]=e(3),r[19]+=3-r[n];return r[19]%=3,[t,r]}function Bd(e){let t=[\\\"0\\\",\\\"\\\",\\\"2\\\",\\\"2'\\\",\\\"'\\\"];return e.map(([n,o])=>pd[n]+t[o]).join(\\\" \\\")}function Rd(e,t){for(let[r,n]of t)for(let o=0;o<n;o++)e=h0(e,sn[r]);return e}function dd(e){return wd(Ld(e))}function Dd(e){let t=e[0];if(t.slice(15,20).every(l=>l<15))return[];if(t.slice(0,5).every(l=>l<15))return[[6,1]];let r=t.map(l=>l>=15),n=0,o;for(;o===void 0;)n++,o=cc(r,n,-1);return o.push([6,1]),o}function cc(e,t,r){if(t==0)return e.slice(0,5).some(n=>n)?void 0:[];for(let n=0;n<6;n++)if(n!==r)for(let o=1;o<5;o++){let l=Kt(e,na[n][o][0]),i=cc(l,t-1,n);if(i!==void 0)return[[n,o]].concat(i)}}function Fd(e){let t=e[0].slice(0,15),r=e[1],n=d0(t.map(i=>+(i>=15))),o=243*n;for(let i=0,a=0;i<15;i++)t[i]<15||(o+=r[i]*Math.pow(3,a),a++);let l=0;for(let i=0;i<5;i++)l+=t.indexOf(15+i)*Math.pow(15,i);return[o,l]}function Ad(e){let t=[oa(),la()],r=[Sd(),Ed()];return pc(Fd(e),t,r).concat([[6,1]])}function yd(e){let t=[5,6,7,8,14],r=e[0].slice(0,15),n=e[1],o=d0(r.map(a=>+(t.indexOf(a)!==-1))),l=243*o;for(let a=0,s=0;a<15;a++)t.indexOf(r[a])!==-1&&(l+=n[a]*Math.pow(3,s),s++);let i=0;for(let a=0;a<5;a++)i+=r.indexOf(t[a])*Math.pow(15,a);return[l,i]}function Ud(e){let t=[oa(),la()],r=[vd(),kd()];return pc(yd(e),t,r)}function bd(e){let t=e[0].slice(0,14),r=e[1],n=0,o=[],l=0;for(let i of[0,1,2,3,4,9,10,11,12,13])i!==13&&(n+=r[i]*Math.pow(3,l)),o[l]=t[i]<5?t[i]:t[i]-4,l++;return[n,id(o)]}function xd(e){return Md(bd(e))}function wd(e){let t=[];for(let r of[Dd,Ad,Ud,xd]){let n=r(e);e=Rd(e,n),t=t.concat(n)}return t}function oa(){if(ne.phase23om)return ne.phase23om;let e=ra(15,5),t=[1,3,9,27,81,243],r=Array(ra(15,5)*t[5]);ne.phase23om=r;for(let n=0;n<e;n++){let o=fd(n,5,15).concat(Array(5).fill(0)),l=[];for(let i=0;i<6;i++){let a=Kt(o,sn[i][0]).slice(0,15);l[i]=d0(a)}for(let i=0;i<t[5];i++){r[i+243*n]=[];let a=[];for(let s=0,f=0;s<20;s++)o[s]===1?(a[s]=(i/t[f]|0)%3,f++):a[s]=99;for(let s=0;s<6;s++){let f=sn[s],g=[];for(let p=0;p<15;p++)g[p]=a[f[0][p]]+f[1][p];let c=g.filter(p=>p<10),u=0;for(let p=0;p<5;p++)u+=c[p]%3*t[p];r[i+243*n][s]=u+243*l[s]}}}return r}function Sd(){if(ne.phase2op)return ne.phase2op;let e=oa();return ne.phase2op=Lo(e,[243*3002])}function vd(){if(ne.phase3op)return ne.phase3op;let e=oa();return ne.phase3op=Lo(e,[243*246])}function la(){if(ne.phase23pm)return ne.phase23pm;let e=[1,15,225,Math.pow(15,3),Math.pow(15,4),Math.pow(15,5)],t=Array(e[5]),r=Array(15);for(let o=0;o<15;o++){r[o]=Array(6);for(let l=0;l<6;l++)r[o][l]=sn[l][0].indexOf(o)}let n=[0,0,0,0,0];for(let o=0;o<e[5];o++){t[o]=Array(6);for(let l=0;l<6;l++){let i=0;for(let a=0;a<5;a++)i+=r[n[a]][l]*e[a];t[o][l]=i}n[0]++;for(let l=0;l<4;l++)n[l]===15&&(n[l]=0,n[l+1]++)}return ne.phase23pm=t}function Ed(){if(ne.phase2pp)return ne.phase2pp;let e=la();return ne.phase2pp=Lo(e,[213090])}function kd(){if(ne.phase3pp)return ne.phase3pp;let e=la();return ne.phase3pp=Lo(e,[737420])}function F0(){if(ne.phase4om)return ne.phase4om;let e=[1,3,9,27,81,243,729,2187,6561,19683,59049],t=Array(e[9]);for(let r=0;r<e[9];r++){let n=Array(14).fill(0);for(let o=0;o<9;o++){let l=o<5?o:o+4;n[l]=(r/e[o]|0)%3,n[13]-=n[l]}n[13]=(n[13]+999)%3,t[r]=[];for(let o=0;o<3;o++){let l=sn[o],i=[0,1,2,3,4,9,10,11,12,13].map(s=>n[l[0][s]]+l[1][s]),a=0;for(let s=0;s<9;s++)a+=i[s]%3*e[s];t[r][o]=a}}return ne.phase4om=t}function A0(){if(ne.phase4pm)return ne.phase4pm;let e=sc(10)/2,t=10,r=[0,1,2,3,4,-1,-1,-1,-1,5,6,7,8,9],n=[0,1,2,3,4,9,10,11,12,13],o=[Kt(r,Kt(fc[0],n)),Kt(r,Kt(uc[0],n)),Kt(r,Kt(gc[0],n))],l=Array(e),i=Array(10);for(let a=0;a<e;a++){sd(a,i),l[a]=[];for(let s=0;s<3;s++){let f=Kt(i,o[s]);l[a][s]=ad(f)}}return ne.phase4pm=l}function _d(){if(ne.phase4op)return ne.phase4op;let e=F0();return ne.phase4op=Lo(e,[0])}function zd(){if(ne.phase4pp)return ne.phase4pp;let e=A0();return ne.phase4pp=Lo(e,[0])}function Cd(e){if(ne.phase4np_list&&ne.phase4np_list.threshold===e)return ne.phase4np_list;let t=[F0(),A0()],r=Math.pow(3,9),n=[0];o(e,[0,0],-1);function o(a,s,f){if(n.push(s[0]+r*s[1]),a===0)return;let g=[];for(let c=0;c<3;c++)if(c!==f){g[0]=s[0],g[1]=s[1];for(let u=1;u<5;u++)g[0]=t[0][g[0]][c],g[1]=t[1][g[1]][c],o(a-1,g,c)}}n.sort((a,s)=>a-s);let l=[],i=-1;for(let a of n)a!==i&&l.push(i=a);return l.threshold=e,ne.phase4np_list=l}function Pd(e,t){let r=0,n=e.length-1;for(;n-r>1;){let o=r+n>>1;t>e[o]?r=o+1:n=o}return t===e[r]||t===e[n]}function Lo(e,t){let r=e.length,n=e[0].length,o=Array(r).fill(-1);for(let a of t)o[a]=0;let l=0,i=!1;for(;!i;){i=!0;for(let a=0;a<r;a++)if(o[a]===l)for(let s=0;s<n;s++){let f=e[a][s];for(;f!==a;)o[f]===-1&&(i=!1,o[f]=l+1),f=e[f][s]}l++}return o}function pc(e,t,r){let n=e.length,o=0;for(let l=0;l<n;l++)o=Math.max(o,r[l][e[l]]);for(;;){let l=mc(e,t,r,o,-1);if(l!==void 0)return l;o++}}function mc(e,t,r,n,o){let l=e.length,i=t[0][0].length,a=0;for(let s=0;s<l;s++)a=Math.max(a,r[s][e[s]]);if(!(a>n)){if(n===0||a===0)return[];for(let s=0;s<i;s++){if(s===o)continue;let f=e.slice();for(let c=0;c<l;c++)f[c]=t[c][e[c]][s];let g=1;for(;e.some((c,u)=>e[u]!=f[u]);){let c=mc(f,t,r,n-1,s);if(c!==void 0)return[[s,g]].concat(c);for(let u=0;u<l;u++)f[u]=t[u][f[u]][s];g++}}}}function Md(e){let t=F0(),r=A0(),n=_d(),o=zd(),l=Cd(R0),i=Math.max(n[e[0]],o[e[1]]);for(;;){let a=Lc(e,i,-1,t,r,n,o,l);if(a!==void 0)return a;i++}}function Lc(e,t,r,n,o,l,i,a){let s=Math.max(l[e[0]],i[e[1]]);if(!(s>t)&&(s<=R0&&!Pd(a,e[0]+19683*e[1])&&(s=R0+1),!(s>t))){if(t===0||s===0)return[];for(let f=0;f<3;f++){if(f===r)continue;let g=e.slice();for(let c=1;c<5;c++){g[0]=n[g[0]][f],g[1]=o[g[1]][f];let u=Lc(g,t-1,f,n,o,l,i,a);if(u!==void 0)return[[f,c]].concat(u)}}}}async function Bc(){return new _(Bd(dd(await Nd)))}var R0,ad,sd,fc,uc,gc,ud,gd,cd,D0,U6,sn,pd,md,na,hd,ne,Nd,dc=U(()=>{Re();xt();\\\"use strict\\\";R0=7;[ad,sd]=(()=>{let e=new Int8Array(1024*10),t=new Int8Array(1024*10);for(let o=0;o<1024;o++)for(let l=0,i=0;l<10;l++)(o>>>l&1)!=0&&(e[l<<10|o]=i,t[i<<10|o]=l,i++);function r(o){let l=1023,i=181440,a=0;for(let s=0;s<8;s++){let f=o[s];a+=e[l|f<<10]*i,l&=~(1<<f),i/=9-s}return a}function n(o,l){let i=1023,a=181440,s=0;for(let f=0;f<8;f++){let g=o/a|0;o-=g*a,s^=g&1;let c=t[i|g<<10];l[f]=c,i&=~(1<<c),a/=9-f}return l[8]=t[i|s<<10],l[9]=t[i|(s^1)<<10],l}return[r,n]})();fc=[mo([0,1,2,3,4],20),zr({},20)],uc=[mo([4,3,11,12,13],20),zr({4:2,3:1,11:1,12:1,13:1},20)],gc=[mo([3,2,9,10,11],20),zr({3:2,2:1,9:1,10:1,11:1},20)],ud=[mo([2,1,7,8,9],20),zr({2:2,1:1,7:1,8:1,9:1},20)],gd=[mo([1,0,5,6,7],20),zr({1:2,0:1,5:1,6:1,7:1},20)],cd=[mo([0,4,13,14,5],20),zr({0:2,4:1,13:1,14:1,5:1},20)],D0=[[15,16,17,18,19,10,9,8,7,6,5,14,13,12,11,0,1,2,3,4],zr({},20)],U6=[[1,2,3,4,0,7,8,9,10,11,12,13,14,5,6,19,15,16,17,18],zr({},20)],sn=[fc,uc,gc,ud,gd,cd,D0],pd=[\\\"U\\\",\\\"R\\\",\\\"F\\\",\\\"L\\\",\\\"BL\\\",\\\"BR\\\",\\\"x2\\\"],md=h0(D0,D0),na=[];for(let e=0;e<sn.length;e++){na[e]=[md];for(let t=1;t<5;t++)na[e][t]=h0(na[e][t-1],sn[e])}{let e=Math.sin(Math.PI/5),t=Math.cos(Math.PI/10),r=Math.cos(Math.PI/5),n=Math.sin(Math.PI/10);hd={U:[0,0],L:[-e-t,r-n],F:[0,2*r],R:[e+t,r-n],BR:[t,-1-n],BL:[-t,-1-n],DBR:[2*e+2*t,0],DB:[3*e+3*t,-r-n],DBL:[4*e+4*t,0],DFL:[3*e+4*t,1+r],DFR:[3*e+2*t,1+r],D:[3*e+3*t,r-n]}}ne={};Nd=Ce();Bc().then(e=>e.log())});var kc={};De(kc,{randomMasterTetraminxScrambleString:()=>gh});function fl(e){if(e<2)return e;let t=1;for(let r=2;r<=e;r++)t*=r;return t}function fn(e){let t=Array(e);for(let r=0;r<e;r++)t[r]=r;return t}function Td(e){e=e.slice();let t=e.length,r=fl(t-1),n=0;for(;t>1;){t--;let o=e[0];n+=o*r;for(let l=0;l<t;l++){let i=e[l+1];e[l]=i-(i>o)}r/=t}return n}function ia(e,t){let r=[],n=fl(t-1)/2,o=0;for(let l=0;l<t-1;l++)r[l]=e/n|0,e%=n,n/=t-1-l;r[t-1]=0;for(let l=t-2;l>=0;l--)for(let i=l+1;i<t;i++)r[i]>=r[l]?r[i]++:o^=1;return o===1&&([r[t-2],r[t-1]]=[r[t-1],r[t-2]]),r}function Dc(e){return Td(e)>>1}function un(e,t){let r=[];for(let n=0;n<t.length;n++)r[n]=e[t[n]];return r}function y0(e){let t=[];for(let r=0;r<e.length;r++)t[e[r]]=r;return t}function ul(e,t){let r=[];for(let n=0;n<t;n++)r[n]=n;for(let n=0;n<e.length;n++)r[e[n]]=e[(n+1)%e.length];return r}function Cr(e,t){return e.length===0?fn(t):e.map(r=>ul(r,t)).reduce(un)}function Gd(e,t){let r=Array(4);for(let i=0;i<4;i++)r[i]=(e.co[i]+t.co[i])%3;let n=un(e.mp,t.mp),o=un(e.wp,t.wp),l=un(e.cp,t.cp);return{co:r,mp:n,wp:o,cp:l}}function Fc(e,t){return e>=4&&t>=4?!0:e<4&&t<4?e===t:(e^t)==4}function Yd(e){let t=[\\\"0\\\",\\\"\\\",\\\"'\\\"];return e.map(([n,o])=>Hd[n]+t[o]).join(\\\" \\\")}function Jd(e){let t=Array(4);for(let l=0;l<4;l++)t[l]=e(3);let r=ia(e(fl(6)/2),6);for(let l=0,i=0;l<6;l++){let a=l===5?i:e(2);i^=a,r[l]+=a*6,r[l+6]=(r[l]+6)%12}let n=ia(e(fl(12)/2),12),o=ia(e(fl(4)/2),4);return{co:t,mp:r,wp:n,cp:o}}function Zd(e){return $d(Jd(e))}function Xd(e,t=!0,r=!1){let n=Yd(Zd(e));if(!t)return n;let o=[\\\"u\\\",\\\"l\\\",\\\"r\\\",\\\"b\\\"],l=[\\\"0\\\",\\\"\\\",\\\"'\\\"];if(!r){for(let u=0;u<4;u++){let p=e(3);p!==0&&(n+=\\\" \\\"+o[u]+l[p])}return n.trim()}let i=[],a=[],s=[];for(let u=0;u<4;u++)i[u]=e(3),a[u]=e(3),s[u]=(i[u]-a[u]+3)%3;let f=u=>u.filter(p=>p!==0).length;for(;!(f(a)>=1&&f(s)>=1&&f(a)+f(s)>=4);)for(let u=0;u<4;u++)a[u]=e(3),s[u]=(i[u]-a[u]+3)%3;let g=a.map((u,p)=>u!==0?o[p]+l[u]+\\\" \\\":\\\"\\\").join(\\\"\\\"),c=s.map((u,p)=>u!==0?\\\" \\\"+o[p]+l[u]:\\\"\\\").join(\\\"\\\");return g+n+c}function $d(e){let t=th(e),r=[wc(),Sc()],n=[ah(),sh()],o=oh(t),l,i=new Set,a=performance.now();for(let s=0;s<22;s++){let{value:f,done:g}=o.next(),c=e;for(let[R,h]of f)for(let A=0;A<h;A++)c=Gd(c,Bo[R]);let u=JSON.stringify(c);if(i.has(u))continue;i.add(u);let p=lh(c),m=l?l.length-f.length-1:999999,L=fh(p,r,n,m).next().value;if(L!==void 0&&((l===void 0||l.length>f.length+L.length)&&(l=f.concat(L)),performance.now()-a>300))break}return l}function eh(e){return e[3^e.indexOf(3)]}function th(e){let t=un(y0(e.mp),e.wp),r=(e.co.reduce((n,o)=>n+o)-eh(e.cp)+3)%3;return[0,1,2,3,4,5].map(n=>n+6*t.indexOf(n)+72*t.indexOf(n+6)+864*r)}function*oh(e){let t=0,r=xc(),n=ih();for(;;)yield*Uc(...e,r,n,t,-1),t++}function*Uc(e,t,r,n,o,l,i,a,s,f){let g=gn,c=ar[e]+ar[t]+ar[r]+ar[n]+ar[o]+ar[l],u=Math.max(a[e%864+t*864],a[r%864+t*864],a[o%864+t*864],a[e%864+n*864],a[r%864+n*864],a[o%864+n*864],a[e%864+l*864],a[r%864+l*864],a[o%864+l*864],a[e%864+r*864],a[e%864+o*864],a[r%864+o*864],a[t%864+n*864],a[t%864+l*864],a[n%864+l*864],x0[c]);if(!(u>s)){if(s===0){yield[];return}if(!(u===0&&s===1))for(let p=0;p<g;p++){if(p===f||p<f&&Fc(p,f))continue;let m=e,L=t,R=r,h=n,A=o,y=l;for(let k=1;k<=2;k++){m=i[m][p],L=i[L][p],R=i[R][p],h=i[h][p],A=i[A][p],y=i[y][p];let E=Uc(m,L,R,h,A,y,i,a,s-1,p);for(;;){let{value:Q,done:$}=E.next();if($)break;yield[[p,k]].concat(Q)}}}}}function lh(e){let t=e.mp,r=Dc(t.slice(0,6).map(i=>i%6)),n=t.slice(0,5).map((i,a)=>(i>=6)*2**a).reduce((i,a)=>i+a),o=e.co.map((i,a)=>i*3**a).reduce((i,a)=>i+a),l=e.cp.indexOf(0);return[r+360*l,n+32*o]}function bc(){if(be.phase1pm)return be.phase1pm;let e=Array(6*12*12).fill().map(()=>Array(gn).fill(-1));for(let t=0;t<6;t++)for(let r=0;r<12;r++)for(let n=0;n<12;n++){if(r===n)continue;let o=t+6*r+72*n;for(let l=0;l<gn;l++){let i=Ac[l][t],a=U0[l][r],s=U0[l][n];i<6?e[o][l]=i+6*a+72*s:e[o][l]=i-6+6*s+72*a}}return be.phase1pm=e}function xc(){if(be.phase1pcm)return be.phase1pcm;let e=bc(),t=Array(e.length*3).fill().map(()=>Array(gn).fill(-1));for(let r=0;r<e.length;r++)for(let n=0;n<gn;n++){let o=e[r][n];t[r][n]=o+6*12*12*b0[n],t[r+6*12*12][n]=o+6*12*12*((b0[n]+1)%3),t[r+2*6*12*12][n]=o+6*12*12*((b0[n]+2)%3)}return be.phase1pcm=t}function ih(){if(be.phase1p2cp)return be.phase1p2cp;let e=bc(),t=xc(),r=new Int8Array((6*12*12)**2*3);r.fill(-1);let n=[0,1,2,3,4,5].map(l=>l+6*l+72*(l+6));for(let l=0;l<6;l++)for(let i=0;i<6;i++)l!==i&&(r[n[l]+864*n[i]]=0);let o=0;for(;;){let l=!1;for(let i=0;i<r.length;i++){if(r[i]!==o)continue;let a=i%864,s=Math.floor(i/864);for(let f=0;f<gn;f++){let g=a,c=s;for(let u=1;u<=2;u++){g=e[g][f],c=t[c][f];let p=g+864*c;r[p]===-1&&(l=!0,r[p]=o+1)}}}if(!l)break;o++}return be.phase1p2cp=r}function wc(){if(be.phase2pm)return be.phase2pm;let e=Array(1440).fill().map(()=>Array(aa));for(let t=0;t<360;t++){let r=ia(t,6);for(let n=0;n<6;n++)r[n+6]=r[n]+6;for(let n=0;n<aa;n++){let o=un(r,Bo[n].mp),l=Dc(o.slice(0,6).map(i=>i%6));for(let i=0;i<4;i++){let a=Bo[n].cp[i];e[t+360*a][n]=l+360*i}}}return be.phase2pm=e}function Sc(){if(be.phase2om)return be.phase2om;let e=Array(32*81).fill().map(()=>Array(aa));for(let t=0;t<32;t++){let r=[0,1,2,3,4].map(o=>t>>o&1);r[5]=r.reduce((o,l)=>o^l);let n=[];for(let o=0;o<6;o++)n[o]=o+6*r[o],n[o+6]=o+6*(r[o]^1);for(let o=0;o<81;o++){let l=[0,1,2,3].map(i=>Math.floor(o/3**i)%3);for(let i=0;i<aa;i++){let s=un(n,Bo[i].mp).slice(0,5).map(u=>+(u>=6)),f=0;for(let u=0;u<5;u++)f+=s[u]<<u;let g=l.map((u,p)=>(u+Bo[i].co[p])%3),c=0;for(let u=0;u<4;u++)c+=g[u]*3**u;e[t+32*o][i]=f+32*c}}}return be.phase2om=e}function ah(){return be.phase2pp?be.phase2pp:be.phase2pp=vc(wc(),[0])}function sh(){return be.phase2op?be.phase2op:be.phase2op=vc(Sc(),[0])}function vc(e,t){let r=e.length,n=e[0].length,o=Array(r).fill(-1),l=t.slice(),i=[],a=0;for(;l.length>0;){i.length=0;for(let s of l)if(o[s]===-1){o[s]=a;for(let f=0;f<n;f++){let g=e[s][f];for(;g!=s;)i.push(g),g=e[g][f]}}[l,i]=[i,l],a+=1}return o}function*fh(e,t,r,n){let o=e.length,l=0;for(let i=0;i<o;i++)l=Math.max(l,r[i][e[i]]);for(;l<=n;)yield*Ec(e,t,r,l,-1),l++}function*Ec(e,t,r,n,o){let l=e.length,i=t[0][0].length,a=0;for(let s=0;s<l;s++)a=Math.max(a,r[s][e[s]]);if(!(a>n)){if(n===0){yield[];return}if(!(a===0&&n===1))for(let s=0;s<i;s++){if(s===o||s<o&&Fc(s,o))continue;let f=e.slice();for(let c=0;c<l;c++)f[c]=t[c][e[c]][s];let g=1;for(;e.some((c,u)=>e[u]!=f[u]);){let c=Ec(f,t,r,n-1,s);for(;;){let{value:u,done:p}=c.next();if(p)break;yield[[s,g]].concat(u)}for(let u=0;u<l;u++)f[u]=t[u][f[u]][s];g++}}}}async function gh(){return Xd(await uh,!1)}var S6,v6,E6,Id,Od,Wd,Kd,Qd,jd,qd,Vd,Bo,Hd,gn,aa,rh,Ac,nh,U0,b0,yc,x0,ar,be,uh,_c=U(()=>{xt();\\\"use strict\\\";[S6,v6]=(()=>{let e=new Int8Array(4096*12),t=new Int8Array(4096*12);for(let o=0;o<4096;o++)for(let l=0,i=0;l<12;l++)(o>>>l&1)!=0&&(e[l<<12|o]=i,t[i<<12|o]=l,i++);function r(o){let l=4095,i=19958400,a=0;for(let s=0;s<10;s++){let f=o[s];a+=e[l|f<<12]*i,l&=~(1<<f),i/=11-s}return a}function n(o,l){let i=4095,a=19958400,s=0;for(let f=0;f<10;f++){let g=o/a|0;o-=g*a,s^=g&1;let c=t[i|g<<12];l[f]=c,i&=~(1<<c),a/=11-f}return l[10]=t[i|s<<12],l[11]=t[i|(s^1)<<12],l}return[r,n]})();E6={co:[0,0,0,0],mp:fn(12),wp:fn(12),cp:[0,1,2,3]},Id={co:[2,0,0,0],mp:fn(12),wp:ul([1,9,11],12),cp:[0,1,2,3]},Od={co:[0,2,0,0],mp:fn(12),wp:ul([0,7,2],12),cp:[0,1,2,3]},Wd={co:[0,0,2,0],mp:fn(12),wp:ul([3,6,10],12),cp:[0,1,2,3]},Kd={co:[0,0,0,2],mp:fn(12),wp:ul([4,8,5],12),cp:[0,1,2,3]},Qd={co:[2,0,0,0],mp:Cr([[1,9,11],[7,3,5]],12),wp:Cr([[1,9,11],[7,3,5]],12),cp:[0,2,3,1]},jd={co:[0,2,0,0],mp:Cr([[0,7,2],[6,1,8]],12),wp:Cr([[0,7,2],[6,1,8]],12),cp:[3,1,0,2]},qd={co:[0,0,2,0],mp:Cr([[3,6,10],[9,0,4]],12),wp:Cr([[3,6,10],[9,0,4]],12),cp:[1,3,2,0]},Vd={co:[0,0,0,2],mp:Cr([[4,8,5],[10,2,11]],12),wp:Cr([[4,8,5],[10,2,11]],12),cp:[2,0,1,3]},Bo=[Qd,jd,qd,Vd,Id,Od,Wd,Kd],Hd=[\\\"u\\\",\\\"l\\\",\\\"r\\\",\\\"b\\\",\\\"U\\\",\\\"L\\\",\\\"R\\\",\\\"B\\\"],gn=8,aa=4;rh=[],Ac=[],nh=[],U0=[];for(let e=0;e<gn;e++){let t=Bo[e];rh[e]=t.mp,Ac[e]=y0(t.mp),nh[e]=t.wp,U0[e]=y0(t.wp)}b0=[0,0,0,0,2,2,2,2],yc=[[14,-1,-1,11,11,10,9,8,8,7,7,6,4,5,5,3,4,4,2,3,4,3,-1,-1,0],[13,-1,-1,11,10,10,9,8,8,7,7,6,4,5,5,3,4,4,2,3,3,1,-1,-1,6]],x0=new Int8Array(55);for(let e=0;e<25;e++)x0[e]=yc[0][e],x0[e+30]=yc[1][e];ar=new Int8Array(6*12*12*3);for(let e=0;e<6;e++)for(let t=0;t<12;t++)for(let r=0;r<12;r++){let n=e+6*t+72*r,o=2;t===e?o++:t===(e+6)%12&&o--,r===(e+6)%12?o++:r===e&&o--,ar[n]=o,ar[n+6*12*12]=ar[n+2*6*12*12]=o+5}be={};uh=Ce()});var Pc={};De(Pc,{cachedMegaminxKPuzzleWithoutMO:()=>gl,cachedSGSDataMegaminx:()=>Lh,sgsDataMegaminx:()=>Cc});async function ch(){let e=zn(\\\"megaminx\\\",{allMoves:!0,addRotations:!0}),t=new ke(e.getKPuzzleDefinition(!0),{experimentalPGNotation:new Kr(e,e.getOrbitsDef(!0))});return t.definition.name=\\\"megaminx\\\",t}async function gl(){return ph??(ph=ch())}async function Lh(){return mh??(mh=Cc())}async function Cc(){return It(await gl(),`SubgroupSizes 12 5 60 58 60 56 54 57 52 50 54 48 46 51 44 42 48 40 45 38 36 42 34 32 39 30 36 28 26 33 24 30 22 20 27 18 24 16 14 21 12 18 10 15 8 6 2 12 9 3\\n\\nAlg Rv\\nAlg Rv2\\nAlg Rv2'\\nAlg Rv'\\nAlg Lv'\\nAlg Lv2\\nAlg Lv2'\\nAlg Fv\\nAlg Fv'\\nAlg BRv2\\nAlg Lv2 Rv'\\n\\nAlg Uv\\nAlg Uv2\\nAlg Uv2'\\nAlg Uv'\\n\\nAlg D\\nAlg D2\\nAlg D2'\\nAlg D'\\nAlg B\\nAlg B2\\nAlg B2'\\nAlg B'\\nAlg D DL\\nAlg D DL2\\nAlg D DL2'\\nAlg D DL'\\nAlg D2 FL\\nAlg D2 FL2\\nAlg D2 FL2'\\nAlg D2 FL'\\nAlg D2' FR\\nAlg D2' FR2\\nAlg D2' FR2'\\nAlg D2' FR'\\nAlg D' DR\\nAlg D' DR2\\nAlg D' DR2'\\nAlg D' DR'\\nAlg B DR\\nAlg B DR2'\\nAlg B DR'\\nAlg B2 BR2\\nAlg B2 BR2'\\nAlg B2 BR'\\nAlg B2' BL\\nAlg B2' BL2\\nAlg B2' BL2'\\nAlg B' DL\\nAlg B' DL2\\nAlg B' DL'\\nAlg D DL B\\nAlg D DL B2'\\nAlg D DL B'\\nAlg D DL2' L\\nAlg D DL2' L2\\nAlg D DL2' L2'\\nAlg D DL' FL\\nAlg D DL' FL2\\nAlg D DL' FL'\\nAlg D2 FL2' F\\nAlg D2 FL2' F2\\nAlg D2 FL2' F2'\\nAlg D2 FL' FR\\nAlg D2 FL' FR2\\nAlg D2 FL' FR'\\nAlg D2' FR2' R\\nAlg D2' FR2' R2\\nAlg D2' FR2' R2'\\nAlg B DR2' R2'\\nAlg B DR' BR2\\nAlg B2 BR' BL\\nAlg B2' BL2' L\\nAlg D DL2' L2' F\\nAlg DL\\nAlg DL2\\nAlg DL2'\\nAlg DL'\\nAlg DL BL\\nAlg DL BL2\\nAlg DL BL2'\\nAlg DL BL'\\nAlg DL2 L\\nAlg DL2 L2\\nAlg DL2 L2'\\nAlg DL2 L'\\nAlg DL2' FL\\nAlg DL2' FL2\\nAlg DL2' FL2'\\nAlg DL2' FL'\\nAlg D B D'\\nAlg D B2 D'\\nAlg D B2' D'\\nAlg D B' D'\\nAlg D2 B D2'\\nAlg D2 DL' D2'\\nAlg D2' DL' D2\\nAlg D' B D\\nAlg D' DL' D\\nAlg B2 DR2 B2'\\nAlg B2 DR2' B2'\\nAlg B2 DR' B2'\\nAlg B2' BR B2\\nAlg B2' BR2 B2\\nAlg B2' BR2' B2\\nAlg B' BL B\\nAlg B' BL2 B\\nAlg B' BL' B\\nAlg DL BL2' U\\nAlg DL BL2' U2\\nAlg DL BL2' U2'\\nAlg DL BL' L\\nAlg DL BL' L2\\nAlg DL BL' L'\\nAlg DL2 L2' F\\nAlg DL2 L2' F2\\nAlg DL2 L2' F2'\\nAlg DL2 L' FL\\nAlg DL2 L' FL2\\nAlg DL2 L' FL'\\nAlg DL2' FL2' FR\\nAlg DL2' FL2' FR2\\nAlg DL2' FL2' FR2'\\nAlg D B D' DR2\\nAlg D B D' DR'\\nAlg D2 B D2' FR2'\\nAlg D' B D DL\\nAlg B2 DR' B2' BR\\nAlg B2 DR' B2' BR'\\nAlg B2' BR2' B2 U\\nAlg DL BL2' U2' F\\nAlg D FL D'\\nAlg D FL2 D'\\nAlg D FL2' D'\\nAlg D FL' D'\\nAlg D2 FR D2'\\nAlg D2 FR2 D2'\\nAlg D2 FR2' D2'\\nAlg D2' DR D2\\nAlg D2' DR2 D2\\nAlg D2' DR2' D2\\nAlg DL2 BL DL2'\\nAlg DL2 BL2 DL2'\\nAlg DL2 BL2' DL2'\\nAlg DL2 BL' DL2'\\nAlg DL2' L2 DL2\\nAlg DL2' L2' DL2\\nAlg DL' FL2 DL\\nAlg DL' FL' DL\\nAlg D FL D' FL2'\\nAlg D FL L D'\\nAlg D FL L2 D'\\nAlg D FL L2' D'\\nAlg D FL2 F D'\\nAlg D FL2 F2 D'\\nAlg D FL2 F2' D'\\nAlg D FL2 L D'\\nAlg D FL2 L2 D'\\nAlg D FL2' D' FR\\nAlg D FL2' D' FR2\\nAlg D FL2' D' FR2'\\nAlg D FL2' F D'\\nAlg D FL2' F2' D'\\nAlg D FL2' FR2' D'\\nAlg D FL2' FR' D'\\nAlg D FL' D' FL\\nAlg D FL' FR D'\\nAlg D2 FR D2' FR2'\\nAlg D2 FR2 R D2'\\nAlg D2 FR2 R2 D2'\\nAlg D2 FR2 R2' D2'\\nAlg D2 FR2' D2' DR\\nAlg D2 FR2' D2' DR2\\nAlg D2 FR2' D2' DR2'\\nAlg D2 FR2' D2' DR'\\nAlg D2 FR2' R2' D2'\\nAlg D2 FR' DR2' D2'\\nAlg D2' DR D2 DR2'\\nAlg D2' DR2 BR D2\\nAlg D2' DR2 BR2' D2\\nAlg D2' DR2' BR2' D2\\nAlg D2' DR2' BR' D2\\nAlg DL2 BL2 DL2' BL'\\nAlg DL2 BL2 DL2' BR'\\nAlg DL2 BL' DL2' L'\\nAlg DL2' L2 DL2 BL2\\nAlg D FL L2 BL2 D'\\nAlg D FL L' FL2' D'\\nAlg D FL2 L FL' D'\\nAlg D FL2' D' FR2 DR2'\\nAlg B DL B'\\nAlg B DL2 B'\\nAlg B DL2' B'\\nAlg B DL' B'\\nAlg B2 D B2'\\nAlg B2 D2 B2'\\nAlg B2 D2' B2'\\nAlg B2 D' B2'\\nAlg B2 DL B2'\\nAlg B2' D' B2\\nAlg B2' DL B2\\nAlg B' D' B\\nAlg B DL B' BL\\nAlg B DL B' BL2\\nAlg B DL B' BL2'\\nAlg B DL B' BL'\\nAlg B DL2 B' BL2\\nAlg B DL2 B' BL2'\\nAlg B DL2 B' BL'\\nAlg B DL2' L2 B'\\nAlg B DL2' L2' B'\\nAlg B DL2' L' B'\\nAlg B DL' FL B'\\nAlg B DL' FL2 B'\\nAlg B DL' FL2' B'\\nAlg B DL' FL' B'\\nAlg B2 D FL B2'\\nAlg B2 D FL2' B2'\\nAlg B2 D FL' B2'\\nAlg B2 D2 FR2 B2'\\nAlg B2 D2 FR2' B2'\\nAlg B2 D2 FR' B2'\\nAlg B2 D2' B2' DR\\nAlg B2 D2' B2' DR2\\nAlg B2 D2' B2' DR2'\\nAlg B2 DL B2' BR\\nAlg B2 DL B2' BR2\\nAlg B2 DL B2' BR2'\\nAlg B2' D' B2 BR2\\nAlg B2' D' B2 BR2'\\nAlg B' D' B DR\\nAlg B' D' B DR2'\\nAlg D FL' D FR D2'\\nAlg D DL FL DL' D'\\nAlg D2' FR DR FR' D2\\nAlg B DL B D B2'\\nAlg B DL B D2' B2'\\nAlg B DL B' BL2 U2\\nAlg B DL B' BL2 U2'\\nAlg B DL B' BL2 U'\\nAlg B DL2 B' BL2' U2\\nAlg B DL2 B' BL2' U2'\\nAlg B DL2 B' BL' L2\\nAlg B DL2' L2' B' F2\\nAlg B2 D FL2' B2' F2'\\nAlg DR\\nAlg DR2\\nAlg DR2'\\nAlg DR'\\nAlg DR2 FR\\nAlg DR2 FR2\\nAlg DR2 FR2'\\nAlg DR2 FR'\\nAlg DR2' R\\nAlg DR2' R2\\nAlg DR2' R2'\\nAlg DR2' R'\\nAlg DR' BR\\nAlg DR' BR2\\nAlg DR' BR2'\\nAlg DR' BR'\\nAlg D DR D'\\nAlg D2 DR D2'\\nAlg B BR B'\\nAlg B BR2' B'\\nAlg B BR' B'\\nAlg B2 BL2 B2'\\nAlg B2 BL2' B2'\\nAlg B2 BL' B2'\\nAlg DR2 FR2 FL2\\nAlg DR2 FR2 FL2'\\nAlg DR2 FR2 FL'\\nAlg DR2 FR2' F\\nAlg DR2 FR2' F2\\nAlg DR2 FR2' F2'\\nAlg DR2 FR' R\\nAlg DR2 FR' R2\\nAlg DR2 FR' R'\\nAlg DR2' R FR\\nAlg DR2' R FR2'\\nAlg DR2' R FR'\\nAlg DR2' R2' U\\nAlg DR2' R2' U2\\nAlg DR2' R2' U2'\\nAlg DR2' R' BR2'\\nAlg DR' BR2' BL'\\nAlg D DR2 FR D'\\nAlg B BR B' DR\\nAlg B BR B' DR2\\nAlg B BR2' B' U2'\\nAlg B BR' B' BL2\\nAlg B BR' B' BL2'\\nAlg B BR' B' BL'\\nAlg B2 BL2' L' B2'\\nAlg DR2 FR2 FL' F\\nAlg DR2 FR2' F FL2'\\nAlg DR2 FR2' F FL'\\nAlg B BR2' U2' L2' B'\\nAlg D2' FL D2\\nAlg D2' FL2 D2\\nAlg D2' FL2' D2\\nAlg D2' FL' D2\\nAlg D' FR2 D\\nAlg D' FR2' D\\nAlg D' FR' D\\nAlg DR FR DR'\\nAlg DR FR2' DR'\\nAlg DR FR' DR'\\nAlg DR2 R2 DR2'\\nAlg DR2 R2' DR2'\\nAlg DR2' BR DR2\\nAlg DR2' BR2 DR2\\nAlg DR2' BR2' DR2\\nAlg D DR2 D' DR2'\\nAlg D DR2' D' DR2\\nAlg D2' FL D2 FR'\\nAlg D2' FL2 D2 FL2'\\nAlg D2' FL2 D2 FL'\\nAlg D2' FL2 L D2\\nAlg D2' FL2 L2 D2\\nAlg D2' FL2 L2' D2\\nAlg D2' FL2 L' D2\\nAlg D2' FL2' F D2\\nAlg D2' FL2' F2 D2\\nAlg D2' FL2' F2' D2\\nAlg D2' FL2' L D2\\nAlg D2' FL2' L2 D2\\nAlg D2' FL2' L2' D2\\nAlg D2' FL2' L' D2\\nAlg D2' FL' F D2\\nAlg D2' FL' F2' D2\\nAlg D' FR FL' D\\nAlg D' FR2 D FR'\\nAlg D' FR2 D FL2\\nAlg D' FR2 D FL2'\\nAlg D' FR2 FL D\\nAlg D' FR2' R2' D\\nAlg D' FR' R2' D\\nAlg DR2 R2 DR2' U2'\\nAlg DR2 R2' DR2' BR\\nAlg DR2 R2' DR2' BR2\\nAlg DR2 R2' DR2' BR2'\\nAlg DR2 R2' DR2' BR'\\nAlg DR2 R' BR2' DR2'\\nAlg DR2' BR DR2 BR2'\\nAlg DR2' BR2 BL DR2\\nAlg DR2' BR2 BL2' DR2\\nAlg DR2' BR2' BL' DR2\\nAlg D B2' BL2' B2 D'\\nAlg D2 B2 DL2 B2' D2'\\nAlg D2' FL2 L' FL2 D2\\nAlg D2' FL2' L D2 FL'\\nAlg D2' FL2' L FL2' D2\\nAlg D2' FL2' L2' BL2 D2\\nAlg B2' DR B2\\nAlg B2' DR2 B2\\nAlg B2' DR2' B2\\nAlg B2' DR' B2\\nAlg B' DR' B\\nAlg B2' DR FR B2\\nAlg B2' DR FR2 B2\\nAlg B2' DR FR2' B2\\nAlg B2' DR FR' B2\\nAlg B2' DR2 R B2\\nAlg B2' DR2 R2 B2\\nAlg B2' DR2 R2' B2\\nAlg B2' DR2 R' B2\\nAlg B2' DR2' B2 BR\\nAlg B2' DR2' B2 BR2\\nAlg B2' DR2' B2 BR2'\\nAlg B2' DR2' B2 BR'\\nAlg B2' DR' B2 BL2\\nAlg B2' DR' B2 BL2'\\nAlg B2' DR' B2 BL'\\nAlg B' DR2' BR' B\\nAlg B' DR' B BR\\nAlg B' DR' B BR2'\\nAlg B' DR' B BR'\\nAlg D2' FR2' FL FR2 D2\\nAlg D2' FR2' FL2 FR2 D2\\nAlg D2' FR2' FL2' FR2 D2\\nAlg D' DR2' FR DR2 D\\nAlg D' DR2' FR2 DR2 D\\nAlg D' DR' FR' DR D\\nAlg D' FR D' FL' D2\\nAlg B2 D2 DL2 D2' B2'\\nAlg B2 D2 DL2' D2' B2'\\nAlg B2 D2 DL' D2' B2'\\nAlg B2 D' FR' D B2'\\nAlg B2 DL D2' DL' B2'\\nAlg B2 DL D' DL' B2'\\nAlg B2' DR FR2' B2 F2\\nAlg B2' DR FR2' B2 F2'\\nAlg B2' DR FR' R B2\\nAlg B2' DR FR' R2 B2\\nAlg B2' DR2 R2' B2 U\\nAlg B2' DR2 R2' B2 U2\\nAlg B2' DR2 R2' B2 U2'\\nAlg B2' DR' B2 BL2 U'\\nAlg B' DR2' BR' B BL2'\\nAlg DR D FR D' DR'\\nAlg DL2' B D B' DL2\\nAlg D2' FR2' FL2' FR2 F D2\\nAlg D' DR2' FR DR2 D FL2'\\nAlg B2 D B D' DR B2\\nAlg FR\\nAlg FR2\\nAlg FR2'\\nAlg FR'\\nAlg FR2 FL\\nAlg FR2 FL2\\nAlg FR2 FL2'\\nAlg FR2 FL'\\nAlg FR2' F\\nAlg FR2' F2\\nAlg FR2' F2'\\nAlg FR2' F'\\nAlg FR' R\\nAlg FR' R2\\nAlg FR' R2'\\nAlg FR' R'\\nAlg D FR D'\\nAlg DR R DR'\\nAlg DR R2' DR'\\nAlg DR R' DR'\\nAlg DR2 BR2 DR2'\\nAlg DR2 BR2' DR2'\\nAlg DR2 BR' DR2'\\nAlg FR2 FL2' L\\nAlg FR2 FL2' L2\\nAlg FR2 FL2' L2'\\nAlg FR2 FL' F\\nAlg FR2 FL' F2\\nAlg FR2 FL' F'\\nAlg FR2' F FL\\nAlg FR2' F FL2'\\nAlg FR2' F FL'\\nAlg FR2' F2' U\\nAlg FR2' F2' U2\\nAlg FR2' F2' U2'\\nAlg FR2' F' R2'\\nAlg FR' R2' BR'\\nAlg DR R DR' FR\\nAlg DR R DR' FR2\\nAlg DR R2' DR' U2'\\nAlg DR R' DR' BR2\\nAlg DR R' DR' BR2'\\nAlg DR R' DR' BR'\\nAlg DR2 BR2' BL2' DR2'\\nAlg DR2 BR2' BL' DR2'\\nAlg FR2 FL' F L2\\nAlg FR2 FL' F L2'\\nAlg B' DR2 BR' DR2' B\\nAlg DR R2' U2' BL2 DR'\\nAlg D' FL D\\nAlg D' FL2 D\\nAlg D' FL2' D\\nAlg D' FL' D\\nAlg FR FL FR'\\nAlg FR FL2 FR'\\nAlg FR FL2' FR'\\nAlg FR FL' FR'\\nAlg FR2 F2 FR2'\\nAlg FR2 F2' FR2'\\nAlg FR2' R FR2\\nAlg FR2' R2 FR2\\nAlg FR2' R2' FR2\\nAlg D FR2 D' FR2'\\nAlg D FR2' D' FR2\\nAlg D' FL D FL'\\nAlg D' FL2 D FL'\\nAlg D' FL2 L D\\nAlg D' FL2 L2 D\\nAlg D' FL2 L2' D\\nAlg D' FL2 L' D\\nAlg D' FL2' F2' D\\nAlg D' FL2' L2 D\\nAlg D' FL2' L2' D\\nAlg D' FL2' L' D\\nAlg D' FL' F2' D\\nAlg FR FL2' F' FR'\\nAlg FR FL2' FR' L\\nAlg FR FL2' FR' L2\\nAlg FR FL2' FR' L2'\\nAlg FR2 F2 FR2' U2\\nAlg FR2 F2 FR2' U2'\\nAlg FR2 F2' FR2' U2'\\nAlg FR2 F2' FR2' R\\nAlg FR2 F2' FR2' R2\\nAlg FR2 F2' FR2' R2'\\nAlg FR2 F2' FR2' R'\\nAlg FR2 F' R2' FR2'\\nAlg FR2' R FR2 R2'\\nAlg FR2' R2 BR FR2\\nAlg FR2' R2 BR2 FR2\\nAlg FR2' R2 BR2' FR2\\nAlg FR2' R2' BR2' FR2\\nAlg FR2' R2' BR' FR2\\nAlg D DR2' BR2' DR2 D'\\nAlg D FR2' D' FR2 FL2\\nAlg D2' B DL B' D2\\nAlg D2' B2' D' B2 D2'\\nAlg D' FL2 L BL D\\nAlg D' FL2 L' FL2 D\\nAlg D' FL2' F2' R' D\\nAlg D' FL2' L FL2' D\\nAlg D' FL2' L2' BL2 D\\nAlg DR2' FR DR2\\nAlg DR2' FR2 DR2\\nAlg DR2' FR2' DR2\\nAlg DR2' FR' DR2\\nAlg DR' FR' DR\\nAlg DR2' FR FL DR2\\nAlg DR2' FR FL2 DR2\\nAlg DR2' FR FL2' DR2\\nAlg DR2' FR FL' DR2\\nAlg DR2' FR2 DR2 F\\nAlg DR2' FR2 DR2 F2\\nAlg DR2' FR2 DR2 F2'\\nAlg DR2' FR2 DR2 F'\\nAlg DR2' FR2' DR2 R\\nAlg DR2' FR2' DR2 R2\\nAlg DR2' FR2' DR2 R2'\\nAlg DR2' FR2' DR2 R'\\nAlg DR2' FR' DR2 BR2\\nAlg DR2' FR' DR2 BR2'\\nAlg DR2' FR' DR2 BR'\\nAlg DR' FR2' R' DR\\nAlg DR' FR' DR R\\nAlg DR' FR' DR R2'\\nAlg DR' FR' DR R'\\nAlg D' FR2' FL FR2 D\\nAlg D' FR2' FL2 FR2 D\\nAlg D' FR' FL' FR D\\nAlg B2' DR2 FR' DR2' B2\\nAlg B' DR2 FR' DR2' B\\nAlg DR2 D' FL' D DR2'\\nAlg DR2' FR FL2' DR2 L\\nAlg DR2' FR FL2' DR2 L2\\nAlg DR2' FR FL2' DR2 L2'\\nAlg DR2' FR FL' DR2 F\\nAlg DR2' FR FL' DR2 F2\\nAlg DR2' FR2 F FL2 DR2\\nAlg DR2' FR2 DR2 F2' U\\nAlg DR2' FR2 DR2 F2' U2\\nAlg DR2' FR2 DR2 F2' U2'\\nAlg DR2' FR' DR2 BR2 U'\\nAlg DR2' FR' DR2 BR2' BL2'\\nAlg DR' FR2' R' DR BR2'\\nAlg D' FR2' FL2 FR2 L D\\nAlg D' FR2' FL2 FR2 L2 D\\nAlg B2' DR2' FR2' R' DR2 B2\\nAlg DR2 D DR D' FR DR2\\nAlg DR2' FR' DR2 BR2 U' BL2\\nAlg FL\\nAlg FL2\\nAlg FL2'\\nAlg FL'\\nAlg FL L\\nAlg FL L2\\nAlg FL L2'\\nAlg FL L'\\nAlg FL2 F\\nAlg FL2 F2\\nAlg FL2 F2'\\nAlg FL2 F'\\nAlg FR2' FL2' FR2\\nAlg FR' FL2' FR\\nAlg FL L2 BL\\nAlg FL L2 BL2\\nAlg FL L2 BL2'\\nAlg FL L2 BL'\\nAlg FL L2' U\\nAlg FL L2' U2\\nAlg FL L2' U2'\\nAlg FL L' F\\nAlg FL L' F2\\nAlg FL L' F'\\nAlg FL2 F L\\nAlg FL2 F L2\\nAlg FL2 F L2'\\nAlg FL2 F L'\\nAlg FL2 F2' R\\nAlg FL2 F2' R2\\nAlg FL2 F2' R2'\\nAlg FR' FL2 F' FR\\nAlg FL L2 BL2' BR\\nAlg FL L2 BL2' BR2\\nAlg FL L2 BL' U\\nAlg FL L2' U BL2\\nAlg FL L2' U BL2'\\nAlg FL L2' U BL'\\nAlg FL L2' U2' R\\nAlg FL L2' U2' R2\\nAlg FL L' F' FL\\nAlg FL L' F' FL2\\nAlg FL L' F' FL2'\\nAlg B DL2' BL DL2 B'\\nAlg FL L2 BL' U BR2'\\nAlg FL2 L FL2'\\nAlg FL2 L2 FL2'\\nAlg FL2 L2' FL2'\\nAlg FL2 L' FL2'\\nAlg FL2' F2 FL2\\nAlg FL2' F2' FL2\\nAlg FL2' F' FL2\\nAlg FR2' FL' FR2 FL\\nAlg FL2 L2 FL2' L2'\\nAlg FL2 L2 FL2' L'\\nAlg FL2 L2 FL2' BL\\nAlg FL2 L2 FL2' BL2\\nAlg FL2 L2 FL2' BL2'\\nAlg FL2 L2 FL2' BL'\\nAlg FL2 L2' FL2' U\\nAlg FL2 L2' FL2' U2\\nAlg FL2 L2' FL2' U2'\\nAlg FL2 L2' FL2' BL\\nAlg FL2 L2' FL2' BL2\\nAlg FL2 L2' FL2' BL2'\\nAlg FL2 L2' FL2' BL'\\nAlg FL2 L' FL2' U\\nAlg FL2 L' FL2' U2'\\nAlg FL2 L' FL2' F\\nAlg FL2 L' FL2' F2\\nAlg FL2 L' FL2' F2'\\nAlg FL2 L' FL2' F'\\nAlg FL2' F L FL2\\nAlg FL2' F L' FL2\\nAlg FL2' F2 L FL2\\nAlg FL2' F2 L2 FL2\\nAlg FL2' F2 L2' FL2\\nAlg FL2' F2 FL2 F'\\nAlg FL2' F2 FL2 L2\\nAlg FL2' F2' R FL2\\nAlg FL2' F2' R2 FL2\\nAlg FL2' F2' R2' FL2\\nAlg FL2' F' R2' FL2\\nAlg FL2' F' R' FL2\\nAlg FL' FR2' FL FR2\\nAlg D DR2' FR2' DR2 D'\\nAlg D FR2' R' FR2 D'\\nAlg D' DL2 BL2 DL2' D\\nAlg B2 D2' B D2 B2\\nAlg DR2 D2 DR D2' DR2\\nAlg FR2 D FR D' FR2\\nAlg FL2 L2 BL' L2 FL2'\\nAlg FL2 L2 FL2' BL2 BR\\nAlg FL2 L2' BL L2' FL2'\\nAlg FL2 L2' FL2' BL L'\\nAlg DL FL DL'\\nAlg DL FL2 DL'\\nAlg DL FL2' DL'\\nAlg DL FL' DL'\\nAlg DL2 FL DL2'\\nAlg DL FL DL' L\\nAlg DL FL DL' L2\\nAlg DL FL DL' L2'\\nAlg DL FL DL' L'\\nAlg DL FL2 L DL'\\nAlg DL FL2 L2 DL'\\nAlg DL FL2 L2' DL'\\nAlg DL FL2 L' DL'\\nAlg DL FL2 DL' L\\nAlg DL FL2' DL' F2\\nAlg DL FL2' DL' F2'\\nAlg DL FL2' DL' F'\\nAlg DL2 FL DL2' BL\\nAlg DL2 FL DL2' BL2\\nAlg DL2 FL DL2' BL2'\\nAlg B DL2' FL DL2 B'\\nAlg B2 DL2' FL DL2 B2'\\nAlg FL2 F2 L' F2' FL2'\\nAlg FL2 F2' L' F2 FL2'\\nAlg FL2 F' L' F FL2'\\nAlg FL2' FR2' FL FR2 FL2\\nAlg FL2' FR' F' FR FL2\\nAlg DL FL DL' L BL2'\\nAlg DL FL DL' L BL'\\nAlg DL FL DL' L2 U2\\nAlg DL FL DL' L2 U2'\\nAlg DL FL2 L2' DL' U2\\nAlg DL FL2 L2' DL' U2'\\nAlg DL FL2 L' DL' F'\\nAlg DL FL2' DL' F2' R2\\nAlg DL FL2' DL' F2' R2'\\nAlg DL2 FL DL2' BL2 BR2\\nAlg B DL2 FL DL2' BL B'\\nAlg FL2 F2' L' F2 R2 FL2'\\nAlg FL2 F2' L' F2 R2' FL2'\\nAlg FL2' FR' F FR L FL2\\nAlg DL FL DL' L BL2' BR2\\nAlg DL FL2 L DL FL' DL2'\\nAlg FR F FR'\\nAlg FR F2 FR'\\nAlg FR F2' FR'\\nAlg FR F' FR'\\nAlg FR2 R FR2'\\nAlg FR2 R2 FR2'\\nAlg FR2 R2' FR2'\\nAlg FR2 R' FR2'\\nAlg FL2' L FL2\\nAlg FL2' L2 FL2\\nAlg FL2' L2' FL2\\nAlg FL' F FL\\nAlg FL' F2 FL\\nAlg FL' F' FL\\nAlg FR F FR' F'\\nAlg FR F2 FR' L\\nAlg FR F2' FR' U\\nAlg FR F2' FR' U2\\nAlg FR F2' FR' U2'\\nAlg FR F' FR' R\\nAlg FR F' FR' R2\\nAlg FR F' FR' R2'\\nAlg FR F' FR' R'\\nAlg FR2 R FR2' F2\\nAlg FR2 R FR2' R'\\nAlg FR2 R2' BR FR2'\\nAlg FR2 R2' BR2 FR2'\\nAlg FR2 R2' BR2' FR2'\\nAlg FR2 R2' BR' FR2'\\nAlg FL2' L2 FL2 BL\\nAlg FL2' L2 FL2 BL2\\nAlg FL2' L2' FL2 U\\nAlg FL' F L2 FL\\nAlg FL' F L2' FL\\nAlg FL' F FL L\\nAlg DR' FR2 R' FR2' DR\\nAlg FR F2' U2' BR FR'\\nAlg FR F2' U2' BR2 FR'\\nAlg FR F' FR R' FR2'\\nAlg FL2' L2' FL2 U BL2\\nAlg FL2' L2' FL2 U BL2'\\nAlg FR F L F' FR'\\nAlg FR F L2 F' FR'\\nAlg FR F L2' F' FR'\\nAlg FR F L' F' FR'\\nAlg FR F2 U F2' FR'\\nAlg FR F2 U2 F2' FR'\\nAlg FR F2 U2' F2' FR'\\nAlg FR F2' R F2 FR'\\nAlg FR F2' R2 F2 FR'\\nAlg FR F2' R2' F2 FR'\\nAlg FR FL' L FL FR'\\nAlg FR FL' L2 FL FR'\\nAlg FR FL' L' FL FR'\\nAlg FR2 F2' L F2 FR2'\\nAlg FR2 F2' L2 F2 FR2'\\nAlg FR2 F' U2 F FR2'\\nAlg FR2 F' U2' F FR2'\\nAlg FR2 R U R' FR2'\\nAlg FR2 R U' R' FR2'\\nAlg FR2 R2 BR2 R2' FR2'\\nAlg FR2 R2 BR2' R2' FR2'\\nAlg FR2' DR BR DR' FR2\\nAlg FR2' R2' U R2 FR2\\nAlg FR2' R2' U2 R2 FR2\\nAlg FR2' R' BR2 R FR2\\nAlg FR2' R' BR2' R FR2\\nAlg FR2' R' BR' R FR2\\nAlg FL2 L BL L' FL2'\\nAlg FL2 L2 U2' L2' FL2'\\nAlg FL2 DL' BL2 DL FL2'\\nAlg FL2' F2 R2' F2' FL2\\nAlg FL2' L2' BL2 L2 FL2\\nAlg FL' F2 L F2' FL\\nAlg FL' F2 L2 F2' FL\\nAlg FL' F' R' F FL\\nAlg FL' FR R' FR' FL\\nAlg FR F L2' F' FR' BL\\nAlg FR F L2' F' FR' BL2\\nAlg FR F L' F' FR' F'\\nAlg FR F2 U2 BR2 F2' FR'\\nAlg FR F2 U2 BR2' F2' FR'\\nAlg FR F2' R F2 R2' FR'\\nAlg FR F2' R2' F2 FR' R'\\nAlg FR FL' L FL FR' F'\\nAlg FR2 F' U2 F FR2' L2'\\nAlg FR F L2 BL' L2 F' FR'\\nAlg FR F L2' F U' F2' FR'\\nAlg R\\nAlg R2\\nAlg R2'\\nAlg R'\\nAlg R2 F\\nAlg R2 F2\\nAlg R2 F2'\\nAlg R2 F'\\nAlg R2' U\\nAlg R2' U2\\nAlg R2' U2'\\nAlg R2' U'\\nAlg R' BR\\nAlg R' BR2\\nAlg R' BR2'\\nAlg R' BR'\\nAlg DR BR DR'\\nAlg DR BR2' DR'\\nAlg DR BR' DR'\\nAlg FR R FR'\\nAlg R2 F2' L\\nAlg R2 F2' L2\\nAlg R2 F2' L2'\\nAlg R2 F' U\\nAlg R2 F' U2\\nAlg R2 F' U'\\nAlg R2' U F\\nAlg R2' U F2'\\nAlg R2' U F'\\nAlg R2' U2' BL\\nAlg R2' U2' BL2\\nAlg R2' U2' BL2'\\nAlg R2' U' BR2'\\nAlg DR BR DR' R\\nAlg DR BR DR' R2\\nAlg DR BR2' BL2' DR'\\nAlg DR BR2' BL' DR'\\nAlg R2 F' U L2\\nAlg R2 F' U L2'\\nAlg FR' F FR\\nAlg FR' F2 FR\\nAlg FR' F2' FR\\nAlg FR' F' FR\\nAlg R F R'\\nAlg R F2 R'\\nAlg R F2' R'\\nAlg R F' R'\\nAlg R2 U2 R2'\\nAlg R2 U2' R2'\\nAlg R2' BR R2\\nAlg R2' BR2 R2\\nAlg R2' BR2' R2\\nAlg FR R2 FR' R2'\\nAlg FR R2' FR' R2\\nAlg FR' F FR F'\\nAlg FR' F2 FR F'\\nAlg FR' F2 FR L\\nAlg FR' F2 FR L2\\nAlg FR' F2 FR L2'\\nAlg FR' F2 FR L'\\nAlg FR' F2' FR U2'\\nAlg FR' F2' FR L2\\nAlg FR' F2' FR L2'\\nAlg FR' F2' FR L'\\nAlg FR' F' FR U2'\\nAlg R F2' U' R'\\nAlg R F2' R' L\\nAlg R F2' R' L2\\nAlg R F2' R' L2'\\nAlg R2 U2 R2' BL2\\nAlg R2 U2 R2' BL2'\\nAlg R2 U2' BR R2'\\nAlg R2 U2' BR2 R2'\\nAlg R2 U2' R2' BL2'\\nAlg R2 U2' R2' BR2'\\nAlg R2 U2' R2' BR'\\nAlg R2 U' BR2' R2'\\nAlg R2' BR R2 BR2'\\nAlg DR BR2 BL2' BR2' DR'\\nAlg FR R2' FR' R2 F2\\nAlg FR' F2 L' F2 FR\\nAlg FR' F2' U2' BR' FR\\nAlg FR' F2' L F2' FR\\nAlg DR' R DR\\nAlg DR' R2 DR\\nAlg DR' R2' DR\\nAlg DR' R' DR\\nAlg DR' R DR F\\nAlg DR' R DR F2\\nAlg DR' R DR F2'\\nAlg DR' R DR F'\\nAlg DR' R2 DR U\\nAlg DR' R2 DR U2\\nAlg DR' R2 DR U2'\\nAlg DR' R2 DR U'\\nAlg DR' R2' DR BR\\nAlg DR' R2' DR BR2\\nAlg DR' R2' DR BR2'\\nAlg DR' R2' DR BR'\\nAlg DR' R' DR BR\\nAlg DR' R' DR BR2'\\nAlg DR' R' DR BR'\\nAlg B2' DR2' R' DR2 B2\\nAlg DR2' FR' F FR DR2\\nAlg DR2' FR' F2 FR DR2\\nAlg DR2' FR' F' FR DR2\\nAlg DR' R DR F2' L\\nAlg DR' R DR F2' L2\\nAlg DR' R DR F2' L2'\\nAlg DR' R DR F' U\\nAlg DR' R DR F' U2\\nAlg DR' R DR F' U'\\nAlg DR' R2 U2' BL DR\\nAlg DR' R2 U2' BL2 DR\\nAlg DR' R2 U2' BL2' DR\\nAlg DR' R2 DR U F2\\nAlg DR' R' DR BR2' BL2'\\nAlg DR2' FR' F2 FR DR2 L\\nAlg DR2' FR' F2 FR DR2 L2\\nAlg DR' FR' F' FR R' DR\\nAlg BR\\nAlg BR2\\nAlg BR2'\\nAlg BR'\\nAlg BR2' U\\nAlg BR2' U2\\nAlg BR2' U2'\\nAlg BR2' U'\\nAlg BR' BL\\nAlg BR' BL2\\nAlg BR' BL2'\\nAlg BR' BL'\\nAlg B BL B'\\nAlg B BL2' B'\\nAlg B BL' B'\\nAlg BR2' U2 F\\nAlg BR2' U2 F2\\nAlg BR2' U2 F2'\\nAlg BR2' U2 F'\\nAlg BR2' U2' L\\nAlg BR2' U2' L2\\nAlg BR2' U2' L2'\\nAlg BR2' U' BL2'\\nAlg BR' BL U\\nAlg BR' BL U2\\nAlg BR' BL U2'\\nAlg BR' BL U'\\nAlg B BL B' BR\\nAlg B BL B' BR2\\nAlg B BL B' BR2'\\nAlg B BL2' L2' B'\\nAlg B BL2' L' B'\\nAlg BR2' U2' L F2\\nAlg BR2' U2' L F2'\\nAlg BR2' U2' L F'\\nAlg BR2 U BR2'\\nAlg BR2 U2 BR2'\\nAlg BR2 U2' BR2'\\nAlg BR2 U' BR2'\\nAlg BR2' BL BR2\\nAlg BR2' BL2 BR2\\nAlg BR2' BL2' BR2\\nAlg BR R BR' R'\\nAlg BR2 U BR2' U2'\\nAlg BR2 U BR2' U'\\nAlg BR2 U BR2' F\\nAlg BR2 U BR2' F2\\nAlg BR2 U BR2' F2'\\nAlg BR2 U BR2' F'\\nAlg BR2 U2 BR2' F\\nAlg BR2 U2 BR2' F2\\nAlg BR2 U2 BR2' F2'\\nAlg BR2 U2 BR2' F'\\nAlg BR2 U2 BR2' L\\nAlg BR2 U2 BR2' L2\\nAlg BR2 U2 BR2' L2'\\nAlg BR2 U2' BL BR2'\\nAlg BR2 U2' BL2 BR2'\\nAlg BR2 U2' BL' BR2'\\nAlg BR2 U2' BR2' L\\nAlg BR2 U2' BR2' L2'\\nAlg BR2 U2' BR2' BL2'\\nAlg BR2 U2' BR2' BL'\\nAlg BR2 U' BL BR2'\\nAlg BR2 U' BL2' BR2'\\nAlg BR2 U' BL' BR2'\\nAlg BR2' BL BR2 U2\\nAlg BR2' BL BR2 U2'\\nAlg BR2' BL BR2 BL2'\\nAlg BR2' BL BR2 BL'\\nAlg B BL2 L2' BL2' B'\\nAlg DR' R2 F R2' DR\\nAlg BR2 U F' U2' BR2'\\nAlg BR2 U BR2' U2' BL'\\nAlg BR2 U2 F U' BR2'\\nAlg BR2 U2 BR2' L F2'\\nAlg B' BR B\\nAlg B' BR2 B\\nAlg B' BR2' B\\nAlg B' BR' B\\nAlg B' BR2 B U\\nAlg B' BR2 B U2\\nAlg B' BR2 B U2'\\nAlg B' BR2 B U'\\nAlg B' BR2' B BL\\nAlg B' BR2' B BL2\\nAlg B' BR2' B BL2'\\nAlg B' BR2' B BL'\\nAlg B' BR' B BL\\nAlg B' BR' B BL2'\\nAlg B' BR' B BL'\\nAlg B' BR2 U2' L B\\nAlg B' BR2 U2' L2 B\\nAlg B' BR2 U2' L2' B\\nAlg B' BR2 B U2 F\\nAlg B' BR2 B U2 F2\\nAlg B' BR2 B U2 F2'\\nAlg B' BR2 B U2 F'\\nAlg B' BR2' B BL U\\nAlg B' BR2' B BL U2\\nAlg B' BR2' B BL U2'\\nAlg B' BR2' B BL U'\\nAlg B' BR' B BL2' L2'\\nAlg B' BR' B BL2' L'\\nAlg BR2 R U R' BR2'\\nAlg B' BR2 U2' L B F2'\\nAlg B' BR2 U2' L B F'\\nAlg B' BR' B BR2 BL BR2'\\nAlg B' BR2 U R BR' R' B\\nAlg BR U BR'\\nAlg BR U2 BR'\\nAlg BR U2' BR'\\nAlg BR U' BR'\\nAlg BR2 BL BR2'\\nAlg BR2 BL2 BR2'\\nAlg BR2 BL2' BR2'\\nAlg BR2 BL' BR2'\\nAlg R2' F R2\\nAlg R2' F2 R2\\nAlg R2' F2' R2\\nAlg R' U R\\nAlg R' U2 R\\nAlg R' U' R\\nAlg BR U BR' U'\\nAlg BR U2 BR' F\\nAlg BR U2' BR' L\\nAlg BR U2' BR' L2\\nAlg BR U2' BR' L2'\\nAlg BR U' BL BR'\\nAlg BR U' BL2 BR'\\nAlg BR U' BL2' BR'\\nAlg BR U' BR' BL'\\nAlg BR2 BL BR2' U2\\nAlg BR2 BL BR2' BL'\\nAlg R2' F2' R2 L\\nAlg R2' F2' R2 L2\\nAlg R' U F2 R\\nAlg R' U F2' R\\nAlg R' U R F\\nAlg BR U' BR BL' BR2'\\nAlg BR U F U' BR'\\nAlg BR U F2 U' BR'\\nAlg BR U F2' U' BR'\\nAlg BR U F' U' BR'\\nAlg BR U2 L U2' BR'\\nAlg BR U2 L2 U2' BR'\\nAlg BR U2 L2' U2' BR'\\nAlg BR U2' BL U2 BR'\\nAlg BR U2' BL2 U2 BR'\\nAlg BR U2' BL2' U2 BR'\\nAlg BR R' F R BR'\\nAlg BR R' F2 R BR'\\nAlg BR R' F' R BR'\\nAlg BR2 U2' F U2 BR2'\\nAlg BR2 U2' F2 U2 BR2'\\nAlg BR2 U' L2 U BR2'\\nAlg BR2 U' L2' U BR2'\\nAlg BR2 BL L BL' BR2'\\nAlg BR2 BL L' BL' BR2'\\nAlg BR2' BL2' L BL2 BR2\\nAlg BR2' BL2' L2 BL2 BR2\\nAlg R2 F2 L F2' R2'\\nAlg R2 F2 L2 F2' R2'\\nAlg R2 F2 L2' F2' R2'\\nAlg R2' U2 BL2' U2' R2\\nAlg R' U2 F U2' R\\nAlg R' U2 F2 U2' R\\nAlg R' U' BL' U R\\nAlg R' BR BL' BR' R\\nAlg BR U F' U' BR' U'\\nAlg BR U2 L' BL2 U2' BR'\\nAlg BR U2' BL U2 BL2' BR'\\nAlg BR U2' BL2' U2 BR' BL'\\nAlg BR R' F R BR' U'\\nAlg BR2 U' L2 U BR2' F2'\\nAlg BR2 U' L2 U BR2' F'\\nAlg BR U F2' U L' U2' BR'\\nAlg BR U F2' L' F U' BR'\\nAlg F\\nAlg F2\\nAlg F2'\\nAlg F'\\nAlg F L\\nAlg F L2\\nAlg F L2'\\nAlg F L'\\nAlg F2 U\\nAlg F2 U2\\nAlg F2 U2'\\nAlg F2 U'\\nAlg F L2' BL\\nAlg F L2' BL2\\nAlg F L2' BL2'\\nAlg F L' U\\nAlg F L' U2\\nAlg F L' U2'\\nAlg F L' U'\\nAlg F2 U L\\nAlg F2 U L2\\nAlg F2 U L2'\\nAlg F2 U L'\\nAlg F L' U BL2\\nAlg F L' U BL2'\\nAlg F L' U BL'\\nAlg F L' U' F\\nAlg F L' U' F2\\nAlg F L' U' F2'\\nAlg F2 L F2'\\nAlg F2 L2 F2'\\nAlg F2 L2' F2'\\nAlg F2 L' F2'\\nAlg F2' U2 F2\\nAlg F2' U2' F2\\nAlg F2' U' F2\\nAlg F2 L2 F2' L2'\\nAlg F2 L2 F2' L'\\nAlg F2 L2' BL F2'\\nAlg F2 L2' BL2 F2'\\nAlg F2 L2' BL2' F2'\\nAlg F2 L' F2' U\\nAlg F2 L' F2' U2\\nAlg F2 L' F2' U2'\\nAlg F2 L' F2' U'\\nAlg F2 L' BL F2'\\nAlg F2 L' BL2 F2'\\nAlg F2 L' BL2' F2'\\nAlg F2' U L F2\\nAlg F2' U L2 F2\\nAlg F2' U L' F2\\nAlg F2' U2 F2 U2'\\nAlg F2' U2 F2 U'\\nAlg F2' U2 F2 L2\\nAlg F2' U2 F2 L2'\\nAlg F2' U2 F2 L'\\nAlg F2' U2 L F2\\nAlg F' R' F R\\nAlg F L2 BL L2' F'\\nAlg F L2 BL2 L2' F'\\nAlg F2 L2 F2' L2' U2'\\nAlg F2 L2' BL' L F2'\\nAlg F2 L' F U2' F2\\nAlg F2 L' F' U' F'\\nAlg FL F FL'\\nAlg FL F2 FL'\\nAlg FL F2' FL'\\nAlg FL F' FL'\\nAlg FL F FL' L\\nAlg FL F FL' L2\\nAlg FL F FL' L2'\\nAlg FL F FL' L'\\nAlg FL F2 FL' L\\nAlg FL F2 FL' L2\\nAlg FL F2 FL' L2'\\nAlg FL F2 FL' L'\\nAlg FL F2' FL' U2\\nAlg FL F2' FL' U2'\\nAlg FL F2' FL' U'\\nAlg F2 U2 L' U2' F2'\\nAlg F2 U2' L' U2 F2'\\nAlg F2 U' L' U F2'\\nAlg FL F FL' L2 BL\\nAlg FL F FL' L2 BL2\\nAlg FL F FL' L2 BL2'\\nAlg FL F2 FL' L2' BL\\nAlg FL F2 FL' L2' BL2\\nAlg FL F2 FL' L2' BL2'\\nAlg FL F2 FL' L' U'\\nAlg FL F FL' F2' L' F2\\nAlg F2 U F U L U2' F2'\\nAlg F2' L F2\\nAlg F2' L2 F2\\nAlg F2' L2' F2\\nAlg F2' L' F2\\nAlg F' U F\\nAlg F' U2 F\\nAlg F' U2' F\\nAlg F' U' F\\nAlg R U R'\\nAlg R U2' R'\\nAlg R U' R'\\nAlg F R' F' R\\nAlg F2' L F2 L'\\nAlg F2' L2' BL F2\\nAlg F2' L2' BL2 F2\\nAlg F2' L2' BL2' F2\\nAlg F' U F U'\\nAlg F' U F L\\nAlg F' U F L2\\nAlg F' U F L2'\\nAlg F' U F L'\\nAlg R U2' R' BL2\\nAlg R U2' R' BL2'\\nAlg R U2' R' BL'\\nAlg F2' L' F U' F\\nAlg F2 L2 BL L2' F2'\\nAlg F2 L2 BL2 L2' F2'\\nAlg F2 L2 BL2' L2' F2'\\nAlg F2 L2 BL' L2' F2'\\nAlg F2' U BL U' F2\\nAlg F2' U BL' U' F2\\nAlg F2' L' BL L F2\\nAlg F2' L' BL2 L F2\\nAlg F2' L' BL2' L F2\\nAlg F2' L' BL' L F2\\nAlg F' U2 L U2' F\\nAlg F' U2 L2 U2' F\\nAlg F' U2 L2' U2' F\\nAlg F' U2' BL2 U2 F\\nAlg R U L U' R'\\nAlg R U L' U' R'\\nAlg R F' L F R'\\nAlg R2 U2' L2 U2 R2'\\nAlg R2 U' BL2 U R2'\\nAlg R2 U' BL2' U R2'\\nAlg R2 U' BL' U R2'\\nAlg R2 BR BL' BR' R2'\\nAlg F2 L2 BL2' L2' F2' U2\\nAlg F2' U BL U' F2 L\\nAlg F2' U BL' U' F2 L2\\nAlg F2' U BL' U' F2 L2'\\nAlg F2' L' BL L F2 U2\\nAlg F2' L' BL L F2 U2'\\nAlg F2' L' BL' L F2 U\\nAlg F2' L' BL' L F2 U2\\nAlg F' U2 L' U BL2' U2 F\\nAlg F' U2' BL L' BL2' U2 F\\nAlg U\\nAlg U2\\nAlg U2'\\nAlg U'\\nAlg U L\\nAlg U L2\\nAlg U L2'\\nAlg U L'\\nAlg U2 BL\\nAlg U2 BL2\\nAlg U2 BL2'\\nAlg U2 BL'\\nAlg U L' BL\\nAlg U L' BL2\\nAlg U L' BL2'\\nAlg U L' BL'\\nAlg U2 BL L\\nAlg U2 BL L2\\nAlg U2 BL L2'\\nAlg U2 BL L'\\nAlg U F' L F\\nAlg U L' BL' U\\nAlg U L' BL' U2\\nAlg U2 L U2'\\nAlg U2 L2 U2'\\nAlg U2 L2' U2'\\nAlg U2 L' U2'\\nAlg U2' BL2 U2\\nAlg U2' BL2' U2\\nAlg U2' BL' U2\\nAlg U2 L2 U2' L2'\\nAlg U2 L2 U2' L'\\nAlg U2 L' U2' BL\\nAlg U2 L' U2' BL2\\nAlg U2 L' U2' BL2'\\nAlg U2 L' U2' BL'\\nAlg U2' BL L U2\\nAlg U2' BL L2 U2\\nAlg U2' BL L2' U2\\nAlg U2' BL L' U2\\nAlg U2' BL2 U2 L2\\nAlg U2' BL2 U2 L2'\\nAlg U2' BL2 U2 L'\\nAlg U2' BL2 U2 BL2'\\nAlg U2' BL2 U2 BL'\\nAlg U2' BL2 L U2\\nAlg U' BR' U BR\\nAlg U2 L' U BL2' U2\\nAlg U2 L2' U2' L2 BL2\\nAlg U2 L2' U2' L2 BL2'\\nAlg U2 L' U' BL' U'\\nAlg U2' BL2 U' L U2'\\nAlg F U F'\\nAlg F U2 F'\\nAlg F U2' F'\\nAlg F U' F'\\nAlg F U F' L\\nAlg F U F' L2\\nAlg F U F' L2'\\nAlg F U F' L'\\nAlg F U2 F' L\\nAlg F U2 F' L2\\nAlg F U2 F' L2'\\nAlg F U2 F' L'\\nAlg F U2' BL2 F'\\nAlg F U2' BL2' F'\\nAlg F U2' BL' F'\\nAlg U2 BL2 L' BL2' U2'\\nAlg U2 BL' L' BL U2'\\nAlg U2 BL2' L' BL2 U2'\\nAlg F U2 F' L' BL'\\nAlg F U F' U2' L' U2\\nAlg U2 L U2 L2' U' BL' U2\\nAlg U2' L U2\\nAlg U2' L2 U2\\nAlg U2' L2' U2\\nAlg U2' L' U2\\nAlg U' BL U\\nAlg U' BL2 U\\nAlg U' BL2' U\\nAlg U' BL' U\\nAlg BR BL BR'\\nAlg BR BL2' BR'\\nAlg BR BL' BR'\\nAlg U BR' U' BR\\nAlg U2' L U2 L'\\nAlg U' BL U L\\nAlg U' BL U L2\\nAlg U' BL U L2'\\nAlg U' BL U L'\\nAlg U' BL U BL'\\nAlg U2' L' U BL' U\\nAlg U' BL2 L BL2' U\\nAlg U' BL2 L2 BL2' U\\nAlg U' BL2 L2' BL2' U\\nAlg U' BL2 L' BL2' U\\nAlg BR U' L U BR'\\nAlg BR U' L2 U BR'\\nAlg BR U' L2' U BR'\\nAlg BR U' L' U BR'\\nAlg BR BL L BL' BR'\\nAlg BR BL L' BL' BR'\\nAlg BR2 BL2' L BL2 BR2'\\nAlg BR2 BL2' L2 BL2 BR2'\\nAlg U2' L BL2' L' BL2 U2\\nAlg U2' L2 F' L2' F U2\\nAlg U2' L' DL L DL' U2\\nAlg U2' BL2' L BL2 L' U2\\nAlg U2' BL2' L2 BL2 L2' U2\\nAlg U' BL2 L BL2' U BL\\nAlg U' BL2 L2 BL2' U L\\nAlg U' BL2 L2 BL2' U BL2'\\nAlg U' BL2 L2 BL2' U BL'\\nAlg U' BL2 L2 BL2' L2' U\\nAlg BR BL L' BL' BR' BL2'\\nAlg BR BL L' BL' BR' BL'\\nAlg U' BL U BL U' L2' BL2' U\\nAlg U' BL2 U' L2 U L' BL2' U\\nAlg L\\nAlg L2\\nAlg L2'\\nAlg L'\\nAlg L' BL\\nAlg L' BL2\\nAlg L' BL2'\\nAlg L' BL'\\nAlg U BL U'\\nAlg U BL2 U'\\nAlg U BL2' U'\\nAlg U BL' U'\\nAlg U BL U' L\\nAlg U BL U' L2\\nAlg U BL U' L2'\\nAlg U BL U' L'\\nAlg U BL U' BL'\\nAlg L2' BL L2\\nAlg L2' BL2 L2\\nAlg L2' BL2' L2\\nAlg L2' BL' L2\\nAlg L2 DL L2' DL'\\nAlg L2' BL L2 BL2'\\nAlg L2' BL L2 BL'\\nAlg F' L2 BL L2' F\\nAlg F' L2 BL2 L2' F\\nAlg F' L2 BL2' L2' F\\nAlg F' L2 BL' L2' F\\nAlg L2 DL L' DL' L'\\nAlg L2' U BL2' U' L2\\nAlg L2' BL L2' BL2' L'\\nAlg L2' BL L' BL2' L2'\\nAlg L2' DL L' DL' L2\\nAlg L' U' L' U L2\\nAlg U L' DL L DL' U'\\nAlg F' L2 BL L2' BL2' F\\nAlg L2 DL' BL DL2 L2' DL'\\nAlg L2' U BL2' U' BL L2\\nAlg L2' BL' U BL' U' L2\\nAlg L2' BL' L2 U' L' U\\nAlg U' L U\\nAlg U' L2 U\\nAlg U' L2' U\\nAlg U' L' U\\nAlg U' L2' U BL\\nAlg U' L2' U BL2\\nAlg U' L2' U BL2'\\nAlg U' L2' U BL'\\nAlg U' L' U BL\\nAlg U' L' U BL2\\nAlg U' L' U BL2'\\nAlg U' L' U BL'\\nAlg U' L' U L BL L'\\nAlg U' L' U L2 BL L2'\\nAlg U' L' U BL U' L2 U\\nAlg L2 BL L2'\\nAlg L2 BL2 L2'\\nAlg L2 BL2' L2'\\nAlg L2 BL' L2'\\nAlg L2 BL L2' BL'\\nAlg L DL L' DL'\\nAlg DL L DL' L'\\nAlg L U' L2 U L2\\nAlg L DL' BL DL L'\\nAlg L DL' BL2 DL L'\\nAlg L DL' BL' DL L'\\nAlg DL L DL' L' BL'\\nAlg L2 BL L' DL L' DL'\\nAlg FL' L BL L' FL\\nAlg FL' L BL2 L' FL\\nAlg FL' L BL2' L' FL\\nAlg FL' L BL' L' FL\\nAlg FL' DL' BL DL FL\\nAlg FL' DL' BL2 DL FL\\nAlg FL' DL' BL2' DL FL\\nAlg FL' DL' BL' DL FL\\nAlg L2 BL2' U BL2 U' L2'\\nAlg FL' L BL L' FL BL2'\\nAlg FL' L BL' L' FL BL\\nAlg U' F U BL U' F' U\\nAlg U' F U BL2 U' F' U\\nAlg U' F U BL2' U' F' U\\nAlg F' FL2' DL' BL' DL FL2 F\\nAlg L2' BL2 L2' BL' L2 BL' L2\\nAlg DL L DL2' BL' DL2 L' DL'\\nAlg DL2 FL2' DL2 BL' DL2' FL2 DL2'\\nAlg FL' L U BL2' U' BL L' FL\\nAlg FL' L2 U' L' U BL2 L' FL\\nAlg L BL L'\\nAlg L BL2 L'\\nAlg L BL2' L'\\nAlg L BL' L'\\nAlg DL' BL DL\\nAlg DL' BL2 DL\\nAlg DL' BL2' DL\\nAlg DL' BL' DL\\nAlg L BL L' BL'\\nAlg L' DL L DL'\\nAlg L BL2 L' DL' BL' DL\\nAlg L U BL2' U' BL2 L'\\nAlg L BL2' U BL2 U' L'\\nAlg DL' B' BL2 B BL2' DL\\nAlg DL' BL2 B' BL2' B DL\\nAlg U BL2' DL2' BL2 U' BL2' DL2\\nAlg B' BL2 L2 BL2' B BL2 L2'\\nAlg L U BL2' U' BL2 L' BL2'\\nAlg L U BL2' U' BL2 L' BL'\\nAlg L BL B BL' L' BL B'\\nAlg L BL2' U BL2 U' L' BL2\\nAlg L BL' U BL2 U' BL L'\\nAlg L BL' U BL2' U' BL L'\\nAlg L BL' U BL' U' BL L'\\nAlg L2 BL2 L2' BL' L2 BL' L2'\\nAlg DL' BL B' BL2' B BL' DL\\nAlg L BL2' L U2 BR' U' BR U' L2'\\nAlg L BL2' L BL L' BL L BL2' L2'\\nAlg BL\\nAlg BL2\\nAlg BL2'\\nAlg BL'\\nAlg U BR BL2 BR' BL2' U'\\nAlg B BL DL BL' DL' B'\\nAlg L' BL2' DL' BL2 DL L\\nAlg BR B BL B' BL' BR'\\nAlg U BR BL2 BR' BL2' U' BL2\\nAlg U BL BR BL' BR' U'\\nAlg U BR BL BR' BL' U'\\nAlg U' L' BL2' L BL2 U\\nAlg B' BR' BL2' BR BL2 B\\nAlg L BL2 U BL2' U' L'\\nAlg BR B BL2 B' BL2' BR'\\nAlg U BL2 U' BL' U BL' U'\\nAlg B BL DL BL DL' BL2' B'\\nAlg B BL2 DL BL' DL' BL' B'\\nAlg B' BL' B BL2' B' BL2' B\\nAlg U BL U' BL2 U BL2 U' BL2\\nAlg U BR2 B' BR2' U' BR B BR'\\nAlg BL2 BR B DL' B DL B2' BR'\\nAlg B BL2' B2' BR B BR' B BL2 B'\\nAlg U' BL' L' BL L U BL\\nAlg B' BL2 B BL B' BL2 B\\nAlg B' BL2' B BL' B' BL2' B\\nAlg B' BL' BR' BL' BR BL2 B\\nAlg B' BL2' BR' BL BR BL B\\nAlg U' BL' L' BL' L BL2 U BL'\\nAlg L' BL' L' DL L DL' BL L BL\\nAlg L U BL U' BL' L'\\nAlg L BL U BL' U' L'\\nAlg BR' U' BL' U BL BR\\nAlg L U2 BR' U' BR U' L'\\nAlg U BL U2' L U L2' BL L BL2'\\nAlg U' L2 F' L' F2 U' F' U2 L'\\nAlg U BR' U' L U BR U' L'\\nAlg U BR B BR' U' BR B' BR'\\nAlg U' L U BR' U' L' U BR\\nAlg B DL' B' BR B DL B' BR'\\nAlg L' DL' B DL L DL' B' DL\\nAlg BR B BR' U BR B' BR' U'\\nAlg BR B DL' B' BR' B DL B'\\nAlg U BR2' U2 L2 U2' BR2 U2 L2' U2\\nAlg U2' L2 U2' BR2' U2 L2' U2' BR2 U'\\nAlg U BL' B' BL U' L U2 BL' B BL U2' L'\\nAlg U BR' U' L F' L2' U BR U' L2 F L'\\nAlg U BR U' L U BR' U' L'\\nAlg U' BL2 B BL2' U BL2 B' BL2'\\nAlg L U BR U' L' U BR' U'\\nAlg L BL2' B' BL2 L' BL2' B BL2\\nAlg U BR' U2 L2 U2' BR U2 L2' U2\\nAlg L' BL2 L2' F' L2 BL2' L2' F L2'\\nAlg U BL2' U R U' BL2 U' L U2 R' U2' L'\\nAlg U BR U' L2 F L' U BR' U' L F' L2'\\nAlg U L' BL2 L' FL' L BL2' L U' L2' FL L2\\nAlg U BR2' U R' U2' L U2 R U' BR2 U' L'`)}var ph,mh,w0=U(()=>{Ye();Cn();Pn();ph=null;mh=null});var Gc={};De(Gc,{sgsDataPyraminx:()=>Tc,sgsDataPyraminxFixedOrientation:()=>S0});async function Tc(){return dh??(dh=hh())}async function S0(){return{ordering:(await Tc()).ordering.slice(2)}}async function hh(){return It(await _e.pyraminx.kpuzzle(),`SubgroupSizes 12 9 12 3 10 3 8 6 2 3 3 3 3\\n\\nAlg B\\nAlg B'\\nAlg y\\nAlg B y\\nAlg B' y\\nAlg y'\\nAlg B y'\\nAlg B' y'\\nAlg BR'\\nAlg B BR'\\nAlg B' BR'\\n\\nAlg L\\nAlg L'\\nAlg L F\\nAlg L' F\\nAlg F\\nAlg L F'\\nAlg L' F'\\nAlg F'\\n\\nAlg L B' U L' B\\nAlg L U L'\\nAlg L U' L'\\nAlg L U L' U'\\nAlg B' U B\\nAlg B' U' B\\nAlg B' U' B U\\nAlg L U' L' R\\nAlg L U' L' R'\\nAlg L' R' L\\nAlg L' R' L R\\n\\nAlg R\\nAlg R'\\n\\nAlg R' U R\\nAlg R' U' R\\nAlg R' U R U'\\nAlg B U B'\\nAlg B U' B'\\nAlg R B' R' B\\nAlg L R L' R U' R\\nAlg R L R' L'\\nAlg L' R' U R L\\n\\nAlg U\\nAlg U'\\n\\nAlg R U R' U'\\nAlg U R U' R'\\nAlg L' U' L U\\nAlg U' L' U L\\nAlg U L R' L' R U'\\nAlg U' R' L R L' U\\nAlg L' U' L U' R U' R'\\n\\nAlg R U' R' U\\nAlg L' U L U'\\nAlg U' R U R'\\nAlg U L' U' L\\nAlg L R' L' R L' U L U'\\n\\nAlg L' U L U' L R' L' R\\n\\nAlg b\\nAlg b'\\n\\nAlg l\\nAlg l'\\n\\nAlg r\\nAlg r'\\n\\nAlg u\\nAlg u'`)}var dh,v0=U(()=>{Jt();Pn();dh=null});var Kc={};De(Kc,{sgsDataSkewb:()=>Wc,sgsDataSkewbFixedCorner:()=>k0,skewbKPuzzleWithoutMOCached:()=>sa});async function yh(){let e=zn(\\\"skewb\\\",{allMoves:!0,addRotations:!0});return new ke(e.getKPuzzleDefinition(!0),{experimentalPGNotation:new Kr(e,e.getOrbitsDef(!0))})}async function sa(){return Uh??(Uh=yh())}async function Wc(){return bh??(bh=xh())}async function k0(){return{ordering:(await Wc()).ordering.slice(1)}}async function xh(){return It(await sa(),`SubgroupSizes 24 6 5 12 9 3 4 9 3 3\\n\\nAlg y\\nAlg y2\\nAlg y'\\nAlg F\\nAlg F'\\nAlg y U\\nAlg y U'\\nAlg y L\\nAlg y L'\\nAlg y F\\nAlg y F'\\nAlg y2 U\\nAlg y2 U'\\nAlg y2 B\\nAlg y2 B'\\nAlg y' U\\nAlg y' F'\\nAlg y U L'\\nAlg y U B\\nAlg y2 U B\\nAlg y2 U B'\\nAlg y2 U' B\\nAlg y2 U' B'\\n\\nAlg U\\nAlg U'\\nAlg U L\\nAlg U L'\\nAlg U' R'\\n\\nAlg R\\nAlg R'\\nAlg R B\\nAlg R' L'\\n\\nAlg U B' U\\nAlg U' L U\\nAlg U' L' U\\nAlg U' B U'\\nAlg R L R'\\nAlg R B' R\\nAlg U B L U'\\nAlg U B' U B'\\nAlg U B' L' U\\nAlg U' L B U'\\nAlg R' B L' R'\\n\\nAlg L\\nAlg L'\\nAlg L B\\nAlg L B'\\nAlg L B L\\nAlg L B L'\\nAlg L B' L\\nAlg L B' L'\\n\\nAlg B\\nAlg B'\\n\\nAlg L' B L\\nAlg L' B' L\\nAlg R' L' B L R\\n\\nAlg B L' B L B'\\nAlg B L' B' L B'\\nAlg U L U B U' L' U'\\nAlg R L R' B' R L' R'\\nAlg U B' R L R' B' U B\\nAlg U' B U L U' B' U L'\\nAlg L U' B U L' U' B' U\\nAlg R B' U R B L U' B\\n\\nAlg U L U' B' U L' U' B\\nAlg U' B L U L B' U' L'\\n\\nAlg U R' U' L B R' B' R\\nAlg R' U' R U B' U' B L`)}var Uh,bh,_0=U(()=>{Ye();Cn();Pn();Uh=null;bh=null});var ep={};De(ep,{getRandomSquare1ScrambleString:()=>$h});function kh(e,t){e.ul=t.ul,e.ur=t.ur,e.dl=t.dl,e.dr=t.dr,e.ml=t.ml}function qc(e,t){var r;t<<=2,t>24?(t=48-t,r=e.ul,e.ul=(~~e.ul>>t|e.ur<<24-t)&16777215,e.ur=(~~e.ur>>t|r<<24-t)&16777215):t>0?(r=e.ul,e.ul=(e.ul<<t|~~e.ur>>24-t)&16777215,e.ur=(e.ur<<t|~~r>>24-t)&16777215):t==0?(r=e.ur,e.ur=e.dl,e.dl=r,e.ml=1-e.ml):t>=-24?(t=-t,r=e.dl,e.dl=(e.dl<<t|~~e.dr>>24-t)&16777215,e.dr=(e.dr<<t|~~r>>24-t)&16777215):t<-24&&(t=48+t,r=e.dl,e.dl=(~~e.dl>>t|e.dr<<24-t)&16777215,e.dr=(~~e.dr>>t|r<<24-t)&16777215)}function _h(e){var t,r,n,o,l;for(n=0,e.arr[0]=Qt(e,0),o=1;o<24;++o)Qt(e,o)!=e.arr[n]&&(e.arr[++n]=Qt(e,o));for(l=0,t=0;t<16;++t)for(r=t+1;r<16;++r)e.arr[t]>e.arr[r]&&(l^=1);return l}function zh(e){var t,r,n,o;return o=e.ur&1118481,o|=~~o>>3,o|=~~o>>6,o=o&15|~~o>>12&48,n=e.ul&1118481,n|=~~n>>3,n|=~~n>>6,n=n&15|~~n>>12&48,r=e.dr&1118481,r|=~~r>>3,r|=~~r>>6,r=r&15|~~r>>12&48,t=e.dl&1118481,t|=~~t>>3,t|=~~t>>6,t=t&15|~~t>>12&48,cl(_h(e)<<24|n<<18|o<<12|t<<6|r)}function Ch(e,t){var r,n;for(r=0;r<8;++r)e.prm[r]=~~(~~Qt(e,r*3+1)>>1<<24)>>24;for(t.cornperm=Bl(e.prm),t.topEdgeFirst=Qt(e,0)==Qt(e,1),r=t.topEdgeFirst?2:0,n=0;n<4;r+=3,++n)e.prm[n]=~~(~~Qt(e,r)>>1<<24)>>24;for(t.botEdgeFirst=Qt(e,12)==Qt(e,13),r=t.botEdgeFirst?14:12;n<8;r+=3,++n)e.prm[n]=~~(~~Qt(e,r)>>1<<24)>>24;t.edgeperm=Bl(e.prm),t.ml=e.ml}function Qt(e,t){var r;return t<6?r=~~e.ul>>(5-t<<2):t<12?r=~~e.ur>>(11-t<<2):t<18?r=~~e.dl>>(17-t<<2):r=~~e.dr>>(23-t<<2),~~((r&15)<<24)>>24}function C0(e,t,r){t<6?(e.ul&=~(15<<(5-t<<2)),e.ul|=r<<(5-t<<2)):t<12?(e.ur&=~(15<<(11-t<<2)),e.ur|=r<<(11-t<<2)):t<18?(e.dl&=~(15<<(17-t<<2)),e.dl|=r<<(17-t<<2)):(e.dr&=~(15<<(23-t<<2)),e.dr|=r<<(23-t<<2))}function P0(){this.arr=[],this.prm=[]}async function Ph(){let e=await Ce();var t,r,n,o,l,i,a,s,f;for(t=new P0,n=Ro[e(3678)],l=19088743<<1|286331153,o=19088743<<1,a=i=8,r=0;r<24;r++)(n>>r&1)==0?(s=e(i)<<2,C0(t,23-r,o>>s&15),f=(1<<s)-1,o=(o&f)+(o>>4&~f),--i):(s=e(a)<<2,C0(t,23-r,l>>s&15),C0(t,22-r,l>>s&15),f=(1<<s)-1,l=(l&f)+(l>>4&~f),--a,++r);return t.ml=e(2),t}function Mh(){}function Nh(e){var t,r,n,o,l,i;for(kh(e.Search_d,e.Search_c),n=0;n<e.Search_length1;++n)qc(e.Search_d,e.Search_move[n]);for(Ch(e.Search_d,e.Search_sq),r=e.Search_sq.edgeperm,t=e.Search_sq.cornperm,l=e.Search_sq.ml,i=Math.max(ye[e.Search_sq.edgeperm<<1|l],ye[e.Search_sq.cornperm<<1|l]),n=i;n<e.Search_maxlen2;++n)if(ua(e,r,t,e.Search_sq.topEdgeFirst,e.Search_sq.botEdgeFirst,l,n,e.Search_length1,0)){for(o=0;o<n;++o)qc(e.Search_d,e.Search_move[e.Search_length1+o]);return e.Search_sol_string=Th(e,n+e.Search_length1),!0}return!1}function Th(e,t){for(var r=\\\"\\\",n=0,o=0,l=t-1;l>=0;l--){var i=e.Search_move[l];i>0?(i=12-i,n=i>6?i-12:i):i<0?(i=12+i,o=i>6?i-12:i):(n==0&&o==0?r+=\\\" / \\\":r+=\\\"(\\\"+n+\\\", \\\"+o+\\\") / \\\",n=o=0)}return(n!==0||o!==0)&&(r+=\\\"(\\\"+n+\\\", \\\"+o+\\\")\\\"),r}function fa(e,t,r,n,o,l){var i,a,s;if(r==0&&n<4)return n==0&&Nh(e);if(l!=0&&(s=ga[t],a=Ge[s],a<n&&(e.Search_move[o]=0,fa(e,s,a,n-1,o+1,0))))return!0;if(s=t,l<=0){for(i=0;i+=ml[s],s=~~i>>4,i&=15,!(i>=12||(a=Ge[s],a>n));)if(a<n&&(e.Search_move[o]=i,fa(e,s,a,n-1,o+1,1)))return!0}if(s=t,l<=1){for(i=0;i+=pl[s],s=~~i>>4,i&=15,!(i>=6||(a=Ge[s],a>n));)if(a<n&&(e.Search_move[o]=-i,fa(e,s,a,n-1,o+1,2)))return!0}return!1}function ua(e,t,r,n,o,l,i,a,s){var f,g,c,u,p,m,L;if(i==0&&!n&&o||s!=0&&n==o&&(c=Rl[t],g=Rl[r],ye[c<<1|1-l]<i&&ye[g<<1|1-l]<i&&(e.Search_move[a]=0,ua(e,c,g,n,o,1-l,i-1,a+1,0))))return!0;if(s<=0)for(L=!n,c=L?mn[t]:t,g=L?r:mn[r],u=L?1:2,p=ye[c<<1|l],m=ye[g<<1|l];u<12&&p<=i&&p<=i;){if(p<i&&m<i&&(e.Search_move[a]=u,ua(e,c,g,L,o,l,i-1,a+1,1)))return!0;L=!L,L?(c=mn[c],p=ye[c<<1|l],u+=1):(g=mn[g],m=ye[g<<1|l],u+=2)}if(s<=1)for(f=!o,c=f?cn[t]:t,g=f?r:cn[r],u=f?1:2,p=ye[c<<1|l],m=ye[g<<1|l];u<(i>3?6:12)&&p<=i&&p<=i;){if(p<i&&m<i&&(e.Search_move[a]=-u,ua(e,c,g,n,f,l,i-1,a+1,2)))return!0;f=!f,f?(c=cn[c],p=ye[c<<1|l],u+=1):(g=cn[g],m=ye[g<<1|l],u+=2)}return!1}function Gh(e,t){var r;for(e.Search_c=t,r=zh(t),e.Search_length1=Ge[r];e.Search_length1<100&&(e.Search_maxlen2=Math.min(31-e.Search_length1,17),!fa(e,r,Ge[r],e.Search_length1,0,-1));++e.Search_length1);return e.Search_sol_string}function Vc(){this.Search_move=[],this.Search_d=new P0,this.Search_sq=new Zc}function Ih(){}function Oh(){Hc||(Hc=!0,Ll=[0,3,6,12,15,24,27,30,48,51,54,60,63],Ro=[],Ge=[],ml=[],pl=[],ga=[],Qh())}function Wh(e){var t,r;t=0,r=0;do(e.bottom&2048)==0?(t+=1,e.bottom=e.bottom<<1):(t+=2,e.bottom=e.bottom<<2^12291),r=1-r;while((Ln(e.bottom&63)&1)!=0);return(Ln(e.bottom)&2)==0&&(e.Shape_parity^=r),t}function M0(e){var t;return t=$c(Ro,e.top<<12|e.bottom)<<1|e.Shape_parity,t}function N0(e,t){e.Shape_parity=t&1,e.top=Ro[~~t>>1],e.bottom=e.top&4095,e.top>>=12}function Kh(e){var t,r;t=0,r=0;do(e.top&2048)==0?(t+=1,e.top=e.top<<1):(t+=2,e.top=e.top<<2^12291),r=1-r;while((Ln(e.top&63)&1)!=0);return(Ln(e.top)&2)==0&&(e.Shape_parity^=r),t}function Yc(){}function cl(e){var t;return t=$c(Ro,e&16777215)<<1|~~e>>24,t}function Qh(){var e,t,r,n,o,l,i,a,s,f,g,c,u,p,m,L;for(e=0,i=0;i<28561;++i)l=Ll[i%13],r=Ll[~~(i/13)%13],c=Ll[~~(~~(i/13)/13)%13],g=Ll[~~(~~(~~(i/13)/13)/13)],u=g<<18|c<<12|r<<6|l,Ln(u)==16&&(Ro[e++]=u);for(f=new Yc,i=0;i<7356;++i)N0(f,i),ml[i]=Kh(f),ml[i]|=M0(f)<<4,N0(f,i),pl[i]=Wh(f),pl[i]|=M0(f)<<4,N0(f,i),L=f.top&63,p=Ln(L),m=Ln(f.bottom&4032),f.Shape_parity^=1&~~(p&m)>>1,f.top=f.top&4032|~~f.bottom>>6&63,f.bottom=f.bottom&63|L<<6,ga[i]=M0(f);for(i=0;i<7536;++i)Ge[i]=-1;for(Ge[cl(14378715)]=0,Ge[cl(31157686)]=0,Ge[cl(23967451)]=0,Ge[cl(7191990)]=0,n=4,o=0,t=-1;n!=o;)for(o=n,++t,i=0;i<7536;++i)if(Ge[i]==t){s=0,a=i;do a=ml[a],s+=a&15,a>>=4,Ge[a]==-1&&(++n,Ge[a]=t+1);while(s!=12);s=0,a=i;do a=pl[a],s+=a&15,a>>=4,Ge[a]==-1&&(++n,Ge[a]=t+1);while(s!=12);a=ga[i],Ge[a]==-1&&(++n,Ge[a]=t+1)}}function jh(){}function qh(){if(!Jc){Jc=!0,ye=[],Rl=[],mn=[],cn=[],Xc=[1,1,2,6,24,120,720,5040],pn=[];for(var e=0;e<12;++e)pn[e]=[];Vh()}}function Zc(){}function Bl(e){var t,r,n,o;for(r=0,o=1985229328,t=0;t<7;++t)n=e[t]<<2,r=(8-t)*r+(~~o>>n&7),o-=286331152<<n;return r&65535}function Vh(){var e,t,r,n,o,l,i,a,s,f,g,c,u;for(o=0;o<12;++o)for(pn[o][0]=1,pn[o][o]=1,s=1;s<o;++s)pn[o][s]=pn[o-1][s-1]+pn[o-1][s];for(c=[],o=0;o<40320;++o)T0(c,o),u=c[2],c[2]=c[4],c[4]=u,u=c[3],c[3]=c[5],c[5]=u,Rl[o]=Bl(c),T0(c,o),u=c[0],c[0]=c[1],c[1]=c[2],c[2]=c[3],c[3]=u,mn[o]=Bl(c),T0(c,o),u=c[4],c[4]=c[5],c[5]=c[6],c[6]=c[7],c[7]=u,cn[o]=Bl(c);for(o=0;o<80640;++o)ye[o]=-1;for(ye[0]=0,t=0,r=1;r<80640;){a=t>=11,n=a?-1:t,e=a?t:-1,++t;e:for(o=0;o<80640;++o)if(ye[o]==n){if(l=~~o>>1,g=o&1,i=Rl[l]<<1|1-g,ye[i]==e&&(++r,ye[a?o:i]=~~(t<<24)>>24,a))continue e;for(i=l,f=0;f<4;++f)if(i=mn[i],ye[i<<1|g]==e&&(++r,ye[a?o:i<<1|g]=~~(t<<24)>>24,a))continue e;for(f=0;f<4;++f)if(i=cn[i],ye[i<<1|g]==e&&(++r,ye[a?o:i<<1|g]=~~(t<<24)>>24,a))continue e}}}function T0(e,t){var r,n,o,l,i;for(i=1985229328,r=0;r<7;++r)o=Xc[7-r],l=~~(t/o),t-=l*o,l<<=2,e[r]=~~((~~i>>l&7)<<24)>>24,n=(1<<l)-1,i=(i&n)+(~~i>>4&~n);e[7]=~~(i<<24)>>24}function Hh(){}function Ln(e){return e-=~~e>>1&1431655765,e=(~~e>>2&858993459)+(e&858993459),e=(~~e>>4)+e&252645135,e+=~~e>>8,e+=~~e>>16,e&63}function $c(e,t){var r,n,o,l;for(n=0,r=e.length-1;n<=r;)if(o=n+(~~(r-n)>>1),l=e[o],l<t)n=o+1;else if(l>t)r=o-1;else return o;return-n-1}async function $h(){return(await Xh()).scramble_string}var ve,Hc,pl,Ro,Ge,ml,ga,Ll,Jc,cn,pn,ye,mn,Rl,Xc,G0,Yh,Jh,Zh,Xh,tp=U(()=>{xt();ve=P0.prototype=Mh.prototype;ve.dl=10062778;ve.dr=14536702;ve.ml=0;ve.ul=70195;ve.ur=4544119;ve=Vc.prototype=Ih.prototype;ve.Search_c=null;ve.Search_length1=0;ve.Search_maxlen2=0;ve.Search_sol_string=null;Hc=!1;ve=Yc.prototype=jh.prototype;ve.bottom=0;ve.Shape_parity=0;ve.top=0;Jc=!1;ve=Zc.prototype=Hh.prototype;ve.botEdgeFirst=!1;ve.cornperm=0;ve.edgeperm=0;ve.ml=0;ve.topEdgeFirst=!1;G0=!1,Yh=function(e,t,r){G0||(Oh(),qh()),r&&r(\\\"Done initializing Square-1.\\\"),G0=!0,e!=null&&e()},Jh=async function(){return G0||Yh(),Ph()},Zh=function(e){var t=new Vc;return Gh(t,e)},Xh=async function(){var e=await Jh(),t=Zh(e);return{state:e,scramble_string:t}}});var K0=Symbol(\\\"Comlink.proxy\\\"),fp=Symbol(\\\"Comlink.endpoint\\\"),up=Symbol(\\\"Comlink.releaseProxy\\\"),ma=Symbol(\\\"Comlink.thrown\\\"),Q0=e=>typeof e==\\\"object\\\"&&e!==null||typeof e==\\\"function\\\",gp={canHandle:e=>Q0(e)&&e[K0],serialize(e){let{port1:t,port2:r}=new MessageChannel;return ho(e,t),[r,[r]]},deserialize(e){return e.start(),mp(e)}},cp={canHandle:e=>Q0(e)&&ma in e,serialize({value:e}){let t;return e instanceof Error?t={isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:t={isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}},j0=new Map([[\\\"proxy\\\",gp],[\\\"throw\\\",cp]]);function ho(e,t=self){t.addEventListener(\\\"message\\\",function r(n){if(!n||!n.data)return;let{id:o,type:l,path:i}=Object.assign({path:[]},n.data),a=(n.data.argumentList||[]).map(Pr),s;try{let f=i.slice(0,-1).reduce((c,u)=>c[u],e),g=i.reduce((c,u)=>c[u],e);switch(l){case\\\"GET\\\":s=g;break;case\\\"SET\\\":f[i.slice(-1)[0]]=Pr(n.data.value),s=!0;break;case\\\"APPLY\\\":s=g.apply(f,a);break;case\\\"CONSTRUCT\\\":{let c=new g(...a);s=Rp(c)}break;case\\\"ENDPOINT\\\":{let{port1:c,port2:u}=new MessageChannel;ho(e,u),s=Bp(c,[c])}break;case\\\"RELEASE\\\":s=void 0;break;default:return}}catch(f){s={value:f,[ma]:0}}Promise.resolve(s).catch(f=>({value:f,[ma]:0})).then(f=>{let[g,c]=Ba(f);t.postMessage(Object.assign(Object.assign({},g),{id:o}),c),l===\\\"RELEASE\\\"&&(t.removeEventListener(\\\"message\\\",r),q0(t))})}),t.start&&t.start()}function pp(e){return e.constructor.name===\\\"MessagePort\\\"}function q0(e){pp(e)&&e.close()}function mp(e,t){return La(e,[],t)}function dl(e){if(e)throw new Error(\\\"Proxy has been released and is not useable\\\")}function La(e,t=[],r=function(){}){let n=!1,o=new Proxy(r,{get(l,i){if(dl(n),i===up)return()=>Bn(e,{type:\\\"RELEASE\\\",path:t.map(a=>a.toString())}).then(()=>{q0(e),n=!0});if(i===\\\"then\\\"){if(t.length===0)return{then:()=>o};let a=Bn(e,{type:\\\"GET\\\",path:t.map(s=>s.toString())}).then(Pr);return a.then.bind(a)}return La(e,[...t,i])},set(l,i,a){dl(n);let[s,f]=Ba(a);return Bn(e,{type:\\\"SET\\\",path:[...t,i].map(g=>g.toString()),value:s},f).then(Pr)},apply(l,i,a){dl(n);let s=t[t.length-1];if(s===fp)return Bn(e,{type:\\\"ENDPOINT\\\"}).then(Pr);if(s===\\\"bind\\\")return La(e,t.slice(0,-1));let[f,g]=V0(a);return Bn(e,{type:\\\"APPLY\\\",path:t.map(c=>c.toString()),argumentList:f},g).then(Pr)},construct(l,i){dl(n);let[a,s]=V0(i);return Bn(e,{type:\\\"CONSTRUCT\\\",path:t.map(f=>f.toString()),argumentList:a},s).then(Pr)}});return o}function Lp(e){return Array.prototype.concat.apply([],e)}function V0(e){let t=e.map(Ba);return[t.map(r=>r[0]),Lp(t.map(r=>r[1]))]}var H0=new WeakMap;function Bp(e,t){return H0.set(e,t),e}function Rp(e){return Object.assign(e,{[K0]:!0})}function Ba(e){for(let[t,r]of j0)if(r.canHandle(e)){let[n,o]=r.serialize(e);return[{type:\\\"HANDLER\\\",name:t,value:n},o]}return[{type:\\\"RAW\\\",value:e},H0.get(e)||[]]}function Pr(e){switch(e.type){case\\\"HANDLER\\\":return j0.get(e.name).deserialize(e.value);case\\\"RAW\\\":return e.value}}function Bn(e,t,r){return new Promise(n=>{let o=dp();e.addEventListener(\\\"message\\\",function l(i){!i.data||!i.data.id||i.data.id!==o||(e.removeEventListener(\\\"message\\\",l),n(i.data))}),e.start&&e.start(),e.postMessage(Object.assign({id:o},t),r)})}function dp(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join(\\\"-\\\")}function hp(e){let t=new WeakMap;return{postMessage:e.postMessage.bind(e),addEventListener:(r,n)=>{let o=l=>{\\\"handleEvent\\\"in n?n.handleEvent({data:l}):n({data:l})};e.on(\\\"message\\\",o),t.set(n,o)},removeEventListener:(r,n)=>{let o=t.get(n);!o||(e.off(\\\"message\\\",o),t.delete(n))},nodeWorker:e}}var Y0=hp;var Dp=typeof globalThis.Worker==\\\"undefined\\\"&&typeof globalThis.WorkerNavigator==\\\"undefined\\\",Fp=\\\"w-orker-_threa-ds\\\",Ap=()=>Fp.replace(/-/g,\\\"\\\");async function yp(){let{parentPort:e}=await import(Ap()).catch();return Y0(e)}function J0(e){Dp?(async()=>{ho(e,await yp())})():ho(e)}Ye();Jt();bt();Ye();Jt();xt();bt();Re();Re();var ts=class extends yn{constructor(t){super();this.metric=t}traverseAlg(t){let r=0;for(let n of t.units())r+=this.traverseUnit(n);return r}traverseGrouping(t){let r=t.alg;return this.traverseAlg(r)*Math.abs(t.amount)}traverseMove(t){return this.metric(t)}traverseCommutator(t){return 2*(this.traverseAlg(t.A)+this.traverseAlg(t.B))}traverseConjugate(t){return 2*this.traverseAlg(t.A)+this.traverseAlg(t.B)}traversePause(t){return 0}traverseNewline(t){return 0}traverseLineComment(t){return 0}};function au(e){return\\\"A\\\"<=e&&e<=\\\"Z\\\"}function wm(e){let t=e.family;return au(t[0])&&t[t.length-1]===\\\"v\\\"||t===\\\"x\\\"||t===\\\"y\\\"||t===\\\"z\\\"||t===\\\"T\\\"?0:1}function Sm(e){let t=e.family;return au(t[0])&&t[t.length-1]===\\\"v\\\"||t===\\\"x\\\"||t===\\\"y\\\"||t===\\\"z\\\"||t===\\\"T\\\"?0:Math.abs(e.amount)}var su=new ts(wm),rs=su.traverseAlg.bind(su),fu=new ts(Sm),vm=fu.traverseAlg.bind(fu);Re();var uu=class extends yn{traverseAlg(t){let r=0;for(let n of t.units())r+=this.traverseUnit(n);return r}traverseGrouping(t){return this.traverseAlg(t.alg)*Math.abs(t.amount)}traverseMove(t){return 1}traverseCommutator(t){return 2*(this.traverseAlg(t.A)+this.traverseAlg(t.B))}traverseConjugate(t){return 2*this.traverseAlg(t.A)+this.traverseAlg(t.B)}traversePause(t){return 1}traverseNewline(t){return 0}traverseLineComment(t){return 0}},gu=new uu,Em=gu.traverseAlg.bind(gu);xt();var km=2,_m=!0,zm=!1;function Cm(e,t){let r=[];return t.forEach(function(n){let o=new B(n);if(o.amount!==1)throw new Error(\\\"SGS cannot handle def moves with an amount other than 1 yet.\\\");let l=e.identityTransformation();for(let i=1;l=l.applyMove(o),!l.isIdentityTransformation();i++)r.push({move:o.modified({amount:i}),transformation:l})}),r}var Gt=class{constructor(t,r,n){this.kpuzzle=t;this.sgs=r;this.searchMoves=Cm(this.kpuzzle,n??Object.keys(this.kpuzzle.definition.moves))}async solve(t,r=km,n){let o=t.experimentalToTransformation();if(!o)throw new Error(\\\"distinguishable pieces are not supported in tremble solver yt\\\");let l=null,i=1e6,a=(s,f,g)=>{if(f===0){let c=this.sgsPhaseSolve(s,i);if(!c)return;let u=g.concat(c).simplify({collapseMoves:!0,quantumMoveOrder:n}),p=rs(u);(l===null||p<i)&&(zm&&(console.log(`New best (${p} moves): ${u.toString()}`),console.log(`Tremble moves are: ${g.toString()}`)),l=u,i=p);return}for(let c of this.searchMoves)a(s.applyTransformation(c.transformation),f-1,g.concat([c.move]))};for(let s=0;s<=r;s++)a(o,s,new _);if(l===null)throw new Error(\\\"SGS search failed.\\\");return l}sgsPhaseSolve(t,r){let n=new mt,o=t;for(let l of this.sgs.ordering){let i=l.pieceOrdering,a=\\\"\\\",s=o.invert();for(let g=0;g<i.length;g++){let c=i[g],u=c.orbitName,p=c.permutationIdx;a+=` ${s.transformationData[u].permutation[p]} ${s.transformationData[u].orientation[p]}`}let f=l.lookup[a];if(!f)throw new Error(\\\"Missing algorithm in sgs or esgs?\\\");if(n.experimentalPushAlg(f.alg),n.experimentalNumUnits()>=r)return null;if(o=o.applyTransformation(f.transformation),_m)for(let g=0;g<i.length;g++){let c=i[g],u=c.orbitName,p=c.permutationIdx;if(o.transformationData[u].permutation[p]!==p||o.transformationData[u].orientation[p]!==0)throw new Error(\\\"bad SGS :-(\\\")}}return n.toAlg()}};async function ei(e,t){let r=await Zt(),n=e.identityTransformation();for(let o of t.ordering){let l=r(Object.values(o.lookup));n=n.applyTransformation(l.transformation)}return n.toKState()}var Nm=3,Lu=null;async function Bu(){return Lu||(Lu=(async()=>{let e=await(await Promise.resolve().then(()=>(mu(),pu))).cachedData222();return new Gt(await _e[\\\"2x2x2\\\"].kpuzzle(),e,\\\"URFLBD\\\".split(\\\"\\\"))})())}async function Ru(){await Bu()}async function ns(e){return ze(),await(await Bu()).solve(e,Nm,()=>4)}async function Tm(e,t,r,n){let o=await Ce();await iu(r.stateData[t].pieces);let l=e.definition.orbits[t],i=r.stateData[t].orientation,a=0;for(let s=0;s<l.numPieces;s++){let f=o(l.numOrientations);i[s]=f,a+=f}n&&\\\"orientationSum\\\"in n&&(i[0]=((i[0]+n.orientationSum-a)%l.numOrientations+l.numOrientations)%l.numOrientations)}async function Gm(){let e=await _e[\\\"2x2x2\\\"].kpuzzle(),t=new Le(e,JSON.parse(JSON.stringify(e.startState().stateData)));return await Tm(e,\\\"CORNERS\\\",t,{orientationSum:0}),t}async function du(){return await ns(await Gm())}Ss();ti();var eR=[[null,\\\"x\\\",\\\"x2\\\",\\\"x'\\\",\\\"z\\\",\\\"z'\\\"],[null,\\\"y\\\",\\\"y2\\\",\\\"y'\\\"]],tR=null;function Ag(){return tR??(tR=Promise.resolve().then(()=>(Fg(),Dg)))}async function yg(){return(await Ag()).initialize()}async function e0(){return(await Ag()).random444Scramble()}async function Ug(){return Mn(await e0(),eR)}ti();Re();xt();function rR(e){switch(e){case 5:return 60;case 6:return 80;default:return 100}}var nR=[[\\\"U\\\",\\\"D\\\"],[\\\"L\\\",\\\"R\\\"],[\\\"F\\\",\\\"B\\\"]],bg=new Map;function oR(e){let t=bg.get(e);if(t)return t;let r=[];for(let n of nR){let o=[];r.push(o);for(let l of n){o.push(new P(l)),e>3&&o.push(new P(`${l}w`));for(let i=3;i<=e/2;i++)o.push(new P(`${l}w`,i))}}return bg.set(e,r),r}async function or(e){let t=await Ce(),r=await Zt(),n=r,o=oR(e),l=rR(e),i=new mt,a=0,s=new Set;for(;i.experimentalNumUnits()<l;){let f=t(3);f!==a&&s.clear(),a=f;let g=r(o[a]),c=g.toString();s.has(c)||(s.add(c),i.push(new B(g,n([1,2,-1]))))}return i.toAlg()}var lR=[[null,\\\"3Rw\\\",\\\"3Rw2\\\",\\\"3Rw'\\\",\\\"3Fw\\\",\\\"3Fw'\\\"],[null,\\\"3Dw\\\",\\\"3Dw2\\\",\\\"3Dw'\\\"]];async function xg(){return Mn(await or(5),lR)}Re();Jt();bt();async function ac(){ze();let{randomFTOScrambleString:e}=await Promise.resolve().then(()=>(ic(),lc));return new _(await e())}bt();async function hc(){ze();let{getRandomKilominxScramble:e}=await Promise.resolve().then(()=>(dc(),Rc));return await e()}Re();bt();async function zc(){let{randomMasterTetraminxScrambleString:e}=await Promise.resolve().then(()=>(_c(),kc));return ze(),new _(await e())}Ye();bt();w0();var Bh=2,Mc=null;async function Rh(){return Mc||(Mc=(async()=>{let t=await(await Promise.resolve().then(()=>(w0(),Pc))).cachedSGSDataMegaminx();return new Gt(await gl(),t,[\\\"U\\\",\\\"R\\\",\\\"F\\\",\\\"L\\\",\\\"BR\\\",\\\"BL\\\",\\\"FR\\\",\\\"FL\\\",\\\"DR\\\",\\\"DL\\\",\\\"B\\\",\\\"D\\\"])})())}async function Nc(e){ze();let t=await Rh(),r=JSON.parse(JSON.stringify(e.stateData));r.CENTERS.orientation=new Array(12).fill(0);let n=new Le(await gl(),r);return await t.solve(n,Bh,()=>5)}Jt();bt();v0();var Dh=3,Ic=null;async function Fh(){return Ic||(Ic=(async()=>{let t=await(await Promise.resolve().then(()=>(v0(),Gc))).sgsDataPyraminx();return new Gt(await _e.pyraminx.kpuzzle(),t,\\\"RLUB\\\".split(\\\"\\\"))})())}async function E0(e){return ze(),await(await Fh()).solve(e,Dh,()=>3)}async function Ah(){return ze(),ei(await _e.pyraminx.kpuzzle(),await S0())}async function Oc(){return E0(await Ah())}Ye();bt();_0();var wh=3,Qc=null;async function Sh(){return Qc||(Qc=(async()=>{let e=await Promise.resolve().then(()=>(_0(),Kc)),t=await e.sgsDataSkewb();return new Gt(await e.skewbKPuzzleWithoutMOCached(),t,\\\"RLUB\\\".split(\\\"\\\"))})())}function vh(e){return new Le(e.kpuzzle,{CORNERS:e.stateData.CORNERS,CENTERS:{pieces:e.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}})}async function z0(e){return ze(),await(await Sh()).solve(vh(e),wh,n=>n.family===\\\"y\\\"?4:3)}async function Eh(){return ei(await sa(),await k0())}async function jc(){return z0(await Eh())}Re();var eD=null;function tD(){return eD??(eD=Promise.resolve().then(()=>(tp(),ep)))}async function rp(){return _.fromString(await(await tD()).getRandomSquare1ScrambleString())}tu(!0);var np=!0;function rD(e){np=e}function op(){return(typeof performance==\\\"undefined\\\"?Date:performance).now()}async function Pe(e,t){if(!np)return t();let r=op(),n=t();n?.then&&await n;let o=op();return console.warn(`${e}: ${Math.round(o-r)}ms`),n}var I0={initialize:async e=>{switch(e){case\\\"222\\\":return Pe(\\\"preInitialize222\\\",Ru);case\\\"333\\\":case\\\"333oh\\\":case\\\"333ft\\\":return Pe(\\\"initialize333\\\",s1);case\\\"444\\\":return Pe(\\\"initialize444\\\",yg);default:throw new Error(`unsupported event: ${e}`)}},randomScrambleForEvent:async e=>{switch(e){case\\\"222\\\":return Pe(\\\"random222Scramble\\\",du);case\\\"333\\\":case\\\"333oh\\\":case\\\"333ft\\\":return Pe(\\\"random333Scramble\\\",Hn);case\\\"333fm\\\":return Pe(\\\"random333FewestMovesScramble\\\",g1);case\\\"333bf\\\":case\\\"333mb\\\":return Pe(\\\"random333OrientedScramble\\\",f1);case\\\"444\\\":return Pe(\\\"random444Scramble\\\",e0);case\\\"444bf\\\":return Pe(\\\"random444OrientedScramble\\\",Ug);case\\\"555\\\":return Pe(\\\"bigCubeScramble(5)\\\",or.bind(or,5));case\\\"555bf\\\":return Pe(\\\"oriented555RandomMoves\\\",xg);case\\\"666\\\":return Pe(\\\"bigCubeScramble(6)\\\",or.bind(or,6));case\\\"777\\\":return Pe(\\\"bigCubeScramble(7)\\\",or.bind(or,7));case\\\"skewb\\\":return Pe(\\\"randomSkewbFixedCornerScramble\\\",jc);case\\\"pyram\\\":return Pe(\\\"randomPyraminxScrambleFixedOrientation\\\",Oc);case\\\"sq1\\\":return Pe(\\\"getRandomSquare1Scramble\\\",rp);case\\\"fto\\\":return Pe(\\\"randomFTOScramble\\\",ac);case\\\"master_tetraminx\\\":return Pe(\\\"randomMasterTetraminxScramble\\\",zc);case\\\"kilominx\\\":return Pe(\\\"randomKilominxScramble\\\",hc);default:throw new Error(`unsupported event: ${e}`)}},randomScrambleStringForEvent:async e=>(await I0.randomScrambleForEvent(e)).toString(),solve333ToString:async e=>{let t=new Le(await _e[\\\"3x3x3\\\"].kpuzzle(),e);return(await ws(t)).toString()},solve222ToString:async e=>{let t=new Le(await _e[\\\"2x2x2\\\"].kpuzzle(),e);return(await ns(t)).toString()},solveSkewbToString:async e=>{let t=new Le(await _e.skewb.kpuzzle(),e);return(await z0(t)).toString()},solvePyraminxToString:async e=>{let t=new Le(await _e.pyraminx.kpuzzle(),e);return(await E0(t)).toString()},solveMegaminxToString:async e=>{let t=new Le(await _e.megaminx.kpuzzle(),e);return(await Nc(t)).toString()},setDebugMeasurePerf:async e=>{rD(e)}};J0(I0);\\n\";"],
5
+ "mappings": ";;;AAAO,IAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }