cubing 0.21.1 → 0.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -7
- package/{src/cubing/kpuzzle → dist}/.DS_Store +0 -0
- package/dist/bin/order.js +16675 -0
- package/dist/bin/order.js.map +7 -0
- package/dist/bin/puzzle-geometry-bin.js +13 -9
- package/dist/bin/puzzle-geometry-bin.js.map +2 -2
- package/dist/bundle-global/cubing.bundle-global.js +555 -298
- package/dist/esm/3d-M7GBIT3X.js +21 -0
- package/dist/esm/3d-M7GBIT3X.js.map +7 -0
- package/dist/esm/alg/index.js +1 -1
- package/dist/esm/bluetooth/index.js +10 -8
- package/dist/esm/bluetooth/index.js.map +3 -3
- package/dist/esm/{chunk-RE7MIN5R.js → chunk-4IUYLRHT.js} +2 -2
- package/dist/esm/{chunk-RE7MIN5R.js.map → chunk-4IUYLRHT.js.map} +0 -0
- package/dist/esm/{chunk-CSVAFZSB.js → chunk-6BZSKSG7.js} +724 -735
- package/dist/esm/chunk-6BZSKSG7.js.map +7 -0
- package/dist/esm/{chunk-BU5PUJK3.js → chunk-EWRBHQFX.js} +1 -1
- package/dist/esm/{chunk-BU5PUJK3.js.map → chunk-EWRBHQFX.js.map} +1 -1
- package/dist/esm/{chunk-APIIMJG6.js → chunk-GF76PWEV.js} +450 -1052
- package/dist/esm/chunk-GF76PWEV.js.map +7 -0
- package/dist/esm/{chunk-MUQMBH2S.js → chunk-R3HRHYIW.js} +16 -4
- package/dist/esm/chunk-R3HRHYIW.js.map +7 -0
- package/dist/esm/{chunk-YV3RT5PX.js → chunk-X6JHXPDX.js} +2 -2
- package/dist/esm/{chunk-YV3RT5PX.js.map → chunk-X6JHXPDX.js.map} +0 -0
- package/dist/esm/esm-test-worker.js +2 -2
- package/dist/esm/esm-test-worker.js.map +2 -2
- package/dist/esm/kpuzzle/index.js +2 -2
- package/dist/esm/{node-WEHVBEKP.js → node-HFBX5WHK.js} +2 -2
- package/dist/esm/{node-WEHVBEKP.js.map → node-HFBX5WHK.js.map} +1 -1
- package/dist/esm/{node-BSAQKO3G.js → node-SP4L2AKI.js} +2 -2
- package/dist/esm/{node-BSAQKO3G.js.map → node-SP4L2AKI.js.map} +1 -1
- package/dist/esm/notation/index.js +2 -2
- package/dist/esm/protocol/index.js +2 -2
- package/dist/esm/puzzle-geometry/index.js +14 -10
- package/dist/esm/puzzle-geometry/index.js.map +2 -2
- package/dist/esm/puzzles/index.js +3 -3
- package/dist/esm/scramble/index.js +4 -4
- package/dist/esm/search/index.js +4 -4
- package/dist/esm/stream/index.js +1 -1
- package/dist/esm/twisty/index.js +729 -2346
- package/dist/esm/twisty/index.js.map +3 -3
- package/dist/esm/worker-inside-generated-string-RQYYANYQ.js +3107 -0
- package/dist/esm/worker-inside-generated-string-RQYYANYQ.js.map +7 -0
- package/dist/types/alg/index.d.ts +1 -0
- package/dist/types/alg/index.d.ts.map +1 -1
- package/dist/types/alg/units/leaves/Move.d.ts +1 -1
- package/dist/types/alg/units/leaves/Move.d.ts.map +1 -1
- package/dist/types/bluetooth/smart-puzzle/gan.d.ts.map +1 -1
- package/dist/types/cubing.bundle-global.d.ts +1 -24
- package/dist/types/cubing.bundle-global.d.ts.map +1 -1
- package/dist/types/cubing.bundle-global.exports.d.ts +25 -0
- package/dist/types/cubing.bundle-global.exports.d.ts.map +1 -0
- package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts +3 -0
- package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts +7 -3
- package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/index.d.ts +1 -1
- package/dist/types/puzzle-geometry/index.d.ts.map +1 -1
- package/dist/types/puzzles/index.d.ts +1 -1
- package/dist/types/puzzles/index.d.ts.map +1 -1
- package/dist/types/puzzles/stickerings/cube-stickerings.d.ts.map +1 -1
- package/dist/types/search/inside/api.d.ts.map +1 -1
- package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts +1 -1
- package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts.map +1 -1
- package/dist/types/search/inside/solve/puzzles/fto.d.ts +6 -0
- package/dist/types/search/inside/solve/puzzles/fto.d.ts.map +1 -0
- package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts +5 -0
- package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts.map +1 -0
- package/dist/types/search/inside/solve/tremble.d.ts.map +1 -1
- package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
- package/dist/types/search/worker-inside-generated-string.d.ts.map +1 -1
- package/dist/types/twisty/{old/animation/cursor/CursorTypes.d.ts → controllers/AnimationTypes.d.ts} +10 -3
- package/dist/types/twisty/controllers/AnimationTypes.d.ts.map +1 -0
- package/dist/types/twisty/{old/animation → controllers}/RenderScheduler.d.ts +0 -0
- package/dist/types/twisty/controllers/RenderScheduler.d.ts.map +1 -0
- package/dist/types/twisty/controllers/TwistyAnimationController.d.ts +1 -1
- package/dist/types/twisty/controllers/TwistyAnimationController.d.ts.map +1 -1
- package/dist/types/twisty/{old/animation → controllers}/easing.d.ts +0 -0
- package/dist/types/twisty/controllers/easing.d.ts.map +1 -0
- package/dist/types/twisty/{old/animation → controllers}/indexer/AlgDuration.d.ts +2 -2
- package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts.map +1 -0
- package/dist/types/twisty/{old/animation → controllers}/indexer/AlgIndexer.d.ts +3 -3
- package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts.map +1 -0
- package/dist/types/twisty/{old/animation → controllers}/indexer/SimpleAlgIndexer.d.ts +3 -3
- package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts.map +1 -0
- package/dist/types/twisty/{old/animation → controllers}/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts +3 -3
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +1 -0
- package/dist/types/twisty/{old/animation → controllers}/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts +3 -3
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts.map +1 -0
- package/dist/types/twisty/{old/animation → controllers}/indexer/simultaneous-moves/simul-moves.d.ts +2 -2
- package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts.map +1 -0
- package/dist/types/twisty/{old/animation → controllers}/indexer/tree/AlgWalker.d.ts +2 -2
- package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts.map +1 -0
- package/dist/types/twisty/{old/animation → controllers}/indexer/tree/TreeAlgIndexer.d.ts +3 -3
- package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts.map +1 -0
- package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts +3 -0
- package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts.map +1 -0
- package/dist/types/twisty/{old/animation → controllers}/stream/timeline-move-calculation-draft.d.ts +2 -2
- package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts.map +1 -0
- package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts +1 -2
- package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts.map +1 -1
- package/dist/types/twisty/index.d.ts +9 -12
- package/dist/types/twisty/index.d.ts.map +1 -1
- package/dist/types/twisty/model/TwistyPlayerModel.d.ts +11 -0
- package/dist/types/twisty/model/TwistyPlayerModel.d.ts.map +1 -1
- package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts +1 -1
- package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts +6 -0
- package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts +5 -1
- package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts +46 -1
- package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts +2 -2
- package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts +1 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts +1 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts +1 -1
- package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts +5 -2
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts +2 -2
- package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts +2 -2
- package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts +11 -0
- package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts +10 -0
- package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts +5 -1
- package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts +1 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +19 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts +1 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts +2 -3
- package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts +1 -1
- package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts +1 -1
- package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts +6 -1
- package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts +5 -1
- package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts +5 -1
- package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts +18 -5
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts +6 -6
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts +2 -2
- package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts +5 -1
- package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts +7 -1
- package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts.map +1 -1
- package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts +1 -1
- package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts.map +1 -1
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts +3 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts.map +1 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts +4 -6
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts.map +1 -1
- package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts +1 -1
- package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts.map +1 -1
- package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts +2 -2
- package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts.map +1 -1
- package/dist/types/twisty/views/3D/DragTracker.d.ts +28 -0
- package/dist/types/twisty/views/3D/DragTracker.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/RendererPool.d.ts.map +1 -1
- package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts +6 -1
- package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts.map +1 -1
- package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +9 -4
- package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts.map +1 -1
- package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts +3 -0
- package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts +12 -8
- package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts.map +1 -1
- package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts +24 -0
- package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts +5 -0
- package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts +4 -4
- package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts.map +1 -1
- package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +17 -10
- package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts.map +1 -1
- package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts +1 -1
- package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts.map +1 -1
- package/dist/types/twisty/{old/dom/element → views}/ClassListManager.d.ts +0 -0
- package/dist/types/twisty/views/ClassListManager.d.ts.map +1 -0
- package/dist/types/twisty/{old/dom/element → views}/ManagedCustomElement.d.ts +0 -0
- package/dist/types/twisty/views/ManagedCustomElement.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts +1 -1
- package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts.map +1 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts +1 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts.map +1 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts +2 -1
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts.map +1 -1
- package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts +1 -1
- package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts.map +1 -1
- package/dist/types/twisty/views/TwistyAlgViewer.d.ts +2 -2
- package/dist/types/twisty/views/TwistyAlgViewer.d.ts.map +1 -1
- package/dist/types/twisty/views/TwistyPlayer.css.d.ts +3 -0
- package/dist/types/twisty/views/TwistyPlayer.css.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyPlayer.d.ts +7 -3
- package/dist/types/twisty/views/TwistyPlayer.d.ts.map +1 -1
- package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +7 -4
- package/dist/types/twisty/views/TwistyPlayerSettable.d.ts.map +1 -1
- package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts +3 -0
- package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts.map +1 -0
- package/dist/types/twisty/{old/dom/viewers → views}/canvas.d.ts +0 -0
- package/dist/types/twisty/views/canvas.d.ts.map +1 -0
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts +4 -0
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts.map +1 -0
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts +1 -1
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts.map +1 -1
- package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts +3 -0
- package/dist/types/twisty/{old/dom/controls → views/control-panel}/TwistyScrubber.css.d.ts.map +1 -1
- package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts +1 -1
- package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts.map +1 -1
- package/dist/types/twisty/{old/dom/element → views}/node-custom-element-shims.d.ts +0 -0
- package/dist/types/twisty/views/node-custom-element-shims.d.ts.map +1 -0
- package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts +3 -0
- package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts.map +1 -0
- package/dist/types/twisty/{old/dom → views}/stream/TwistyStreamSource.d.ts +1 -1
- package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts.map +1 -0
- package/dist/types/{search/vendor → vendor}/comlink-everywhere/inside/index.d.ts +0 -0
- package/dist/types/vendor/comlink-everywhere/inside/index.d.ts.map +1 -0
- package/dist/types/{search/vendor → vendor}/comlink-everywhere/inside/node.d.ts +0 -0
- package/dist/types/vendor/comlink-everywhere/inside/node.d.ts.map +1 -0
- package/dist/types/{search/vendor → vendor}/comlink-everywhere/outside/index.d.ts +0 -0
- package/dist/types/vendor/comlink-everywhere/outside/index.d.ts.map +1 -0
- package/dist/types/{search/vendor → vendor}/comlink-everywhere/outside/node.d.ts +0 -0
- package/dist/types/vendor/comlink-everywhere/outside/node.d.ts.map +1 -0
- package/dist/types/{search/inside/solve/vendor → vendor}/cstimer/src/js/lib/mathlib.d.ts +0 -0
- package/dist/types/vendor/cstimer/src/js/lib/mathlib.d.ts.map +1 -0
- package/dist/types/{search/inside/solve/vendor → vendor}/cstimer/src/js/scramble/scramble_444.d.ts +1 -1
- package/dist/types/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +1 -0
- package/dist/types/{search/inside/solve/vendor → vendor}/min2phase/gwt.d.ts +0 -0
- package/dist/types/vendor/min2phase/gwt.d.ts.map +1 -0
- package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/get-random-values.d.ts +0 -0
- package/dist/types/vendor/random-uint-below/get-random-values.d.ts.map +1 -0
- package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/index.d.ts +1 -1
- package/dist/types/vendor/random-uint-below/index.d.ts.map +1 -0
- package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/random-choice.d.ts +0 -0
- package/dist/types/vendor/random-uint-below/random-choice.d.ts.map +1 -0
- package/dist/types/{search/inside/solve/vendor/random-uint-below/random-int.d.ts → vendor/random-uint-below/random53BitValue.d.ts} +1 -1
- package/dist/types/vendor/random-uint-below/random53BitValue.d.ts.map +1 -0
- package/dist/types/{search/inside/solve/vendor → vendor}/sq12phase/scramble_sq1.d.ts +0 -0
- package/dist/types/vendor/sq12phase/scramble_sq1.d.ts.map +1 -0
- package/dist/types/{bluetooth/smart-puzzle → vendor/unsafe-raw-aes}/unsafe-raw-aes.d.ts +0 -0
- package/dist/types/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts.map +1 -0
- package/docs/.DS_Store +0 -0
- package/docs/cubing/.DS_Store +0 -0
- package/docs/cubing/api/index.html +11 -52
- package/docs/cubing/index.html +67 -27
- package/docs/main.css +7 -6
- package/package.json +8 -9
- package/src/cubing/.DS_Store +0 -0
- package/src/cubing/alg/index.ts +1 -0
- package/src/cubing/alg/units/leaves/Move.ts +1 -1
- package/src/cubing/bluetooth/smart-puzzle/gan.ts +4 -1
- package/src/cubing/bluetooth/smart-timer/GanTimer.ts +1 -1
- package/src/cubing/cubing.bundle-global.exports.ts +25 -0
- package/src/cubing/cubing.bundle-global.ts +3 -27
- package/src/cubing/puzzle-geometry/PGPuzzles.spec.ts +4 -0
- package/src/cubing/puzzle-geometry/PuzzleGeometry.ts +20 -8
- package/src/cubing/puzzle-geometry/index.ts +2 -2
- package/src/cubing/puzzles/.DS_Store +0 -0
- package/src/cubing/puzzles/implementations/.DS_Store +0 -0
- package/src/cubing/puzzles/index.ts +1 -1
- package/src/cubing/puzzles/stickerings/cube-stickerings.ts +18 -0
- package/src/cubing/puzzles/stickerings/global-custom-stickering-hack.ts +1 -1
- package/src/cubing/search/.DS_Store +0 -0
- package/src/cubing/search/esm-test-worker.js +1 -1
- package/src/cubing/search/inside/.DS_Store +0 -0
- package/src/cubing/search/inside/api.ts +3 -0
- package/src/cubing/search/inside/entry.js +1 -1
- package/src/cubing/search/inside/inside-worker.ts +1 -1
- package/src/cubing/search/inside/solve/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/addOrientationSuffix.ts +1 -1
- package/src/cubing/{alg → search/inside/solve/puzzles}/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/puzzles/2x2x2.ts +1 -1
- package/src/cubing/search/inside/solve/puzzles/3x3x3/index.ts +2 -2
- package/src/cubing/search/inside/solve/puzzles/4x4x4.ts +2 -2
- package/src/cubing/search/inside/solve/puzzles/big-cubes.ts +1 -1
- package/src/cubing/search/inside/solve/puzzles/clock.ts +1 -1
- package/src/cubing/search/inside/solve/puzzles/{FTO.sgs → fto.sgs.json.ts} +116 -80
- package/src/cubing/search/inside/solve/puzzles/fto.ts +58 -0
- package/src/cubing/search/inside/solve/puzzles/sq1.ts +1 -1
- package/src/cubing/search/inside/solve/puzzles/wca-minx.ts +1 -1
- package/src/cubing/search/inside/solve/tremble.ts +2 -1
- package/src/cubing/search/inside/solve/vendor/.DS_Store +0 -0
- package/src/cubing/search/instantiator.ts +1 -1
- package/src/cubing/search/worker-inside-generated-string.js +1 -1
- package/src/cubing/twisty/.DS_Store +0 -0
- package/src/cubing/{alg/units → twisty/controllers}/.DS_Store +0 -0
- package/src/cubing/twisty/{old/animation/cursor/CursorTypes.ts → controllers/AnimationTypes.ts} +11 -2
- package/src/cubing/twisty/{old/animation → controllers}/RenderScheduler.ts +0 -0
- package/src/cubing/twisty/controllers/TwistyAnimationController.ts +4 -4
- package/src/cubing/twisty/controllers/animation/.DS_Store +0 -0
- package/src/cubing/twisty/{old/animation → controllers}/easing.ts +0 -0
- package/src/cubing/{stream → twisty/controllers/indexer}/.DS_Store +0 -0
- package/src/cubing/twisty/{old/animation → controllers}/indexer/AlgDuration.ts +2 -2
- package/src/cubing/twisty/{old/animation → controllers}/indexer/AlgIndexer.ts +4 -4
- package/src/cubing/twisty/{old/animation → controllers}/indexer/SimpleAlgIndexer.ts +4 -4
- package/src/cubing/twisty/{old/animation → controllers}/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts +3 -3
- package/src/cubing/twisty/{old/animation → controllers}/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.ts +3 -3
- package/src/cubing/twisty/{old/animation → controllers}/indexer/simultaneous-moves/simul-moves.ts +2 -2
- package/src/cubing/twisty/{old/animation → controllers}/indexer/tree/AlgWalker.ts +4 -4
- package/src/cubing/twisty/{old/animation → controllers}/indexer/tree/TreeAlgIndexer.ts +3 -3
- package/src/cubing/twisty/{old/animation → controllers}/indexer/tree/chunkAlgs.ts +2 -2
- package/src/cubing/twisty/{old/animation → controllers}/stream/timeline-move-calculation-draft.spec.ts.TODO +0 -0
- package/src/cubing/twisty/{old/animation → controllers}/stream/timeline-move-calculation-draft.ts +2 -2
- package/src/cubing/twisty/heavy-code-imports/.DS_Store +0 -0
- package/src/cubing/twisty/heavy-code-imports/dynamic-entries/3d.ts +2 -12
- package/src/cubing/twisty/index.ts +12 -19
- package/src/cubing/twisty/model/.DS_Store +0 -0
- package/src/cubing/twisty/model/TwistyPlayerModel.ts +38 -7
- package/src/cubing/twisty/model/props/.DS_Store +0 -0
- package/src/cubing/twisty/model/props/TwistyPropDebugger.ts +3 -3
- package/src/cubing/twisty/model/props/puzzle/.DS_Store +0 -0
- package/src/cubing/twisty/model/props/puzzle/display/FoundationDisplayProp.ts +9 -0
- package/src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.ts +6 -1
- package/src/cubing/twisty/model/props/puzzle/display/StickeringProp.ts +49 -1
- package/src/cubing/twisty/model/props/puzzle/state/AlgTransformationProp.ts +1 -1
- package/src/cubing/twisty/model/props/puzzle/state/AnchoredStartProp.ts +2 -2
- package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesProp.ts +2 -2
- package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesSimplified.ts +1 -1
- package/src/cubing/twisty/model/props/puzzle/state/CurrentTransformationProp.ts +1 -1
- package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorProp.ts +12 -5
- package/src/cubing/twisty/model/props/puzzle/state/IndexerProp.ts +2 -2
- package/src/cubing/twisty/model/props/puzzle/state/LegacyPositionProp.ts +2 -2
- package/src/cubing/twisty/model/props/puzzle/state/MovePressInputProp.ts +14 -0
- package/src/cubing/twisty/model/props/puzzle/state/NaiveMoveCountProp.ts +20 -0
- package/src/cubing/twisty/model/props/puzzle/state/SetupAnchorProp.ts +7 -1
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDProp.ts +1 -1
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.ts +20 -1
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleLoaderProp.ts +1 -1
- package/src/cubing/twisty/model/props/timeline/DetailedTimelineInfoProp.ts +5 -3
- package/src/cubing/twisty/model/props/timeline/PlayingInfoProp.ts +1 -4
- package/src/cubing/twisty/model/props/timeline/TimestampRequestProp.ts +1 -1
- package/src/cubing/twisty/model/props/viewer/BackViewProp.ts +7 -1
- package/src/cubing/twisty/model/props/viewer/BackgroundProp.ts +6 -1
- package/src/cubing/twisty/model/props/viewer/ControlPanelProp.ts +5 -1
- package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesProp.ts +83 -12
- package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesRequestProp.ts +8 -8
- package/src/cubing/twisty/model/props/viewer/TimeRangeProp.ts +2 -2
- package/src/cubing/twisty/model/props/viewer/ViewerLinkProp.ts +5 -1
- package/src/cubing/twisty/model/props/viewer/VisualizationProp.ts +8 -1
- package/src/cubing/twisty/model/props/viewer/VisualizationStrategyProp.ts +1 -1
- package/src/cubing/twisty/old/.DS_Store +0 -0
- package/src/cubing/twisty/old/animation/.DS_Store +0 -0
- package/src/cubing/twisty/old/dom/.DS_Store +0 -0
- package/src/cubing/twisty/views/.DS_Store +0 -0
- package/src/cubing/twisty/{old/dom/viewers/Twisty2DSVGView.css.ts → views/2D/Twisty2DPuzzle.css.ts} +1 -1
- package/src/cubing/twisty/views/2D/Twisty2DPuzzle.ts +8 -12
- package/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.ts +1 -1
- package/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.ts +4 -4
- package/src/cubing/{bluetooth → twisty/views/3D}/.DS_Store +0 -0
- package/src/cubing/twisty/views/3D/DragTracker.ts +184 -0
- package/src/cubing/twisty/views/3D/RendererPool.ts +2 -1
- package/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.ts +51 -5
- package/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.ts +51 -10
- package/src/cubing/twisty/{old/dom/viewers/Twisty3DCanvas.css.ts → views/3D/Twisty3DVantage.css.ts} +2 -2
- package/src/cubing/twisty/views/3D/Twisty3DVantage.ts +103 -35
- package/src/cubing/twisty/views/3D/TwistyOrbitControls.spec.ts +213 -0
- package/src/cubing/twisty/views/3D/TwistyOrbitControls.ts +176 -0
- package/src/cubing/twisty/views/3D/puzzles/Cube3D.ts +5 -9
- package/src/cubing/twisty/views/3D/puzzles/PG3D.ts +127 -37
- package/src/cubing/twisty/views/3D/puzzles/Twisty3DPuzzle.ts +1 -1
- package/src/cubing/twisty/{old/dom/element → views}/ClassListManager.ts +0 -0
- package/src/cubing/twisty/{old/dom/element → views}/ManagedCustomElement.ts +0 -0
- package/src/cubing/twisty/views/TwistyAlgEditor/LeafTokens.ts +1 -1
- package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.ts +1 -1
- package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.ts +11 -4
- package/src/cubing/twisty/views/TwistyAlgViewer.css.ts +1 -1
- package/src/cubing/twisty/views/TwistyAlgViewer.ts +4 -4
- package/src/cubing/twisty/{old/dom → views}/TwistyPlayer.css.ts +4 -1
- package/src/cubing/twisty/views/TwistyPlayer.ts +16 -25
- package/src/cubing/twisty/views/TwistyPlayerSettable.ts +14 -10
- package/src/cubing/twisty/{old/dom/viewers → views}/TwistyViewerWrapper.css.ts +1 -1
- package/src/cubing/twisty/{old/dom/viewers → views}/canvas.ts +0 -0
- package/src/cubing/twisty/{old/dom/controls/buttons.css.ts → views/control-panel/TwistyButtonsV2.css.ts} +1 -1
- package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.ts +5 -8
- package/src/cubing/twisty/{old/dom/controls → views/control-panel}/TwistyScrubber.css.ts +1 -1
- package/src/cubing/twisty/views/control-panel/TwistyScrubberV2.ts +3 -3
- package/src/cubing/twisty/{old/dom/element → views}/node-custom-element-shims.ts +2 -2
- package/src/cubing/twisty/{old/dom → views}/stream/TwistyStreamSource.css.ts +1 -1
- package/src/cubing/twisty/{old/dom → views}/stream/TwistyStreamSource.ts +9 -9
- package/src/cubing/vendor/.DS_Store +0 -0
- package/src/cubing/{twisty/old/animation/indexer → vendor/comlink-everywhere}/.DS_Store +0 -0
- package/src/cubing/{search/vendor → vendor}/comlink-everywhere/comlink-everywhere.webloc +0 -0
- package/src/cubing/{search/vendor → vendor}/comlink-everywhere/inside/index.d.ts +0 -0
- package/src/cubing/{search/vendor → vendor}/comlink-everywhere/inside/index.js +0 -0
- package/src/cubing/{search/vendor → vendor}/comlink-everywhere/inside/node.js +0 -0
- package/src/cubing/{search/vendor → vendor}/comlink-everywhere/outside/index.d.ts +0 -0
- package/src/cubing/{search/vendor → vendor}/comlink-everywhere/outside/index.js +0 -0
- package/src/cubing/{search/vendor → vendor}/comlink-everywhere/outside/node.js +0 -0
- package/src/cubing/vendor/cstimer/.DS_Store +0 -0
- package/src/cubing/{search/inside/solve/vendor → vendor}/cstimer/LICENSE +0 -0
- package/src/cubing/{search/inside/solve/vendor → vendor}/cstimer/src/js/lib/mathlib.ts +0 -0
- package/src/cubing/{search/inside/solve/vendor → vendor}/cstimer/src/js/scramble/scramble_444.ts +3 -3
- package/src/cubing/{search/inside/solve/vendor → vendor}/min2phase/gwt.d.ts +0 -0
- package/src/cubing/{search/inside/solve/vendor → vendor}/min2phase/gwt.js +0 -0
- package/src/cubing/vendor/random-uint-below/get-random-values.ts +23 -0
- package/src/cubing/{search/inside/solve/vendor → vendor}/random-uint-below/index.ts +2 -2
- package/src/cubing/{search/inside/solve/vendor → vendor}/random-uint-below/random-choice.ts +1 -1
- package/src/cubing/{search/inside/solve/vendor/random-uint-below/random-int.ts → vendor/random-uint-below/random53BitValue.ts} +0 -0
- package/src/cubing/{search/inside/solve/vendor → vendor}/sq12phase/scramble_sq1.js +0 -0
- package/src/cubing/{bluetooth/smart-puzzle → vendor/unsafe-raw-aes}/unsafe-raw-aes.ts +18 -20
- package/dist/esm/3d-B25DP5PE.js +0 -39
- package/dist/esm/3d-B25DP5PE.js.map +0 -7
- package/dist/esm/chunk-APIIMJG6.js.map +0 -7
- package/dist/esm/chunk-CSVAFZSB.js.map +0 -7
- package/dist/esm/chunk-MUQMBH2S.js.map +0 -7
- package/dist/esm/worker-inside-generated-string-KDZOUGJF.js +0 -2831
- package/dist/esm/worker-inside-generated-string-KDZOUGJF.js.map +0 -7
- package/dist/types/bluetooth/smart-puzzle/unsafe-raw-aes.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/min2phase/gwt.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/random-uint-below/get-random-values.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/random-uint-below/index.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/random-uint-below/random-choice.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/random-uint-below/random-int.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/sq12phase/scramble_sq1.d.ts.map +0 -1
- package/dist/types/search/vendor/comlink-everywhere/inside/index.d.ts.map +0 -1
- package/dist/types/search/vendor/comlink-everywhere/inside/node.d.ts.map +0 -1
- package/dist/types/search/vendor/comlink-everywhere/outside/index.d.ts.map +0 -1
- package/dist/types/search/vendor/comlink-everywhere/outside/node.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/RenderScheduler.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/Timeline.d.ts +0 -72
- package/dist/types/twisty/old/animation/Timeline.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/cursor/AlgCursor.d.ts +0 -53
- package/dist/types/twisty/old/animation/cursor/AlgCursor.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/cursor/CursorTypes.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/easing.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/indexer/AlgDuration.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/indexer/AlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/indexer/SimpleAlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/simul-moves.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/indexer/tree/AlgWalker.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/indexer/tree/TreeAlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/indexer/tree/chunkAlgs.d.ts +0 -3
- package/dist/types/twisty/old/animation/indexer/tree/chunkAlgs.d.ts.map +0 -1
- package/dist/types/twisty/old/animation/stream/timeline-move-calculation-draft.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/TwistyAlgViewerV1.css.d.ts +0 -3
- package/dist/types/twisty/old/dom/TwistyAlgViewerV1.css.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/TwistyAlgViewerV1.d.ts +0 -52
- package/dist/types/twisty/old/dom/TwistyAlgViewerV1.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/TwistyPlayer.css.d.ts +0 -3
- package/dist/types/twisty/old/dom/TwistyPlayer.css.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/TwistyPlayer.d.ts +0 -92
- package/dist/types/twisty/old/dom/TwistyPlayer.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/TwistyPlayer.spec.d.ts +0 -5
- package/dist/types/twisty/old/dom/TwistyPlayer.spec.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/TwistyPlayerConfig.d.ts +0 -165
- package/dist/types/twisty/old/dom/TwistyPlayerConfig.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/controls/TwistyControlElement.d.ts +0 -2
- package/dist/types/twisty/old/dom/controls/TwistyControlElement.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/controls/TwistyScrubber.css.d.ts +0 -3
- package/dist/types/twisty/old/dom/controls/TwistyScrubber.d.ts +0 -14
- package/dist/types/twisty/old/dom/controls/TwistyScrubber.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/controls/buttons.css.d.ts +0 -4
- package/dist/types/twisty/old/dom/controls/buttons.css.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/controls/buttons.d.ts +0 -40
- package/dist/types/twisty/old/dom/controls/buttons.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/controls/buttons.spec.d.ts +0 -5
- package/dist/types/twisty/old/dom/controls/buttons.spec.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/element/ClassListManager.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/element/ElementConfig.d.ts +0 -49
- package/dist/types/twisty/old/dom/element/ElementConfig.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/element/ManagedCustomElement.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/element/node-custom-element-shims.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/stream/TwistyStreamSource.css.d.ts +0 -3
- package/dist/types/twisty/old/dom/stream/TwistyStreamSource.css.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/stream/TwistyStreamSource.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/viewers/Twisty2DSVG.d.ts +0 -26
- package/dist/types/twisty/old/dom/viewers/Twisty2DSVG.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/viewers/Twisty2DSVGView.css.d.ts +0 -3
- package/dist/types/twisty/old/dom/viewers/Twisty2DSVGView.css.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.css.d.ts +0 -3
- package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.css.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.d.ts +0 -41
- package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/viewers/TwistyOrbitControls.d.ts +0 -59
- package/dist/types/twisty/old/dom/viewers/TwistyOrbitControls.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/viewers/TwistyViewerElement.d.ts +0 -4
- package/dist/types/twisty/old/dom/viewers/TwistyViewerElement.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.css.d.ts +0 -3
- package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.css.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.d.ts +0 -18
- package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.d.ts.map +0 -1
- package/dist/types/twisty/old/dom/viewers/canvas.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.d.ts +0 -41
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.spec.d.ts +0 -5
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.spec.d.ts.map +0 -1
- package/dist/types/twisty/views/3D/puzzles/TwistyTestBox.d.ts +0 -9
- package/dist/types/twisty/views/3D/puzzles/TwistyTestBox.d.ts.map +0 -1
- package/src/cubing/search/inside/solve/vendor/random-uint-below/get-random-values.ts +0 -38
- package/src/cubing/twisty/old/animation/Timeline.ts +0 -378
- package/src/cubing/twisty/old/animation/cursor/AlgCursor.ts +0 -252
- package/src/cubing/twisty/old/dom/TwistyAlgViewerV1.css.ts +0 -25
- package/src/cubing/twisty/old/dom/TwistyAlgViewerV1.ts +0 -516
- package/src/cubing/twisty/old/dom/TwistyPlayer.spec.ts +0 -25
- package/src/cubing/twisty/old/dom/TwistyPlayer.ts +0 -927
- package/src/cubing/twisty/old/dom/TwistyPlayerConfig.ts +0 -378
- package/src/cubing/twisty/old/dom/controls/TwistyControlElement.ts +0 -1
- package/src/cubing/twisty/old/dom/controls/TwistyScrubber.ts +0 -53
- package/src/cubing/twisty/old/dom/controls/buttons.spec.ts +0 -37
- package/src/cubing/twisty/old/dom/controls/buttons.ts +0 -326
- package/src/cubing/twisty/old/dom/element/ElementConfig.ts +0 -180
- package/src/cubing/twisty/old/dom/viewers/Twisty2DSVG.ts +0 -118
- package/src/cubing/twisty/old/dom/viewers/Twisty3DCanvas.ts +0 -256
- package/src/cubing/twisty/old/dom/viewers/TwistyOrbitControls.ts +0 -420
- package/src/cubing/twisty/old/dom/viewers/TwistyViewerElement.ts +0 -5
- package/src/cubing/twisty/old/dom/viewers/TwistyViewerWrapper.ts +0 -45
- package/src/cubing/twisty/views/3D/TwistyOrbitControlsV2.spec.ts +0 -209
- package/src/cubing/twisty/views/3D/TwistyOrbitControlsV2.ts +0 -270
- package/src/cubing/twisty/views/3D/puzzles/TwistyTestBox.ts +0 -22
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/cubing/search/worker-inside-generated-string.js"],
|
|
4
|
+
"sourcesContent": ["export const workerSource = \"var D1=Object.create;var Eo=Object.defineProperty;var F1=Object.getOwnPropertyDescriptor;var y1=Object.getOwnPropertyNames;var B1=Object.getPrototypeOf,b1=Object.prototype.hasOwnProperty;var pa=e=>Eo(e,\\\"__esModule\\\",{value:!0});var S=(e,t)=>()=>(e&&(t=e(e=0)),t);var ke=(e,t)=>{pa(e);for(var r in t)Eo(e,r,{get:t[r],enumerable:!0})},x1=(e,t,r)=>{if(t&&typeof t==\\\"object\\\"||typeof t==\\\"function\\\")for(let n of y1(t))!b1.call(e,n)&&n!==\\\"default\\\"&&Eo(e,n,{get:()=>t[n],enumerable:!(r=F1(t,n))||r.enumerable});return e},da=e=>x1(pa(Eo(e!=null?D1(B1(e)):{},\\\"default\\\",e&&e.__esModule&&\\\"default\\\"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var ni=(e,t,r)=>{if(!t.has(e))throw TypeError(\\\"Cannot \\\"+r)};var R=(e,t,r)=>(ni(e,t,\\\"read from private field\\\"),r?r.call(e):t.get(e)),de=(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)},ie=(e,t,r,n)=>(ni(e,t,\\\"write to private field\\\"),n?n.call(e,r):t.set(e,r),r),oi=(e,t,r,n)=>({set _(o){ie(e,t,o,r)},get _(){return R(e,t,n)}}),La=(e,t,r)=>(ni(e,t,\\\"access private method\\\"),r);var h=(e,t,r)=>new Promise((n,o)=>{var l=u=>{try{s(r.next(u))}catch(a){o(a)}},i=u=>{try{s(r.throw(u))}catch(a){o(a)}},s=u=>u.done?n(u.value):Promise.resolve(u.value).then(l,i);s((r=r.apply(e,t)).next())});var Ba={};ke(Ba,{default:()=>G1});function I1(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))},start:e.start&&e.start.bind(e)}}var G1,ba=S(()=>{G1=I1});var xa={};ke(xa,{port:()=>T1});function T1(){return h(this,null,function*(){let{parentPort:e}=yield import(\\\"worker_threads\\\").catch();return(yield Promise.resolve().then(()=>(ba(),Ba))).default(e)})}var Sa=S(()=>{});var _1,zo,ze,It=S(()=>{_1=!1,zo=class{is(t){return this instanceof t}as(t){return this instanceof t?this:null}},ze=class extends zo{constructor(){super();_1&&Object.defineProperty(this,\\\"_debugStr\\\",{get:()=>this.toString()})}get log(){return console.log.bind(console,this,this.toString())}}});function wa(e,t=!0){if(!t)return e;switch(e){case 1:return-1;case-1:return 1}}function ai(e,t){return t===-1?Array.from(e).reverse():e}function Ua(e){return Array.from(e).reverse()}var j,dt=S(()=>{(function(r){r[r.Forwards=1]=\\\"Forwards\\\",r[r.Backwards=-1]=\\\"Backwards\\\"})(j||(j={}))});var Mn,Nr,Ea,ui=S(()=>{Mn=2147483647,Nr=\\\"2^31 - 1\\\",Ea=-2147483648});var Lr,ut,fi=S(()=>{Gt();ut=class{constructor(){de(this,Lr,[])}push(t){R(this,Lr).push(t)}experimentalPushAlg(t){for(let r of t.units())this.push(r)}experimentalNumUnits(){return R(this,Lr).length}toAlg(){return new z(R(this,Lr))}reset(){ie(this,Lr,[])}};Lr=new WeakMap});var hr,Ar,Co,Ce,In=S(()=>{Gt();It();dt();Co=class extends ze{constructor(t,r){super();de(this,hr,void 0);de(this,Ar,void 0);ie(this,hr,Zt(t)),ie(this,Ar,Zt(r))}get A(){return R(this,hr)}get B(){return R(this,Ar)}isIdentical(t){let r=t.as(Co);return!!((r==null?void 0:r.A.isIdentical(this.A))&&(r==null?void 0:r.B.isIdentical(this.B)))}invert(){return new Co(R(this,Ar),R(this,hr))}*experimentalExpand(t=j.Forwards,r){r!=null||(r=1/0),r===0?yield t===j.Forwards?this:this.invert():t===j.Forwards?(yield*this.A.experimentalExpand(j.Forwards,r-1),yield*this.B.experimentalExpand(j.Forwards,r-1),yield*this.A.experimentalExpand(j.Backwards,r-1),yield*this.B.experimentalExpand(j.Backwards,r-1)):(yield*this.B.experimentalExpand(j.Forwards,r-1),yield*this.A.experimentalExpand(j.Forwards,r-1),yield*this.B.experimentalExpand(j.Backwards,r-1),yield*this.A.experimentalExpand(j.Backwards,r-1))}toString(){return`[${R(this,hr).toString()}, ${R(this,Ar).toString()}]`}},Ce=Co;hr=new WeakMap,Ar=new WeakMap});var _r,Or,Po,Pe,Gn=S(()=>{Gt();It();dt();Po=class extends ze{constructor(t,r){super();de(this,_r,void 0);de(this,Or,void 0);ie(this,_r,Zt(t)),ie(this,Or,Zt(r))}get A(){return R(this,_r)}get B(){return R(this,Or)}isIdentical(t){let r=t.as(Po);return!!((r==null?void 0:r.A.isIdentical(this.A))&&(r==null?void 0:r.B.isIdentical(this.B)))}invert(){return new Po(R(this,_r),R(this,Or).invert())}*experimentalExpand(t,r){r!=null||(r=1/0),r===0?yield t===j.Forwards?this:this.invert():(yield*this.A.experimentalExpand(j.Forwards,r-1),yield*this.B.experimentalExpand(t,r-1),yield*this.A.experimentalExpand(j.Backwards,r-1))}toString(){return`[${this.A}: ${this.B}]`}},Pe=Po;_r=new WeakMap,Or=new WeakMap});var Xt,gi,Lt,Tn=S(()=>{It();dt();gi=class extends ze{constructor(t){super();de(this,Xt,void 0);if(t.includes(`\\n`)||t.includes(\\\"\\\\r\\\"))throw new Error(\\\"LineComment cannot contain newline\\\");ie(this,Xt,t)}get text(){return R(this,Xt)}isIdentical(t){let r=t;return t.is(gi)&&R(this,Xt)===R(r,Xt)}invert(){return this}*experimentalExpand(t=j.Forwards,r=1/0){yield this}toString(){return`//${R(this,Xt)}`}},Lt=gi;Xt=new WeakMap});var We,Nn=S(()=>{It();dt();We=class extends ze{toString(){return`\\n`}isIdentical(t){return t.is(We)}invert(){return this}*experimentalExpand(t=j.Forwards,r=1/0){yield this}}});var Qe,_n=S(()=>{It();dt();Qe=class extends ze{toString(){return\\\".\\\"}isIdentical(t){return t.is(Qe)}invert(){return this}*experimentalExpand(t=j.Forwards,r=1/0){yield this}}});function Mo(e,t){return e?parseInt(e):t}function ci(e){return new Io().parseAlg(e)}function za(e){return new Io().parseMove(e)}function Ca(e){return new Io().parseQuantumMove(e)}function qe(e,t,r){let n=e;return n.startCharIndex=t,n.endCharIndex=r,n}function Pa(e,t){return\\\"startCharIndex\\\"in e&&(t.startCharIndex=e.startCharIndex),\\\"endCharIndex\\\"in e&&(t.endCharIndex=e.endCharIndex),t}var ka,O1,W1,Q1,q1,j1,Ye,O,Io,mi=S(()=>{Gt();fi();In();Gn();Go();Tn();Tt();Nn();_n();ka=/^(\\\\d+)?('?)/,O1=/^[_\\\\dA-Za-z]/,W1=/^((([1-9]\\\\d*)-)?([1-9]\\\\d*))?([_A-Za-z]+)?/,Q1=/^[^\\\\n]*/,q1=/^(-?\\\\d+), ?/,j1=/^(-?\\\\d+)\\\\)/;Io=class{constructor(){de(this,Ye,\\\"\\\");de(this,O,0)}parseAlg(t){ie(this,Ye,t),ie(this,O,0);let r=this.parseAlgWithStopping([]);return this.mustBeAtEndOfInput(),r}parseMove(t){ie(this,Ye,t),ie(this,O,0);let r=this.parseMoveImpl();return this.mustBeAtEndOfInput(),r}parseQuantumMove(t){ie(this,Ye,t),ie(this,O,0);let r=this.parseQuantumMoveImpl();return this.mustBeAtEndOfInput(),r}mustBeAtEndOfInput(){if(R(this,O)!==R(this,Ye).length)throw new Error(\\\"parsing unexpectedly ended early\\\")}parseAlgWithStopping(t){let r=R(this,O),n=R(this,O),o=new ut,l=!1,i=s=>{if(l)throw new Error(`Unexpected character at index ${s}. Are you missing a space?`)};e:for(;R(this,O)<R(this,Ye).length;){let s=R(this,O);if(t.includes(R(this,Ye)[R(this,O)]))return qe(o.toAlg(),r,n);if(this.tryConsumeNext(\\\" \\\")){l=!1,o.experimentalNumUnits()===0&&(r=R(this,O));continue e}else if(O1.test(R(this,Ye)[R(this,O)])){i(s);let u=this.parseMoveImpl();o.push(u),l=!0,n=R(this,O);continue e}else if(this.tryConsumeNext(\\\"(\\\")){i(s);let u=this.tryRegex(q1);if(u){let a=u[1],f=R(this,O),g=this.parseRegex(j1),c=qe(new d(new G(\\\"U_SQ_\\\"),parseInt(a)),s+1,s+1+a.length),m=qe(new d(new G(\\\"D_SQ_\\\"),parseInt(g[1])),f,R(this,O)-1),L=qe(new z([c,m]),s+1,R(this,O)-1);o.push(qe(new ot(L),s,R(this,O))),l=!0,n=R(this,O);continue e}else{let a=this.parseAlgWithStopping([\\\")\\\"]);this.mustConsumeNext(\\\")\\\");let f=this.parseAmount();o.push(qe(new ot(a,f),s,R(this,O))),l=!0,n=R(this,O);continue e}}else if(this.tryConsumeNext(\\\"[\\\")){i(s);let u=this.parseAlgWithStopping([\\\",\\\",\\\":\\\"]),a=this.popNext(),f=this.parseAlgWithStopping([\\\"]\\\"]);switch(this.mustConsumeNext(\\\"]\\\"),a){case\\\":\\\":o.push(qe(new Pe(u,f),s,R(this,O))),l=!0,n=R(this,O);continue e;case\\\",\\\":o.push(qe(new Ce(u,f),s,R(this,O))),l=!0,n=R(this,O);continue e;default:throw\\\"unexpected parsing error\\\"}}else if(this.tryConsumeNext(`\\n`)){o.push(qe(new We,s,R(this,O))),l=!1,n=R(this,O);continue e}else if(this.tryConsumeNext(\\\"/\\\"))if(this.tryConsumeNext(\\\"/\\\")){i(s);let[u]=this.parseRegex(Q1);o.push(qe(new Lt(u),s,R(this,O))),l=!1,n=R(this,O);continue e}else{o.push(qe(new d(\\\"_SLASH_\\\"),s,R(this,O))),l=!0,n=R(this,O);continue e}else if(this.tryConsumeNext(\\\".\\\")){i(s),o.push(qe(new Qe,s,R(this,O))),l=!0,n=R(this,O);continue e}else throw new Error(`Unexpected character: ${this.popNext()}`)}if(R(this,O)!==R(this,Ye).length)throw new Error(\\\"did not finish parsing?\\\");if(t.length>0)throw new Error(\\\"expected stopping\\\");return qe(o.toAlg(),r,n)}parseQuantumMoveImpl(){let[,,,t,r,n]=this.parseRegex(W1);return new G(n,Mo(r,void 0),Mo(t,void 0))}parseMoveImpl(){let t=R(this,O);if(this.tryConsumeNext(\\\"/\\\"))return qe(new d(\\\"_SLASH_\\\"),t,R(this,O));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 qe(new d(r,n),t,R(this,O))}parseMoveSuffix(){return this.tryConsumeNext(\\\"+\\\")?this.tryConsumeNext(\\\"+\\\")?\\\"++\\\":\\\"+\\\":this.tryConsumeNext(\\\"-\\\")?this.tryConsumeNext(\\\"-\\\")?\\\"--\\\":\\\"-\\\":null}parseAmountAndTrackEmptyAbsAmount(){let t=R(this,O),[,r,n]=this.parseRegex(ka);if((r==null?void 0: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[Mo(r,1)*(n===\\\"'\\\"?-1:1),!r]}parseAmount(){let t=R(this,O),[,r,n]=this.parseRegex(ka);if((r==null?void 0: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 Mo(r,1)*(n===\\\"'\\\"?-1:1)}parseRegex(t){let r=t.exec(this.remaining());if(r===null)throw new Error(\\\"internal parsing error\\\");return ie(this,O,R(this,O)+r[0].length),r}tryRegex(t){let r=t.exec(this.remaining());return r===null?null:(ie(this,O,R(this,O)+r[0].length),r)}remaining(){return R(this,Ye).slice(R(this,O))}popNext(){let t=R(this,Ye)[R(this,O)];return oi(this,O)._++,t}tryConsumeNext(t){return R(this,Ye)[R(this,O)]===t?(oi(this,O)._++,!0):!1}mustConsumeNext(t){let r=this.popNext();if(r!==t)throw new Error(`expected \\\\`${t}\\\\` while parsing, encountered ${r}`);return r}};Ye=new WeakMap,O=new WeakMap});function To(e){Ma.has(e)||(console.warn(e),Ma.add(e))}var Ma,pi=S(()=>{Ma=new Set});var Wr,di=S(()=>{dt();ui();Wr=class{constructor(t,r=1){if(this.quantum=t,this.amount=r,!Number.isInteger(this.amount)||this.amount<Ea||this.amount>Mn)throw new Error(`Unit amount absolute value must be a non-negative integer from ${Nr} to ${Nr}.`)}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=wa(t,this.amount<0);for(let l=0;l<n;l++)yield*this.quantum.experimentalExpand(o,r)}}});var Nt,Me,Ie,No,G,Se,Qr,d,Tt=S(()=>{It();dt();ui();mi();pi();di();No=class extends zo{constructor(t,r,n){super();de(this,Nt,void 0);de(this,Me,void 0);de(this,Ie,void 0);if(ie(this,Nt,t),ie(this,Me,r!=null?r:null),ie(this,Ie,n!=null?n:null),Object.freeze(this),R(this,Me)!==null&&(!Number.isInteger(R(this,Me))||R(this,Me)<1||R(this,Me)>Mn))throw new Error(`QuantumMove inner layer must be a positive integer below ${Nr}.`);if(R(this,Ie)!==null&&(!Number.isInteger(R(this,Ie))||R(this,Ie)<1||R(this,Ie)>Mn))throw new Error(`QuantumMove outer layer must be a positive integer below ${Nr}.`);if(R(this,Ie)!==null&&R(this,Me)!==null&&R(this,Me)<=R(this,Ie))throw new Error(\\\"QuantumMove outer layer must be smaller than inner layer.\\\");if(R(this,Ie)!==null&&R(this,Me)===null)throw new Error(\\\"QuantumMove with an outer layer must have an inner layer\\\")}static fromString(t){return Ca(t)}modified(t){var r,n,o;return new No((r=t.family)!=null?r:R(this,Nt),(n=t.innerLayer)!=null?n:R(this,Me),(o=t.outerLayer)!=null?o:R(this,Ie))}isIdentical(t){let r=t;return t.is(No)&&R(this,Nt)===R(r,Nt)&&R(this,Me)===R(r,Me)&&R(this,Ie)===R(r,Ie)}get family(){return R(this,Nt)}get outerLayer(){return R(this,Ie)}get innerLayer(){return R(this,Me)}experimentalExpand(){throw new Error(\\\"experimentalExpand() cannot be called on a `QuantumMove` directly.\\\")}toString(){let t=R(this,Nt);return R(this,Me)!==null&&(t=String(R(this,Me))+t,R(this,Ie)!==null&&(t=String(R(this,Ie))+\\\"-\\\"+t)),t}},G=No;Nt=new WeakMap,Me=new WeakMap,Ie=new WeakMap;Qr=class extends ze{constructor(...t){super();de(this,Se,void 0);var r;if(typeof t[0]==\\\"string\\\")if((r=t[1])!=null?r:null){ie(this,Se,new Wr(G.fromString(t[0]),t[1]));return}else return Qr.fromString(t[0]);ie(this,Se,new Wr(t[0],t[1]))}isIdentical(t){let r=t.as(Qr);return!!r&&R(this,Se).isIdentical(R(r,Se))}invert(){return Pa(this,new Qr(R(this,Se).quantum,-this.amount))}*experimentalExpand(t=j.Forwards){t===j.Forwards?yield this:yield this.modified({amount:-this.amount})}get quantum(){return R(this,Se).quantum}modified(t){var r;return new Qr(R(this,Se).quantum.modified(t),(r=t.amount)!=null?r:this.amount)}static fromString(t){return za(t)}get amount(){return R(this,Se).amount}get type(){return To(\\\"deprecated: type\\\"),\\\"blockMove\\\"}get family(){var t;return(t=R(this,Se).quantum.family)!=null?t:void 0}get outerLayer(){var t;return(t=R(this,Se).quantum.outerLayer)!=null?t:void 0}get innerLayer(){var t;return(t=R(this,Se).quantum.innerLayer)!=null?t:void 0}toString(){if(this.family===\\\"_SLASH_\\\")return\\\"/\\\";if(this.family.endsWith(\\\"_PLUS_\\\"))return R(this,Se).quantum.toString().slice(0,-6)+Math.abs(this.amount)+(this.amount<0?\\\"-\\\":\\\"+\\\");if(this.family.endsWith(\\\"_PLUSPLUS_\\\")){let t=Math.abs(this.amount);return R(this,Se).quantum.toString().slice(0,-10)+(t===1?\\\"\\\":t)+(this.amount<0?\\\"--\\\":\\\"++\\\")}return R(this,Se).quantum.toString()+R(this,Se).suffix()}},d=Qr;Se=new WeakMap});var Ia,Ga,Ze,_o,ot,Go=S(()=>{Gt();It();dt();Tt();di();Ia=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){var n,o;this.quantumU_SQ_||(this.quantumU_SQ_=new G(\\\"U_SQ_\\\")),this.quantumD_SQ_||(this.quantumD_SQ_=new G(\\\"D_SQ_\\\"));let r=t.alg;if(r.experimentalNumUnits()===2){let[l,i]=r.units();if(((n=l.as(d))==null?void 0:n.quantum.isIdentical(this.quantumU_SQ_))&&((o=i.as(d))==null?void 0:o.quantum.isIdentical(this.quantumD_SQ_))){if(t.amount!==1)throw new Error(\\\"Square-1 tuples cannot have an amount other than 1.\\\");return[l,i]}}return null}},Ga=new Ia,_o=class extends ze{constructor(t,r){super();de(this,Ze,void 0);let n=Zt(t);ie(this,Ze,new Wr(n,r))}isIdentical(t){let r=t;return t.is(_o)&&R(this,Ze).isIdentical(R(r,Ze))}get alg(){return R(this,Ze).quantum}get amount(){return R(this,Ze).amount}get experimentalRepetitionSuffix(){return R(this,Ze).suffix()}invert(){return new _o(R(this,Ze).quantum,-R(this,Ze).amount)}*experimentalExpand(t=j.Forwards,r){r!=null||(r=1/0),r===0?yield t===j.Forwards?this:this.invert():yield*R(this,Ze).experimentalExpand(t,r-1)}static fromString(){throw new Error(\\\"unimplemented\\\")}toString(){var t;return(t=Ga.format(this))!=null?t:`(${R(this,Ze).quantum.toString()})${R(this,Ze).suffix()}`}experimentalAsSquare1Tuple(){return Ga.tuple(this)}},ot=_o;Ze=new WeakMap});var Oo=S(()=>{Go();Tn();In();Gn();Tt();Nn();_n()});function lt(e,t){return e instanceof t}function Ta(e){return lt(e,ot)||lt(e,Lt)||lt(e,Ce)||lt(e,Pe)||lt(e,d)||lt(e,We)||lt(e,Qe)}var Li=S(()=>{Oo()});function Na(e,t,r){if(t.is(ot))return e.traverseGrouping(t,r);if(t.is(d))return e.traverseMove(t,r);if(t.is(Ce))return e.traverseCommutator(t,r);if(t.is(Pe))return e.traverseConjugate(t,r);if(t.is(Qe))return e.traversePause(t,r);if(t.is(We))return e.traverseNewline(t,r);if(t.is(Lt))return e.traverseLineComment(t,r);throw new Error(\\\"unknown unit\\\")}function _a(e){if(e.is(ot)||e.is(d)||e.is(Ce)||e.is(Pe)||e.is(Qe)||e.is(We)||e.is(Lt))return e;throw\\\"internal error: expected unit\\\"}var Wo,qr,Qo,K1,Ai,hi,Oa,Wa,Ri=S(()=>{Go();In();Tt();Nn();_n();Gn();Tn();Wo=class{traverseUnit(t,r){return Na(this,t,r)}traverseIntoUnit(t,r){return _a(this.traverseUnit(t,r))}},qr=class extends Wo{traverseUnit(t){return Na(this,t,void 0)}traverseIntoUnit(t){return _a(this.traverseUnit(t))}},Ai=class extends Wo{*traverseAlg(t,r){var a;if(r.depth===0){yield*t.units();return}let n=[],o=null,l=(a=r==null?void 0:r.collapseMoves)!=null?a:!0;function i(f,g){var L;let c=La(L=Ai,Qo,K1).call(L,f,g,r);if(c===0)return!1;let m=new d(f.quantum,c);return n.push(m),o=m,!0}function s(f){l&&(o==null?void 0:o.is(d))&&f.is(d)&&o.quantum.isIdentical(f.quantum)?(n.pop(),i(o,f.amount)||(o=n.slice(-1)[0])):f.is(d)?i(f,0):(n.push(f),o=f)}let u={depth:r.depth?r.depth-1:null};for(let f of t.units())for(let g of this.traverseUnit(f,u))s(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 ot(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 Ce(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 Pe(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}},hi=Ai;Qo=new WeakSet,K1=function(t,r,n){let o=t.amount+r;if(n==null?void 0:n.quantumMoveOrder){let l=n.quantumMoveOrder(t.quantum),i=Math.floor(l/2)+1-l;o=(o%l+l-i)%l+i}return o},de(hi,Qo);Oa=new hi,Wa=Oa.traverseAlg.bind(Oa)});function Qa(e){if(!e)return[];if(lt(e,z))return e.units();if(typeof e==\\\"string\\\")return ci(e).units();let t=e;if(typeof t[Symbol.iterator]==\\\"function\\\")return t;throw\\\"Invalid unit\\\"}function Zt(e){return lt(e,z)?e:new z(e)}function V1(e,t){return e.is(We)||t.is(We)?\\\"\\\":e.is(Lt)&&!t.is(We)?`\\n`:\\\" \\\"}var Xe,Rr,z,Gt=S(()=>{It();Li();dt();mi();Ri();Tn();Tt();Nn();pi();Rr=class extends ze{constructor(t){super();de(this,Xe,void 0);ie(this,Xe,Array.from(Qa(t)));for(let r of R(this,Xe))if(!Ta(r))throw new Error(\\\"An alg can only contain units.\\\")}isIdentical(t){let r=t;if(!t.is(Rr))return!1;let n=Array.from(R(this,Xe)),o=Array.from(R(r,Xe));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 Rr(Ua(Array.from(R(this,Xe)).map(t=>t.invert())))}*experimentalExpand(t=j.Forwards,r){r!=null||(r=1/0);for(let n of ai(R(this,Xe),t))yield*n.experimentalExpand(t,r)}expand(t){var r;return new Rr(this.experimentalExpand(j.Forwards,(r=t==null?void 0:t.depth)!=null?r:1/0))}*experimentalLeafMoves(){for(let t of this.experimentalExpand())t.is(d)&&(yield t)}concat(t){return new Rr(Array.from(R(this,Xe)).concat(Array.from(Qa(t))))}experimentalIsEmpty(){for(let t of R(this,Xe))return!1;return!0}static fromString(t){return ci(t)}*units(){for(let t of R(this,Xe))yield t}experimentalNumUnits(){return Array.from(R(this,Xe)).length}get type(){return To(\\\"deprecated: type\\\"),\\\"sequence\\\"}toString(){let t=\\\"\\\",r=null;for(let n of R(this,Xe))r&&(t+=V1(r,n)),t+=n.toString(),r=n;return t}simplify(t){return new Rr(Wa(this,t!=null?t:{}))}},z=Rr;Xe=new WeakMap});var H1,qa=S(()=>{Gt();Oo();In();Gn();Tt();_n();H1={Sune:new z([new d(\\\"R\\\",1),new d(\\\"U\\\",1),new d(\\\"R\\\",-1),new d(\\\"U\\\",1),new d(\\\"R\\\",1),new d(\\\"U\\\",-2),new d(\\\"R\\\",-1)]),AntiSune:new z([new d(\\\"R\\\",1),new d(\\\"U\\\",2),new d(\\\"R\\\",-1),new d(\\\"U\\\",-1),new d(\\\"R\\\",1),new d(\\\"U\\\",-1),new d(\\\"R\\\",-1)]),SuneCommutator:new z([new Ce(new z([new d(\\\"R\\\",1),new d(\\\"U\\\",1),new d(\\\"R\\\",-2)]),new z([new Pe(new z([new d(\\\"R\\\",1)]),new z([new d(\\\"U\\\",1)]))]))]),Niklas:new z([new d(\\\"R\\\",1),new d(\\\"U\\\",-1),new d(\\\"L\\\",-1),new d(\\\"U\\\",1),new d(\\\"R\\\",-1),new d(\\\"U\\\",-1),new d(\\\"L\\\",1),new d(\\\"U\\\",1)]),EPerm:new z([new d(\\\"x\\\",-1),new Ce(new z([new Pe(new z([new d(\\\"R\\\",1)]),new z([new d(\\\"U\\\",-1)]))]),new z([new d(\\\"D\\\",1)])),new Ce(new z([new Pe(new z([new d(\\\"R\\\",1)]),new z([new d(\\\"U\\\",1)]))]),new z([new d(\\\"D\\\",1)])),new d(\\\"x\\\",1)]),FURURFCompact:new z([new Pe(new z([new d(\\\"F\\\",1)]),new z([new Ce(new z([new d(\\\"U\\\",1)]),new z([new d(\\\"R\\\",1)]))]))]),APermCompact:new z([new Pe(new z([new d(\\\"R\\\",2)]),new z([new Ce(new z([new d(\\\"F\\\",2)]),new z([new d(\\\"R\\\",-1),new d(\\\"B\\\",-1),new d(\\\"R\\\",1)]))]))]),FURURFMoves:new z([new d(\\\"F\\\",1),new d(\\\"U\\\",1),new d(\\\"R\\\",1),new d(\\\"U\\\",-1),new d(\\\"R\\\",-1),new d(\\\"F\\\",-1)]),TPerm:new z([new d(\\\"R\\\",1),new d(\\\"U\\\",1),new d(\\\"R\\\",-1),new d(\\\"U\\\",-1),new d(\\\"R\\\",-1),new d(\\\"F\\\",1),new d(\\\"R\\\",2),new d(\\\"U\\\",-1),new d(\\\"R\\\",-1),new d(\\\"U\\\",-1),new d(\\\"R\\\",1),new d(\\\"U\\\",1),new d(\\\"R\\\",-1),new d(\\\"F\\\",-1)]),HeadlightSwaps:new z([new Pe(new z([new d(\\\"F\\\",1)]),new z([new ot(new z([new Ce(new z([new d(\\\"R\\\",1)]),new z([new d(\\\"U\\\",1)]))]),3)]))]),TriplePause:new z([new Qe,new Qe,new Qe])}});var jL,ja=S(()=>{Tt();jL={73:new d(\\\"R\\\"),75:new d(\\\"R'\\\"),87:new d(\\\"B\\\"),79:new d(\\\"B'\\\"),83:new d(\\\"D\\\"),76:new d(\\\"D'\\\"),68:new d(\\\"L\\\"),69:new d(\\\"L'\\\"),74:new d(\\\"U\\\"),70:new d(\\\"U'\\\"),72:new d(\\\"F\\\"),71:new d(\\\"F'\\\"),78:new d(\\\"x'\\\"),67:new d(\\\"l\\\"),82:new d(\\\"l'\\\"),85:new d(\\\"r\\\"),77:new d(\\\"r'\\\"),88:new d(\\\"d\\\"),188:new d(\\\"d'\\\"),84:new d(\\\"x\\\"),89:new d(\\\"x\\\"),66:new d(\\\"x'\\\"),186:new d(\\\"y\\\"),59:new d(\\\"y\\\"),65:new d(\\\"y'\\\"),80:new d(\\\"z\\\"),81:new d(\\\"z'\\\"),90:new d(\\\"M'\\\"),190:new d(\\\"M'\\\")}});var Ka=S(()=>{});var Va=S(()=>{Gt()});var he=S(()=>{Gt();fi();Ri();qa();ja();Oo();Tt();Ka();Va();Li();dt()});function Di(e,t){if(t===jr)return!0;let r=t.permutation,n=r.length;for(let o=0;o<n;o++)if(r[o]!==o)return!1;if(e>1){let o=t.orientation;for(let l=0;l<n;l++)if(o[l]!==0)return!1}return jr=t,!0}function it(e,t,r){let n={};for(let o in e.orbits){let l=e.orbits[o],i=t[o],s=r[o];if(Di(l.orientations,s))n[o]=i;else if(Di(l.orientations,i))n[o]=s;else{let u=new Array(l.numPieces);if(l.orientations===1){for(let a=0;a<l.numPieces;a++)u[a]=i.permutation[s.permutation[a]];n[o]={permutation:u,orientation:i.orientation}}else{let a=new Array(l.numPieces);for(let f=0;f<l.numPieces;f++)a[f]=(i.orientation[s.permutation[f]]+s.orientation[f])%l.orientations,u[f]=i.permutation[s.permutation[f]];n[o]={permutation:u,orientation:a}}}}return n}function Kr(e,t,r){if(r<0)return Kr(e,_t(e,t),-r);if(r===0)return ht(e);if(r===1)return t;let n=t;r!==2&&(n=Kr(e,t,Math.floor(r/2)));let o=it(e,n,n);return r%2==0?o:it(e,t,o)}function ht(e){let t={};for(let r in e.orbits){let n=e.orbits[r];if(!jr||jr.permutation.length!==n.numPieces){let o=new Array(n.numPieces),l=new Array(n.numPieces);for(let s=0;s<n.numPieces;s++)o[s]=s,l[s]=0;jr={permutation:o,orientation:l}}t[r]=jr}return t}function _t(e,t){let r={};for(let n in e.orbits){let o=e.orbits[n],l=t[n];if(Di(o.orientations,l))r[n]=l;else if(o.orientations===1){let i=new Array(o.numPieces);for(let s=0;s<o.numPieces;s++)i[l.permutation[s]]=s;r[n]={permutation:i,orientation:l.orientation}}else{let i=new Array(o.numPieces),s=new Array(o.numPieces);for(let u=0;u<o.numPieces;u++){let a=l.permutation[u];i[a]=u,s[a]=(o.orientations-l.orientation[u]+o.orientations)%o.orientations}r[n]={permutation:i,orientation:s}}}return r}function On(e,t,r,n,o={}){let l=e.orbits[t],i=r[t],s=n[t];for(let u=0;u<l.numPieces;u++)if(!(o==null?void 0:o.ignoreOrientation)&&i.orientation[u]!==s.orientation[u]||!(o==null?void 0:o.ignorePermutation)&&i.permutation[u]!==s.permutation[u])return!1;return!0}function qo(e,t,r){for(let n in e.orbits)if(!On(e,n,t,r))return!1;return!0}function Fi(e,t,r){return qo(e,it(e,e.startPieces,t),it(e,e.startPieces,r))}var jr,Wn=S(()=>{});function jo(e,t){let r=Y1(e).lookupMove(t);if(!r)throw new Error(\\\"Unknown move: \\\"+t.toString());return r}function Y1(e){return e.moveNotation||(e.moveNotation=new Ha(e)),e.moveNotation}var Ha,Je,yi=S(()=>{he();Wn();Ha=class{constructor(t){this.def=t;this.cache={}}lookupMove(t){let r=t.toString(),n=this.cache[r];if(n)return n;let o=t.quantum.toString();return n=this.def.moves[o],n?(n=Kr(this.def,n,t.amount),this.cache[r]=n):(n=this.def.moves[t.toString()],n?this.cache[r]=n:(n=this.def.moves[t.invert().toString()],n&&(n=Kr(this.def,n,-1),this.cache[r]=n))),n}},Je=class{constructor(t){this.definition=t;this.state=ht(t)}reset(){this.state=ht(this.definition)}serialize(){let t=\\\"\\\";for(let r in this.definition.orbits)t+=r+`\\n`,t+=this.state[r].permutation.join(\\\" \\\")+`\\n`,t+=this.state[r].orientation.join(\\\" \\\")+`\\n`;return t=t.slice(0,t.length-1),t}applyMove(t){this.state=it(this.definition,this.state,jo(this.definition,t))}applyAlg(t){for(let r of t.experimentalLeafMoves())this.applyMove(r)}}});var Ya=S(()=>{Wn()});function Z1(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function Bi(e,t,r,n){this.message=e,this.expected=t,this.found=r,this.location=n,this.name=\\\"SyntaxError\\\",typeof Error.captureStackTrace==\\\"function\\\"&&Error.captureStackTrace(this,Bi)}var Za=S(()=>{Z1(Bi,Error);Bi.buildMessage=function(e,t){var r={literal:function(a){return'\\\"'+o(a.text)+'\\\"'},class:function(a){var f=a.parts.map(function(g){return Array.isArray(g)?l(g[0])+\\\"-\\\"+l(g[1]):l(g)});return\\\"[\\\"+(a.inverted?\\\"^\\\":\\\"\\\")+f+\\\"]\\\"},any:function(){return\\\"any character\\\"},end:function(){return\\\"end of input\\\"},other:function(a){return a.description}};function n(a){return a.charCodeAt(0).toString(16).toUpperCase()}function o(a){return a.replace(/\\\\\\\\/g,\\\"\\\\\\\\\\\\\\\\\\\").replace(/\\\"/g,'\\\\\\\\\\\"').replace(/\\\\0/g,\\\"\\\\\\\\0\\\").replace(/\\\\t/g,\\\"\\\\\\\\t\\\").replace(/\\\\n/g,\\\"\\\\\\\\n\\\").replace(/\\\\r/g,\\\"\\\\\\\\r\\\").replace(/[\\\\x00-\\\\x0F]/g,function(f){return\\\"\\\\\\\\x0\\\"+n(f)}).replace(/[\\\\x10-\\\\x1F\\\\x7F-\\\\x9F]/g,function(f){return\\\"\\\\\\\\x\\\"+n(f)})}function l(a){return a.replace(/\\\\\\\\/g,\\\"\\\\\\\\\\\\\\\\\\\").replace(/\\\\]/g,\\\"\\\\\\\\]\\\").replace(/\\\\^/g,\\\"\\\\\\\\^\\\").replace(/-/g,\\\"\\\\\\\\-\\\").replace(/\\\\0/g,\\\"\\\\\\\\0\\\").replace(/\\\\t/g,\\\"\\\\\\\\t\\\").replace(/\\\\n/g,\\\"\\\\\\\\n\\\").replace(/\\\\r/g,\\\"\\\\\\\\r\\\").replace(/[\\\\x00-\\\\x0F]/g,function(f){return\\\"\\\\\\\\x0\\\"+n(f)}).replace(/[\\\\x10-\\\\x1F\\\\x7F-\\\\x9F]/g,function(f){return\\\"\\\\\\\\x\\\"+n(f)})}function i(a){return r[a.type](a)}function s(a){var f=a.map(i),g,c;if(f.sort(),f.length>0){for(g=1,c=1;g<f.length;g++)f[g-1]!==f[g]&&(f[c]=f[g],c++);f.length=c}switch(f.length){case 1:return f[0];case 2:return f[0]+\\\" or \\\"+f[1];default:return f.slice(0,-1).join(\\\", \\\")+\\\", or \\\"+f[f.length-1]}}function u(a){return a?'\\\"'+o(a)+'\\\"':\\\"end of input\\\"}return\\\"Expected \\\"+s(e)+\\\" but \\\"+u(t)+\\\" found.\\\"}});var Xa=S(()=>{Za()});var Ja=S(()=>{Xa()});var $a=S(()=>{});var ue,bi=S(()=>{ue={name:\\\"3x3x3\\\",orbits:{EDGES:{numPieces:12,orientations:2},CORNERS:{numPieces:8,orientations:3},CENTERS:{numPieces:6,orientations:4}},startPieces:{EDGES:{permutation:[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:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[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]}}}};ue.moves.Uw=ue.moves.u;ue.moves.Lw=ue.moves.l;ue.moves.Fw=ue.moves.f;ue.moves.Rw=ue.moves.r;ue.moves.Bw=ue.moves.b;ue.moves.Dw=ue.moves.d;ue.moves.Rv=ue.moves.x;ue.moves.Uv=ue.moves.y;ue.moves.Fv=ue.moves.z;ue.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]}};ue.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]}};ue.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 e0=S(()=>{});function t0(e){let t=e.CENTERS.permutation[0],r=e.CENTERS.permutation[5],n=e.CENTERS.permutation[1],o=n;return t<n&&o--,r<n&&o--,[t,o]}var J1,xi=S(()=>{he();At();At();J1=new Array(6).fill(0).map(()=>new Array(6));{let e=new Je(ue),t=[\\\"\\\",\\\"z\\\",\\\"x\\\",\\\"z'\\\",\\\"x'\\\",\\\"x2\\\"].map(n=>z.fromString(n)),r=new z(\\\"y\\\");for(let n of t){e.reset(),e.applyAlg(n);for(let o=0;o<4;o++){e.applyAlg(r);let[l,i]=t0(e.state);J1[l][i]=_t(ue,e.state)}}}});var Si=S(()=>{e0();xi()});var n0=S(()=>{});var o0=S(()=>{Si();n0();xi();Si()});var l0=S(()=>{o0();bi();Wn()});var At=S(()=>{yi();Ya();Wn();Ja();$a();bi();l0();yi()});var i0=S(()=>{});function ag(e){switch(e){case v.Regular:return $1;case v.Dim:return lg;case v.Ignored:return eg;case v.OrientationStickers:return tg;case v.Invisible:return rg;case v.IgnoreNonPrimary:return ng;case v.PermuteNonPrimary:return og;case v.Ignoriented:return ig;case v.OrientationWithoutPermutation:return sg}}var v,Vr,Ut,Ge,Hr,Ko,Dr,$1,eg,tg,rg,ng,og,lg,ig,sg,Qn,qn,jn=S(()=>{he();he();At();(function(a){a.Regular=\\\"Regular\\\",a.Dim=\\\"Dim\\\",a.Ignored=\\\"Ignored\\\",a.OrientationStickers=\\\"OrientationStickers\\\",a.Invisible=\\\"Invisible\\\",a.Ignoriented=\\\"Ignoriented\\\",a.IgnoreNonPrimary=\\\"IgnoreNonPrimary\\\",a.PermuteNonPrimary=\\\"PermuteNonPrimary\\\",a.OrientationWithoutPermutation=\\\"OrientationWithoutPermutation\\\"})(v||(v={}));Vr=class{constructor(t,r){this.stickerings=new Map;for(let[n,o]of Object.entries(t.orbits))this.stickerings.set(n,new Array(o.numPieces).fill(r))}},Ut=\\\"regular\\\",Ge=\\\"ignored\\\",Hr=\\\"oriented\\\",Ko=\\\"invisible\\\",Dr=\\\"dim\\\",$1={facelets:[Ut,Ut,Ut,Ut,Ut]},eg={facelets:[Ge,Ge,Ge,Ge,Ge]},tg={facelets:[Hr,Hr,Hr,Hr,Hr]},rg={facelets:[Ko,Ko,Ko,Ko]},ng={facelets:[Ut,Ge,Ge,Ge,Ge]},og={facelets:[Dr,Ut,Ut,Ut,Ut]},lg={facelets:[Dr,Dr,Dr,Dr,Dr]},ig={facelets:[Dr,Ge,Ge,Ge,Ge]},sg={facelets:[Hr,Ge,Ge,Ge,Ge]};Qn=class extends Vr{constructor(t){super(t,v.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(ag(i))}return t}},qn=class{constructor(t){this.def=t}and(t){let r=new Vr(this.def,!1);for(let[n,o]of Object.entries(this.def.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 Vr(this.def,!1);for(let[n,o]of Object.entries(this.def.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 Vr(this.def,!1);for(let[n,o]of Object.entries(this.def.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=jo(this.def,lt(t,d)?t:d.fromString(t)),n=new Vr(this.def,!1);for(let[o,l]of Object.entries(this.def.orbits))for(let i=0;i<l.numPieces;i++)(r[o].permutation[i]!==i||r[o].orientation[i]!==0)&&(n.stickerings.get(o)[i]=!0);return n}moves(t){return t.map(r=>this.move(r))}}});function ug(e){(()=>h(this,null,function*(){s0=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((()=>h(this,null,function*(){let o=yield n.experimentalModel.stickeringProp.get();n.experimentalStickering=o===\\\"experimental-global-custom-1\\\"?\\\"experimental-global-custom-2\\\":\\\"experimental-global-custom-1\\\"}))());yield Promise.all(r),console.log(\\\"Success!\\\")}))()}function a0(e,t){s0(e,t)}var s0,u0=S(()=>{jn();s0=()=>{};globalThis.location&&new URL(location.href).searchParams.get(\\\"global-custom-stickerer\\\")===\\\"true\\\"&&(window.setGlobalCustomStickerer=ug,window.PieceStickering=v,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\\\"))});function Rt(e,t){return h(this,null,function*(){let r=yield e.def(),n=new Qn(r),o=new qn(r),l=()=>o.move(\\\"U\\\"),i=()=>o.or(o.moves([\\\"U\\\",\\\"D\\\"])),s=()=>o.not(i()),u=()=>o.or(o.moves([\\\"L\\\",\\\"R\\\"])),a=()=>o.not(u()),f=()=>o.or(o.moves([\\\"F\\\",\\\"B\\\"])),g=()=>o.not(f()),c=()=>o.not(l()),m=()=>o.and([l(),a(),g()]),L=()=>o.and([o.and(o.moves([\\\"F\\\",\\\"R\\\"])),o.not(i())]),p=()=>o.and(o.moves([\\\"D\\\",\\\"R\\\",\\\"F\\\"])),F=()=>o.or([p(),L()]),y=()=>o.or([o.and([a(),s()]),o.and([a(),g()]),o.and([s(),g()])]),x=()=>o.or([o.and([a(),i(),f()]),o.and([s(),u(),f()]),o.and([g(),i(),u()])]),B=()=>o.not(o.or([y(),x()])),P=()=>o.or([a(),o.and([l(),x()])]);function k(){n.set(c(),v.Dim)}function K(){n.set(l(),v.PermuteNonPrimary),n.set(m(),v.Dim)}function te(){n.set(l(),v.IgnoreNonPrimary),n.set(m(),v.Regular)}function N(){n.set(l(),v.Ignoriented),n.set(m(),v.Dim)}switch(t){case\\\"full\\\":break;case\\\"PLL\\\":k(),K();break;case\\\"CLS\\\":k(),n.set(o.and(o.moves([\\\"D\\\",\\\"R\\\",\\\"F\\\"])),v.Regular),n.set(l(),v.Ignoriented),n.set(o.and([l(),B()]),v.IgnoreNonPrimary);break;case\\\"OLL\\\":k(),te();break;case\\\"COLL\\\":k(),K(),n.set(o.and([l(),B()]),v.Regular);break;case\\\"OCLL\\\":k(),N(),n.set(o.and([l(),B()]),v.IgnoreNonPrimary);break;case\\\"CLL\\\":k(),n.set(o.not(o.and([B(),l()])),v.Dim);break;case\\\"ELL\\\":k(),n.set(l(),v.Dim),n.set(o.and([l(),x()]),v.Regular);break;case\\\"ELS\\\":k(),te(),n.set(o.and([l(),B()]),v.Ignored),n.set(L(),v.Regular),n.set(p(),v.Ignored);break;case\\\"LL\\\":k();break;case\\\"F2L\\\":n.set(l(),v.Ignored);break;case\\\"ZBLL\\\":k(),n.set(l(),v.PermuteNonPrimary),n.set(m(),v.Dim),n.set(o.and([l(),B()]),v.Regular);break;case\\\"ZBLS\\\":k(),n.set(F(),v.Regular),te(),n.set(o.and([l(),B()]),v.Ignored);break;case\\\"WVLS\\\":case\\\"VLS\\\":k(),n.set(F(),v.Regular),te();break;case\\\"LS\\\":k(),n.set(F(),v.Regular),n.set(l(),v.Ignored),n.set(m(),v.Dim);break;case\\\"EO\\\":n.set(B(),v.Ignored),n.set(x(),v.OrientationWithoutPermutation);break;case\\\"EOline\\\":n.set(B(),v.Ignored),n.set(x(),v.OrientationWithoutPermutation),n.set(o.and(o.moves([\\\"D\\\",\\\"M\\\"])),v.Regular);break;case\\\"EOcross\\\":n.set(x(),v.OrientationWithoutPermutation),n.set(o.move(\\\"D\\\"),v.Regular),n.set(B(),v.Ignored);break;case\\\"CMLL\\\":n.set(c(),v.Dim),n.set(P(),v.Ignored),n.set(o.and([l(),B()]),v.Regular);break;case\\\"L6E\\\":n.set(o.not(P()),v.Dim);break;case\\\"L6EO\\\":n.set(o.not(P()),v.Dim),n.set(P(),v.OrientationWithoutPermutation),n.set(o.and([y(),i()]),v.OrientationStickers);break;case\\\"Daisy\\\":n.set(o.all(),v.Ignored),n.set(y(),v.Dim),n.set(o.and([o.move(\\\"D\\\"),y()]),v.Regular),n.set(o.and([o.move(\\\"U\\\"),x()]),v.IgnoreNonPrimary);break;case\\\"Cross\\\":n.set(o.all(),v.Ignored),n.set(y(),v.Dim),n.set(o.and([o.move(\\\"D\\\"),y()]),v.Regular),n.set(o.and([o.move(\\\"D\\\"),x()]),v.Regular);break;case\\\"2x2x2\\\":n.set(o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),v.Ignored),n.set(o.and([o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),y()]),v.Dim);break;case\\\"2x2x3\\\":n.set(o.all(),v.Dim),n.set(o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),v.Ignored),n.set(o.and([o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),y()]),v.Dim),n.set(o.and([o.move(\\\"F\\\"),o.not(o.or(o.moves([\\\"U\\\",\\\"R\\\"])))]),v.Regular);break;case\\\"Void Cube\\\":n.set(y(),v.Invisible);break;case\\\"picture\\\":case\\\"invisible\\\":n.set(o.all(),v.Invisible);break;case\\\"centers-only\\\":n.set(o.not(y()),v.Ignored);break;case\\\"experimental-global-custom-1\\\":case\\\"experimental-global-custom-2\\\":a0(n,o);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),v.Dim)}return n.toAppearance()})}function Yr(){return h(this,null,function*(){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\\\",\\\"experimental-global-custom-1\\\",\\\"experimental-global-custom-2\\\"]})}var Zr=S(()=>{jn();u0()});var Kn,f0=S(()=>{Kn=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 s=0;s<l;s++)if(n[l]===n[s])return!1;let i=!1;for(let s=0;s<o.length;s++)if(n[l]===o[s]){i=!0;break}if(!i)return!1}return!0}catch(n){return!1}}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 Xr,g0=S(()=>{Xr=class{notationToInternal(t){return t}notationToExternal(t){return t}}});var Vo,c0=S(()=>{he();Vo=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 d(new G(\\\"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 d(new G(\\\"T\\\",t.innerLayer,t.outerLayer),t.amount):this.child.notationToExternal(t)}}});var Vn,m0=S(()=>{he();Vn=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 d(new G(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 Ho,p0=S(()=>{he();Ho=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 d(new G(\\\"L\\\",3,2),-2*t.amount);if(t.family===\\\"R--\\\")return new d(new G(\\\"L\\\",3,2),2*t.amount);if(t.family===\\\"D++\\\")return new d(new G(\\\"U\\\",3,2),-2*t.amount);if(t.family===\\\"D--\\\")return new d(new G(\\\"U\\\",3,2),2*t.amount);if(t.family===\\\"R_PLUSPLUS_\\\")return new d(new G(\\\"L\\\",3,2),-2*t.amount);if(t.family===\\\"D_PLUSPLUS_\\\")return new d(new G(\\\"U\\\",3,2),-2*t.amount)}if(t.family===\\\"y\\\")return new d(\\\"Uv\\\",t.amount)}return this.child.notationToInternal(t)}notationToExternal(t){return t.family===\\\"Uv\\\"?new d(new G(\\\"y\\\",t.innerLayer,t.outerLayer),t.amount):t.family===\\\"Dv\\\"?new d(\\\"y\\\",-t.amount):this.child.notationToExternal(t)}}});var Yo,d0=S(()=>{he();Yo=class{constructor(t){this.slices=t}notationToInternal(t){let r=t.family;return!t.innerLayer&&!t.outerLayer&&(r===\\\"x\\\"?t=new d(\\\"Rv\\\",t.amount):r===\\\"y\\\"?t=new d(\\\"Uv\\\",t.amount):r===\\\"z\\\"&&(t=new d(\\\"Fv\\\",t.amount)),(this.slices&1)==1&&(r===\\\"E\\\"?t=new d(new G(\\\"D\\\",(this.slices+1)/2),t.amount):r===\\\"M\\\"?t=new d(new G(\\\"L\\\",(this.slices+1)/2),t.amount):r===\\\"S\\\"&&(t=new d(new G(\\\"F\\\",(this.slices+1)/2),t.amount))),this.slices>2&&(r===\\\"e\\\"?t=new d(new G(\\\"D\\\",this.slices-1,2),t.amount):r===\\\"m\\\"?t=new d(new G(\\\"L\\\",this.slices-1,2),t.amount):r===\\\"s\\\"&&(t=new d(new G(\\\"F\\\",this.slices-1,2),t.amount)))),t}notationToExternal(t){let r=t.family;if(!t.innerLayer&&!t.outerLayer){if(r===\\\"Rv\\\")return new d(\\\"x\\\",t.amount);if(r===\\\"Uv\\\")return new d(\\\"y\\\",t.amount);if(r===\\\"Fv\\\")return new d(\\\"z\\\",t.amount);if(r===\\\"Lv\\\")return new d(\\\"x\\\",-t.amount);if(r===\\\"Dv\\\")return new d(\\\"y\\\",-t.amount);if(r===\\\"Bv\\\")return new d(\\\"z\\\",-t.amount)}return t}}});var fg,gg,L0,h0,A0,Hn,Zo,R0=S(()=>{he();fg={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\\\"},gg={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\\\"},L0={U:\\\"FRL\\\",L:\\\"FLD\\\",R:\\\"FDR\\\",B:\\\"DLR\\\"},h0=new G(\\\"y\\\"),A0=new G(\\\"Dv\\\"),Hn=class{constructor(t){this.child=t;this.wcaHack=!1;this.map=fg}notationToInternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){let n=L0[t.family];if(n)return new d(new G(n,t.innerLayer,t.outerLayer),t.amount)}let r=this.map[t.family];return r?new d(new G(r,t.innerLayer,t.outerLayer),t.amount):h0.isIdentical(t.quantum)?new d(A0,-t.amount):null}notationToExternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){for(let[r,n]of Object.entries(L0))if(this.child.spinmatch(t.family,n))return new d(new G(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 d(new G(r,t.innerLayer,t.outerLayer),t.amount);return A0.isIdentical(t.quantum)?new d(h0,-t.amount):null}},Zo=class extends Hn{constructor(t){super(t);this.map=gg}}});var D0,F0,y0,B0,b0,x0,S0,Xo,v0=S(()=>{he();D0={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\\\"},F0=new G(\\\"x\\\"),y0=new G(\\\"Rv\\\"),B0=new G(\\\"y\\\"),b0=new G(\\\"Uv\\\"),x0=new G(\\\"z\\\"),S0=new G(\\\"Fv\\\"),Xo=class{constructor(t){this.child=t}notationToInternal(t){if(t.innerLayer||t.outerLayer)return null;let r=D0[t.family];return r?new d(new G(r,t.outerLayer,t.innerLayer),t.amount):F0.isIdentical(t.quantum)?new d(y0,t.amount):B0.isIdentical(t.quantum)?new d(b0,t.amount):x0.isIdentical(t.quantum)?new d(S0,t.amount):null}notationToExternal(t){for(let[r,n]of Object.entries(D0))if(this.child.spinmatch(t.family,n))return new d(new G(r,t.innerLayer,t.outerLayer),t.amount);return y0.isIdentical(t.quantum)?new d(F0,t.amount):b0.isIdentical(t.quantum)?new d(B0,t.amount):S0.isIdentical(t.quantum)?new d(x0,t.amount):null}}});var vi=S(()=>{g0();c0();m0();p0();d0();R0();v0()});function w0(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:Yn(e.slice(t).join(\\\" \\\")),options:r}}var wi,Ui=S(()=>{Ei();wi=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 Jt(e){if(!ki[e]){let t=Array(e);for(let r=0;r<e;r++)t[r]=0;ki[e]=t}return ki[e]}function Et(e){if(!zi[e]){let t=Array(e);for(let r=0;r<e;r++)t[r]=r;zi[e]=t}return zi[e]}function U0(e){return new ft(Et(e))}function E0(e){let t=1;for(;e>1;)t*=e,e--;return t}function cg(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 Ci(e,t){return e/cg(e,t)*t}var ki,zi,ft,Jo=S(()=>{ki=[],zi=[];ft=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 ft(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 ft(r)}inv(){let t=Array(this.n);for(let r=0;r<this.n;r++)t[this.p[r]]=r;return new ft(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=Ci(t,o)}return t}}});function Pi(e,t){let r=d.fromString(t),n=e.notationToExternal(r);return n===null||r===n?t:n.toString()}function k0(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 s=e.moveops[i];n.push(s.order());let u=0;for(let a=0;a<r;a++){if(a===i)continue;let f=e.moveops[a];s.mul(f).equal(f.mul(s))&&(u|=1<<a)}o.push(u)}let l={};l[0]=1;for(let i=0;i<100;i++){let s=0,u={},a=0;for(let f in l){let g=+f,c=l[g];s+=c,a++;for(let m=0;m<n.length;m++)if((g>>m&1)==0&&(g&o[m]&(1<<m)-1)==0){let L=g&o[m]|1<<m;u[L]===void 0&&(u[L]=0),u[L]+=(n[m]-1)*c}}t(`${i}: canonseq ${s} states ${a}`),l=u}}var Zn,Jr,Dt,Ot,Mi,$t,$r,Ii,z0=S(()=>{he();vi();Jo();Zn=class{constructor(t,r){this.size=t;this.mod=r}reassemblySize(){return E0(this.size)*Math.pow(this.mod,this.size)}};Jr=class{constructor(t,r,n,o,l){this.orbitnames=t;this.orbitdefs=r;this.solved=n;this.movenames=o;this.moveops=l}transformToKPuzzle(t){let r={};for(let n=0;n<this.orbitnames.length;n++)r[this.orbitnames[n]]=t.orbits[n].toKPuzzle();return r}static transformToKPuzzle(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 Xr){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=Pi(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 s=0;s<this.orbitnames.length;s++)i?this.moveops[o].orbits[s].inv().appendDefinition(n,this.orbitnames[s],!0):this.moveops[o].orbits[s].appendDefinition(n,this.orbitnames[s],!0);n.push(\\\"End\\\")}return n}toKPuzzle(t){let r={},n={};for(let l=0;l<this.orbitnames.length;l++)r[this.orbitnames[l]]={numPieces:this.orbitdefs[l].size,orientations:this.orbitdefs[l].mod},n[this.orbitnames[l]]=this.solved.orbits[l].toKPuzzle();let o={};if(t)for(let l=0;l<this.movenames.length;l++)o[this.movenames[l]]=this.transformToKPuzzle(this.moveops[l]);return{name:\\\"PG3D\\\",orbits:r,startPieces: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,s=this.orbitdefs[l].size,u=new Ii(s),a=new Array(this.orbitdefs[l].size);for(let m=0;m<s;m++)a[m]=!1;for(let m=0;m<this.moveops.length;m++)for(let L=0;L<s;L++)(this.moveops[m].orbits[l].perm[L]!==L||this.moveops[m].orbits[l].ori[L]!==0)&&(a[L]=!0,u.union(L,this.moveops[m].orbits[l].perm[L]));let f=!0;if(i>1){f=!1;let m=new Ii(this.orbitdefs[l].size*i);for(let L=0;L<this.moveops.length;L++)for(let p=0;p<s;p++)if(this.moveops[L].orbits[l].perm[p]!==p||this.moveops[L].orbits[l].ori[p]!==0)for(let F=0;F<i;F++)m.union(p*i+F,this.moveops[L].orbits[l].perm[p]*i+(F+this.moveops[L].orbits[l].ori[p])%i);for(let L=0;!f&&L<s;L++)for(let p=1;p<i;p++)m.find(L*i)===m.find(L*i+p)&&(f=!0);for(let L=0;!f&&L<s;L++)for(let p=0;p<L;p++)this.solved.orbits[l].perm[L]===this.solved.orbits[l].perm[p]&&(f=!0)}let g=-1,c=!1;for(let m=0;m<this.orbitdefs[l].size;m++)if(a[m]){let L=u.find(m);g<0?g=L:g!==L&&(c=!0)}for(let m=0;m<this.orbitdefs[l].size;m++){if(!a[m]||u.find(m)!==m)continue;let p=[],F=[],y=0;for(let x=0;x<this.orbitdefs[l].size;x++)u.find(x)===m&&(p[y]=x,F[x]=y,y++);if(c?t.push(`${this.orbitnames[l]}_p${m}`):t.push(this.orbitnames[l]),f){r.push(new Zn(y,this.orbitdefs[l].mod)),n.push(this.solved.orbits[l].remapVS(p,y));for(let x=0;x<this.moveops.length;x++)o[x].push(this.moveops[x].orbits[l].remap(p,F,y))}else{r.push(new Zn(y,1)),n.push(this.solved.orbits[l].remapVS(p,y).killOri());for(let x=0;x<this.moveops.length;x++)o[x].push(this.moveops[x].orbits[l].remap(p,F,y).killOri())}}}return new Jr(t,r,new $r(n),this.movenames,o.map(l=>new $t(l)))}scramble(t){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),s=Math.floor(Math.random()*this.moveops.length);r[l]=r[l].mul(r[i]).mul(this.moveops[s]),Math.random()<.1&&(r[l]=r[l].mul(this.moveops[s]))}let n=r[0];for(let o=1;o<r.length;o++)n=n.mul(r[o]);this.solved=this.solved.mul(n)}reassemblySize(){let t=1;for(let r=0;r<this.orbitdefs.length;r++)t*=this.orbitdefs[r].reassemblySize();return t}},Dt=class{constructor(t,r,n){this.perm=t;this.ori=r;this.orimod=n}static e(t,r){return new Dt(Et(t),Jt(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 Dt(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 Dt(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 Dt(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 ft(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 ft(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 s=o+1;s<r;s++)this.perm[s]===l&&i.push(s);n.push(i)}}return n}order(){return this.toPerm().order()}isIdentity(){let t=this.perm.length;if(this.perm===Et(t)&&this.ori===Jt(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===Jt(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 Dt(o,l,this.orimod)}remapVS(t,r){let n=new Array(r),o=new Array(r),l=0,i=[];for(let s=0;s<r;s++){let u=this.perm[t[s]];i[u]===void 0&&(i[u]=l++),n[s]=i[u],o[s]=this.ori[t[s]]}return new Dt(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()?(Dt.kcache[t]||(Dt.kcache[t]={permutation:Et(t),orientation:Jt(t)}),Dt.kcache[t]):{permutation:this.perm,orientation:this.ori}}},Ot=Dt;Ot.kcache=[];Mi=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 ft(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(s=>s*o+r));r+=o*n.perm.length}return t}order(){let t=1;for(let r of this.orbits)t=Ci(t,r.order());return t}},$t=class extends Mi{constructor(t){super(t)}mul(t){return new $t(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 $t(this.internalInv())}e(){return new $t(this.orbits.map(t=>Ot.e(t.perm.length,t.orimod)))}},$r=class extends Mi{constructor(t){super(t)}mul(t){return new $r(this.internalMul(t))}},Ii=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 $o,C0=S(()=>{$o={\\\"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 el(e){let t=new W(0,0,0,0);for(let r=0;r<e.length;r++)t=t.sum(e[r]);return t.smul(1/e.length)}function P0(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 Fr,W,tl=S(()=>{Fr=1e-9;W=class{constructor(t,r,n,o){this.a=t;this.b=r;this.c=n;this.d=o}mul(t){return new W(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 W(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 W(this.a/t,this.b/t,this.c/t,this.d/t)}makenormal(){return new W(0,this.b,this.c,this.d).normalize()}normalizeplane(){let t=Math.hypot(this.b,this.c,this.d);return new W(this.a/t,this.b/t,this.c/t,this.d/t)}smul(t){return new W(this.a*t,this.b*t,this.c*t,this.d*t)}sum(t){return new W(this.a+t.a,this.b+t.b,this.c+t.c,this.d+t.d)}sub(t){return new W(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 W(this.a,-this.b,-this.c,-this.d)}det3x3(t,r,n,o,l,i,s,u,a){return t*(l*a-i*u)+r*(i*s-o*a)+n*(o*u-l*s)}rotateplane(t){let r=t.mul(new W(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 W(0,1,0,0)).normalize():r<t&&r<n?this.cross(new W(0,0,1,0)).normalize():this.cross(new W(0,0,0,1)).normalize()}pointrotation(t){let r=this.normalize();if(t=t.normalize(),r.sub(t).len()<Fr)return new W(1,0,0,0);let n=r.sum(t);n.len()<Fr?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)<Fr?!1:new W(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>Fr?1:t<-Fr?-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 s=[];for(let u=0;u<t.length;u++){(l[u]===i||l[u]===0)&&s.push(t[u]);let a=(u+1)%t.length;if(l[u]+l[a]===0&&l[u]!==0){let f=t[u].dot(this)-r,g=t[a].dot(this)-r,c=f/(f-g),m=t[u].smul(1-c).sum(t[a].smul(c));s.push(m)}}o.push(s)}}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)<Fr||r.dist(n.smul(-1))<Fr}makecut(t){return new W(t,this.b,this.c,this.d)}}});function M0(){let e=Math.sqrt(.5);return[new W(e,e,0,0),new W(e,0,e,0)]}function I0(){return[new W(.5,.5,.5,.5),new W(.5,.5,.5,-.5)]}function G0(){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 W(Math.cos(e),t*Math.sin(e),r*Math.sin(e),0),new W(.5,.5,.5,.5)]}function T0(){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 W(Math.cos(n),e*Math.sin(n),t*Math.sin(n),0),new W(Math.cos(n),-e*Math.sin(n),t*Math.sin(n),0)]}function N0(){let e=Math.sqrt(.5);return[new W(.5,.5,.5,.5),new W(e,0,0,e)]}function _0(e){let t=[new W(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 s=0;s<t.length;s++)if(o.dist(t[s])<rl||l.dist(t[s])<rl){i=!0;break}i||t.push(o)}return t}function Gi(e,t){let r=[],n=[];for(let o=0;o<t.length;o++){let l=e.rotateplane(t[o]),i=!1;for(let s=0;s<r.length;s++)if(l.dist(r[s])<rl){i=!0;break}i||(r.push(l),n.push(t[o]))}return n}function Ti(e){let t=[];for(let r=1;r<e.length;r++)for(let n=r+1;n<e.length;n++){let o=P0(0,r,n,e);if(o){let l=!1;for(let i=0;i<t.length;i++)if(o.dist(t[i])<rl){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 rl,O0=S(()=>{tl();rl=1e-9});function nl(e,t){let r=e[0].p.length,n=U0(r),o=[],l=[],i=[],s=[],u=[];function a(m){for(let L=m.p.length-1;L>=0;L--){let p=m.p[L];if(p!==L){if(!o[L][p])return!1;m=m.mul(l[L][p])}}return!0}function f(m,L,p){s[m].push(L),u[m].push(p);for(let F=0;F<o[m].length;F++)o[m][F]&&g(m,o[m][F].mul(L),p+i[m][F])}function g(m,L,p){let F=L.p[m];if(!o[m][F]){o[m][F]=L,l[m][F]=L.inv(),i[m][F]=p;for(let x=0;x<s[m].length;x++)g(m,L.mul(s[m][x]),p+u[m][x]);return}let y=L.mul(l[m][F]);a(y)||f(m-1,y,p+i[m][F])}function c(){o=[],l=[],s=[],i=[],u=[];for(let p=0;p<r;p++)o.push([]),l.push([]),i.push([]),s.push([]),u.push([]),o[p][p]=n,l[p][p]=n,i[p][p]=0;let m=0,L=1;for(let p=0;p<e.length;p++){f(r-1,e[p],1),L=1;let F=0,y=0,x=[],B=new W0;for(let P=0;P<r;P++){let k=0,K=0;for(let N=0;N<r;N++)o[P][N]&&(k++,K+=i[P][N],P!==N&&m++);F+=s[P].length,L*=k,k>1&&B.multiply(k);let te=K/k;x.push(te),y+=te}t(`${p}: sz ${L} T ${F} sol ${y} none ${m} mults ${B.toString()}`)}return L}return c()}var W0,Ni=S(()=>{Jo();W0=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 _i(e){return e}function Oi(e){}function mg(e,t){let r=[];for(let n of e)for(let o of t)r.push(o.rotate(n));return r}function Lg(){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 hg(){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 Ag(){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 Rg(){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 ol(e,t){for(let r=0;r<e.length;r++)if(e[r][0].dist(t)<Be)return r;throw new Error(\\\"Element not found\\\")}function Q0(){return $o}function q0(e){return $o[e]}function Yn(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 Wi(e,t={}){let r=Yn(e);if(r===null)throw new Error(\\\"Could not parse the puzzle description\\\");let n=new il(r,Object.assign({},{allMoves:!0},t));return n.allstickers(),n.genperms(),n}function er(e,t){return Wi($o[e],t)}function Dg(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 Fg(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 ll(e,t){return[e.b/t,-e.c/t,e.d/t]}function Qi(e,t){let r=[],n=e.length;for(let o=0;o<n;o++){let l=ll(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 en,Xn,Be,pg,dg,il,j0,Ei=S(()=>{he();f0();vi();Ui();Jo();z0();C0();O0();tl();Ni();en=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 W(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 W(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 en(r)}rotateforward(){let t=[];for(let r=1;r<this.length;r++)t.push(this.get(r));return t.push(this.get(0)),new en(t)}},Xn=class{constructor(t,r,n){this.face=t;this.left=r;this.right=n}split(t){var n,o;let r=t.cutface(this.face);return r!==null&&(this.left===void 0?(this.left=new Xn(r[0]),this.right=new Xn(r[1])):(this.left=(n=this.left)==null?void 0:n.split(t),this.right=(o=this.right)==null?void 0:o.split(t))),this}collect(t,r){var n,o,l,i;return this.left===void 0?t.push(new en(this.face)):r?((n=this.left)==null||n.collect(t,!1),(o=this.right)==null||o.collect(t,!0)):((l=this.right)==null||l.collect(t,!1),(i=this.left)==null||i.collect(t,!0)),t}};Be=1e-9,pg=\\\"PuzzleGeometry 0.1 Copyright 2018 Tomas Rokicki.\\\",dg=!1;il=class{constructor(t,r){this.cmovesbyslice=[];this.duplicatedFaces=[];this.duplicatedCubies=[];this.fixedCubie=-1;this.net=[];this.colors=[];this.faceorder=[];this.faceprecedence=[];this.notationMapper=new Xr;this.addNotationMapper=\\\"\\\";this.setReidOrder=!1;let n=_i(\\\"genperms\\\");this.options=new wi(r),this.options.verbosity>0&&console.log(this.header(\\\"# \\\")),this.create(t),Oi(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=M0();break;case\\\"o\\\":o=N0();break;case\\\"i\\\":o=T0();break;case\\\"t\\\":o=I0();break;case\\\"d\\\":o=G0();break;default:throw new Error(\\\"Bad shape argument: \\\"+r)}this.rotations=_0(o),this.options.verbosity&&console.log(\\\"# Rotations: \\\"+this.rotations.length);let l=o[0];this.baseplanerot=Gi(l,this.rotations);let i=this.baseplanerot.map(D=>l.rotateplane(D));this.baseplanes=i,this.baseFaceCount=i.length;let s=Lg()[i.length];this.net=s,this.colors=hg()[i.length],this.faceorder=Ag()[i.length],this.options.verbosity>0&&console.log(\\\"# Base planes: \\\"+i.length);let u=Ti(i),a=new W(0,0,0,0);this.options.verbosity>0&&console.log(\\\"# Face vertices: \\\"+u.length);let f=i[0].makenormal(),g=u[0].sum(u[1]).makenormal(),c=u[0].makenormal(),m=new W(1,f.b,f.c,f.d);this.options.verbosity>0&&console.log(\\\"# Boundary is \\\"+m);let p=Gi(m,this.rotations).map(D=>m.rotateplane(D)),F=Ti(p);this.edgedistance=F[0].sum(F[1]).smul(.5).dist(a),this.vertexdistance=F[0].dist(a);let y=[],x=[],B=!1,P=!1,k=!1;for(let D of n){let E=null,_=0;switch(D.cutType){case\\\"f\\\":E=f,_=1,B=!0;break;case\\\"v\\\":E=c,_=this.vertexdistance,k=!0;break;case\\\"e\\\":E=g,_=this.edgedistance,P=!0;break;default:throw new Error(\\\"Bad cut argument: \\\"+D.cutType)}y.push(E.makecut(D.distance)),x.push(D.distance<_)}this.options.addRotations&&(B||y.push(f.makecut(10)),k||y.push(c.makecut(10)),P||y.push(g.makecut(10))),this.basefaces=[];for(let D of this.baseplanerot){let E=D.rotateface(F);this.basefaces.push(new en(E))}let K=[],te=[],N=[],re=[],b=F.length;function C(D,E,_){for(let Q of D)if(Q[0].dist(E)<Be){Q.push(_);return}D.push([E,_])}for(let D=0;D<this.baseplanerot.length;D++){let E=this.baseplanerot[D].rotateface(F);for(let _=0;_<E.length;_++){let Q=(_+1)%E.length,ne=E[_].sum(E[Q]).smul(.5);C(re,ne,D)}}let I=[];for(let D=0;D<this.baseplanerot.length;D++){let E=this.baseplanerot[D].rotateface(F),_=[];for(let Q=0;Q<E.length;Q++){let ne=(Q+1)%E.length,_e=E[Q].sum(E[ne]).smul(.5),nt=re[ol(re,_e)];if(D===nt[1])_.push(nt[2]);else if(D===nt[2])_.push(nt[1]);else throw new Error(\\\"Could not find edge\\\")}I.push(_)}let w={},U=[];U.push(s[0][0]),w[s[0][0]]=0,U[I[0][0]]=s[0][1],w[s[0][1]]=I[0][0];for(let D of s){let E=D[0],_=w[E];if(_===void 0)throw new Error(\\\"Bad edge description; first edge not connected\\\");let Q=-1;for(let ne=0;ne<I[_].length;ne++){let _e=U[I[_][ne]];if(_e!==void 0&&_e===D[1]){Q=ne;break}}if(Q<0)throw new Error(\\\"First element of a net not known\\\");for(let ne=2;ne<D.length;ne++){if(D[ne]===\\\"\\\")continue;let _e=I[_][(ne+Q-1)%b],nt=U[_e];if(nt!==void 0&&nt!==D[ne])throw new Error(\\\"Face mismatch in net\\\");U[_e]=D[ne],w[D[ne]]=_e}}for(let D=0;D<U.length;D++){let E=!1;for(let _=0;_<this.faceorder.length;_++)if(U[D]===this.faceorder[_]){this.faceprecedence[D]=_,E=!0;break}if(!E)throw new Error(\\\"Could not find face \\\"+U[D]+\\\" in face order list \\\"+this.faceorder)}for(let D=0;D<this.baseplanerot.length;D++){let E=this.baseplanerot[D].rotateface(F),_=m.rotateplane(this.baseplanerot[D]),Q=U[D];K.push([E,Q]),te.push([_,Q])}for(let D=0;D<this.baseplanerot.length;D++){let E=this.baseplanerot[D].rotateface(F),_=U[D];for(let Q=0;Q<E.length;Q++){let ne=(Q+1)%E.length,_e=E[Q].sum(E[ne]).smul(.5),nt=(Q+2)%E.length,h1=E[ne].sum(E[nt]).smul(.5),A1=ol(re,_e),R1=ol(re,h1);C(N,E[ne],[_,R1,A1])}}this.swizzler=new Kn(K.map(D=>D[1]));let M=this.swizzler.prefixFree?\\\"\\\":\\\"_\\\";for(let D=0;D<re.length;D++){if(re[D].length!==3)throw new Error(\\\"Bad length in edge names \\\"+re[D]);let E=U[re[D][1]],_=U[re[D][2]];this.faceprecedence[re[D][1]]<this.faceprecedence[re[D][2]]?E=E+M+_:E=_+M+E,re[D]=[re[D][0],E]}for(let D=0;D<N.length;D++){if(N[D].length<4)throw new Error(\\\"Bad length in vertex names\\\");let E=1;for(let Q=2;Q<N[D].length;Q++)this.faceprecedence[w[N[D][Q][0]]]<this.faceprecedence[w[N[D][E][0]]]&&(E=Q);let _=\\\"\\\";for(let Q=1;Q<N[D].length;Q++){Q===1?_=N[D][E][0]:_=_+M+N[D][E][0];for(let ne=1;ne<N[D].length;ne++)if(N[D][E][1]===N[D][ne][2]){E=ne;break}}N[D]=[N[D][0],_]}this.options.verbosity>1&&(console.log(\\\"# Face precedence list: \\\"+this.faceorder.join(\\\" \\\")),console.log(\\\"# Face names: \\\"+K.map(D=>D[1]).join(\\\" \\\")),console.log(\\\"# Edge names: \\\"+re.map(D=>D[1]).join(\\\" \\\")),console.log(\\\"# Vertex names: \\\"+N.map(D=>D[1]).join(\\\" \\\")));let q=[];for(let D of te)q.push([D[0].makenormal(),D[1],\\\"f\\\"]);for(let D of re)q.push([D[0].makenormal(),D[1],\\\"e\\\"]);for(let D of N)q.push([D[0].makenormal(),D[1],\\\"v\\\"]);this.facenames=K,this.faceplanes=te,this.edgenames=re,this.vertexnames=N,this.geonormals=q;let Y=q.map(D=>D[1]);this.swizzler.setGripNames(Y),this.options.verbosity>0&&console.log(\\\"# Distances: face \\\"+1+\\\" edge \\\"+this.edgedistance+\\\" vertex \\\"+this.vertexdistance);for(let D=0;D<y.length;D++)for(let E of this.rotations){let _=y[D].rotateplane(E),Q=!1;for(let ne of this.moveplanes)if(_.sameplane(ne)){Q=!0;break}Q||(this.moveplanes.push(_),x[D]&&this.moveplanes2.push(_))}let ce=new Xn(F),pe=this.moveplanes2.slice(),Fe=31;for(let D=0;D<pe.length;D++){let E=D+Math.floor((pe.length-D)*(Fe/65536));ce=ce.split(pe[E]),pe[E]=pe[D],Fe=(Fe*1657+101)%65536}let ye=ce.collect([],!0);this.faces=ye,this.options.verbosity>0&&console.log(\\\"# Faces is now \\\"+ye.length),this.stickersperface=ye.length;let wt=[],Ee=el(F);for(let D of this.rotations){let E=D.rotateface(F);Ee.dist(el(E))<Be&&wt.push(D)}let He=new Array(ye.length),xe=[];for(let D=0;D<ye.length;D++){let E=ye[D].centermass();xe.push([Ee.dist(E),E,D])}xe.sort((D,E)=>D[0]-E[0]);for(let D=0;D<ye.length;D++){let E=xe[D][2];if(!He[E]){He[E]=!0;for(let _ of wt){let Q=ye[E].rotate(_),ne=Q.centermass();for(let _e=D+1;_e<ye.length&&!(xe[_e][0]-xe[D][0]>Be);_e++){let nt=xe[_e][2];if(!He[nt]&&ne.dist(xe[_e][1])<Be){He[nt]=!0,ye[nt]=Q;break}}}}}this.shortedge=1e99;for(let D of ye)for(let E=0;E<D.length;E++){let _=(E+1)%D.length,Q=D.get(E).dist(D.get(_));Q<this.shortedge&&(this.shortedge=Q)}this.options.verbosity>0&&console.log(\\\"# Short edge is \\\"+this.shortedge),r===\\\"c\\\"&&B&&!P&&!k&&(this.addNotationMapper=\\\"NxNxNCubeMapper\\\",this.setReidOrder=!0),r===\\\"c\\\"&&k&&!B&&!P&&(this.addNotationMapper=\\\"SkewbMapper\\\"),r===\\\"t\\\"&&(k||B)&&!P&&(this.addNotationMapper=\\\"PyraminxOrTetraminxMapper\\\"),r===\\\"o\\\"&&B&&(this.notationMapper=new Vn(this.swizzler,new Kn([\\\"F\\\",\\\"D\\\",\\\"L\\\",\\\"BL\\\",\\\"R\\\",\\\"U\\\",\\\"BR\\\",\\\"B\\\"])),!P&&!k&&(this.addNotationMapper=\\\"FTOMapper\\\")),r===\\\"d\\\"&&B&&(this.addNotationMapper=\\\"MegaminxMapper\\\",this.notationMapper=new Vn(this.swizzler,new Kn([\\\"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,s=1;for(;s*2<=o.length;)s*=2;for(;s>0;s>>=1)i+s<=o.length&&l>o[i+s-1].a&&(i+=s);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,s=1;for(;s*2<=o.length;)s*=2;for(;s>0;s>>=1)i+s<=o.length&&l>o[i+s-1].a&&(i+=s);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]))<Be)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],s=o[l].sub(o[r]),u=s.len();s=s.normalize();let a=s.cross(i).normalize(),f=n[1].sub(n[0]),g=f.len()/u;f=f.normalize();let c=f.b,m=f.c,L=s.smul(c).sub(a.smul(m)).smul(g),p=a.smul(c).sum(s.smul(m)).smul(g),F=new W(0,n[0].b-L.dot(o[r]),n[0].c-p.dot(o[r]),0);return[L,p,F]}allstickers(){let t=_i(\\\"allstickers\\\");this.faces=mg(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 C=b.makenormal(),I=!1;for(let w of n)C.sameplane(w.makenormal())&&(I=!0);I||(n.push(C),r.push([]))}for(let b of this.moveplanes2){let C=b.makenormal();for(let I=0;I<n.length;I++)if(C.sameplane(n[I])){r[I].push(b);break}}for(let b=0;b<r.length;b++){let C=r[b].map(w=>w.normalizeplane()),I=n[b];for(let w=0;w<C.length;w++)C[w].makenormal().dist(I)>Be&&(C[w]=C[w].smul(-1));C.sort((w,U)=>w.a-U.a),r[b]=C}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)<Be)continue;let C=b.makenormal();for(let I=0;I<r.length;I++)if(C.sameplane(n[I])){l[I].push(b);break}}this.moverotations=l;for(let b=0;b<l.length;b++){let C=l[b],I=C[0].makenormal();for(let w=0;w<C.length;w++)I.dist(C[w].makenormal())>Be&&(C[w]=C[w].smul(-1));C.sort((w,U)=>w.angle()-U.angle()),l[b][0].dot(n[b])<0&&C.reverse()}let i=l.map(b=>1+b.length);this.movesetorders=i;let s=[],u=\\\"?\\\";for(let b=0;b<r.length;b++){let C=n[b],I=null,w=null;for(let U of this.geonormals){let M=C.dot(U[0]);Math.abs(M-1)<Be?(w=[U[1],U[2]],u=U[2]):Math.abs(M+1)<Be&&(I=[U[1],U[2]],u=U[2])}if(w===null||I===null)throw new Error(\\\"Saw positive or negative sides as null\\\");s.push([w[0],w[1],I[0],I[1],1+r[b].length]),this.addNotationMapper===\\\"NxNxNCubeMapper\\\"&&u===\\\"f\\\"&&(this.notationMapper=new Yo(1+r[b].length),this.addNotationMapper=\\\"\\\"),this.addNotationMapper===\\\"SkewbMapper\\\"&&r[0].length===1&&(this.notationMapper=new Xo(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 Hn(this.swizzler),this.addNotationMapper=\\\"\\\"):(this.notationMapper=new Zo(this.swizzler),this.addNotationMapper=\\\"\\\")),this.addNotationMapper===\\\"MegaminxMapper\\\"&&u===\\\"f\\\"&&(1+r[b].length===3&&(this.notationMapper=new Ho(this.notationMapper)),this.addNotationMapper=\\\"\\\"),this.addNotationMapper===\\\"FTOMapper\\\"&&u===\\\"f\\\"&&(1+r[b].length===3&&(this.notationMapper=new Vo(this.notationMapper,this.swizzler)),this.addNotationMapper=\\\"\\\")}this.movesetgeos=s;let a=new Map,f=this.faces;for(let b=0;b<f.length;b++){let C=f[b],I=this.keyface(C);if(!a.get(I))a.set(I,[b]);else{let w=a.get(I);if(w.push(b),w.length===this.baseFaceCount){this.options.verbosity>0&&console.log(\\\"# Splitting core.\\\");for(let U=0;U<w.length;U++){let M=I+\\\" \\\"+U;a.set(M,[w[U]])}}}}this.facelisthash=a,this.options.verbosity>0&&console.log(\\\"# Cubies: \\\"+a.size);let g=[],c=[],m=[];for(let b of a.values())if(b.length!==this.baseFaceCount){if(b.length>1){let C=b.map(M=>f[M].centermass()),I=el(C);for(let M=0;b.length>2;M++){let q=!1;for(let Y=0;Y<b.length;Y++){let ce=(Y+1)%b.length;if(I.dot(C[Y].cross(C[ce]))<0){let pe=C[Y];C[Y]=C[ce],C[ce]=pe;let Fe=b[Y];b[Y]=b[ce],b[ce]=Fe,q=!0}}if(!q)break;if(M>1e3)throw new Error(\\\"Bad epsilon math; too close to border\\\")}let w=0,U=b[w];for(let M=1;M<b.length;M++){let q=b[M];this.faceprecedence[this.getfaceindex(q)]<this.faceprecedence[this.getfaceindex(U)]&&(w=M,U=q)}if(w!==0){let M=b.slice();for(let q=0;q<b.length;q++)b[q]=M[(w+q)%b.length]}}for(let C=0;C<b.length;C++){let I=b[C];c[I]=g.length,m[I]=C}g.push(b)}this.cubies=g,this.facetocubie=c,this.facetoord=m;let L=[\\\"?\\\",\\\"CENTERS\\\",\\\"EDGES\\\",\\\"CORNERS\\\",\\\"C4RNER\\\",\\\"C5RNER\\\"],p=[],F=[0,0,0,0,0,0],y=[],x=[],B=0,P=[],k=[],K=[],te=[],N=b=>g[b].map(C=>this.getfaceindex(C)).join(\\\" \\\"),re=[];for(let b=0;b<g.length;b++){if(x[b])continue;let C=g[b];if(C.length===0)continue;let I={},w=0;K.push(0),re.push([]);let U=C.length,M=F[U]++,q=L[U];(q===void 0||U===this.baseFaceCount)&&(q=\\\"CORE\\\"),q=q+(M===0?\\\"\\\":M+1),p[B]=q,y[B]=U;let Y=[b],ce=0;for(x[b]=!0;ce<Y.length;){let pe=Y[ce++],Fe=N(pe);if((C.length>1||I[Fe]===void 0)&&(I[Fe]=w++),te[pe]=I[Fe],P[pe]=B,re[B].push(pe),k[pe]=K[B]++,Y.length<this.rotations.length){let ye=this.facecentermass[g[pe][0]];for(let wt of l){let Ee=this.facetocubie[this.findface(ye.rotatepoint(wt[0]))];x[Ee]||(Y.push(Ee),x[Ee]=!0)}}}B++}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\\\"]],C={};for(let I of b)for(let w=0;w<I.length;w++){let U=0;for(let M=0;M<I[w].length;M++)U|=1<<I[w].charCodeAt(M)-65;C[U]=w}for(let I of re)for(let w of I){let U=0;for(let M of g[w])U|=1<<this.facenames[this.getfaceindex(M)][1].charCodeAt(0)-65;k[w]=C[U]}}if(this.cubiesetnums=P,this.cubieordnums=k,this.cubiesetnames=p,this.cubieords=K,this.orbitoris=y,this.cubievaluemap=te,this.cubiesetcubies=re,this.options.fixedPieceType!==null){for(let b=0;b<g.length;b++)if(this.options.fixedPieceType===\\\"v\\\"&&g[b].length>2||this.options.fixedPieceType===\\\"e\\\"&&g[b].length===2||this.options.fixedPieceType===\\\"f\\\"&&g[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 \\\"+K),Oi(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 s=\\\"1\\\",u=1;return n[5]!==void 0&&(s=n[5],s[0]===\\\"'\\\"&&(s=\\\"-\\\"+s.substring(1)),u=parseInt(s,10)),new d(new G(o,i,l),u)}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,s=this.swizzler.unswizzle(n),u=!1;for(let g=0;g<this.movesetgeos.length;g++){let c=this.movesetgeos[g];s===c[0]&&(u=!0,l=c,i=g),s===c[2]&&(u=!1,l=c,i=g)}let a=1,f=1;if(n.toUpperCase()!==n&&(f=2),l===void 0)throw new Error(\\\"Bad grip in move \\\"+t.family);if(t.outerLayer!==void 0&&(a=t.outerLayer),t.innerLayer!==void 0&&(t.outerLayer===void 0?(f=t.innerLayer,n<=\\\"Z\\\"?a=f:a=1):f=t.innerLayer),a--,f--,o&&(a=0,f=this.moveplanesets[i].length),a<0||a>this.moveplanesets[i].length||f<0||f>this.moveplanesets[i].length)throw new Error(\\\"Bad slice spec \\\"+a+\\\" \\\"+f+\\\" vs \\\"+this.moveplanesets[i].length);if(!dg&&a===0&&f===this.moveplanesets[i].length&&!o)throw new Error(\\\"! full puzzle rotations must be specified with v suffix.\\\");return[void 0,i,a,f,u,t.amount]}parsemove(t){let r=this.parseMove(this.stringToBlockMove(t));return r[0]=t,r}genperms(){let t=_i(\\\"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])<Be){let i=this.basefaces[l].length;for(let s=1;s<i;s++)this.cubies[n].push(this.cubies[n][s-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],s=1;for(;s*2<=o.length;)s*=2;for(let f=0;f<this.faces.length;f++){let g=0;if(o.length>0){let c=this.facecentermass[f].dot(o[0]);for(let m=s;m>0;m>>=1)g+m<=o.length&&c>o[g+m-1].a&&(g+=m);g=o.length-g}for(l.push(g);i.length<=g;)i.push(0);i[g]++}let u=new Array(i.length);for(let f=0;f<i.length;f++)u[f]=[];let a=[];for(let f=0;f<this.faces.length;f++){if(l[f]<0)continue;let g=[this.facetocubie[f],this.facetoord[f]],c=this.facecentermass[f],m=c,L=f,p=l[L];for(;;){l[L]=-1;let F=c.rotatepoint(this.moverotations[n][0]);if(F.dist(m)<Be)break;L=this.findface(F),g.push(this.facetocubie[L],this.facetoord[L]),c=F}if(g.length>2&&this.options.orientCenters&&(this.cubies[g[0]].length===1||this.duplicatedCubies[g[0]]>1)&&this.facecentermass[f].dist(this.basefaces[this.getfaceindex(f)].centermass())<Be){let F=this.faces[this.cubies[g[0]][0]];for(let y=0;y<g.length;y+=2){let x=this.faces[this.cubies[g[y]][0]],B=-1;for(let P=0;P<F.length;P++)if(x.get(P).dist(F.get(0))<Be){B=P;break}if(B<0)throw new Error(\\\"Couldn't find rotation of center faces; ignoring for now.\\\");g[y+1]=B,F=F.rotate(this.moverotations[n][0])}}if(g.length===2&&this.options.orientCenters)for(let F=1;F<this.movesetorders[n];F++)p===0?g.push(g[0],F):g.push(g[0],(this.movesetorders[n]-F)%this.movesetorders[n]);if(g.length>2&&!a[g[0]]){if(g.length!==2*this.movesetorders[n])throw new Error(\\\"Bad length in perm gen\\\");for(let F of g)u[p].push(F)}for(let F=0;F<g.length;F+=2)a[g[F]]=!0}for(let f=0;f<u.length;f++)u[f]=u[f].slice();r.push(u)}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=[],Oi(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 s=n[i];if(o>=s[0]&&o<=s[1])if(s[0]===0)s=[s[1]+1,r];else if(r===s[1])s=[0,s[0]-1];else throw Error(\\\"fixed cubie option would disconnect move\\\");let u=!1;for(let a=0;a<l.length;a+=2)if(l[a][0]===s[0]&&l[a][1]===s[1]&&l[a+1]===n[i+1]){u=!0;break}u||(l.push(s),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+pg+`\\n`+t+`\\n`}writegap(){let t=this.getOrbitsDef(!1),r=[],n=[];for(let l=0;l<t.moveops.length;l++){let i=\\\"M_\\\"+Pi(this.notationMapper,t.movenames[l]),s=!1;i[i.length-1]===\\\"'\\\"&&(i=i.substring(0,i.length-1),s=!0),n.push(i),s?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`)}writekpuzzle(t=!0,r=!0){let n=this.getOrbitsDef(t,r),o=n.toKPuzzle(r);if(!o)throw new Error(\\\"Missing definition!\\\");return o.moveNotation=new j0(this,n),o}getMoveFromBits(t,r,n,o,l,i){let s=[],u=[],a=[];for(let c of this.cubieords)u.push(Et(c)),a.push(Jt(c));for(let c=t[0];c<=t[1];c++){let m=o[c];for(let L=0;L<m.length;L+=2*i){let p=m.slice(L,L+2*i),F=this.cubiesetnums[p[0]];for(let B=0;B<p.length;B+=2)p[B]=this.cubieordnums[p[B]];let y=2,x=3;n&&(y=p.length-2,x=p.length-1),u[F]===Et(this.cubieords[F])&&(u[F]=u[F].slice(),this.orbitoris[F]>1&&!this.options.fixedOrientation&&(a[F]=a[F].slice()));for(let B=0;B<p.length;B+=2)u[F][p[(B+y)%p.length]]=p[B],this.orbitoris[F]>1&&!this.options.fixedOrientation&&(a[F][p[B]]=(p[(B+x)%p.length]-p[(B+1)%p.length]+2*this.orbitoris[F])%this.orbitoris[F])}}let f=new Ot(Et(24),Jt(24),1);for(let c=0;c<this.cubiesetnames.length;c++)if(!(l&&!l[c]))if(this.orbitoris[c]===1||this.options.fixedOrientation)u[c]===Et(f.perm.length)?(u[c]!==f.perm&&(f=new Ot(u[c],a[c],1)),s.push(f)):s.push(new Ot(u[c],a[c],1));else{let m=new Array(a[c].length);for(let L=0;L<u[c].length;L++)m[L]=a[c][u[c][L]];s.push(new Ot(u[c],m,this.orbitoris[c]))}let g=new $t(s);return r!==1&&(g=g.mulScalar(r)),g}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 s=0;!i&&s<r.length;s+=2)o?t[l][0]+r[s][1]===n&&t[l][1]+r[s][0]===n&&t[l+1]===r[s+1]&&(i=!0):t[l][0]===r[s][0]&&t[l][1]===r[s][1]&&t[l+1]===r[s+1]&&(i=!0);if(!i)return!0}return!1}getOrbitsDef(t,r=!0){let n=[];if(t)for(let c=0;c<this.cubiesetnames.length;c++)n.push(1);let o=[],l=[],i=[],s=[];for(let c=0;c<this.moveplanesets.length;c++){let m=this.getmovesets(c);i.push(m),this.options.addRotations?s.push(1):s.push(0)}if(this.options.moveList&&this.options.addRotations){for(let c=0;c<this.moverotations.length;c++)s[c]=0;for(let c=0;c<this.moveplanesets.length;c++)for(let m=0;m<this.moverotations.length;m++){let L=this.moveplanenormals[c];for(let p=1;p*2<=this.movesetorders[m];p++){if(L=L.rotatepoint(this.moverotations[m][0]),s[m]&p)continue;let F=-1,y=!1;for(let B=0;B<this.moveplanenormals.length;B++)if(L.dist(this.moveplanenormals[B])<Be){F=B;break}else if(L.dist(this.moveplanenormals[B].smul(-1))<Be){F=B,y=!0;break}if(F<0)throw new Error(\\\"Could not find rotation\\\");let x=i[F];(x.length!==i[c].length||this.moveplanesets[c].length!==this.moveplanesets[F].length||this.diffmvsets(x,i[c],this.moveplanesets[F].length,y))&&(s[m]|=p)}}for(let c=0;c<this.moverotations.length;c++)if(s[c]===0)s[c]=1;else if(s[c]===1)this.movesetorders[c]>3?s[c]=2:s[c]=0;else if(s[c]===3)s[c]=0;else throw new Error(\\\"Impossible addrot val\\\")}for(let c=0;c<this.moveplanesets.length;c++)s[c]!==0&&(i[c].push([0,this.moveplanesets[c].length]),i[c].push(s[c]));for(let c=0;c<this.moveplanesets.length;c++){let m=i[c],L=this.movesetorders[c];for(let y=0;y<m.length;y+=2)for(let x=0;x<y;x+=2)if(m[y]===m[x]&&m[y+1]===m[x+1])throw new Error(\\\"Redundant moves in moveset.\\\");let p=[];for(let y=0;y<m.length;y+=2)for(let x=m[y][0];x<=m[y][1];x++)p[x]=1;let F=this.cmovesbyslice[c];for(let y=0;y<F.length;y++){if(p[y]!==1)continue;let x=F[y];for(let B=0;B<x.length;B+=2*L){if(this.skipcubie(x[B]))continue;let P=this.cubiesetnums[x[B]];n[P]=1}}}for(let c=0;c<this.cubiesetnames.length;c++)if(!!n[c]){if(this.omitSet(this.cubiesetnames[c])){n[c]=0;continue}o.push(this.cubiesetnames[c]),l.push(new Zn(this.cubieords[c],this.options.fixedOrientation?1:this.orbitoris[c]))}let u=[];for(let c=0;c<this.cubiesetnames.length;c++){if(!n[c]||this.omitSet(this.cubiesetnames[c]))continue;let m=[],L=[];for(let p=0;p<this.cubieords[c];p++){if(t)m.push(p);else{let F=this.cubiesetcubies[c][p];m.push(this.cubievaluemap[F])}L.push(0)}u.push(new Ot(m,L,this.options.fixedOrientation?1:this.orbitoris[c]))}let a=[],f=[];if(r)for(let c=0;c<this.moveplanesets.length;c++){let L=this.moveplanesets[c].length,p=i[c],F=this.movesetgeos[c];for(let y=0;y<p.length;y+=2){let x=p[y],B=Dg(F,x,L),P=B[0],k=B[1];p[y+1]===1?a.push(P):a.push(P+p[y+1]);let K=this.getMoveFromBits(x,p[y+1],k,this.cmovesbyslice[c],n,this.movesetorders[c]);f.push(K)}}let g=new Jr(o,l,new $r(u),a,f);return this.options.optimizeOrbits&&(g=g.optimize()),this.options.scrambleAmount!==0&&g.scramble(this.options.scrambleAmount),g}getMovesAsPerms(){return this.getOrbitsDef(!1).moveops.map(t=>t.toPerm())}showcanon(t){k0(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 ft(t)}getOrientationRotation(t){let[r,[n,o,l]]=t[0],i=new W(0,n,-o,l),[s,[u,a,f]]=t[1],g=new W(0,u,-a,f),c=null,m=null,L=this.swizzler.unswizzle(r),p=this.swizzler.unswizzle(s);for(let B of this.geonormals)L===B[1]&&(c=B[0]),p===B[1]&&(m=B[0]);if(!c)throw new Error(\\\"Could not find feature \\\"+r);if(!m)throw new Error(\\\"Could not find feature \\\"+s);let F=c.pointrotation(i);return m.rotatepoint(F).unproject(i).pointrotation(g.unproject(i)).mul(F)}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=Rg()[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,U){let M=w[1][0]-w[0][0],q=w[1][1]-w[0][1],Y=2*Math.PI/U,ce=Math.cos(Y),pe=Math.sin(Y);for(let Fe=2;Fe<U;Fe++){let ye=M*ce+q*pe;q=q*ce-M*pe,M=ye,w.push([w[Fe-1][0]+M,w[Fe-1][1]+q])}}this.genperms();let a=this.getboundarygeometry().facenames[0][0].length,f=this.net;if(f===null)throw new Error(\\\"No net?\\\");let g={},c=0,m=0,L=1,p=0;g[f[0][0]]=[[1,0],[0,0]],i(g[f[0][0]],a);for(let w of f){let U=w[0];if(!g[U])throw new Error(\\\"Bad edge description; first edge not connected.\\\");for(let M=1;M<w.length;M++){let q=w[M];q===\\\"\\\"||g[q]||(g[q]=[g[U][M%a],g[U][(M+a-1)%a]],i(g[q],a))}}for(let w in g){let U=g[w];for(let M of U)c=Math.min(c,M[0]),L=Math.max(L,M[0]),m=Math.min(m,M[1]),p=Math.max(p,M[1])}let F=Math.min(t/(L-c),r/(p-m)),y=.5*(t-F*(L+c)),x=.5*(r-F*(p+m)),B={},P=this.getboundarygeometry(),k={},K=[[F+y,x],[y,x]];k[f[0][0]]=K,i(k[f[0][0]],a),B[this.facenames[0][1]]=this.project2d(0,0,[new W(0,K[0][0],K[0][1],0),new W(0,K[1][0],K[1][1],0)]);let te=[];te[0]=0;for(let w of f){let U=w[0];if(!k[U])throw new Error(\\\"Bad edge description; first edge not connected.\\\");let M=-1;for(let Y=0;Y<P.facenames.length;Y++)if(U===P.facenames[Y][1]){M=Y;break}if(M<0)throw new Error(\\\"Could not find first face name \\\"+U);let q=P.facenames[M][0];for(let Y=1;Y<w.length;Y++){let ce=w[Y];if(ce===\\\"\\\"||k[ce])continue;k[ce]=[k[U][Y%a],k[U][(Y+a-1)%a]],i(k[ce],a);let pe=te[M],Fe=q[(pe+Y)%a].sum(q[(pe+Y+a-1)%a]).smul(.5),ye=ol(P.edgenames,Fe),wt=P.edgenames[ye][1],Ee=Fg(wt,this.facenames),He=Ee[U===Ee[0]?1:0],xe=-1;for(let E=0;E<P.facenames.length;E++)if(He===P.facenames[E][1]){xe=E;break}if(xe<0)throw new Error(\\\"Could not find second face name\\\");let D=P.facenames[xe][0];for(let E=0;E<D.length;E++)if(D[E].sum(D[(E+1)%a]).smul(.5).dist(Fe)<=Be){let Q=k[U][(Y+a-1)%a],ne=k[U][Y%a];te[xe]=E,B[He]=this.project2d(xe,E,[new W(0,ne[0],ne[1],0),new W(0,Q[0],Q[1],0)]);break}}}let N=0,re=0,b=this.getInitial3DRotation();for(let w of this.faces){o&&(w=w.rotate(b));for(let U=0;U<w.length;U++)N=Math.max(N,Math.abs(w.get(U).b)),re=Math.max(re,Math.abs(w.get(U).c))}let C=Math.min(r/re/2,(t-n)/N/4);return(w,U)=>{if(o){U=U.rotatepoint(b);let M=.5*n+.25*t,q=this.baseplanes[w].rotateplane(b).d<0?1:-1;return[n+t*.5+q*(M-U.b*C),n+r*.5+U.c*C]}else{let M=B[this.facenames[w][1]];return[n+l*U.dot(M[0])+M[2].b,n+r-l*U.dot(M[1])-M[2].c]}}}generatesvg(t=800,r=500,n=10,o=!1){let l=this.generate2dmapping(t,r,n,o);function i(c,m,L){return'<polygon id=\\\"'+c+'\\\" class=\\\"sticker\\\" style=\\\"fill: '+L+'\\\" points=\\\"'+m.map(p=>p[0]+\\\" \\\"+p[1]).join(\\\" \\\")+`\\\"/>\\n`}let s=this.getsolved(),u=[],a=[];for(let c=0;c<this.baseFaceCount;c++)u[c]=this.colors[this.facenames[c][1]];for(let c=0;c<this.faces.length;c++){let m=this.faces[c],L=Math.floor(c/this.stickersperface),p=[];for(let F=0;F<m.length;F++)p.push(l(L,m.get(F)));a.push(p)}let f=[];for(let c=0;c<this.baseFaceCount;c++){f.push(\\\"<g>\\\"),f.push(\\\"<title>\\\"+this.facenames[c][1]+`</title>\\n`);for(let m=0;m<this.stickersperface;m++){let L=c*this.stickersperface+m,p=this.facetocubie[L],F=this.facetoord[L],y=this.cubiesetnums[p],x=this.cubieordnums[p],B=this.graybyori(p)?\\\"#808080\\\":u[s.p[L]],P=this.cubiesetnames[y]+\\\"-l\\\"+x+\\\"-o\\\"+F;if(f.push(i(P,a[L],B)),this.duplicatedFaces[L])for(let k=1;k<this.duplicatedFaces[L];k++)P=this.cubiesetnames[y]+\\\"-l\\\"+x+\\\"-o\\\"+k,f.push(i(P,a[L],B))}f.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`+f.join(\\\"\\\")+\\\"</svg>\\\"}get3d(t){let r=[],n=this.getInitial3DRotation(),o=[],l=.52*this.basefaces[0].get(0).len();for(let a=0;a<this.basefaces.length;a++){let f=this.basefaces[a].rotate(n),g=this.facenames[a][1];o.push({coords:Qi(f,l),name:g})}for(let a=0;a<this.faces.length;a++){let f=Math.floor(a/this.stickersperface),g=this.facetocubie[a],c=this.facetoord[a],m=this.cubiesetnums[g],L=this.cubieordnums[g],p=this.graybyori(g)?\\\"#808080\\\":this.colors[this.facenames[f][1]];(t==null?void 0:t.stickerColors)&&(p=t.stickerColors[a]);let F=this.faces[a].rotate(n);r.push({coords:Qi(F,l),color:p,orbit:this.cubiesetnames[m],ord:L,ori:c,face:f});let y=F;if(this.duplicatedFaces[a]){let x=y.length/this.duplicatedFaces[a];for(let B=1;B<this.duplicatedFaces[a];B++){for(let P=0;P<x;P++)y=y.rotateforward();r.push({coords:Qi(y,l),color:p,orbit:this.cubiesetnames[m],ord:L,ori:B,face:f,isDup:!0})}}}let i=[];for(let a=0;a<this.movesetgeos.length;a++){let f=this.movesetgeos[a],g=this.movesetorders[a];for(let c of this.geonormals)f[0]===c[1]&&f[1]===c[2]&&(i.push({coordinates:ll(c[0].rotatepoint(n),1),quantumMove:new d(f[0]),order:g}),i.push({coordinates:ll(c[0].rotatepoint(n).smul(-1),1),quantumMove:new d(f[2]),order:g}))}let s=this.generate2dmapping(2880,2160,0,!1,1),u=function(){let a=n.invrot();return function(f,g){let c=new W(0,g[0]*l,-g[1]*l,g[2]*l);c=c.rotatepoint(a);let m=s(f,c);return m[0]/=2880,m[1]=1-m[1]/2160,m}}().bind(this);return{stickers:r,faces:o,axis:i,unswizzle:this.unswizzle.bind(this),notationMapper:this.notationMapper,textureMapper:{getuv:u}}}getGeoNormal(t){let r=this.getInitial3DRotation(),n=this.swizzler.unswizzle(t);for(let o of this.geonormals)if(n===o[1]){let l=ll(o[0].rotatepoint(r),1);return Math.abs(l[0])<Be&&Math.abs(l[2])<Be&&(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=nl(this.getMovesAsPerms(),t),l=n/o;t(`Ratio is ${l}`)}},j0=class{constructor(t,r){this.pg=t;this.cache={};this.orbitNames=r.orbitnames}lookupMove(t){let r=this.moveToKeyString(t);if(r in this.cache)return this.cache[r];let n=this.pg.parseMove(t);if(this.pg.parsedmovelist){let s=!1;for(let u of this.pg.parsedmovelist)u[1]===n[1]&&u[2]===n[2]&&u[3]===n[3]&&u[4]===n[4]&&(s=!0);if(!s)return}let o=[n[2],n[3]];if(!n[4]){let s=this.pg.moveplanesets[n[1]].length;o=[s-n[3],s-n[2]]}let l=this.pg.getMoveFromBits(o,n[5],!n[4],this.pg.cmovesbyslice[n[1]],void 0,this.pg.movesetorders[n[1]]),i=Jr.transformToKPuzzle(this.orbitNames,l);return this.cache[r]=i,i}moveToKeyString(t){let r=\\\"\\\";return t.outerLayer&&(r=r+t.outerLayer+\\\",\\\"),t.innerLayer&&(r=r+t.innerLayer+\\\",\\\"),r=r+t.family+\\\",\\\"+t.amount,r}}});var K0={};ke(K0,{PuzzleGeometry:()=>il,Quat:()=>W,getPG3DNamedPuzzles:()=>Q0,getPuzzleDescriptionString:()=>q0,getPuzzleGeometryByDesc:()=>Wi,getPuzzleGeometryByName:()=>er,parseOptions:()=>w0,parsePuzzleDescription:()=>Yn,schreierSims:()=>nl});var Jn=S(()=>{Ei();Ui();tl();Ni()});function gt(e){return h(this,null,function*(){return(yield Promise.resolve().then(()=>(Jn(),K0))).getPuzzleGeometryByName(e,{allMoves:!0,orientCenters:!0,addRotations:!0})})}function $n(e){return h(this,null,function*(){return(yield gt(e)).writekpuzzle(!0)})}function yr(e,t,r){let n={id:e,fullName:t,def:()=>h(this,null,function*(){return $n(e)}),svg:()=>h(this,null,function*(){return(yield gt(e)).generatesvg()}),pg:()=>h(this,null,function*(){return gt(e)})};return(r==null?void 0:r.inventedBy)&&(n.inventedBy=r.inventedBy),(r==null?void 0:r.inventionYear)&&(n.inventionYear=r.inventionYear),n}function tn(e,t,r){let n=yr(e,t,r);return n.appearance=Rt.bind(Rt,n),n.stickerings=Yr,n}var Br=S(()=>{Zr()});var V0={};ke(V0,{cube2x2x2KPuzzle:()=>kt});var kt,H0=S(()=>{kt={name:\\\"2x2x2\\\",orbits:{CORNERS:{numPieces:8,orientations:3}},startPieces:{CORNERS:{permutation:[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]}}}};kt.moves.Rv=kt.moves.x;kt.moves.Uv=kt.moves.y;kt.moves.Fv=kt.moves.z;kt.moves.Lv={CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]}};kt.moves.Dv={CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}};kt.moves.Bv={CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]}}});var Y0={};ke(Y0,{default:()=>yg});var yg,Z0=S(()=>{yg=`<?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 eo,X0=S(()=>{Br();Zr();eo={id:\\\"2x2x2\\\",fullName:\\\"2\\\\xD72\\\\xD72 Cube\\\",def:()=>h(void 0,null,function*(){return(yield Promise.resolve().then(()=>(H0(),V0))).cube2x2x2KPuzzle}),svg:()=>h(void 0,null,function*(){return(yield Promise.resolve().then(()=>(Z0(),Y0))).default}),pg:()=>h(void 0,null,function*(){return gt(\\\"2x2x2\\\")}),appearance:e=>Rt(eo,e),stickerings:Yr}});var J0={};ke(J0,{default:()=>Bg});var Bg,$0=S(()=>{Bg=`<?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 e2={};ke(e2,{default:()=>bg});var bg,t2=S(()=>{bg=`<?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 qi,r2=S(()=>{At();Br();Zr();qi={id:\\\"3x3x3\\\",fullName:\\\"3\\\\xD73\\\\xD73 Cube\\\",inventedBy:[\\\"Ern\\\\u0151 Rubik\\\"],inventionYear:1974,def:()=>h(void 0,null,function*(){return ue}),svg:()=>h(void 0,null,function*(){return(yield Promise.resolve().then(()=>($0(),J0))).default}),llSVG:()=>h(void 0,null,function*(){return(yield Promise.resolve().then(()=>(t2(),e2))).default}),pg:()=>h(void 0,null,function*(){return gt(\\\"3x3x3\\\")}),appearance:e=>Rt(qi,e),stickerings:Yr}});var n2={};ke(n2,{clockKPuzzle:()=>xg});var xg,o2=S(()=>{xg={name:\\\"Clock\\\",orbits:{DIALS:{numPieces:18,orientations:12},FACES:{numPieces:18,orientations:1},FRAME:{numPieces:1,orientations:2}},startPieces:{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]}},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 l2={};ke(l2,{default:()=>Sg});var Sg,i2=S(()=>{Sg=`<?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 s2,a2=S(()=>{s2={id:\\\"clock\\\",fullName:\\\"Clock\\\",inventedBy:[\\\"Christopher C. Wiggs\\\",\\\"Christopher J. Taylor\\\"],inventionYear:1988,def:()=>h(void 0,null,function*(){return(yield Promise.resolve().then(()=>(o2(),n2))).clockKPuzzle}),svg:()=>h(void 0,null,function*(){return(yield Promise.resolve().then(()=>(i2(),l2))).default})}});function u2(e,t){return h(this,null,function*(){let r=yield e.def(),n=new Qn(r),o=new qn(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\\\"))]),s=()=>o.or([i(),o.and([o.move(\\\"F\\\"),o.not(o.or(o.moves([\\\"U\\\",\\\"BL\\\",\\\"BR\\\"])))])]),u=()=>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\\\")])])),a=()=>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()),v.Ignored);break;case\\\"experimental-fto-f2t\\\":n.set(o.not(i()),v.Ignored),n.set(l(),v.Dim);break;case\\\"experimental-fto-sc\\\":n.set(o.not(s()),v.Ignored),n.set(i(),v.Dim);break;case\\\"experimental-fto-l2c\\\":n.set(o.not(u()),v.Ignored),n.set(s(),v.Dim);break;case\\\"experimental-fto-lbt\\\":n.set(o.not(a()),v.Ignored),n.set(u(),v.Dim);break;case\\\"experimental-fto-l3t\\\":n.set(a(),v.Dim);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),v.Dim)}return n.toAppearance()})}function f2(){return h(this,null,function*(){return[\\\"full\\\",\\\"experimental-fto-fc\\\",\\\"experimental-fto-f2t\\\",\\\"experimental-fto-sc\\\",\\\"experimental-fto-l2c\\\",\\\"experimental-fto-lbt\\\",\\\"experimental-fto-l3t\\\"]})}var g2=S(()=>{jn()});var ji,c2=S(()=>{Br();g2();ji={id:\\\"fto\\\",fullName:\\\"Face-Turning Octahedron\\\",inventedBy:[\\\"Karl Rohrbach\\\",\\\"David Pitcher\\\"],inventionYear:1983,def:()=>h(void 0,null,function*(){return $n(\\\"FTO\\\")}),svg:()=>h(void 0,null,function*(){return(yield gt(\\\"FTO\\\")).generatesvg()}),pg:()=>h(void 0,null,function*(){return gt(\\\"FTO\\\")}),appearance:e=>u2(ji,e),stickerings:f2}});function m2(e,t){return h(this,null,function*(){switch(t){case\\\"full\\\":case\\\"F2L\\\":case\\\"LL\\\":return Rt(e,t);default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`)}return Rt(e,\\\"full\\\")})}function p2(){return h(this,null,function*(){return[\\\"full\\\",\\\"F2L\\\",\\\"LL\\\"]})}var d2=S(()=>{Zr()});var to,L2=S(()=>{Br();d2();to=yr(\\\"megaminx\\\",\\\"Megaminx\\\",{inventionYear:1981});to.appearance=e=>m2(to,e);to.stickerings=p2});var h2={};ke(h2,{default:()=>vg});var vg,A2=S(()=>{vg=`<?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 R2,D2=S(()=>{Br();R2={id:\\\"pyraminx\\\",fullName:\\\"Pyraminx\\\",inventedBy:[\\\"Uwe Meffert\\\"],inventionYear:1970,def:()=>h(void 0,null,function*(){return $n(\\\"pyraminx\\\")}),svg:()=>h(void 0,null,function*(){return(yield Promise.resolve().then(()=>(A2(),h2))).default}),pg:()=>h(void 0,null,function*(){return gt(\\\"pyraminx\\\")})}});var F2={};ke(F2,{sq1HyperOrbitKPuzzle:()=>wg});var wg,y2=S(()=>{wg={name:\\\"Square-1\\\",orbits:{WEDGES:{numPieces:24,orientations:9},EQUATOR:{numPieces:2,orientations:6}},startPieces:{WEDGES:{permutation:[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:{permutation:[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 B2={};ke(B2,{default:()=>Ug});var Ug,b2=S(()=>{Ug=`<?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 x2,S2=S(()=>{x2={id:\\\"square1\\\",fullName:\\\"Square-1\\\",inventedBy:[\\\"Karel Hr\\\\u0161el\\\",\\\"Vojtech Kopsk\\\\xFD\\\"],inventionYear:1990,def:()=>h(void 0,null,function*(){return(yield Promise.resolve().then(()=>(y2(),F2))).sq1HyperOrbitKPuzzle}),svg:()=>h(void 0,null,function*(){return(yield Promise.resolve().then(()=>(b2(),B2))).default})}});var zt,rn=S(()=>{i0();At();Zr();Br();X0();r2();a2();c2();L2();D2();S2();jn();zt={\\\"3x3x3\\\":qi,\\\"2x2x2\\\":eo,\\\"4x4x4\\\":tn(\\\"4x4x4\\\",\\\"4\\\\xD74\\\\xD74 Cube\\\"),\\\"5x5x5\\\":tn(\\\"5x5x5\\\",\\\"5\\\\xD75\\\\xD75 Cube\\\"),\\\"6x6x6\\\":tn(\\\"6x6x6\\\",\\\"6\\\\xD76\\\\xD76 Cube\\\"),\\\"7x7x7\\\":tn(\\\"7x7x7\\\",\\\"7\\\\xD77\\\\xD77 Cube\\\"),\\\"40x40x40\\\":tn(\\\"40x40x40\\\",\\\"40\\\\xD740\\\\xD740 Cube\\\"),clock:s2,megaminx:to,pyraminx:R2,skewb:yr(\\\"skewb\\\",\\\"Skewb\\\",{inventedBy:[\\\"Tony Durham\\\"]}),square1:x2,fto:ji,gigaminx:yr(\\\"gigaminx\\\",\\\"Gigaminx\\\",{inventedBy:[\\\"Tyler Fox\\\"],inventionYear:2006}),master_tetraminx:yr(\\\"master tetraminx\\\",\\\"Master Tetraminx\\\",{inventedBy:[\\\"Katsuhiko Okamoto\\\"],inventionYear:2002})}});function Ct(e,t){let r=[],n=[];for(let f of t.split(`\\n`)){let g=f.split(\\\" \\\");if(!f.startsWith(\\\"SetOrder \\\")){if(f.startsWith(\\\"Alg \\\")){let c=z.fromString(f.substring(4)),m=new Je(e);m.reset(),m.applyAlg(c),n.push({alg:c,transformation:m.state})}else if(f.startsWith(\\\"SubgroupSizes \\\"))for(let c=1;c<g.length;c++)r.push(parseInt(g[c]))}}let o={ordering:new Array(r.length)},l=[],i=0;l.push(0);let s=z.fromString(\\\"\\\"),u=ht(e);for(let f=0;f<r.length;f++)i+=r[f],l.push(i),n.splice(i-1,0,{alg:s,transformation:u});if(n.length!==i)throw Error(`Bad sgs; expected ${i-r.length} algs but saw ${n.length-r.length}`);let a={};for(let f in e.orbits){let g=e.orbits[f];a[f]=new Array(g.numPieces).fill(!1)}for(let f=r.length-1;f>=0;f--){let g=[];for(let m=l[f];m<l[f+1];m++){let L=n[m].transformation;for(let p in e.orbits){let F=e.orbits[p];for(let y=0;y<F.numPieces;y++)(L[p].permutation[y]!==y||L[p].orientation[y]!==0)&&(a[p][y]||(g.push({orbitName:p,permutationIdx:y}),a[p][y]=!0))}}let c={};for(let m=l[f];m<l[f+1];m++){let L=_t(e,n[m].transformation),p=\\\"\\\";for(let F=0;F<g.length;F++){let y=g[F];p=`${p} ${L[y.orbitName].permutation[y.permutationIdx]} ${L[y.orbitName].orientation[y.permutationIdx]}`}c[p]=n[m],n[m].alg=n[m].alg.invert(),n[m].transformation=_t(e,n[m].transformation)}o.ordering[f]={pieceOrdering:g,lookup:c}}return o}var on=S(()=>{he();At()});var G2={};ke(G2,{cachedData222:()=>Wg,data222:()=>I2});function Wg(){return h(this,null,function*(){return Hi!=null?Hi:Hi=I2()})}function I2(){return h(this,null,function*(){return Ct(yield eo.def(),`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 Hi,T2=S(()=>{rn();on();Hi=null});var Wf={};ke(Wf,{cachedMegaminxDefWithoutMO:()=>Jl,cachedSGSDataMegaminx:()=>np,sgsDataMegaminx:()=>Of});function rp(){return h(this,null,function*(){return er(\\\"megaminx\\\",{allMoves:!0,addRotations:!0}).writekpuzzle(!0)})}function Jl(){return h(this,null,function*(){return Ks!=null?Ks:Ks=rp()})}function np(){return h(this,null,function*(){return Vs!=null?Vs:Vs=Of()})}function Of(){return h(this,null,function*(){return Ct(yield Jl(),`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 Ks,Vs,Hs=S(()=>{Jn();on();Ks=null;Vs=null});var Kf={};ke(Kf,{sgsDataPyraminx:()=>jf,sgsDataPyraminxFixedOrientation:()=>Zs});function jf(){return h(this,null,function*(){return Ys!=null?Ys:Ys=ip()})}function Zs(){return h(this,null,function*(){return{ordering:(yield jf()).ordering.slice(2)}})}function ip(){return h(this,null,function*(){return Ct(yield zt.pyraminx.def(),`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 Ys,Xs=S(()=>{rn();on();Ys=null});var Zf={};ke(Zf,{sgsDataSkewb:()=>Yf,sgsDataSkewbFixedCorner:()=>ta,skewbDefWithoutMOCached:()=>$l});function fp(){return h(this,null,function*(){return er(\\\"skewb\\\",{allMoves:!0,addRotations:!0}).writekpuzzle(!0)})}function $l(){return h(this,null,function*(){return $s!=null?$s:$s=fp()})}function Yf(){return h(this,null,function*(){return ea!=null?ea:ea=gp()})}function ta(){return h(this,null,function*(){return{ordering:(yield Yf()).ordering.slice(1)}})}function gp(){return h(this,null,function*(){return Ct(yield $l(),`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 $s,ea,ra=S(()=>{Jn();on();$s=null;ea=null});var ga={};ke(ga,{ftoDef:()=>g1,sgsDataFTO:()=>Wp});function g1(){return h(this,null,function*(){return er(\\\"FTO\\\",{allMoves:!0,orientCenters:!0,addRotations:!0}).writekpuzzle(!0)})}function Wp(){return h(this,null,function*(){return fa!=null?fa:fa=Qp()})}function Qp(){return h(this,null,function*(){return Ct(yield g1(),`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 2 5 3 4 3\\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 U BR' U' BR BL' BR BL BR'\\n\\nAlg F L F' BL D F' D' F BL' L'\\nAlg F' BR F BR' L BL' BR' BL BR L'\\nAlg B BR' U R BR' R' BR U' B' BR\\nAlg U BR' U' BR L' BL BR BL' BR' L\\n\\nAlg B' F' BR' L R' BL U R BL' BR L' B' F BL' B'\\nAlg B BL F' B L BR' BL R' U' BL' R L' BR F B\\n\\nAlg F' D BR F' R F R' BR' F D'\\nAlg B BL U' L U L' BL' U B' U'\\nAlg U B U' BL L U' L' U BL' B'\\n\\nAlg F BL F' BL' B F' BR F BR' B'\\nAlg B BR F' BR' B' F BL F BL' F'\\n`)})}var fa,ca=S(()=>{Jn();on();fa=null});var ha=Symbol(\\\"Comlink.proxy\\\"),S1=Symbol(\\\"Comlink.endpoint\\\"),v1=Symbol(\\\"Comlink.releaseProxy\\\"),li=Symbol(\\\"Comlink.thrown\\\"),Aa=e=>typeof e==\\\"object\\\"&&e!==null||typeof e==\\\"function\\\",w1={canHandle:e=>Aa(e)&&e[ha],serialize(e){let{port1:t,port2:r}=new MessageChannel;return Pn(e,t),[r,[r]]},deserialize(e){return e.start(),k1(e)}},U1={canHandle:e=>Aa(e)&&li 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}},Ra=new Map([[\\\"proxy\\\",w1],[\\\"throw\\\",U1]]);function Pn(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),s=(n.data.argumentList||[]).map(dr),u;try{let a=i.slice(0,-1).reduce((g,c)=>g[c],e),f=i.reduce((g,c)=>g[c],e);switch(l){case\\\"GET\\\":u=f;break;case\\\"SET\\\":a[i.slice(-1)[0]]=dr(n.data.value),u=!0;break;case\\\"APPLY\\\":u=f.apply(a,s);break;case\\\"CONSTRUCT\\\":{let g=new f(...s);u=P1(g)}break;case\\\"ENDPOINT\\\":{let{port1:g,port2:c}=new MessageChannel;Pn(e,c),u=C1(g,[g])}break;case\\\"RELEASE\\\":u=void 0;break;default:return}}catch(a){u={value:a,[li]:0}}Promise.resolve(u).catch(a=>({value:a,[li]:0})).then(a=>{let[f,g]=si(a);t.postMessage(Object.assign(Object.assign({},f),{id:o}),g),l===\\\"RELEASE\\\"&&(t.removeEventListener(\\\"message\\\",r),Da(t))})}),t.start&&t.start()}function E1(e){return e.constructor.name===\\\"MessagePort\\\"}function Da(e){E1(e)&&e.close()}function k1(e,t){return ii(e,[],t)}function ko(e){if(e)throw new Error(\\\"Proxy has been released and is not useable\\\")}function ii(e,t=[],r=function(){}){let n=!1,o=new Proxy(r,{get(l,i){if(ko(n),i===v1)return()=>Tr(e,{type:\\\"RELEASE\\\",path:t.map(s=>s.toString())}).then(()=>{Da(e),n=!0});if(i===\\\"then\\\"){if(t.length===0)return{then:()=>o};let s=Tr(e,{type:\\\"GET\\\",path:t.map(u=>u.toString())}).then(dr);return s.then.bind(s)}return ii(e,[...t,i])},set(l,i,s){ko(n);let[u,a]=si(s);return Tr(e,{type:\\\"SET\\\",path:[...t,i].map(f=>f.toString()),value:u},a).then(dr)},apply(l,i,s){ko(n);let u=t[t.length-1];if(u===S1)return Tr(e,{type:\\\"ENDPOINT\\\"}).then(dr);if(u===\\\"bind\\\")return ii(e,t.slice(0,-1));let[a,f]=Fa(s);return Tr(e,{type:\\\"APPLY\\\",path:t.map(g=>g.toString()),argumentList:a},f).then(dr)},construct(l,i){ko(n);let[s,u]=Fa(i);return Tr(e,{type:\\\"CONSTRUCT\\\",path:t.map(a=>a.toString()),argumentList:s},u).then(dr)}});return o}function z1(e){return Array.prototype.concat.apply([],e)}function Fa(e){let t=e.map(si);return[t.map(r=>r[0]),z1(t.map(r=>r[1]))]}var ya=new WeakMap;function C1(e,t){return ya.set(e,t),e}function P1(e){return Object.assign(e,{[ha]:!0})}function si(e){for(let[t,r]of Ra)if(r.canHandle(e)){let[n,o]=r.serialize(e);return[{type:\\\"HANDLER\\\",name:t,value:n},o]}return[{type:\\\"RAW\\\",value:e},ya.get(e)||[]]}function dr(e){switch(e.type){case\\\"HANDLER\\\":return Ra.get(e.name).deserialize(e.value);case\\\"RAW\\\":return e.value}}function Tr(e,t,r){return new Promise(n=>{let o=M1();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 M1(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join(\\\"-\\\")}var N1=typeof globalThis.Worker==\\\"undefined\\\"&&typeof globalThis.WorkerNavigator==\\\"undefined\\\";function va(e){N1?(()=>h(this,null,function*(){let{port:t}=yield Promise.resolve().then(()=>(Sa(),xa));Pn(e,yield t())}))():Pn(e)}At();rn();var v2=!1;function w2(e){v2=e}function $e(){if(!v2)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 Ki=null;function U2(){return h(this,null,function*(){var e;return((e=globalThis==null?void 0:globalThis.crypto)==null?void 0:e.getRandomValues)?crypto.getRandomValues.bind(crypto):(yield Ki!=null?Ki:Ki=import(\\\"crypto\\\")).webcrypto.getRandomValues})}var E2=9007199254740992,Eg=2097152,kg=2048;function zg(e){let t=new Uint32Array(2);e(t);let r=t[0],n=t[1];return Math.floor(r*Eg)+Math.floor(n/kg)}function Cg(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>E2)throw new Error(`Called randomInt.below() with max == ${e}, which is larger than Javascript can handle with integer precision.`)}function st(){return h(this,null,function*(){let e=yield U2(),t=r=>{Cg(r);let n=zg(e),o=Math.floor(E2/r)*r;return n<o?n%r:t(r)};return t})}function Wt(){return h(this,null,function*(){let e=yield st();return t=>t[e(t.length)]})}var Pg=st();function k2(e){return h(this,null,function*(){for(let t=1;t<e.length;t++){let r=(yield Pg)(t);[e[t],e[r]]=[e[r],e[t]]}})}he();At();he();var z2=class extends qr{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 Mg(e){return\\\"A\\\"<=e&&e<=\\\"Z\\\"}function Ig(e){let t=e.family;return Mg(t[0])&&t[t.length-1]===\\\"v\\\"||t===\\\"x\\\"||t===\\\"y\\\"||t===\\\"z\\\"||t===\\\"T\\\"?0:1}var C2=new z2(Ig),Vi=C2.traverseAlg.bind(C2);he();var P2=class extends qr{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}},M2=new P2,Gg=M2.traverseAlg.bind(M2);var Tg=2,Ng=!0,_g=!1;function Og(e,t){let r=[],n=new Je(e);return t.forEach(function(o){let l=new d(o);if(l.amount!==1)throw new Error(\\\"SGS cannot handle def moves with an amount other than 1 yet.\\\");n.reset();for(let i=1;n.applyMove(l),!Fi(e,n.state,ht(e));i++)r.push({move:l.modified({amount:i}),transformation:n.state})}),r}var Ft=class{constructor(t,r,n){this.def=t;this.sgs=r;this.searchMoves=Og(this.def,n!=null?n:Object.keys(this.def.moves))}solve(o){return h(this,arguments,function*(t,r=Tg,n){let l=null,i=1e6,s=(u,a,f)=>{if(a===0){let g=this.sgsPhaseSolve(u,i);if(!g)return;let c=f.concat(g).simplify({collapseMoves:!0,quantumMoveOrder:n}),m=Vi(c);(l===null||m<i)&&(_g&&(console.log(`New best (${m} moves): ${c.toString()}`),console.log(`Tremble moves are: ${f.toString()}`)),l=c,i=m);return}for(let g of this.searchMoves)s(it(this.def,u,g.transformation),a-1,f.concat([g.move]))};for(let u=0;u<=r;u++)s(t,u,new z);if(l===null)throw new Error(\\\"SGS search failed.\\\");return l})}sgsPhaseSolve(t,r){let n=new ut,o=t;for(let l of this.sgs.ordering){let i=l.pieceOrdering,s=\\\"\\\",u=_t(this.def,o);for(let f=0;f<i.length;f++){let g=i[f],c=g.orbitName,m=g.permutationIdx;s+=` ${u[c].permutation[m]} ${u[c].orientation[m]}`}let a=l.lookup[s];if(!a)throw new Error(\\\"Missing algorithm in sgs or esgs?\\\");if(n.experimentalPushAlg(a.alg),n.experimentalNumUnits()>=r)return null;if(o=it(this.def,o,a.transformation),Ng)for(let f=0;f<i.length;f++){let g=i[f],c=g.orbitName,m=g.permutationIdx;if(o[c].permutation[m]!==m||o[c].orientation[m]!==0)throw new Error(\\\"bad SGS :-(\\\")}}return n.toAlg()}};function nn(e,t){return h(this,null,function*(){let r=yield Wt(),n=ht(e);for(let o of t.ordering){let l=r(Object.values(o.lookup));n=it(e,n,l.transformation)}return n})}var Qg=3,N2=null;function _2(){return h(this,null,function*(){return N2||(N2=(()=>h(this,null,function*(){let e=yield(yield Promise.resolve().then(()=>(T2(),G2))).cachedData222();return new Ft(yield zt[\\\"2x2x2\\\"].def(),e,\\\"URFLBD\\\".split(\\\"\\\"))}))())})}function O2(){return h(this,null,function*(){yield _2()})}function Yi(e){return h(this,null,function*(){return $e(),yield(yield _2()).solve(e,Qg,()=>4)})}function qg(e,t,r,n){return h(this,null,function*(){let o=yield st();yield k2(r[t].permutation);let l=e.orbits[t],i=r[t].orientation,s=0;for(let u=0;u<l.numPieces;u++){let a=o(l.orientations);i[u]=a,s+=a}n&&\\\"orientationSum\\\"in n&&(i[0]=((i[0]+n.orientationSum-s)%l.orientations+l.orientations)%l.orientations)})}function jg(){return h(this,null,function*(){let e=yield zt[\\\"2x2x2\\\"].def(),t=Object.assign({},e),r=new Je(t),n=JSON.parse(JSON.stringify(r.state));return yield qg(t,\\\"CORNERS\\\",n,{orientationSum:0}),n})}function W2(){return h(this,null,function*(){return yield Yi(yield jg())})}he();At();rn();he();function ln(e,t){return h(this,null,function*(){let r=new ut;r.experimentalPushAlg(e);for(let n of t){let o=(yield Wt())(n);o!==null&&r.push(d.fromString(o))}return r.toAlg()})}var Kg=\\\"UF UR UB UL DF DR DB DL FR FL BR BL\\\".split(\\\" \\\"),Vg=\\\"UFR URB UBL ULF DRF DFL DLB DBR\\\".split(\\\" \\\"),Hg=\\\"U L F R B D\\\".split(\\\" \\\"),Yg=[[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 Q2(e,t){return e.slice(t)+e.slice(0,t)}function Zg(e){let t=[[],[]];for(let r=0;r<6;r++)if(e.CENTERS.permutation[r]!==r)throw new Error(\\\"non-oriented puzzles are not supported\\\");for(let r=0;r<12;r++)t[0].push(Q2(Kg[e.EDGES.permutation[r]],e.EDGES.orientation[r]));for(let r=0;r<8;r++)t[1].push(Q2(Vg[e.CORNERS.permutation[r]],e.CORNERS.orientation[r]));return t.push(Hg),t}function q2(e){let t=Zg(e);return Yg.map(([r,n,o])=>t[r][n][o]).join(\\\"\\\")}he();At();function j2(e,t,r){for(let n in e.orbits)if(!On(e,n,t,r,{ignoreOrientation:n===\\\"CENTERS\\\"}))return!1;return!0}function K2(e,t){let r=new Je(e);if(j2(e,r.state,t))return!1;for(let n of\\\"ULFRBD\\\")for(let o=1;o<4;o++)if(r.reset(),r.applyMove(new d(n,o)),j2(e,r.state,t))return!1;return!0}var V2=[[\\\"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 se={3:1},je=4194303,tr=1048575,Xg=524288,Te=65535,Ae={11:1,3:1},ve={17:1,3:1},Zi=14540032,ro=286331153,le={10:1,3:1},V,sl={};function H2(){}function Jg(e){function t(){}return t.prototype=e||{},new t}function $g(e){return e instanceof Array?e[0]:null}function no(e,t,r){var n=sl,o=ec,l=$g,i=n[e],s=l(i);i&&!s?V=i:(V=n[e]=t?o(t):{},V.castableTypeMap$=r,V.constructor=V,!t&&(V.typeMarker$=H2));for(var u=3;u<arguments.length;++u)arguments[u].prototype=V;s&&(V.___clazz$=s)}function ec(e){var t=sl;return Jg(t[e])}function tc(){}no(1,null,{},tc);function al(e){return e<<24>>24}function Xi(){this.typeName=null,this.simpleName=null,this.packageName=null,this.compoundName=null,this.canonicalName=null,this.typeId=null,this.arrayLiterals=null}function Ji(e,t){var r;return r=new Xi,r.packageName=e,r.compoundName=t,r}function rr(e,t,r){var n;return n=Ji(e,t),oc(r,n),n}function rc(e,t){var r;return r=Ji(e,t),r.modifiers=2,r}function ul(e,t){var r;return r=Ji(\\\"\\\",e),r.typeId=t,r.modifiers=1,r}function Y2(e,t){var r=e.arrayLiterals=e.arrayLiterals||[];return r[t]||(r[t]=e.createClassLiteralForArray(t))}function nc(e){if(e.isPrimitive())return null;var t=e.typeId,r=sl[t];return r}function oc(e,t){if(!!e){t.typeId=e;var r=nc(t);if(!r){sl[e]=[t];return}r.___clazz$=t}}no(79,1,{},Xi);V.createClassLiteralForArray=function(t){var r;return r=new Xi,r.modifiers=4,t>1?r.componentType=Y2(this,t-1):r.componentType=this,r};V.isPrimitive=function(){return(this.modifiers&1)!=0};function J(e,t){return Y2(e,t)}function Z(e,t,r,n,o,l){var i;return i=X2(o,n),$(J(e,l),t,r,o,i),i}function Ke(e,t,r,n,o,l){return Z2(e,t,r,n,o,0,l)}function Z2(e,t,r,n,o,l,i){var s,u,a,f,g;if(f=o[l],a=l==i-1,s=a?n:0,g=X2(s,f),$(J(e,i-l),t[l],r[l],s,g),!a)for(++l,u=0;u<f;++u)g[u]=Z2(e,t,r,n,o,l,i);return g}function $(e,t,r,n,o){return o.___clazz$=e,o.castableTypeMap$=t,o.typeMarker$=H2,o.__elementTypeId$=r,o.__elementTypeCategory$=n,o}function X2(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 J2(e){var t,r,n;return t=e&je,r=e>>22&je,n=e<0?tr:0,lc(t,r,n)}function lc(e,t,r){return{l:e,m:t,h:r}}function ic(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&je,m:n&je,h:o&tr}}function Pt(e,t){return{l:e.l&t.l,m:e.m&t.m,h:e.h&t.h}}function $i(e){var t,r;return e>-129&&e<128?(t=e+128,gl==null&&(gl=Z(Tc,se,293,256,0,1)),r=gl[t],!r&&(r=gl[t]=J2(e)),r):J2(e)}function $2(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 es(e,t){return e.l!=t.l||e.m!=t.m||e.h!=t.h}function ts(e,t){return{l:e.l|t.l,m:e.m|t.m,h:e.h|t.h}}function fl(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&je,m:n&je,h:o&tr}}function br(e,t){var r,n,o,l,i;return t&=63,r=e.h,n=(r&Xg)!=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?tr:0,l=r>>t-22,o=e.m>>t-22|r<<44-t):(i=n?tr:0,l=n?je:0,o=r>>t-44),{l:o&je,m:l&je,h:i&tr}}function eu(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&je,m:n&je,h:o&tr}}function xr(e){return e.l|e.m<<22}var gl;function sc(e){this.string=e}function nr(e,t){return e>t?e:t}function rs(e,t){return e<t?e:t}function ac(e,t){return e.indexOf(t)}function uc(e){return fc(e,0,e.length)}function fc(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 gc(e){return String.fromCharCode(e&Te)}var cc=rr(\\\"java.lang\\\",\\\"String\\\",2);function tu(e){return e.string+=\\\" \\\",e}function ru(e,t){return e.string+=t,e}function mc(){sc.call(this,\\\"\\\")}function cl(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}var nu=!1;function Sr(){nu||(nu=!0,lr=Ke(Re,[se,Ae],[11,0],7,[495,18],2),mn=Ke(Re,[se,Ae],[11,0],7,[324,18],2),fn=Ke(Re,[se,Ae],[11,0],7,[336,18],2),or=Ke(Re,[se,Ae],[11,0],7,[495,8],2),dl=Z(we,ve,0,20048,7,1),pl=Z(we,ve,0,20791,7,1),cn=Z(we,ve,0,82945,7,1),sn=Ke(Re,[se,Ae],[11,0],7,[2768,10],2),un=Ke(Re,[se,Ae],[11,0],7,[2768,10],2),gn=Ke(Re,[se,Ae],[11,0],7,[24,10],2),io=Ke(Re,[se,Ae],[11,0],7,[24,16],2),vr=Ke(Re,[se,Ae],[11,0],7,[140,16],2),ml=Z(we,ve,0,8305,7,1),an=Z(we,ve,0,48441,7,1))}function pc(e,t,r){return e.slice_0=lr[t.slice_0][r],e.flip=fn[t.flip][(X(),Ur)[r<<3|t.fsym]],e.fsym=e.flip&7^t.fsym,e.flip>>=3,e.twist=mn[t.twist][Ur[r<<3|t.tsym]],e.tsym=e.twist&7^t.tsym,e.twist>>=3,e.prun=nr(nr(et(dl,e.twist*495+or[e.slice_0][e.tsym]),et(pl,e.flip*495+or[e.slice_0][e.fsym])),et(cn,e.twist<<11|ar[e.flip<<3|e.fsym^e.tsym])),e.prun}function dc(e,t,r){return r=(X(),uo)[3][r],e.flipc=fn[t.flipc>>3][Ur[r<<3|t.flipc&7]]^t.flipc&7,e.twistc=mn[t.twistc>>3][Ur[r<<3|t.twistc&7]]^t.twistc&7,et(cn,e.twistc>>3<<11|ar[e.flipc^e.twistc&7])}function ou(e,t,r){var n;return e.twist=(X(),fo)[Rl(t)],e.flip=wr[Al(t)],e.tsym=e.twist&7,e.twist=e.twist>>3,e.prun=et(cn,e.twist<<11|ar[e.flip^e.tsym]),e.prun>r||(e.fsym=e.flip&7,e.flip=e.flip>>3,e.slice_0=494-Ln(t.ea,8,!0),e.prun=nr(e.prun,nr(et(dl,e.twist*495+or[e.slice_0][e.tsym]),et(pl,e.flip*495+or[e.slice_0][e.fsym]))),e.prun>r)?!1:(n=new fe,so(t,1,n),ao(t,1,n),e.twistc=fo[Rl(n)],e.flipc=wr[Al(n)],e.prun=nr(e.prun,et(cn,e.twistc>>3<<11|ar[e.flipc^e.twistc&7])),e.prun<=r)}function oo(){Sr()}function et(e,t){return Sr(),e[t>>3]>>(t<<2)&15}function lu(e){Sr(),!(Ll==2||Ll==1&&!e)&&(Ll==0&&(wc(),Lc(),Ac(),Dc(),hc(),X(),as(2048,us,wr,cu=Z(Re,Ae,0,336,7,1),0),as(2187,ms,fo,cs=Z(Re,Ae,0,324,7,1),1),Rc(),Fc(),yc()),lo(ml,gn,io,sn,(X(),gs),584244,e),lo(an,ns,vr,un,gs,514084,e),lo(dl,lr,or,mn,cs,431619,e),lo(pl,lr,or,fn,cu,431619,e),lo(cn,null,null,mn,cs,103939,e),Ll=e?2:1)}function Lc(){var e,t,r,n;for(e=new fe,t=new fe,r=0;r<2768;r++)for(xc(e,(X(),pn)[r]),n=0;n<10;n++)ir(e,ge[(Oe(),Bt)[n]],t),sn[r][n]=yl(qt[rt(t.ca,8,!1)])&Te}function hc(){var e,t,r,n,o;for(e=new fe,t=new fe,ns=Ke(Re,[se,Ae],[11,0],7,[140,10],2),r=0;r<140;r++){for(Fu(e.ca,r%70,0,!1),o=0;o<10;o++)ir(e,(X(),ge)[(Oe(),Bt)[o]],t),ns[r][o]=Ln(t.ca,0,!1)+70*(165>>o&1^~~(r/70))&Te;for(n=0;n<16;n++)so(e,(X(),tt)[0][n],t),vr[r][n]=Ln(t.ca,0,!1)+70*~~(r/70)&Te}}function Ac(){var e,t,r,n;for(e=new fe,t=new fe,r=0;r<2768;r++)for(uu(e,(X(),pn)[r]),n=0;n<10;n++)ct(e,ge[(Oe(),Bt)[n]],t),un[r][n]=qt[rt(t.ea,8,!0)]}function Rc(){var e,t,r,n;for(e=new fe,t=new fe,r=0;r<336;r++)for(is(e,(X(),us)[r]),n=0;n<18;n++)ct(e,ge[n],t),fn[r][n]=wr[Al(t)]}function Dc(){var e,t,r,n,o;for(e=new fe,t=new fe,r=0;r<24;r++){for(Er(e.ea,r,12,!0),o=0;o<10;o++)ct(e,(X(),ge)[(Oe(),Bt)[o]],t),gn[r][o]=rt(t.ea,12,!0)%24&Te;for(n=0;n<16;n++)ao(e,(X(),tt)[0][n],t),io[r][n]=rt(t.ea,12,!0)%24&Te}}function lo(e,t,r,n,o,l,i){var s,u,a,f,g,c,m,L,p,F,y,x,B,P,k,K,te,N,re,b,C,I,w,U,M,q,Y,ce,pe,Fe,ye,wt,Ee,He,xe,D;if(B=l&15,y=(l>>4&1)==1?Zi:0,a=(l>>5&1)==1,s=l>>8&15,f=l>>12&15,g=l>>16&15,F=i?f:g,x=(1<<B)-1,u=t==null,L=u?2048:t.length,p=L*n.length,m=a?10:18,c=m==10?66:599186,k=(e[p>>3]>>(p<<2)&15)-1,k==-1){for(N=0;N<~~(p/8)+1;N++)e[N]=ro;e[0]^=1,k=0}for(;k<F;){for(M=(k+1)*ro^-1,re=0;re<e.length;re++)xe=e[re]^M,xe&=xe>>1,e[re]+=xe&xe>>2&ro;for(I=k>s,Fe=I?k+2:k,pe=Fe*ro,P=I?k:k+2,++k,D=k^k+1,He=0,N=0;N<p;++N,He>>=4){if((N&7)==0&&(He=e[N>>3],((He^pe)-ro&~(He^pe)&-2004318072)==0)){N+=7;continue}if((He&15)==Fe)for(Y=N%L,ye=~~(N/L),K=0,te=0,u&&(K=(X(),wr)[Y],te=K&7,K>>=3),U=0;U<m;U++){if(Ee=n[ye][U],u?ce=(X(),ar)[fn[K][Ur[U<<3|te]]^te^Ee&x]:ce=r[t[Y][U]][Ee&x],Ee>>=B,b=Ee*L+ce,q=e[b>>3]>>(b<<2)&15,q!=P){q<k-1&&(U+=c>>U&3);continue}if(I){e[N>>3]^=D<<(N<<2);break}for(e[b>>3]^=D<<(b<<2),w=1,wt=o[Ee];(wt>>=1)!=0;w++)(wt&1)==1&&(C=Ee*L,u?C+=(X(),ar)[wr[ce]^w]:C+=r[ce][w^y>>(w<<1)&3],(e[C>>3]>>(C<<2)&15)==P&&(e[C>>3]^=D<<(C<<2)))}}}}function Fc(){var e,t,r,n;for(e=new fe,t=new fe,r=0;r<324;r++)for(ss(e,(X(),ms)[r]),n=0;n<18;n++)ir(e,ge[n],t),mn[r][n]=fo[Rl(t)]}function yc(){var e,t,r,n,o,l,i,s;for(e=new fe,t=new fe,n=0;n<495;n++){for(Fu(e.ea,494-n,8,!0),l=0;l<18;l+=3)ct(e,(X(),ge)[l],t),lr[n][l]=494-Ln(t.ea,8,!0)&Te;for(o=0;o<16;o+=2)ao(e,(X(),tt)[0][o],t),or[n][o>>1]=494-Ln(t.ea,8,!0)&Te}for(r=0;r<495;r++)for(o=0;o<18;o+=3)for(s=lr[r][o],i=1;i<3;i++)s=lr[s][o],lr[r][o+i]=s&Te}no(31,1,{31:1},oo);V.flip=0;V.flipc=0;V.fsym=0;V.prun=0;V.slice_0=0;V.tsym=0;V.twist=0;V.twistc=0;var vr,ns,sn,an,un,fn,ml,io,gn,cn,mn,or,pl,lr,dl,Ll=0,hl=rr(\\\"org.cubing.min2phase.client\\\",\\\"CoordCube\\\",31),iu=!1;function X(){iu||(iu=!0,Qt=Z(go,se,7,16,0,1),ge=Z(go,se,7,18,0,1),bl=Z(Nc,se,0,18,6,1),mu=Z(we,ve,0,48,7,1),jt=Ke(we,[se,ve],[17,0],7,[16,16],2),tt=Ke(we,[se,ve],[17,0],7,[16,16],2),uo=Ke(we,[se,ve],[17,0],7,[16,18],2),Ur=Z(we,ve,0,144,7,1),ur=Ke(we,[se,ve],[17,0],7,[16,18],2),us=Z(Re,Ae,0,336,7,1),ms=Z(Re,Ae,0,324,7,1),pn=Z(Re,Ae,0,2768,7,1),dn=Z(ee,le,0,2768,7,1),fs=Z(Re,Ae,0,2768,7,1),Bl=Z(ee,le,0,24,7,1),wr=Z(Re,Ae,0,2048,7,1),fo=Z(Re,Ae,0,2187,7,1),qt=Z(Re,Ae,0,40320,7,1),ar=Z(Re,Ae,0,2688,7,1),ps=new yt(2531,1373,67026819,1367),ds=new yt(2089,1906,322752913,2040),xl=$(J(ee,2),se,10,0,[$(J(ee,1),le,0,7,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),$(J(ee,1),le,0,7,[6,7,8,0,1,2,3,4,5,15,16,17,9,10,11,12,13,14]),$(J(ee,1),le,0,7,[3,4,5,6,7,8,0,1,2,12,13,14,15,16,17,9,10,11]),$(J(ee,1),le,0,7,[2,1,0,5,4,3,8,7,6,11,10,9,14,13,12,17,16,15]),$(J(ee,1),le,0,7,[8,7,6,2,1,0,5,4,3,17,16,15,11,10,9,14,13,12]),$(J(ee,1),le,0,7,[5,4,3,8,7,6,2,1,0,14,13,12,17,16,15,11,10,9])]),vc(),Uc())}function os(e){e.ca=$(J(ee,1),le,0,7,[0,1,2,3,4,5,6,7]),e.ea=$(J(ee,1),le,0,7,[0,2,4,6,8,10,12,14,16,18,20,22])}function su(e){!e.temps&&(e.temps=new fe),ir(ds,e,e.temps),ir(e.temps,ps,e),ct(ds,e,e.temps),ct(e.temps,ps,e)}function ls(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 Bc(e){return yl(qt[rt(e.ca,8,!1)])}function bc(e){return qt[rt(e.ea,8,!0)]}function Al(e){var t,r;for(r=0,t=0;t<11;t++)r=r<<1|e.ea[t]&1;return r}function Rl(e){var t,r;for(r=0,t=0;t<7;t++)r+=(r<<1)+(e.ca[t]>>3);return r}function Dl(e){var t,r;for(!e.temps&&(e.temps=new fe),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;ls(e,e.temps)}function au(e){var t,r,n,o,l,i,s;for(t=new fu(e),o=new fe,r=yl(qt[rt(t.ca,8,!1)])>>4,i={l:0,m:0,h:0},s=0;s<6;s++){if(n=yl(qt[rt(t.ca,8,!1)])>>4,r==n)for(l=0;l<16;l++)so(t,tt[0][l],o),cl(o.ca,e.ca)&&(ao(t,tt[0][l],o),cl(o.ea,e.ea)&&(i=ts(i,fl({l:1,m:0,h:0},(s<<4|l)<48?s<<4|l:48))));su(t),s%3==2&&Dl(t)}return i}function xc(e,t){Er(e.ca,t,8,!1)}function uu(e,t){Er(e.ea,t,8,!0)}function is(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 ss(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 Sc(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:(hs(rt(e.ea,12,!0),12)^hs(rt(e.ca,8,!1),8))!=0?-6:0}function so(e,t,r){X();var n,o,l,i,s,u;for(u=Qt[tt[0][t]],s=Qt[t],n=0;n<8;n++)l=u.ca[e.ca[s.ca[n]&7]&7]>>3,i=e.ca[s.ca[n]&7]>>3,o=l<3?i:(3-i)%3,r.ca[n]=(u.ca[e.ca[s.ca[n]&7]&7]&7|o<<3)<<24>>24}function ir(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 Fl(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 fe(){X(),os(this)}function yt(e,t,r,n){os(this),Er(this.ca,e,8,!1),ss(this,t),Er(this.ea,r,12,!0),is(this,n)}function fu(e){os(this),ls(this,e)}function yl(e){return X(),e^Zi>>((e&15)<<1)&3}function ao(e,t,r){X();var n,o,l;for(l=Qt[tt[0][t]],o=Qt[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 ct(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 sr(e,t,r){X();var n;return n=fs[e],r&&(n=n^Zi>>((n&15)<<1)&3),n&65520|jt[n&15][t]}function gu(){return X(),0}function vc(){var e,t;for(ge[0]=new yt(15120,0,119750400,0),ge[3]=new yt(21021,1494,323403417,0),ge[6]=new yt(8064,1236,29441808,550),ge[9]=new yt(9,0,5880,0),ge[12]=new yt(1230,412,2949660,0),ge[15]=new yt(224,137,328552,137),e=0;e<18;e+=3)for(t=0;t<2;t++)ge[e+t+1]=new fe,ct(ge[e+t],ge[e],ge[e+t+1]),ir(ge[e+t],ge[e],ge[e+t+1])}function wc(){X();var e,t,r;for(as(40320,pn,qt,gs=Z(Re,Ae,0,2768,7,1),2),e=new fe,r=0;r<2768;r++)uu(e,pn[r]),dn[r]=Ln(e.ea,0,!0)+hs(pn[r],8)*70<<24>>24,Dl(e),fs[r]=qt[rt(e.ea,8,!0)];for(t=0;t<24;t++)Er(e.ea,t,12,!0),Dl(e),Bl[t]=rt(e.ea,12,!0)%24<<24>>24}function Uc(){var e,t,r,n,o,l,i,s,u,a,f,g,c,m,L,p;for(e=new fe,t=new fe,r=new yt(28783,0,259268407,0),p=new yt(15138,0,119765538,7),g=new yt(5167,0,83473207,0),o=0;o<8;o++)g.ca[o]=al(g.ca[o]|24);for(l=0;l<16;l++)Qt[l]=new fu(e),Fl(e,p,t),ct(e,p,t),L=t,t=e,e=L,l%4==3&&(Fl(L,g,t),ct(L,g,t),L=t,t=e,e=L),l%8==7&&(Fl(L,r,t),ct(L,r,t),L=t,t=e,e=L);for(i=0;i<16;i++)for(u=0;u<16;u++)for(Fl(Qt[i],Qt[u],e),f=0;f<16;f++)if(cl(Qt[f].ca,e.ca)){jt[i][u]=f,tt[f][u]=i;break}for(a=0;a<18;a++)for(m=0;m<16;m++){for(so(ge[a],tt[0][m],e),c=0;c<18;c++)if(cl(ge[c].ca,e.ca)){uo[m][a]=c,ur[m][(Oe(),hn)[a]]=hn[c];break}m%2==0&&(Ur[a<<3|m>>1]=uo[m][a])}for(n=0;n<18;n++)for(bl[n]=au(ge[n]),s=n,m=0;m<48;m++)uo[m%16][s]<n&&(mu[m]|=1<<n),m%16==15&&(s=xl[2][s])}function as(e,t,r,n,o){X();var l,i,s,u,a,f,g,c,m;for(l=new fe,s=new fe,i=0,a=0,m=o>=2?1:2,f=o!=1,u=0;u<e;u++)if(r[u]==0){switch(o){case 0:is(l,u);break;case 1:ss(l,u);break;case 2:Er(l.ea,u,8,!0)}for(g=0;g<16;g+=m){switch(f?ao(l,g,s):so(l,g,s),o){case 0:a=Al(s);break;case 1:a=Rl(s);break;case 2:a=rt(s.ea,8,!0)}o==0&&(ar[i<<3|g>>1]=a&Te),a==u&&(n[i]=(n[i]|1<<~~(g/m))&Te),c=~~((i<<4|g)/m),r[a]=c&Te}t[i++]=u&Te}return i}var Qt,qt,pn,wr,us,ar,Bl,dn,fs,Ur,uo,ur,jt,tt,cu,gs,cs,fo,ms,mu,ge,bl,ps,ds,xl,go=rr(\\\"org.cubing.min2phase.client\\\",\\\"CubieCube\\\",7);function Ec(e,t,r,n,o,l,i,s){var u,a,f,g,c;if(g=nr(et((Sr(),an),(i>>4)*140+vr[(X(),dn)[s>>4]&255][tt[i&15][s&15]]),nr(et(an,n*140+vr[dn[t]&255][tt[o][r]]),et(ml,t*24+io[l][r]))),g>e.maxDep2)return g-e.maxDep2;for(u=e.maxDep2;u>=g&&(c=Lu(e,n,o,t,r,l,u,e.depth1,10),!(c<0));u--){for(u-=c,e.solLen=0,e.solution=new bu,Gc(e.solution,e.verbose,e.urfIdx,e.depth1),f=0;f<e.depth1+u;f++)yu(e.solution,e.move[f]);for(a=e.preMoveLen-1;a>=0;a--)yu(e.solution,e.preMoves[a]);e.solLen=e.solution.length_0}return u!=e.maxDep2?(e.maxDep2=rs(Au,e.solLen-e.length1-1),$2(e.probe,e.probeMin)?0:1):1}function kc(e){var t,r,n,o,l,i,s,u,a,f,g,c,m,L,p;if(e.isRec=!1,$2(e.probe,e.solution?e.probeMin:e.probeMax))return 0;for(e.probe=ic(e.probe,{l:1,m:0,h:0}),n=e.valid1;n<e.depth1;n++)ir(e.phase1Cubie[n],(X(),ge)[e.move[n]],e.phase1Cubie[n+1]),ct(e.phase1Cubie[n],ge[e.move[n]],e.phase1Cubie[n+1]);for(e.valid1=e.depth1,s=Bc(e.phase1Cubie[e.depth1]),u=s&15,s>>=4,a=bc(e.phase1Cubie[e.depth1]),f=a&15,a>>=4,g=rt(e.phase1Cubie[e.depth1].ea,12,!0)%24,r=sr(a,f,!1),t=sr(s,u,!0),o=e.depth1==0?-1:e.move[e.depth1-1],l=e.preMoveLen==0?-1:e.preMoves[e.preMoveLen-1],p=0,L=(e.preMoveLen==0?1:2)*(e.depth1==0?1:2),c=0,m=(1<<L)-1;c<L;c++){if((m>>c&1)!=0){if(m&=~(1<<c),p=Ec(e,s,u,a,f,g,r,t),p==0||p>2)break;p==2&&(m&=4<<c)}if(m==0)break;(c&1)==0&&e.depth1>0?(i=(Oe(),hn)[~~(o/3)*3+1],e.move[e.depth1-1]=Bt[i]*2-e.move[e.depth1-1],g=(Sr(),gn)[g][i],s=sn[s][(X(),ur)[u][i]],u=jt[s&15][u],s>>=4,a=un[a][ur[f][i]],f=jt[a&15][f],a>>=4,t=sr(s,u,!0),r=sr(a,f,!1)):e.preMoveLen>0&&(i=(Oe(),hn)[~~(l/3)*3+1],e.preMoves[e.preMoveLen-1]=Bt[i]*2-e.preMoves[e.preMoveLen-1],g=(X(),Bl)[(Sr(),gn)[Bl[g]][i]],s=sn[t>>4][ur[t&15][i]],t=s&-16|jt[s&15][t&15],s=sr(t>>4,t&15,!0),u=s&15,s>>=4,a=un[r>>4][ur[r&15][i]],r=a&-16|jt[a&15][r&15],a=sr(r>>4,r&15,!1),f=a&15,a>>=4)}return e.depth1>0&&(e.move[e.depth1-1]=o),e.preMoveLen>0&&(e.preMoves[e.preMoveLen-1]=l),p==0?0:2}function zc(e){var t;for(e.conjMask=0,e.selfSym=au(e.cc),e.conjMask|=es(Pt(br(e.selfSym,16),{l:Te,m:0,h:0}),{l:0,m:0,h:0})?18:0,e.conjMask|=es(Pt(br(e.selfSym,32),{l:Te,m:0,h:0}),{l:0,m:0,h:0})?36:0,e.conjMask|=es(Pt(br(e.selfSym,48),{l:Te,m:0,h:0}),{l:0,m:0,h:0})?56:0,e.selfSym=Pt(e.selfSym,{l:je,m:je,h:15}),e.maxPreMoves=e.conjMask>7?0:20,t=0;t<6;t++)ls(e.urfCubieCube[t],e.cc),ou(e.urfCoordCube[t],e.urfCubieCube[t],20),su(e.cc),t%3==2&&Dl(e.cc)}function pu(e,t,r,n,o){var l,i,s,u,a,f;if(t.prun==0&&n<5)return e.allowShorter||n==0?(e.depth1-=n,a=kc(e),e.depth1+=n,a):1;for(f=gu($i(r)),l=0;l<18;l+=3)if(!(l==o||l==o-9)){for(s=0;s<3;s++)if(i=l+s,!(e.isRec&&i!=e.move[e.depth1-n]||f!=0&&(f&1<<i)!=0)){if(u=pc(e.nodeUD[n],t,i),u>n)break;if(u==n)continue;if(u=dc(e.nodeUD[n],t,i),u>n)break;if(u==n)continue;if(e.move[e.depth1-n]=i,e.valid1=rs(e.valid1,e.depth1-n),a=pu(e,e.nodeUD[n],r&xr((X(),bl)[i]),n-1,l),a==0)return 0;if(a>=2)break}}return 1}function du(e,t,r,n,o){var l,i,s;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==Ls&&e.preMoveLen!=0,ou(e.nodeUD[e.depth1+1],n,e.depth1)&&pu(e,e.nodeUD[e.depth1+1],o,e.depth1,-1)==0))return 0;if(t==0||e.preMoveLen+Ls>=e.length1)return 1;for(s=gu($i(o)),(t==1||e.preMoveLen+1+Ls>=e.length1)&&(s|=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]||(s&1<<l)!=0)&&(ir((X(),ge)[l],n,e.preMoveCubes[t]),ct(ge[l],n,e.preMoveCubes[t]),e.preMoves[e.maxPreMoves-t]=l,i=du(e,t-1,l,e.preMoveCubes[t],o&xr(bl[l])),i==0))return 0}return 1}function Lu(e,t,r,n,o,l,i,s,u){var a,f,g,c,m,L,p,F,y,x,B;if(t==0&&n==0&&l==0)return i;for(y=(Oe(),co)[u],p=0;p<10;p++){if((y>>p&1)!=0){p+=66>>p&3;continue}if(F=(Sr(),gn)[l][p],f=sn[n][(X(),ur)[o][p]],g=jt[f&15][o],f>>=4,m=un[t][ur[r][p]],L=jt[m&15][r],m>>=4,c=sr(m,L,!1),a=sr(f,g,!0),x=et(an,(c>>4)*140+vr[dn[a>>4]&255][tt[c&15][a&15]]),x>i+1)return i-x+1;if(x>=i){p+=66>>p&3&i-x;continue}if(x=nr(et(ml,f*24+io[F][g]),et(an,m*140+vr[dn[f]&255][tt[L][g]])),x>=i){p+=66>>p&3&i-x;continue}if(B=Lu(e,m,L,f,g,F,i-1,s+1,p),B>=0)return e.move[s]=Bt[p],B;if(B<-2)break;B<-1&&(p+=66>>p&3)}return-1}function Cc(e){for(e.length1=e.isRec?e.length1:0;e.length1<e.solLen;e.length1++)for(e.maxDep2=rs(Au,e.solLen-e.length1-1),e.urfIdx=e.isRec?e.urfIdx:0;e.urfIdx<6;e.urfIdx++)if((e.conjMask&1<<e.urfIdx)==0&&du(e,e.maxPreMoves,-30,e.urfCubieCube[e.urfIdx],xr(Pt(e.selfSym,{l:Te,m:0,h:0})))==0)return e.solution?Bu(e.solution):\\\"Error 8\\\";return e.solution?Bu(e.solution):\\\"Error 7\\\"}function Pc(e,t){var r;return r=Mc(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,lu(!1),zc(e),Cc(e))}function Mc(e,t){var r,n,o,l;for(n=0,o=Z(ee,le,0,54,7,1),r=uc($(J(Re,1),Ae,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]=ac(r,gc(t.charCodeAt(l)))<<24>>24,o[l]==-1)return-1;n+=1<<(o[l]<<2)}return n!=10066329?-1:(Ic(o,e.cc),Sc(e.cc))}function hu(){var e,t,r;for(this.move=Z(we,ve,0,31,7,1),this.nodeUD=Z(hl,se,31,21,0,1),this.nodeRL=Z(hl,se,31,21,0,1),this.nodeFB=Z(hl,se,31,21,0,1),this.cc=new fe,this.urfCubieCube=Z(go,se,7,6,0,1),this.urfCoordCube=Z(hl,se,31,6,0,1),this.phase1Cubie=Z(go,se,7,21,0,1),this.preMoveCubes=Z(go,se,7,21,0,1),this.preMoves=Z(we,ve,0,20,7,1),t=0;t<21;t++)this.nodeUD[t]=new oo,this.nodeRL[t]=new oo,this.nodeFB[t]=new oo,this.phase1Cubie[t]=new fe;for(r=0;r<6;r++)this.urfCubieCube[r]=new fe,this.urfCoordCube[r]=new oo;for(e=0;e<20;e++)this.preMoveCubes[e+1]=new fe}no(72,1,{},hu);V.allowShorter=!1;V.conjMask=0;V.depth1=0;V.isRec=!1;V.length1=0;V.maxDep2=0;V.maxPreMoves=0;V.preMoveLen=0;V.probe={l:0,m:0,h:0};V.probeMax={l:0,m:0,h:0};V.probeMin={l:0,m:0,h:0};V.selfSym={l:0,m:0,h:0};V.solLen=0;V.urfIdx=0;V.valid1=0;V.verbose=0;var Au=12,Ls=7,Ru=!1;function Oe(){if(!Ru){Ru=!0;var e,t,r,n,o,l;for(kr=$(J(ee,2),se,10,0,[$(J(ee,1),le,0,7,[8,9,20]),$(J(ee,1),le,0,7,[6,18,38]),$(J(ee,1),le,0,7,[0,36,47]),$(J(ee,1),le,0,7,[2,45,11]),$(J(ee,1),le,0,7,[29,26,15]),$(J(ee,1),le,0,7,[27,44,24]),$(J(ee,1),le,0,7,[33,53,42]),$(J(ee,1),le,0,7,[35,17,51])]),Vt=$(J(ee,2),se,10,0,[$(J(ee,1),le,0,7,[5,10]),$(J(ee,1),le,0,7,[7,19]),$(J(ee,1),le,0,7,[3,37]),$(J(ee,1),le,0,7,[1,46]),$(J(ee,1),le,0,7,[32,16]),$(J(ee,1),le,0,7,[28,25]),$(J(ee,1),le,0,7,[30,43]),$(J(ee,1),le,0,7,[34,52]),$(J(ee,1),le,0,7,[23,12]),$(J(ee,1),le,0,7,[21,41]),$(J(ee,1),le,0,7,[50,39]),$(J(ee,1),le,0,7,[48,14])]),Kt=Ke(we,[se,ve],[17,0],7,[13,13],2),As=$(J(cc,1),se,2,4,[\\\"U \\\",\\\"U2\\\",\\\"U'\\\",\\\"R \\\",\\\"R2\\\",\\\"R'\\\",\\\"F \\\",\\\"F2\\\",\\\"F'\\\",\\\"D \\\",\\\"D2\\\",\\\"D'\\\",\\\"L \\\",\\\"L2\\\",\\\"L'\\\",\\\"B \\\",\\\"B2\\\",\\\"B'\\\"]),Bt=$(J(we,1),ve,0,7,[0,1,2,4,7,9,10,11,13,16,3,5,6,8,12,14,15,17]),hn=Z(we,ve,0,18,7,1),co=Z(we,ve,0,11,7,1),t=0;t<18;t++)hn[Bt[t]]=t;for(r=0;r<10;r++)for(n=~~(Bt[r]/3),co[r]=0,o=0;o<10;o++)l=~~(Bt[o]/3),co[r]|=(n==l||n%3==l%3&&n>=l?1:0)<<o;for(co[10]=0,e=0;e<13;e++)for(Kt[e][0]=Kt[e][e]=1,o=1;o<e;o++)Kt[e][o]=Kt[e-1][o-1]+Kt[e-1][o]}}function Ln(e,t,r){Oe();var n,o,l,i,s;for(n=e.length-1,l=0,s=4,o=n;o>=0;o--)i=Du(e[o],r),(i&12)==t&&(l+=Kt[o][s--]);return l}function hs(e,t){Oe();var r,n;for(n=0,r=t-2;r>=0;r--)n^=e%(t-r),e=~~(e/(t-r));return n&1}function rt(e,t,r){Oe();var n,o,l,i;for(o=0,i={l:1323536,m:2777561,h:1043915},n=0;n<t-1;n++)l=Du(e[n],r)<<2,o=(t-n)*o+xr(Pt(br(i,l),{l:15,m:0,h:0})),i=eu(i,fl({l:1118480,m:279620,h:69905},l));return o}function Du(e,t){return t?e>>1:e&7}function Fu(e,t,r,n){Oe();var o,l,i,s;for(o=e.length-1,s=4,l=o,i=o;i>=0;i--)t>=Kt[i][s]?(t-=Kt[i][s--],e[i]=Sl(e[i],s|r,n)):((l&12)==r&&(l-=4),e[i]=Sl(e[i],l--,n))}function Er(e,t,r,n){Oe();var o,l,i,s,u,a;for(a={l:1323536,m:2777561,h:1043915},o={l:0,m:0,h:0},s=2;s<=r;s++)o=ts(fl(o,4),$i(t%s)),t=~~(t/s);for(l=0;l<r-1;l++)u=(xr(o)&15)<<2,o=br(o,4),e[l]=Sl(e[l],xr(Pt(br(a,u),{l:15,m:0,h:0})),n),i=eu(fl({l:1,m:0,h:0},u),{l:1,m:0,h:0}),a=ts(Pt(a,i),Pt(br(a,4),{l:~i.l&je,m:~i.m&je,h:~i.h&tr}));e[r-1]=Sl(e[r-1],xr(Pt(a,{l:15,m:0,h:0})),n)}function Sl(e,t,r){return(r?t<<1|e&1:t|e&-8)<<24>>24}function Ic(e,t){Oe();var r,n,o,l,i,s,u,a;for(l=0;l<8;l++)t.ca[l]=0;for(i=0;i<12;i++)t.ea[i]=0;for(s=0;s<8;s++){for(a=0;a<3&&!(e[kr[s][a]]==0||e[kr[s][a]]==3);a++);for(r=e[kr[s][(a+1)%3]],n=e[kr[s][(a+2)%3]],u=0;u<8;u++)if(r==~~(kr[u][1]/9)&&n==~~(kr[u][2]/9)){t.ca[s]=al(a%3<<3|u);break}}for(o=0;o<12;o++)for(u=0;u<12;u++){if(e[Vt[o][0]]==~~(Vt[u][0]/9)&&e[Vt[o][1]]==~~(Vt[u][1]/9)){t.ea[o]=al(u<<1);break}if(e[Vt[o][0]]==~~(Vt[u][1]/9)&&e[Vt[o][1]]==~~(Vt[u][0]/9)){t.ea[o]=al(u<<1|1);break}}}var Kt,co,kr,Vt,As,hn,Bt;function yu(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 Gc(e,t,r,n){e.verbose=t,e.urfIdx=r,e.depth1=n}function Bu(e){var t,r,n;if(r=new mc,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+=\\\". \\\"),tu(ru(r,(Oe(),As)[(X(),xl)[n][e.moves[t]]]));else for(t=e.length_0-1;t>=0;t--)tu(ru(r,(Oe(),As)[(X(),xl)[n][e.moves[t]]])),(e.verbose&1)!=0&&t==e.depth1&&(r.string+=\\\". \\\");return r.string}function bu(){this.moves=Z(we,ve,0,31,7,1)}no(150,1,{},bu);V.depth1=0;V.length_0=0;V.urfIdx=0;V.verbose=0;var we=ul(\\\"int\\\",\\\"I\\\");rr(\\\"com.google.gwt.lang\\\",\\\"CollapsedPropertyHolder\\\",252);rr(\\\"com.google.gwt.lang\\\",\\\"JavaClassHierarchySetupUtil\\\",254);var Tc=rr(\\\"com.google.gwt.lang\\\",\\\"LongLibBase/LongEmul\\\",null);rr(\\\"com.google.gwt.lang\\\",\\\"ModuleUtils\\\",257);var ee=ul(\\\"byte\\\",\\\"B\\\"),Nc=ul(\\\"long\\\",\\\"J\\\"),Re=ul(\\\"char\\\",\\\"C\\\");rr(\\\"com.google.gwt.user.client.rpc\\\",\\\"XsrfToken\\\",null),rc(\\\"java.util\\\",\\\"Map/Entry\\\");var xu=function(){lu(!1)},Su=function(e){return Pc(new hu,e)};function vu(){return h(this,null,function*(){let e=yield zt[\\\"3x3x3\\\"].def(),t=new Je(e);for(let r of V2)t.applyAlg(z.fromString((yield Wt())(r)));return K2(e,t.state)?t.state:vu()})}function Rs(e){return h(this,null,function*(){return $e(),z.fromString(Su(q2(e)))})}function An(){return h(this,null,function*(){return Rs(yield vu())})}function wu(){return h(this,null,function*(){xu()})}var _c=[[null,\\\"Rw\\\",\\\"Rw2\\\",\\\"Rw'\\\",\\\"Fw\\\",\\\"Fw'\\\"],[null,\\\"Dw\\\",\\\"Dw2\\\",\\\"Dw'\\\"]];function Uu(){return h(this,null,function*(){return ln(yield An(),_c)})}var Eu=new z(\\\"R' U' F\\\");function ku(){return h(this,null,function*(){let e=new ut,t=yield An();return e.experimentalPushAlg(Eu),e.experimentalPushAlg(t),e.experimentalPushAlg(Eu),e.toAlg()})}he();var me=[],Ds=[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,Ds[e+1]=Ds[e]*(e+1);for(let t=1;t<e;++t)me[e][t]=me[e-1][t-1]+me[e-1][t]}function ae(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,ae}function zu(e,t,r,n){r=(r||8)-1;let o=1985229328,l=0;n!=null||(n=0),n<0&&(t<<=1);for(let i=0;i<r;++i){let s=Ds[r-i],u=~~(t/s);l^=u,t%=s,u<<=2,e[i]=o>>u&7;let a=(1<<u)-1;o=(o&a)+(o>>4&~a)}return n<0&&(l&1)!=0?(e[r]=e[r-1],e[r-1]=o&7):e[r]=o&7,e}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}var H,mo={},Oc={},Cu=0,Fs=30,Pu=21,Wc=22,Qc=23,Mu=24,qc=25,jc=34,Kc=26,ys=40;function Vc(e){return new mo[e]}function at(e,t,r,...n){let o=mo[e];o&&!o.___clazz$?H=o.prototype:(!o&&(o=mo[e]=function(){}),H=o.prototype=t<0?{}:Vc(t),H.castableTypeMap$=r);for(let l of n)l.prototype=H;o.___clazz$&&(H.___clazz$=o.___clazz$,o.___clazz$=null)}function fr(e){let t={};for(let r=0,n=e.length;r<n;++r)t[e[r]]=1;return t}at(1,-1,Oc);H.value=null;function Iu(){}function Hc(e,t){let r=Gu(0,t);return Tu(e.___clazz$,e.castableTypeMap$,e.queryId$,r),r}function Gu(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 Bs(e,t,r,n,o){let l=Gu(o,n);return Tu(e,t,r,l),l}function Tu(e,t,r,n){return _u(),Zc(n,bs,xs),n.___clazz$=e,n.castableTypeMap$=t,n.queryId$=r,n}function vl(e,t,r){return e[t]=r}at(73,1,{},Iu);H.queryId$=0;var Nu=!1;function _u(){Nu||(Nu=!0,bs=[],xs=[],Yc(new Iu,bs,xs))}function Yc(e,t,r){let n=0,o;for(let l in e)(o=e[l])&&(t[n]=l,r[n]=o,++n)}function Zc(e,t,r){_u();for(let n=0,o=t.length;n<o;++n)e[t[n]]=r[n]}var bs,xs;function Xc(e,t){return e.castableTypeMap$&&!!e.castableTypeMap$[t]}function Jc(e,t){return e!==null&&Xc(e,t)}var Ou=!1;function $c(){if(Ou)return!1;Ou=!0,zl=T(15582,36),Cl=T(15582),xt=T(15582),Fn=T(48,48),St=T(48,36),Dn=T(48),ws=T(48)}function Ss(e){e.ct=T(24)}function Wu(e,t){let r,n;if(Jc(t,Pu)){for(r=t,n=0;n<24;++n)if(e.ct[n]!==r.ct[n])return!1;return!0}return!1}function wl(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 Ul(e){let t,r;if(Rn!==null)return Rn[wl(e)];for(r=0;r<48;++r){if(t=lm(wl(e)),t!==-1)return t*64+r;oe(e,0),r%2==1&&oe(e,1),r%8==7&&oe(e,2),r%16==15&&oe(e,3)}}function bt(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:A(e.ct,0,1,2,3,r);break;case 1:A(e.ct,16,17,18,19,r);break;case 2:A(e.ct,8,9,10,11,r);break;case 3:A(e.ct,4,5,6,7,r);break;case 4:A(e.ct,20,21,22,23,r);break;case 5:A(e.ct,12,13,14,15,r);break;case 6:A(e.ct,0,1,2,3,r),A(e.ct,8,20,12,16,r),A(e.ct,9,21,13,17,r);break;case 7:A(e.ct,16,17,18,19,r),A(e.ct,1,15,5,9,r),A(e.ct,2,12,6,10,r);break;case 8:A(e.ct,8,9,10,11,r),A(e.ct,2,19,4,21,r),A(e.ct,3,16,5,22,r);break;case 9:A(e.ct,4,5,6,7,r),A(e.ct,10,18,14,22,r),A(e.ct,11,19,15,23,r);break;case 10:A(e.ct,20,21,22,23,r),A(e.ct,0,8,4,14,r),A(e.ct,3,11,7,13,r);break;case 11:A(e.ct,12,13,14,15,r),A(e.ct,1,20,7,18,r),A(e.ct,0,23,6,17,r)}}function oe(e,t){switch(t){case 0:bt(e,19),bt(e,28);break;case 1:bt(e,21),bt(e,32);break;case 2:A(e.ct,0,3,1,2,1),A(e.ct,8,11,9,10,1),A(e.ct,4,7,5,6,1),A(e.ct,12,15,13,14,1),A(e.ct,16,19,21,22,1),A(e.ct,17,18,20,23,1);break;case 3:bt(e,18),bt(e,29),bt(e,24),bt(e,35)}}function Qu(e,t){let r;for(r=0;r<t;++r)oe(e,0),r%2==1&&oe(e,1),r%8==7&&oe(e,2),r%16==15&&oe(e,3)}function vs(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 El(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function po(){let e;for(Ss(this),e=0;e<8;++e)this.ct[e]=1;for(e=8;e<24;++e)this.ct[e]=0}function kl(e,t){let r;for(Ss(this),r=0;r<24;++r)this.ct[r]=~~(e.ct[r]/2)===t?1:0}function Lo(e){let t;for(Ss(this),t=0;t<24;++t)this.ct[t]=e[t]}function em(){let e,t,r=new po,n=new po;for(e=0;e<15582;++e)for(vs(n,Cl[e]),t=0;t<36;++t)El(r,n),bt(r,t),zl[e][t]=Ul(r)}function tm(){let e,t,r,n,o,l,i,s;for(Xl(xt),xt[0]=0,t=0,r=1;r!==15582;)for(l=t>4,s=l?-1:t,e=l?t:-1,++t,n=0;n<15582;++n)if(xt[n]===s){for(i=0;i<27;++i)if(o=~~zl[n][i]>>>6,xt[o]===e)if(++r,l){xt[n]=t;break}else xt[o]=t}}function rm(e){let t,r,n,o=new Lo(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;oe(o,0),n%2==1&&oe(o,1),n%8==7&&oe(o,2),n%16==15&&oe(o,3)}return-1}function nm(){let e,t,r,n=new po;for(e=0;e<24;++e)n.ct[e]=e;let o=new Lo(n.ct),l=new Lo(n.ct),i=new Lo(n.ct);for(e=0;e<48;++e){for(t=0;t<48;++t){for(r=0;r<48;++r)Wu(n,o)&&(Fn[e][t]=r,r===0&&(Dn[e]=t)),oe(o,0),r%2==1&&oe(o,1),r%8==7&&oe(o,2),r%16==15&&oe(o,3);oe(n,0),t%2==1&&oe(n,1),t%8==7&&oe(n,2),t%16==15&&oe(n,3)}oe(n,0),e%2==1&&oe(n,1),e%8==7&&oe(n,2),e%16==15&&oe(n,3)}for(e=0;e<48;++e)for(El(n,l),Qu(n,Dn[e]),t=0;t<36;++t)for(El(o,n),bt(o,t),Qu(o,e),r=0;r<36;++r)if(El(i,l),bt(i,r),Wu(i,o)){St[e][t]=r;break}for(vs(n,0),e=0;e<48;++e)ws[Dn[e]]=wl(n),oe(n,0),e%2==1&&oe(n,1),e%8==7&&oe(n,2),e%16==15&&oe(n,3)}function om(){let e,t,r,n,o=new po,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(vs(o,t),n=0;n<48;++n)r=wl(o),l[~~r>>>5]|=1<<(r&31),Rn!==null&&(Rn[r]=e<<6|Dn[n]),oe(o,0),n%2==1&&oe(o,1),n%8==7&&oe(o,2),n%16==15&&oe(o,3);Cl[e++]=t}}function lm(e){let t=Km(Cl,e);return t>=0?t:-1}at(153,1,fr([Pu]),po,kl,Lo);var xt,zl,ws,Rn=null,Cl,Dn,St,Fn,qu=!1;function im(){qu||(qu=!0,Gl=T(70,28),Il=T(6435,28),Zu=T(70,16),Hu=T(6435,16),Ve=T(450450),Yu=[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 Pl(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 Ml(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 yn(e,t){e.parity^=Yu[t];let r=t%3;switch(t=~~(t/3),t){case 0:A(e.ct,0,1,2,3,r);break;case 1:A(e.rl,0,1,2,3,r);break;case 2:A(e.ct,8,9,10,11,r);break;case 3:A(e.ct,4,5,6,7,r);break;case 4:A(e.rl,4,5,6,7,r);break;case 5:A(e.ct,12,13,14,15,r);break;case 6:A(e.ct,0,1,2,3,r),A(e.rl,0,5,4,1,r),A(e.ct,8,9,12,13,r);break;case 7:A(e.rl,0,1,2,3,r),A(e.ct,1,15,5,9,r),A(e.ct,2,12,6,10,r);break;case 8:A(e.ct,8,9,10,11,r),A(e.rl,0,3,6,5,r),A(e.ct,3,2,5,4,r);break;case 9:A(e.ct,4,5,6,7,r),A(e.rl,3,2,7,6,r),A(e.ct,11,10,15,14,r);break;case 10:A(e.rl,4,5,6,7,r),A(e.ct,0,8,4,14,r),A(e.ct,3,11,7,13,r);break;case 11:A(e.ct,12,13,14,15,r),A(e.rl,1,4,7,2,r),A(e.ct,1,0,7,6,r)}}function Bn(e,t){switch(t){case 0:yn(e,19),yn(e,28);break;case 1:yn(e,21),yn(e,32);break;case 2:A(e.ct,0,3,1,2,1),A(e.ct,8,11,9,10,1),A(e.ct,4,7,5,6,1),A(e.ct,12,15,13,14,1),A(e.rl,0,3,5,6,1),A(e.rl,1,2,4,7,1)}}function ju(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 Ku(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 Vu(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 Us(){this.rl=T(8),this.ct=T(16)}function sm(){let e,t,r,n,o,l,i,s,u,a,f=new Us;for(o=0;o<70;++o)for(s=0;s<28;++s)Vu(f,o),yn(f,Cr[s]),Gl[o][s]=Ml(f);for(o=0;o<70;++o)for(Vu(f,o),i=0;i<16;++i)Zu[o][i]=Ml(f),Bn(f,0),i%2==1&&Bn(f,1),i%8==7&&Bn(f,2);for(o=0;o<6435;++o)for(Ku(f,o),i=0;i<16;++i)Hu[o][i]=Pl(f)&65535,Bn(f,0),i%2==1&&Bn(f,1),i%8==7&&Bn(f,2);for(o=0;o<6435;++o)for(s=0;s<28;++s)Ku(f,o),yn(f,Cr[s]),Il[o][s]=Pl(f)&65535;for(Xl(Ve),Ve[0]=Ve[18]=Ve[28]=Ve[46]=Ve[54]=Ve[56]=0,r=0,n=6;n!==450450;){let g=r>6,c=g?-1:r,m=g?r:-1;for(++r,o=0;o<450450;++o)if(Ve[o]===c){for(e=~~(o/70),u=o%70,s=0;s<23;++s)if(t=Il[e][s],a=Gl[u][s],l=t*70+a,Ve[l]===m)if(++n,g){Ve[o]=r;break}else Ve[l]=r}}}at(154,1,{},Us);H.parity=0;var Il,Ve,Hu,Yu,Gl,Zu,Xu=!1;function am(){Xu||(Xu=!0,ho=T(29400,20),$u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1],gr=T(29400),zs=[0,9,14,23,27,28,41,42,46,55,60,69],Cs=T(70))}function Es(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+Cs[n])}function um(e,t){switch(e.parity^=$u[t],t){case 0:case 1:case 2:A(e.ud,0,1,2,3,t%3);break;case 3:A(e.rl,0,1,2,3,1);break;case 4:case 5:case 6:A(e.fb,0,1,2,3,(t-1)%3);break;case 7:case 8:case 9:A(e.ud,4,5,6,7,(t-1)%3);break;case 10:A(e.rl,4,5,6,7,1);break;case 11:case 12:case 13:A(e.fb,4,5,6,7,(t+1)%3);break;case 14:A(e.ud,0,1,2,3,1),A(e.rl,0,5,4,1,1),A(e.fb,0,5,4,1,1);break;case 15:A(e.rl,0,1,2,3,1),A(e.fb,1,4,7,2,1),A(e.ud,1,6,5,2,1);break;case 16:A(e.fb,0,1,2,3,1),A(e.ud,3,2,5,4,1),A(e.rl,0,3,6,5,1);break;case 17:A(e.ud,4,5,6,7,1),A(e.rl,3,2,7,6,1),A(e.fb,3,2,7,6,1);break;case 18:A(e.rl,4,5,6,7,1),A(e.fb,0,3,6,5,1),A(e.ud,0,3,4,7,1);break;case 19:A(e.fb,4,5,6,7,1),A(e.ud,0,7,6,1,1),A(e.rl,1,4,7,2,1)}}function Ju(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 fm(e,t){let r,n,o,l;for(e.parity=t&1,t>>>=1,o=zs[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 ks(){this.ud=T(8),this.rl=T(8),this.fb=T(8)}function gm(){let e,t,r,n;for(r=0;r<12;++r)Cs[zs[r]]=r;let o=new ks;for(r=0;r<29400;++r)for(n=0;n<20;++n)fm(o,r),um(o,n),ho[r][n]=Es(o)&65535;for(Xl(gr),gr[0]=0,e=0,t=1;t!==29400;){for(r=0;r<29400;++r)if(gr[r]===e)for(n=0;n<17;++n)gr[ho[r][n]]===-1&&(gr[ho[r][n]]=e+1,++t);++e}}at(155,1,{},ks);H.parity=0;var ho,$u,gr,zs,Cs;function cm(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function mm(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:A(e.ct,0,1,2,3,r);break;case 1:A(e.ct,16,17,18,19,r);break;case 2:A(e.ct,8,9,10,11,r);break;case 3:A(e.ct,4,5,6,7,r);break;case 4:A(e.ct,20,21,22,23,r);break;case 5:A(e.ct,12,13,14,15,r);break;case 6:A(e.ct,0,1,2,3,r),A(e.ct,8,20,12,16,r),A(e.ct,9,21,13,17,r);break;case 7:A(e.ct,16,17,18,19,r),A(e.ct,1,15,5,9,r),A(e.ct,2,12,6,10,r);break;case 8:A(e.ct,8,9,10,11,r),A(e.ct,2,19,4,21,r),A(e.ct,3,16,5,22,r);break;case 9:A(e.ct,4,5,6,7,r),A(e.ct,10,18,14,22,r),A(e.ct,11,19,15,23,r);break;case 10:A(e.ct,20,21,22,23,r),A(e.ct,0,8,4,14,r),A(e.ct,3,11,7,13,r);break;case 11:A(e.ct,12,13,14,15,r),A(e.ct,1,20,7,18,r),A(e.ct,0,23,6,17,r)}}function Ps(){let e;for(this.ct=T(24),e=0;e<24;++e)this.ct[e]=~~(e/4)}function ef(e){let t,r,n;for(Ps.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)}at(156,1,{},Ps,ef);var tf=!1;function pm(){tf||(tf=!0,mt=T(18),hm())}function rf(e){e.cp=[0,1,2,3,4,5,6,7],e.co=[0,0,0,0,0,0,0,0]}function nf(e,t){let r;for(r=0;r<8;++r)e.cp[r]=t.cp[r],e.co[r]=t.co[r]}function dm(e,t){!e.temps&&(e.temps=new Tl),of(e,mt[t],e.temps),nf(e,e.temps)}function Lm(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 of(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 Tl(){rf(this)}function cr(e,t){rf(this),zu(this.cp,e),Lm(this,t)}function lf(e){cr.call(this,e(40320),e(2187))}function hm(){let e,t;for(mt[0]=new cr(15120,0),mt[3]=new cr(21021,1494),mt[6]=new cr(8064,1236),mt[9]=new cr(9,0),mt[12]=new cr(1230,412),mt[15]=new cr(224,137),e=0;e<18;e+=3)for(t=0;t<2;++t)mt[e+t+1]=new Tl,of(mt[e+t],mt[e],mt[e+t+1])}at(157,1,fr([Wc]),Tl,cr,lf);H.temps=null;var mt,sf=!1;function Am(){sf||(sf=!0,vt=T(1937880),Wl=T(1538),Ql=T(1538),wn=T(11880),mf=[0,1,6,3,4,5,2,7],Ts=T(160,12),Ns=T(160,12),Gs=[1,1,1,3,12,60,360,2520,20160,181440,1814400,19958400,239500800],Is=[0,2,4,6,1,3,7,5,8,9,10,11])}function bn(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 xn(e,t){let r,n,o,l,i;for(e.isStd||gf(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 af(e){let t,r=xn(e,4);t=wn[r];let n=t&7;t>>=3,_l(e,n);let o=xn(e,10)%20160;return t*20160+o}function Nl(e,t){switch(e.isStd=!1,t){case 0:ae(e.edge,0,4,1,5),ae(e.edgeo,0,4,1,5);break;case 1:Le(e.edge,0,4,1,5),Le(e.edgeo,0,4,1,5);break;case 2:ae(e.edge,0,5,1,4),ae(e.edgeo,0,5,1,4);break;case 3:Le(e.edge,5,10,6,11),Le(e.edgeo,5,10,6,11);break;case 4:ae(e.edge,0,11,3,8),ae(e.edgeo,0,11,3,8);break;case 5:Le(e.edge,0,11,3,8),Le(e.edgeo,0,11,3,8);break;case 6:ae(e.edge,0,8,3,11),ae(e.edgeo,0,8,3,11);break;case 7:ae(e.edge,2,7,3,6),ae(e.edgeo,2,7,3,6);break;case 8:Le(e.edge,2,7,3,6),Le(e.edgeo,2,7,3,6);break;case 9:ae(e.edge,2,6,3,7),ae(e.edgeo,2,6,3,7);break;case 10:Le(e.edge,4,8,7,9),Le(e.edgeo,4,8,7,9);break;case 11:ae(e.edge,1,9,2,10),ae(e.edgeo,1,9,2,10);break;case 12:Le(e.edge,1,9,2,10),Le(e.edgeo,1,9,2,10);break;case 13:ae(e.edge,1,10,2,9),ae(e.edgeo,1,10,2,9);break;case 14:Le(e.edge,0,4,1,5),Le(e.edgeo,0,4,1,5),ae(e.edge,9,11),ae(e.edgeo,8,10);break;case 15:Le(e.edge,5,10,6,11),Le(e.edgeo,5,10,6,11),ae(e.edge,1,3),ae(e.edgeo,0,2);break;case 16:Le(e.edge,0,11,3,8),Le(e.edgeo,0,11,3,8),ae(e.edge,5,7),ae(e.edgeo,4,6);break;case 17:Le(e.edge,2,7,3,6),Le(e.edgeo,2,7,3,6),ae(e.edge,8,10),ae(e.edgeo,9,11);break;case 18:Le(e.edge,4,8,7,9),Le(e.edgeo,4,8,7,9),ae(e.edge,0,2),ae(e.edgeo,1,3);break;case 19:Le(e.edge,1,9,2,10),Le(e.edgeo,1,9,2,10),ae(e.edge,4,6),ae(e.edgeo,5,7)}}function Sn(e,t){switch(e.isStd=!1,t){case 0:Nl(e,14),Nl(e,17);break;case 1:bn(e,11,5,10,6),bn(e,5,10,6,11),bn(e,1,2,3,0),bn(e,4,9,7,8),bn(e,8,4,9,7),bn(e,0,1,2,3);break;case 2:pt(e,4,5),pt(e,5,4),pt(e,11,8),pt(e,8,11),pt(e,7,6),pt(e,6,7),pt(e,9,10),pt(e,10,9),pt(e,1,1),pt(e,0,0),pt(e,3,3),pt(e,2,2)}}function _l(e,t){for(;t>=2;)t-=2,Sn(e,1),Sn(e,2);t!==0&&Sn(e,0)}function Ao(e,t){let r,n,o,l,i,s;for(i=1985229328,s=47768,o=0,r=0;r<11;++r)if(n=Gs[11-r],l=~~(t/n),t=t%n,o^=l,l<<=2,l>=32){l=l-32,e.edge[r]=s>>l&15;let u=(1<<l)-1;s=(s&u)+(s>>4&~u)}else{e.edge[r]=i>>l&15;let u=(1<<l)-1;i=(i&u)+(i>>>4&~u)+(s<<28),s=s>>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 uf(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 ff(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[Is[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[Is[r]]%12];return n}function gf(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 Le(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 pt(e,t,r){let n=e.edge[t];e.edge[t]=e.edgeo[r],e.edgeo[r]=n}function Ht(){this.edge=T(12),this.edgeo=T(12)}function Rm(){let e,t,r,n,o,l,i,s,u,a,f,g,c,m,L,p,F,y,x,B,P,k,K=new Ht,te=new Ht,N=new Ht;for(Xl(vt),s=0,Ol=1,Ms(vt,0,0);Ol!==31006080&&(L=s>9,i=s%3,l=(s+1)%3,a=L?3:i,e=L?i:3,!(s>=9));){for(g=0;g<31006080;g+=16)if(k=vt[~~g>>4],!(!L&&k===-1)){for(f=g,u=g+16;f<u;++f,k>>=2)if((k&3)===a){for(x=~~(f/20160),t=Wl[x],n=f%20160,Ao(K,t*20160+n),F=0;F<17;++F)if(r=vn(K.edge,F<<3,4),B=wn[r],P=B&7,B>>=3,o=vn(K.edge,F<<3|P,10)%20160,c=B*20160+o,Ro(vt,c)===e){if(Ms(vt,L?f:c,l),++Ol,L)break;if(y=Ql[B],y!==1)for(uf(te,K),Nl(te,F),_l(te,P),p=1;(y=~~y>>1&65535)!=0;++p)(y&1)==1&&(uf(N,te),_l(N,p),m=B*20160+xn(N,10)%20160,Ro(vt,m)===e&&(Ms(vt,m,l),++Ol))}}}++s}}function Ro(e,t){return e[t>>4]>>((t&15)<<1)&3}function vn(e,t,r){let n,o,l,i,s,u=Ns[t],a=Ts[t];for(o=0,s=1985229328,i=47768,n=0;n<r;++n)l=u[e[a[n]]]<<2,o*=12-n,l>=32?(o+=i>>l-32&15,i-=4368<<l-32):(o+=s>>l&15,i-=4369,s-=286331152<<l);return o}function cf(e){let t,r,n,o,l,i,s,u,a,f,g,c=new Ht;if(i=0,l=Ro(vt,e),l===3)return 10;for(;e!==0;)for(l===0?l=2:--l,a=~~(e/20160),t=Wl[a],n=e%20160,Ao(c,t*20160+n),u=0;u<17;++u)if(r=vn(c.edge,u<<3,4),f=wn[r],g=f&7,f>>=3,o=vn(c.edge,u<<3|g,10)%20160,s=f*20160+o,Ro(vt,s)===l){++i,e=s;break}return i}function Dm(e,t){let r=Ro(vt,e);return r===3?10:(1227133513<<r>>t&3)+t-1}function Fm(){let e,t,r,n=new Ht;for(t=0;t<20;++t)for(r=0;r<8;++r){for(Ao(n,0),Nl(n,t),_l(n,r),e=0;e<12;++e)Ts[t<<3|r][e]=n.edge[e];for(gf(n),e=0;e<12;++e)Ns[t<<3|r][e]=n.temp[e]}}function ym(){let e,t,r,n,o=new Ht,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(Ao(o,t*Gs[8]),n=0;n<8;++n)r=xn(o,4),r===t&&(Ql[e]=(Ql[e]|1<<n)&65535),l[~~r>>3]=l[~~r>>3]|1<<(r&7),wn[r]=e<<3|mf[n],Sn(o,0),n%2==1&&(Sn(o,1),Sn(o,2));Wl[e++]=t}}function Ms(e,t,r){e[t>>4]^=(3^r)<<((t&15)<<1)}at(158,1,fr([Qc]),Ht);H.isStd=!0;H.temp=null;var Is,Ol=0,vt,Gs,Ts,Ns,wn,Wl,mf,Ql,pf=!1;function Bm(){pf||(pf=!0)}function bm(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 xm(e,t){let r;for(r=0;r<24;++r)e.ep[r]=t.ep[r]}function Sm(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:A(e.ep,0,1,2,3,r),A(e.ep,12,13,14,15,r);break;case 1:A(e.ep,11,15,10,19,r),A(e.ep,23,3,22,7,r);break;case 2:A(e.ep,0,11,6,8,r),A(e.ep,12,23,18,20,r);break;case 3:A(e.ep,4,5,6,7,r),A(e.ep,16,17,18,19,r);break;case 4:A(e.ep,1,20,5,21,r),A(e.ep,13,8,17,9,r);break;case 5:A(e.ep,2,9,4,10,r),A(e.ep,14,21,16,22,r);break;case 6:A(e.ep,0,1,2,3,r),A(e.ep,12,13,14,15,r),A(e.ep,9,22,11,20,r);break;case 7:A(e.ep,11,15,10,19,r),A(e.ep,23,3,22,7,r),A(e.ep,2,16,6,12,r);break;case 8:A(e.ep,0,11,6,8,r),A(e.ep,12,23,18,20,r),A(e.ep,3,19,5,13,r);break;case 9:A(e.ep,4,5,6,7,r),A(e.ep,16,17,18,19,r),A(e.ep,8,23,10,21,r);break;case 10:A(e.ep,1,20,5,21,r),A(e.ep,13,8,17,9,r),A(e.ep,14,0,18,4,r);break;case 11:A(e.ep,2,9,4,10,r),A(e.ep,14,21,16,22,r),A(e.ep,7,15,1,17,r)}}function _s(){let e;for(this.ep=T(24),e=0;e<24;++e)this.ep[e]=e}function df(e){let t,r,n;for(_s.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)}at(159,1,{},_s,df);var Lf=!1;function vm(){Lf||(Lf=!0,Os=[35,1,34,2,4,6,22,5,19])}function hf(e){e.moveBuffer=T(60)}function wm(e,t){return e.value-t.value}function Un(e,t){let r;for(xm(e.edge,t.edge),cm(e.center,t.center),nf(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 mr(e){for(;e.centerAvail<e.moveLength;)mm(e.center,e.moveBuffer[e.centerAvail++]);return e.center}function Af(e){for(;e.cornerAvail<e.moveLength;)dm(e.corner,e.moveBuffer[e.cornerAvail++]%18);return e.corner}function Do(e){for(;e.edgeAvail<e.moveLength;)Sm(e.edge,e.moveBuffer[e.edgeAvail++]);return e.edge}function Um(e){let t,r,n,o,l,i,s=new Array(e.moveLength-(e.add1?2:0));for(r=0,t=0;t<e.length1;++t)s[r++]=e.moveBuffer[t];for(i=e.sym,t=e.length1+(e.add1?2:0);t<e.moveLength;++t)St[i][e.moveBuffer[t]]>=27?(s[r++]=St[i][e.moveBuffer[t]]-9,o=Os[St[i][e.moveBuffer[t]]-27],i=Fn[i][o]):s[r++]=St[i][e.moveBuffer[t]];let u=Fn[Dn[i]][rm(mr(e))];for(l=\\\"\\\",i=u,t=r-1;t>=0;--t)n=s[t],n=~~(n/3)*3+(2-n%3),St[i][n]>=27?(l=l+Ws[St[i][n]-9]+\\\" \\\",o=Os[St[i][n]-27],i=Fn[i][o]):l=l+Ws[St[i][n]]+\\\" \\\";return l}function zr(e,t){e.moveBuffer[e.moveLength++]=t}function ql(){hf(this),this.edge=new _s,this.center=new Ps,this.corner=new Tl}function jl(e){ql.call(this),Un(this,e)}function Rf(e){hf(this),this.edge=new df(e),this.center=new ef(e),this.corner=new lf(e)}at(160,1,fr([Mu,jc]),ql,jl,Rf);H.compareTo$=function(t){return wm(this,t)};H.add1=!1;H.center=null;H.centerAvail=0;H.corner=null;H.cornerAvail=0;H.edge=null;H.edgeAvail=0;H.length1=0;H.length2=0;H.length3=0;H.moveLength=0;H.sym=0;H.value=0;var Os;function Em(e,t){return t.value-e.value}function Kl(e,t){return Em(e,t)}function Df(){}at(161,1,{},Df);H.compare=function(t,r){return Kl(t,r)};var Ff=!1;function km(){if(Ff)return;Ff=!0;let e,t;for(Ws=[\\\"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'\\\"],Cr=[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],Fo=[0,1,2,4,6,7,8,9,10,11,13,15,16,17,19,22,25,28,31,34,36],yf=T(37),Bf=T(37),En=T(37,36),Vl=T(29,28),Hl=T(21,20),Qs=T(36),yo=T(28),kn=T(20),e=0;e<29;++e)yf[Cr[e]]=e;for(e=0;e<21;++e)Bf[Fo[e]]=e;for(e=0;e<36;++e){for(t=0;t<36;++t)En[e][t]=~~(e/3)==~~(t/3)||~~(e/3)%3==~~(t/3)%3&&e>t;En[36][e]=!1}for(e=0;e<29;++e)for(t=0;t<28;++t)Vl[e][t]=En[Cr[e]][Cr[t]];for(e=0;e<21;++e)for(t=0;t<20;++t)Hl[e][t]=En[Fo[e]][Fo[t]];for(e=0;e<36;++e)for(Qs[e]=36,t=e;t<36;++t)if(!En[e][t]){Qs[e]=t-1;break}for(e=0;e<28;++e)for(yo[e]=28,t=e;t<28;++t)if(!Vl[e][t]){yo[e]=t-1;break}for(e=0;e<20;++e)for(kn[e]=20,t=e;t<20;++t)if(!Hl[e][t]){kn[e]=t-1;break}}var En,Vl,Hl,Cr,Ws,Fo,Qs,yo,kn,yf,Bf;function zm(e){let t,r,n,o,l,i,s,u,a,f,g,c;e.solution=\\\"\\\";let m=Ul(new kl(mr(e.c),0)),L=Ul(new kl(mr(e.c),1)),p=Ul(new kl(mr(e.c),2)),F=xt[~~m>>6],y=xt[~~L>>6],x=xt[~~p>>6];for(e.p1SolsCnt=0,e.arr2idx=0,Om(e.p1sols.heap),e.length1=(F<y?F:y)<x?F<y?F:y:x;e.length1<100&&!(x<=e.length1&&Yl(e,~~p>>>6,p&63,e.length1,-1,0)||F<=e.length1&&Yl(e,~~m>>>6,m&63,e.length1,-1,0)||y<=e.length1&&Yl(e,~~L>>>6,L&63,e.length1,-1,0));++e.length1);let B=Jm(e.p1sols,Bs(ep,fr([qc,Fs,ys]),Mu,0,0));B.sort(function(K,te){return K.value-te.value}),t=9;do{e:for(u=B[0].value;u<100;++u)for(i=0;i<B.length&&!(B[i].value>u);++i)if(!(u-B[i].length1>t)&&(Un(e.c1,B[i]),ju(e.ct2,mr(e.c1),Zl(Do(e.c1).ep)),g=Pl(e.ct2),c=Ml(e.ct2),e.length1=B[i].length1,e.length2=u-B[i].length1,bf(e,g,c,e.length2,28,0)))break e;++t}while(u===100);e.arr2.sort(function(K,te){return K.value-te.value}),s=0,r=13;do{e:for(a=e.arr2[0].value;a<100;++a)for(i=0;i<Math.min(e.arr2idx,100)&&!(e.arr2[i].value>a);++i)if(!(a-e.arr2[i].length1-e.arr2[i].length2>r)&&(l=ff(e.e12,Do(e.arr2[i])),Ju(e.ct3,mr(e.arr2[i]),l^Zl(Af(e.arr2[i]).cp)),n=Es(e.ct3),o=xn(e.e12,10),f=cf(af(e.e12)),f<=a-e.arr2[i].length1-e.arr2[i].length2&&xf(e,o,n,f,a-e.arr2[i].length1-e.arr2[i].length2,20,0))){s=i;break e}++r}while(a===100);let P=new jl(e.arr2[s]);e.length1=P.length1,e.length2=P.length2;let k=a-e.length1-e.length2;for(i=0;i<k;++i)zr(P,Fo[e.move3[i]]);e.solution=Um(P)}function Cm(e,t){let r,n;for(Un(e.c1,e.c),r=0;r<e.length1;++r)zr(e.c1,e.move1[r]);switch(ws[t]){case 0:zr(e.c1,24),zr(e.c1,35),e.move1[e.length1]=24,e.move1[e.length1+1]=35,e.add1=!0,t=19;break;case 12869:zr(e.c1,18),zr(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}ju(e.ct2,mr(e.c1),Zl(Do(e.c1).ep));let o=Pl(e.ct2),l=Ml(e.ct2),i=Ve[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 jl(e.c1):(n=Zm(e.p1sols),n.value>e.c1.value&&Un(n,e.c1)),Tm(e.p1sols,n),e.p1SolsCnt===1e4}function Pm(e){let t;for(Un(e.c2,e.c1),t=0;t<e.length2;++t)zr(e.c2,e.move2[t]);if(!bm(Do(e.c2)))return!1;let r=ff(e.e12,Do(e.c2));Ju(e.ct3,mr(e.c2),r^Zl(Af(e.c2).cp));let n=Es(e.ct3);xn(e.e12,10);let o=cf(af(e.e12));return e.arr2[e.arr2idx]?Un(e.arr2[e.arr2idx],e.c2):e.arr2[e.arr2idx]=new jl(e.c2),e.arr2[e.arr2idx].value=e.length1+e.length2+Math.max(o,gr[n]),e.arr2[e.arr2idx].length2=e.length2,++e.arr2idx,e.arr2idx===e.arr2.length}function Mm(e,t){return vf(),e.c=new Rf(t),zm(e),e.solution}function Yl(e,t,r,n,o,l){let i,s,u,a,f,g;if(t===0)return n===0&&Cm(e,r);for(i=0;i<27;i+=3)if(!(i===o||i===o-9||i===o-18))for(a=0;a<3;++a){if(u=i+a,s=zl[t][St[r][u]],f=xt[~~s>>>6],f>=n){if(f>n)break;continue}if(g=Fn[r][s&63],s>>>=6,e.move1[l]=u,Yl(e,s,g,n-1,i,l+1))return!0}return!1}function bf(e,t,r,n,o,l){let i,s,u,a;if(t===0&&Ve[r]===0)return n===0&&Pm(e);for(s=0;s<23;++s){if(Vl[o][s]){s=yo[s];continue}if(i=Il[t][s],a=Gl[r][s],u=Ve[i*70+a],u>=n){u>n&&(s=yo[s]);continue}if(e.move2[l]=Cr[s],bf(e,i,a,n-1,s,l+1))return!0}return!1}function xf(e,t,r,n,o,l,i){let s,u,a,f,g,c,m,L,p;if(o===0)return t===0&&r===0;for(Ao(e.tempe[i],t),g=0;g<17;++g){if(Hl[l][g]){g=kn[g];continue}if(a=ho[r][g],c=gr[a],c>=o){c>o&&g<14&&(g=kn[g]);continue}if(f=vn(e.tempe[i].edge,g<<3,10),s=~~(f/20160),L=wn[s],p=L&7,L>>=3,u=vn(e.tempe[i].edge,g<<3|p,10)%20160,m=Dm(L*20160+u,n),m>=o){m>o&&g<14&&(g=kn[g]);continue}if(xf(e,f,a,m,o-1,g,i+1))return e.move3[i]=g,!0}return!1}function Sf(){let e;for(this.p1sols=new Mf(new Df),this.move1=T(15),this.move2=T(20),this.move3=T(20),this.c1=new ql,this.c2=new ql,this.ct2=new Us,this.ct3=new ks,this.e12=new Ht,this.tempe=T(20),this.arr2=T(100),e=0;e<20;++e)this.tempe[e]=new Ht}function vf(){wf||(nm(),Rn=T(735471),om(),em(),Rn=null,tm(),sm(),gm(),Fm(),ym(),Rm(),wf=!0)}at(163,1,fr([Kc]),Sf);H.add1=!1;H.arr2idx=0;H.c=null;H.length1=0;H.length2=0;H.p1SolsCnt=0;H.solution=\\\"\\\";var wf=!1,Uf=!1;function Im(){Uf||(Uf=!0)}function Zl(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 A(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 Ef(){}function kf(e,t,r,n){let o=new Ef;return o.typeName=e+t,Cf(r!==0?-r:0)&&Pf(r!==0?-r:0,o),o.modifiers=4,o.superclass=qs,o.componentType=n,o}function zf(e,t,r,n){let o=new Ef;return o.typeName=e+t,Cf(r)&&Pf(r,o),o.superclass=n,o}function Gm(e){let t=mo[e.seedId];return e=null,t}function Cf(e){return typeof e==\\\"number\\\"&&e>0}function Pf(e,t){let r;if(t.seedId=e,e===2)r=String.prototype;else if(e>0){let n=Gm(t);if(n)r=n.prototype;else{n=mo[e]=function(){},n.___clazz$=t;return}}else return;r.___clazz$=t}H.val$outerIter=null;function Tm(e,t){if(Ym(e,t))return!0}function Nm(e){e.array=Bs(If,fr([Fs,ys]),Cu,0,0)}function _m(e,t){return vl(e.array,e.size++,t),!0}function Om(e){e.array=Bs(If,fr([Fs,ys]),Cu,0,0),e.size=0}function pr(e,t){return e.array[t]}function Wm(e,t){let r=e.array[t];return jm(e.array,t,1),--e.size,r}function zn(e,t,r){let n=e.array[t];return vl(e.array,t,r),n}function Qm(e,t){let r;for(t.length<e.size&&(t=Hc(t,e.size)),r=0;r<e.size;++r)vl(t,r,e.array[r]);return t.length>e.size&&vl(t,e.size,null),t}function qm(){Nm(this),this.array.length=500}function jm(e,t,r){e.splice(t,r)}H.size=0;function Km(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 Xl(e){Vm(e,e.length)}function Vm(e,t){let r;for(r=0;r<t;++r)e[r]=-1}function Hm(e,t){let r,n,o,l,i=e.heap.size,s=pr(e.heap,t);for(;t*2+1<i&&(r=(n=2*t+1,o=n+1,l=n,o<i&&Kl(pr(e.heap,o),pr(e.heap,n))<0&&(l=o),l),!(Kl(s,pr(e.heap,r))<0));)zn(e.heap,t,pr(e.heap,r)),t=r;zn(e.heap,t,s)}function Ym(e,t){let r,n;for(n=e.heap.size,_m(e.heap,t);n>0;){if(r=n,n=~~((n-1)/2),Kl(pr(e.heap,n),t)<=0)return zn(e.heap,r,t),!0;zn(e.heap,r,pr(e.heap,n))}return zn(e.heap,n,t),!0}function Zm(e){if(e.heap.size===0)return null;let t=pr(e.heap,0);return Xm(e),t}function Xm(e){let t=Wm(e.heap,e.heap.size-1);0<e.heap.size&&(zn(e.heap,0,t),Hm(e,0))}function Jm(e,t){return Qm(e.heap,t)}function Mf(e){this.heap=new qm,this.cmp=e}at(239,1,{},Mf);H.cmp=null;H.heap=null;var qs=zf(\\\"java.lang.\\\",\\\"Object\\\",1,null),If=kf(\\\"[Ljava.lang.\\\",\\\"Object;\\\",356,qs),$m=zf(\\\"cs.threephase.\\\",\\\"FullCube\\\",160,qs),ep=kf(\\\"[Lcs.threephase.\\\",\\\"FullCube;\\\",381,$m),Gf,Tf=!1;function Nf(){Tf||(Tf=!0,km(),Im(),$c(),im(),am(),Am(),pm(),Bm(),vm(),Gf=new Sf)}function js(){Nf(),vf()}function Bo(){return h(this,null,function*(){$e(),Nf();let e=z.fromString(Mm(Gf,yield st()));return(yield An()).concat(e)})}var tp=[[null,\\\"x\\\",\\\"x2\\\",\\\"x'\\\",\\\"z\\\",\\\"z'\\\"],[null,\\\"y\\\",\\\"y2\\\",\\\"y'\\\"]];function _f(){return h(this,null,function*(){return ln(yield Bo(),tp)})}Hs();var op=2,Qf=null;function lp(){return h(this,null,function*(){return Qf||(Qf=(()=>h(this,null,function*(){let t=yield(yield Promise.resolve().then(()=>(Hs(),Wf))).cachedSGSDataMegaminx();return new Ft(yield Jl(),t,[\\\"U\\\",\\\"R\\\",\\\"F\\\",\\\"L\\\",\\\"BR\\\",\\\"BL\\\",\\\"FR\\\",\\\"FL\\\",\\\"DR\\\",\\\"DL\\\",\\\"B\\\",\\\"D\\\"])}))())})}function qf(e){return h(this,null,function*(){$e();let t=yield lp(),r=JSON.parse(JSON.stringify(e));return r.CENTERS.orientation=new Array(12).fill(0),yield t.solve(r,op,()=>5)})}rn();Xs();var sp=3,Vf=null;function ap(){return h(this,null,function*(){return Vf||(Vf=(()=>h(this,null,function*(){let t=yield(yield Promise.resolve().then(()=>(Xs(),Kf))).sgsDataPyraminx();return new Ft(yield zt.pyraminx.def(),t,\\\"RLUB\\\".split(\\\"\\\"))}))())})}function Js(e){return h(this,null,function*(){return $e(),yield(yield ap()).solve(e,sp,()=>3)})}function up(){return h(this,null,function*(){return nn(yield zt.pyraminx.def(),yield Zs())})}function Hf(){return h(this,null,function*(){return Js(yield up())})}ra();var cp=3,Xf=null;function mp(){return h(this,null,function*(){return Xf||(Xf=(()=>h(this,null,function*(){let e=yield Promise.resolve().then(()=>(ra(),Zf)),t=yield e.sgsDataSkewb();return new Ft(yield e.skewbDefWithoutMOCached(),t,\\\"RLUB\\\".split(\\\"\\\"))}))())})}function pp(e){return{CORNERS:e.CORNERS,CENTERS:{permutation:e.CENTERS.permutation,orientation:new Array(6).fill(0)}}}function na(e){return h(this,null,function*(){return $e(),yield(yield mp()).solve(pp(e),cp,n=>n.family===\\\"y\\\"?4:3)})}function dp(){return h(this,null,function*(){return nn(yield $l(),yield ta())})}function Jf(){return h(this,null,function*(){return na(yield dp())})}he();function Lp(e){switch(e){case 5:return 60;case 6:return 80;default:return 100}}var hp=[[\\\"U\\\",\\\"D\\\"],[\\\"L\\\",\\\"R\\\"],[\\\"F\\\",\\\"B\\\"]],$f=new Map;function Ap(e){let t=$f.get(e);if(t)return t;let r=[];for(let n of hp){let o=[];r.push(o);for(let l of n){o.push(new G(l)),e>3&&o.push(new G(`${l}w`));for(let i=3;i<=e/2;i++)o.push(new G(`${l}w`,i))}}return $f.set(e,r),r}function Yt(e){return h(this,null,function*(){let t=yield st(),r=yield Wt(),n=r,o=Ap(e),l=Lp(e),i=new ut,s=0,u=new Set;for(;i.experimentalNumUnits()<l;){let a=t(3);a!==s&&u.clear(),s=a;let f=r(o[s]),g=f.toString();u.has(g)||(u.add(g),i.push(new d(f,n([1,2,-1]))))}return i.toAlg()})}var Rp=[[null,\\\"3Rw\\\",\\\"3Rw2\\\",\\\"3Rw'\\\",\\\"3Fw\\\",\\\"3Fw'\\\"],[null,\\\"3Dw\\\",\\\"3Dw2\\\",\\\"3Dw'\\\"]];function e1(){return h(this,null,function*(){return ln(yield Yt(5),Rp)})}he();function Dp(e,t){e.ul=t.ul,e.ur=t.ur,e.dl=t.dl,e.dr=t.dr,e.ml=t.ml}function t1(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 Fp(e){var t,r,n,o,l;for(n=0,e.arr[0]=Mt(e,0),o=1;o<24;++o)Mt(e,o)!=e.arr[n]&&(e.arr[++n]=Mt(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 yp(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,bo(Fp(e)<<24|n<<18|o<<12|t<<6|r)}function Bp(e,t){var r,n;for(r=0;r<8;++r)e.prm[r]=~~(~~Mt(e,r*3+1)>>1<<24)>>24;for(t.cornperm=wo(e.prm),t.topEdgeFirst=Mt(e,0)==Mt(e,1),r=t.topEdgeFirst?2:0,n=0;n<4;r+=3,++n)e.prm[n]=~~(~~Mt(e,r)>>1<<24)>>24;for(t.botEdgeFirst=Mt(e,12)==Mt(e,13),r=t.botEdgeFirst?14:12;n<8;r+=3,++n)e.prm[n]=~~(~~Mt(e,r)>>1<<24)>>24;t.edgeperm=wo(e.prm),t.ml=e.ml}function Mt(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 oa(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 la(){this.arr=[],this.prm=[]}function bp(){return h(this,null,function*(){let e=yield st();var t,r,n,o,l,i,s,u,a;for(t=new la,n=Cn[e(3678)],l=19088743<<1|286331153,o=19088743<<1,s=i=8,r=0;r<24;r++)(n>>r&1)==0?(u=e(i)<<2,oa(t,23-r,o>>u&15),a=(1<<u)-1,o=(o&a)+(o>>4&~a),--i):(u=e(s)<<2,oa(t,23-r,l>>u&15),oa(t,22-r,l>>u&15),a=(1<<u)-1,l=(l&a)+(l>>4&~a),--s,++r);return t.ml=e(2),t})}function xp(){}var be=la.prototype=xp.prototype;be.dl=10062778;be.dr=14536702;be.ml=0;be.ul=70195;be.ur=4544119;function Sp(e){var t,r,n,o,l,i;for(Dp(e.Search_d,e.Search_c),n=0;n<e.Search_length1;++n)t1(e.Search_d,e.Search_move[n]);for(Bp(e.Search_d,e.Search_sq),r=e.Search_sq.edgeperm,t=e.Search_sq.cornperm,l=e.Search_sq.ml,i=Math.max(De[e.Search_sq.edgeperm<<1|l],De[e.Search_sq.cornperm<<1|l]),n=i;n<e.Search_maxlen2;++n)if(ti(e,r,t,e.Search_sq.topEdgeFirst,e.Search_sq.botEdgeFirst,l,n,e.Search_length1,0)){for(o=0;o<n;++o)t1(e.Search_d,e.Search_move[e.Search_length1+o]);return e.Search_sol_string=vp(e,n+e.Search_length1),!0}return!1}function vp(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 ei(e,t,r,n,o,l){var i,s,u;if(r==0&&n<4)return n==0&&Sp(e);if(l!=0&&(u=ri[t],s=Ue[u],s<n&&(e.Search_move[o]=0,ei(e,u,s,n-1,o+1,0))))return!0;if(u=t,l<=0){for(i=0;i+=So[u],u=~~i>>4,i&=15,!(i>=12||(s=Ue[u],s>n));)if(s<n&&(e.Search_move[o]=i,ei(e,u,s,n-1,o+1,1)))return!0}if(u=t,l<=1){for(i=0;i+=xo[u],u=~~i>>4,i&=15,!(i>=6||(s=Ue[u],s>n));)if(s<n&&(e.Search_move[o]=-i,ei(e,u,s,n-1,o+1,2)))return!0}return!1}function ti(e,t,r,n,o,l,i,s,u){var a,f,g,c,m,L,p;if(i==0&&!n&&o||u!=0&&n==o&&(g=Uo[t],f=Uo[r],De[g<<1|1-l]<i&&De[f<<1|1-l]<i&&(e.Search_move[s]=0,ti(e,g,f,n,o,1-l,i-1,s+1,0))))return!0;if(u<=0)for(p=!n,g=p?Ir[t]:t,f=p?r:Ir[r],c=p?1:2,m=De[g<<1|l],L=De[f<<1|l];c<12&&m<=i&&m<=i;){if(m<i&&L<i&&(e.Search_move[s]=c,ti(e,g,f,p,o,l,i-1,s+1,1)))return!0;p=!p,p?(g=Ir[g],m=De[g<<1|l],c+=1):(f=Ir[f],L=De[f<<1|l],c+=2)}if(u<=1)for(a=!o,g=a?Pr[t]:t,f=a?r:Pr[r],c=a?1:2,m=De[g<<1|l],L=De[f<<1|l];c<(i>3?6:12)&&m<=i&&m<=i;){if(m<i&&L<i&&(e.Search_move[s]=-c,ti(e,g,f,n,a,l,i-1,s+1,2)))return!0;a=!a,a?(g=Pr[g],m=De[g<<1|l],c+=1):(f=Pr[f],L=De[f<<1|l],c+=2)}return!1}function wp(e,t){var r;for(e.Search_c=t,r=yp(t),e.Search_length1=Ue[r];e.Search_length1<100&&(e.Search_maxlen2=Math.min(31-e.Search_length1,17),!ei(e,r,Ue[r],e.Search_length1,0,-1));++e.Search_length1);return e.Search_sol_string}function r1(){this.Search_move=[],this.Search_d=new la,this.Search_sq=new i1}function Up(){}be=r1.prototype=Up.prototype;be.Search_c=null;be.Search_length1=0;be.Search_maxlen2=0;be.Search_sol_string=null;var n1=!1;function Ep(){n1||(n1=!0,vo=[0,3,6,12,15,24,27,30,48,51,54,60,63],Cn=[],Ue=[],So=[],xo=[],ri=[],Cp())}function kp(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((Gr(e.bottom&63)&1)!=0);return(Gr(e.bottom)&2)==0&&(e.Shape_parity^=r),t}function ia(e){var t;return t=a1(Cn,e.top<<12|e.bottom)<<1|e.Shape_parity,t}function sa(e,t){e.Shape_parity=t&1,e.top=Cn[~~t>>1],e.bottom=e.top&4095,e.top>>=12}function zp(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((Gr(e.top&63)&1)!=0);return(Gr(e.top)&2)==0&&(e.Shape_parity^=r),t}function o1(){}function bo(e){var t;return t=a1(Cn,e&16777215)<<1|~~e>>24,t}function Cp(){var e,t,r,n,o,l,i,s,u,a,f,g,c,m,L,p;for(e=0,i=0;i<28561;++i)l=vo[i%13],r=vo[~~(i/13)%13],g=vo[~~(~~(i/13)/13)%13],f=vo[~~(~~(~~(i/13)/13)/13)],c=f<<18|g<<12|r<<6|l,Gr(c)==16&&(Cn[e++]=c);for(a=new o1,i=0;i<7356;++i)sa(a,i),So[i]=zp(a),So[i]|=ia(a)<<4,sa(a,i),xo[i]=kp(a),xo[i]|=ia(a)<<4,sa(a,i),p=a.top&63,m=Gr(p),L=Gr(a.bottom&4032),a.Shape_parity^=1&~~(m&L)>>1,a.top=a.top&4032|~~a.bottom>>6&63,a.bottom=a.bottom&63|p<<6,ri[i]=ia(a);for(i=0;i<7536;++i)Ue[i]=-1;for(Ue[bo(14378715)]=0,Ue[bo(31157686)]=0,Ue[bo(23967451)]=0,Ue[bo(7191990)]=0,n=4,o=0,t=-1;n!=o;)for(o=n,++t,i=0;i<7536;++i)if(Ue[i]==t){u=0,s=i;do s=So[s],u+=s&15,s>>=4,Ue[s]==-1&&(++n,Ue[s]=t+1);while(u!=12);u=0,s=i;do s=xo[s],u+=s&15,s>>=4,Ue[s]==-1&&(++n,Ue[s]=t+1);while(u!=12);s=ri[i],Ue[s]==-1&&(++n,Ue[s]=t+1)}}function Pp(){}be=o1.prototype=Pp.prototype;be.bottom=0;be.Shape_parity=0;be.top=0;var xo,Cn,Ue,So,ri,vo,l1=!1;function Mp(){if(!l1){l1=!0,De=[],Uo=[],Ir=[],Pr=[],s1=[1,1,2,6,24,120,720,5040],Mr=[];for(var e=0;e<12;++e)Mr[e]=[];Ip()}}function i1(){}function wo(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 Ip(){var e,t,r,n,o,l,i,s,u,a,f,g,c;for(o=0;o<12;++o)for(Mr[o][0]=1,Mr[o][o]=1,u=1;u<o;++u)Mr[o][u]=Mr[o-1][u-1]+Mr[o-1][u];for(g=[],o=0;o<40320;++o)aa(g,o),c=g[2],g[2]=g[4],g[4]=c,c=g[3],g[3]=g[5],g[5]=c,Uo[o]=wo(g),aa(g,o),c=g[0],g[0]=g[1],g[1]=g[2],g[2]=g[3],g[3]=c,Ir[o]=wo(g),aa(g,o),c=g[4],g[4]=g[5],g[5]=g[6],g[6]=g[7],g[7]=c,Pr[o]=wo(g);for(o=0;o<80640;++o)De[o]=-1;for(De[0]=0,t=0,r=1;r<80640;){s=t>=11,n=s?-1:t,e=s?t:-1,++t;e:for(o=0;o<80640;++o)if(De[o]==n){if(l=~~o>>1,f=o&1,i=Uo[l]<<1|1-f,De[i]==e&&(++r,De[s?o:i]=~~(t<<24)>>24,s))continue e;for(i=l,a=0;a<4;++a)if(i=Ir[i],De[i<<1|f]==e&&(++r,De[s?o:i<<1|f]=~~(t<<24)>>24,s))continue e;for(a=0;a<4;++a)if(i=Pr[i],De[i<<1|f]==e&&(++r,De[s?o:i<<1|f]=~~(t<<24)>>24,s))continue e}}}function aa(e,t){var r,n,o,l,i;for(i=1985229328,r=0;r<7;++r)o=s1[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 Gp(){}be=i1.prototype=Gp.prototype;be.botEdgeFirst=!1;be.cornperm=0;be.edgeperm=0;be.ml=0;be.topEdgeFirst=!1;var Pr,Mr,De,Ir,Uo,s1;function Gr(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 a1(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}var ua=!1,Tp=function(e,t,r){ua||(Ep(),Mp()),r&&r(\\\"Done initializing Square-1.\\\"),ua=!0,e!=null&&e()},Np=function(){return h(this,null,function*(){return ua||Tp(),bp()})},_p=function(e){var t=new r1;return wp(t,e)},Op=function(){return h(this,null,function*(){var e=yield Np(),t=_p(e);return{state:e,scramble_string:t}})};function u1(){return h(this,null,function*(){return(yield Op()).scramble_string})}function f1(){return h(this,null,function*(){return z.fromString(yield u1())})}var qp=3,c1=null;function jp(){return h(this,null,function*(){return c1||(c1=(()=>h(this,null,function*(){let e=yield Promise.resolve().then(()=>(ca(),ga)),t=yield e.sgsDataFTO();return new Ft(yield e.ftoDef(),t,[\\\"U\\\",\\\"R\\\",\\\"F\\\",\\\"L\\\",\\\"D\\\",\\\"B\\\",\\\"BR\\\",\\\"BL\\\"])}))())})}function Kp(e){return h(this,null,function*(){return $e(),yield(yield jp()).solve(e,qp,()=>3)})}var m1=!1;function p1(){return h(this,null,function*(){m1||(console.warn(\\\"FTO scrambles are not yet optimized. They may be much too long (\\\\u224890 moves).\\\"),m1=!0);let e=yield Promise.resolve().then(()=>(ca(),ga));return Kp(yield nn(yield e.ftoDef(),yield e.sgsDataFTO()))})}w2(!0);var d1=!0;function Vp(e){d1=e}function L1(){return(typeof performance==\\\"undefined\\\"?Date:performance).now()}function Ne(e,t){return h(this,null,function*(){if(!d1)return t();let r=L1(),n=t();(n==null?void 0:n.then)&&(yield n);let o=L1();return console.warn(`${e}: ${Math.round(o-r)}ms`),n})}var ma={initialize:e=>h(void 0,null,function*(){switch(e){case\\\"222\\\":return Ne(\\\"preInitialize222\\\",O2);case\\\"333\\\":case\\\"333oh\\\":case\\\"333ft\\\":return Ne(\\\"initialize333\\\",wu);case\\\"444\\\":return Ne(\\\"initialize444\\\",js);default:throw new Error(`unsupported event: ${e}`)}}),randomScrambleForEvent:e=>h(void 0,null,function*(){switch(e){case\\\"222\\\":return Ne(\\\"random222Scramble\\\",W2);case\\\"333\\\":case\\\"333oh\\\":case\\\"333ft\\\":return Ne(\\\"random333Scramble\\\",An);case\\\"333fm\\\":return Ne(\\\"random333FewestMovesScramble\\\",ku);case\\\"333bf\\\":case\\\"333mb\\\":return Ne(\\\"random333OrientedScramble\\\",Uu);case\\\"444\\\":return Ne(\\\"random444Scramble\\\",Bo);case\\\"444bf\\\":return Ne(\\\"random444OrientedScramble\\\",_f);case\\\"555\\\":return Ne(\\\"bigCubeScramble(5)\\\",Yt.bind(Yt,5));case\\\"555bf\\\":return Ne(\\\"oriented555RandomMoves\\\",e1);case\\\"666\\\":return Ne(\\\"bigCubeScramble(6)\\\",Yt.bind(Yt,6));case\\\"777\\\":return Ne(\\\"bigCubeScramble(7)\\\",Yt.bind(Yt,7));case\\\"skewb\\\":return Ne(\\\"randomSkewbFixedCornerScramble\\\",Jf);case\\\"pyram\\\":return Ne(\\\"randomPyraminxScrambleFixedOrientation\\\",Hf);case\\\"sq1\\\":return Ne(\\\"getRandomSquare1Scramble\\\",f1);case\\\"fto\\\":return Ne(\\\"randomFTOScramble\\\",p1);default:throw new Error(`unsupported event: ${e}`)}}),randomScrambleStringForEvent:e=>h(void 0,null,function*(){return(yield ma.randomScrambleForEvent(e)).toString()}),solve333ToString:e=>h(void 0,null,function*(){return(yield Rs(e)).toString()}),solve222ToString:e=>h(void 0,null,function*(){return(yield Yi(e)).toString()}),solveSkewbToString:e=>h(void 0,null,function*(){return(yield na(e)).toString()}),solvePyraminxToString:e=>h(void 0,null,function*(){return(yield Js(e)).toString()}),solveMegaminxToString:e=>h(void 0,null,function*(){return(yield qf(e)).toString()}),setDebugMeasurePerf:e=>h(void 0,null,function*(){Vp(e)})};va(ma);\\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;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|