cubing 0.20.2 → 0.21.0-pre12
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 +6 -9
- package/dist/.DS_Store +0 -0
- package/dist/bin/puzzle-geometry-bin.js +1124 -1128
- package/dist/bin/puzzle-geometry-bin.js.map +3 -3
- package/dist/bundle-global/cubing.bundle-global.js +3978 -3587
- package/dist/esm/.DS_Store +0 -0
- package/dist/esm/{2x2x2.kpuzzle.json_-ZLJSYD5K.js → 2x2x2.kpuzzle.json-JOGUSQ4N.js} +3 -3
- package/dist/esm/{2x2x2.kpuzzle.json_-ZLJSYD5K.js.map → 2x2x2.kpuzzle.json-JOGUSQ4N.js.map} +1 -1
- package/dist/esm/{2x2x2.kpuzzle.svg-BNXPAM3A.js → 2x2x2.kpuzzle.svg-CQF2FTV7.js} +2 -2
- package/dist/esm/{2x2x2.kpuzzle.svg-BNXPAM3A.js.map → 2x2x2.kpuzzle.svg-CQF2FTV7.js.map} +0 -0
- package/dist/esm/3d-JZD3V366.js +39 -0
- package/dist/esm/3d-JZD3V366.js.map +7 -0
- package/dist/esm/{3x3x3-ll.kpuzzle.svg-EC42JHOH.js → 3x3x3-ll.kpuzzle.svg-53CBPG5O.js} +2 -2
- package/dist/esm/{3x3x3-ll.kpuzzle.svg-EC42JHOH.js.map → 3x3x3-ll.kpuzzle.svg-53CBPG5O.js.map} +0 -0
- package/dist/esm/{3x3x3.kpuzzle.svg-DUKG2WHC.js → 3x3x3.kpuzzle.svg-ERSSH66P.js} +2 -2
- package/dist/esm/{3x3x3.kpuzzle.svg-DUKG2WHC.js.map → 3x3x3.kpuzzle.svg-ERSSH66P.js.map} +0 -0
- package/dist/esm/alg/index.js +2 -2
- package/dist/esm/bluetooth/index.js +13 -11
- package/dist/esm/bluetooth/index.js.map +2 -2
- package/dist/esm/chunk-5DN4DAAX.js +2512 -0
- package/dist/esm/chunk-5DN4DAAX.js.map +7 -0
- package/dist/esm/{chunk-KKSDHNLH.js → chunk-7GADUDIG.js} +49 -71
- package/dist/esm/chunk-7GADUDIG.js.map +7 -0
- package/dist/esm/{chunk-YNB7QLBF.js → chunk-BU5PUJK3.js} +9 -10
- package/dist/esm/chunk-BU5PUJK3.js.map +7 -0
- package/dist/esm/chunk-CQS6JZ7G.js +762 -0
- package/dist/esm/chunk-CQS6JZ7G.js.map +7 -0
- package/dist/esm/{chunk-2GRKPQQL.js → chunk-RE7MIN5R.js} +2 -2
- package/dist/esm/{chunk-2GRKPQQL.js.map → chunk-RE7MIN5R.js.map} +0 -0
- package/dist/esm/{chunk-WJ7AVUI7.js → chunk-WO2AXYFE.js} +12 -1
- package/dist/esm/{chunk-WJ7AVUI7.js.map → chunk-WO2AXYFE.js.map} +0 -0
- package/dist/esm/{chunk-CWVB5RRW.js → chunk-YV3RT5PX.js} +625 -1282
- package/dist/esm/chunk-YV3RT5PX.js.map +7 -0
- package/dist/esm/{clock.kpuzzle.json_-PXORG6YF.js → clock.kpuzzle.json-EKWRMHJM.js} +3 -3
- package/dist/esm/{clock.kpuzzle.json_-PXORG6YF.js.map → clock.kpuzzle.json-EKWRMHJM.js.map} +1 -1
- package/dist/esm/{clock.kpuzzle.svg-E52B5OQV.js → clock.kpuzzle.svg-B7TMN3SY.js} +2 -2
- package/dist/esm/{clock.kpuzzle.svg-E52B5OQV.js.map → clock.kpuzzle.svg-B7TMN3SY.js.map} +0 -0
- package/dist/esm/esm-test-worker.js +2 -2
- package/dist/esm/esm-test-worker.js.map +1 -1
- package/dist/esm/kpuzzle/index.js +5 -3
- package/dist/esm/{node-SIGYKAZG.js → node-BSAQKO3G.js} +2 -2
- package/dist/esm/{node-SIGYKAZG.js.map → node-BSAQKO3G.js.map} +0 -0
- package/dist/esm/{node-BHGOVUN3.js → node-WEHVBEKP.js} +2 -2
- package/dist/esm/{node-BHGOVUN3.js.map → node-WEHVBEKP.js.map} +0 -0
- package/dist/esm/notation/index.js +3 -3
- package/dist/esm/protocol/index.js +3 -3
- package/dist/esm/puzzle-geometry/index.js +1085 -1179
- package/dist/esm/puzzle-geometry/index.js.map +3 -3
- package/dist/esm/puzzles/index.js +10 -4
- package/dist/esm/{pyraminx.kpuzzle.svg-QKUJX37T.js → pyraminx.kpuzzle.svg-QBBMZVDY.js} +2 -2
- package/dist/esm/{pyraminx.kpuzzle.svg-QKUJX37T.js.map → pyraminx.kpuzzle.svg-QBBMZVDY.js.map} +0 -0
- package/dist/esm/scramble/index.js +5 -4
- package/dist/esm/search/index.js +7 -4
- package/dist/esm/{sq1-hyperorbit.kpuzzle.json_-7KW5LSXC.js → sq1-hyperorbit.kpuzzle.json-N3FGCPML.js} +3 -3
- package/dist/esm/{sq1-hyperorbit.kpuzzle.json_-7KW5LSXC.js.map → sq1-hyperorbit.kpuzzle.json-N3FGCPML.js.map} +1 -1
- package/dist/esm/{sq1-hyperorbit.kpuzzle.svg-7Y7N37NN.js → sq1-hyperorbit.kpuzzle.svg-ID57EER7.js} +2 -2
- package/dist/esm/{sq1-hyperorbit.kpuzzle.svg-7Y7N37NN.js.map → sq1-hyperorbit.kpuzzle.svg-ID57EER7.js.map} +0 -0
- package/dist/esm/stream/index.js +3 -3
- package/dist/esm/stream/index.js.map +2 -2
- package/dist/esm/twisty/index.js +4442 -3214
- package/dist/esm/twisty/index.js.map +3 -3
- package/dist/esm/worker-inside-generated-string-KDZOUGJF.js +2831 -0
- package/dist/esm/worker-inside-generated-string-KDZOUGJF.js.map +7 -0
- package/dist/types/alg/Alg.d.ts +88 -0
- package/dist/types/alg/Alg.d.ts.map +1 -1
- package/dist/types/alg/Alg.spec.d.ts +2 -0
- package/dist/types/alg/Alg.spec.d.ts.map +1 -0
- package/dist/types/alg/common.d.ts.map +1 -1
- package/dist/types/alg/operation.spec.d.ts +2 -0
- package/dist/types/alg/operation.spec.d.ts.map +1 -0
- package/dist/types/alg/parse.spec.d.ts +2 -0
- package/dist/types/alg/parse.spec.d.ts.map +1 -0
- package/dist/types/alg/test/alg-comparison.d.ts.map +1 -1
- package/dist/types/alg/test/alg.spec.d.ts +2 -0
- package/dist/types/alg/test/alg.spec.d.ts.map +1 -0
- package/dist/types/alg/units/leaves/LineComment.spec.d.ts +2 -0
- package/dist/types/alg/units/leaves/LineComment.spec.d.ts.map +1 -0
- package/dist/types/alg/units/leaves/Move.spec.d.ts +2 -0
- package/dist/types/alg/units/leaves/Move.spec.d.ts.map +1 -0
- package/dist/types/alg/url.spec.d.ts +2 -0
- package/dist/types/alg/url.spec.d.ts.map +1 -0
- package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts +1 -1
- package/dist/types/bluetooth/smart-puzzle/bluetooth-puzzle.d.ts.map +1 -1
- package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts +5 -0
- package/dist/types/bluetooth/smart-puzzle/giiker.spec.d.ts.map +1 -0
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts +3 -0
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.d.ts.map +1 -0
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts +2 -0
- package/dist/types/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.d.ts.map +1 -0
- package/dist/types/kpuzzle/canon.spec.d.ts +2 -0
- package/dist/types/kpuzzle/canon.spec.d.ts.map +1 -0
- package/dist/types/kpuzzle/index.d.ts +1 -0
- package/dist/types/kpuzzle/index.d.ts.map +1 -1
- package/dist/types/kpuzzle/kpuzzle.spec.d.ts +2 -0
- package/dist/types/kpuzzle/kpuzzle.spec.d.ts.map +1 -0
- package/dist/types/kpuzzle/prunetable.spec.d.ts +2 -0
- package/dist/types/kpuzzle/prunetable.spec.d.ts.map +1 -0
- package/dist/types/kpuzzle/svg.d.ts.map +1 -1
- package/dist/types/kpuzzle/transformations.spec.d.ts +2 -0
- package/dist/types/kpuzzle/transformations.spec.d.ts.map +1 -0
- package/dist/types/protocol/binary/binary3x3x3.spec.d.ts +2 -0
- package/dist/types/protocol/binary/binary3x3x3.spec.d.ts.map +1 -0
- package/dist/types/protocol/binary/hex.spec.d.ts +2 -0
- package/dist/types/protocol/binary/hex.spec.d.ts.map +1 -0
- package/dist/types/protocol/binary/orbit-indexing.spec.d.ts +2 -0
- package/dist/types/protocol/binary/orbit-indexing.spec.d.ts.map +1 -0
- package/dist/types/puzzle-geometry/Options.d.ts +45 -1
- package/dist/types/puzzle-geometry/Options.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts +2 -0
- package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts.map +1 -0
- package/dist/types/puzzle-geometry/PermOriSet.d.ts +39 -39
- package/dist/types/puzzle-geometry/PermOriSet.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts +118 -110
- package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/Quat.d.ts +0 -11
- package/dist/types/puzzle-geometry/Quat.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/Quat.spec.d.ts +2 -0
- package/dist/types/puzzle-geometry/Quat.spec.d.ts.map +1 -0
- package/dist/types/puzzle-geometry/SchreierSims.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/index.d.ts +2 -4
- package/dist/types/puzzle-geometry/index.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/interfaces.d.ts +1 -21
- package/dist/types/puzzle-geometry/interfaces.d.ts.map +1 -1
- package/dist/types/puzzle-geometry/orientcenters.spec.d.ts +2 -0
- package/dist/types/puzzle-geometry/orientcenters.spec.d.ts.map +1 -0
- package/dist/types/puzzles/async/async-pg3d.d.ts.map +1 -1
- package/dist/types/puzzles/customPGPuzzleLoader.d.ts +12 -0
- package/dist/types/puzzles/customPGPuzzleLoader.d.ts.map +1 -0
- package/dist/types/puzzles/implementations/2x2x2/{2x2x2.kpuzzle.json_.d.ts → 2x2x2.kpuzzle.json.d.ts} +1 -1
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json.d.ts.map +1 -0
- package/dist/types/puzzles/implementations/3x3x3/index.d.ts.map +1 -1
- package/dist/types/puzzles/implementations/clock/{clock.kpuzzle.json_.d.ts → clock.kpuzzle.json.d.ts} +1 -1
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json.d.ts.map +1 -0
- package/dist/types/puzzles/implementations/fto/index.d.ts +2 -2
- package/dist/types/puzzles/implementations/fto/index.d.ts.map +1 -1
- package/dist/types/puzzles/implementations/pyraminx/{pyraminx.kpuzzle.json_.d.ts → pyraminx.kpuzzle.json.d.ts} +1 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json.d.ts.map +1 -0
- package/dist/types/puzzles/implementations/square1/index.d.ts.map +1 -1
- package/dist/types/puzzles/implementations/square1/{sq1-hyperorbit.kpuzzle.json_.d.ts → sq1-hyperorbit.kpuzzle.json.d.ts} +1 -1
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json.d.ts.map +1 -0
- package/dist/types/puzzles/index.d.ts +4 -2
- package/dist/types/puzzles/index.d.ts.map +1 -1
- package/dist/types/puzzles/stickerings/appearance.d.ts +9 -9
- package/dist/types/puzzles/stickerings/appearance.d.ts.map +1 -1
- package/dist/types/puzzles/stickerings/cube-stickerings.d.ts.map +1 -1
- package/dist/types/puzzles/stickerings/fto-stickerings.d.ts.map +1 -1
- package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts +3 -0
- package/dist/types/puzzles/stickerings/global-custom-stickering-hack.d.ts.map +1 -0
- package/dist/types/search/index.d.ts +1 -1
- package/dist/types/search/index.d.ts.map +1 -1
- package/dist/types/search/inside/api.d.ts +2 -1
- package/dist/types/search/inside/api.d.ts.map +1 -1
- package/dist/types/search/inside/api.spec.d.ts +2 -0
- package/dist/types/search/inside/api.spec.d.ts.map +1 -0
- package/dist/types/search/inside/solve/parseSGS.d.ts.map +1 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/filter.d.ts.map +1 -1
- package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts.map +1 -1
- package/dist/types/search/inside/solve/puzzles/megaminx.sgs.json.d.ts.map +1 -1
- package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts +2 -0
- package/dist/types/search/inside/solve/puzzles/sgs-defs.spec.d.ts.map +1 -0
- package/dist/types/search/inside/solve/puzzles/skewb.sgs.json.d.ts.map +1 -1
- package/dist/types/search/inside/solve/tremble.d.ts.map +1 -1
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.d.ts +4 -31
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.d.ts.map +1 -1
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +1 -1
- package/dist/types/search/inside/solve/vendor/min2phase/gwt.d.ts +3 -0
- package/dist/types/search/inside/solve/vendor/min2phase/gwt.d.ts.map +1 -0
- package/dist/types/search/inside/solve/vendor/random-uint-below/get-random-values.d.ts.map +1 -1
- package/dist/types/search/inside/solve/vendor/random-uint-below/random-int.d.ts.map +1 -1
- package/dist/types/search/inside/solve/vendor/sq12phase/scramble_sq1.d.ts.map +1 -1
- package/dist/types/search/instantiator.d.ts.map +1 -1
- package/dist/types/search/outside.d.ts +4 -2
- package/dist/types/search/outside.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/stream/twizzle/TwizzleStream.d.ts +9 -8
- package/dist/types/stream/twizzle/TwizzleStream.d.ts.map +1 -1
- package/dist/types/stream/websocket-proxy.d.ts +1 -1
- package/dist/types/stream/websocket-proxy.d.ts.map +1 -1
- package/dist/types/twisty/controllers/TwistyAnimationController.d.ts +34 -0
- package/dist/types/twisty/controllers/TwistyAnimationController.d.ts.map +1 -0
- package/dist/types/twisty/controllers/TwistyPlayerController.d.ts +16 -0
- package/dist/types/twisty/controllers/TwistyPlayerController.d.ts.map +1 -0
- package/dist/types/twisty/heavy-code-imports/3d.d.ts +3 -0
- package/dist/types/twisty/heavy-code-imports/3d.d.ts.map +1 -0
- package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts +12 -0
- package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts.map +1 -0
- package/dist/types/twisty/index.d.ts +20 -15
- package/dist/types/twisty/index.d.ts.map +1 -1
- package/dist/types/twisty/model/PromiseFreshener.d.ts +14 -0
- package/dist/types/twisty/model/PromiseFreshener.d.ts.map +1 -0
- package/dist/types/twisty/model/TwistyPlayerModel.d.ts +84 -0
- package/dist/types/twisty/model/TwistyPlayerModel.d.ts.map +1 -0
- package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts +11 -0
- package/dist/types/twisty/model/UserVisibleErrorTracker.d.ts.map +1 -0
- package/dist/types/twisty/model/helpers.d.ts +5 -0
- package/dist/types/twisty/model/helpers.d.ts.map +1 -0
- package/dist/types/twisty/model/props/TwistyProp.d.ts +60 -0
- package/dist/types/twisty/model/props/TwistyProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/TwistyProp.spec.d.ts +5 -0
- package/dist/types/twisty/model/props/TwistyProp.spec.d.ts.map +1 -0
- package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts +28 -0
- package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts.map +1 -0
- package/dist/types/twisty/model/props/general/URLProp.d.ts +6 -0
- package/dist/types/twisty/model/props/general/URLProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts +7 -0
- package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts +10 -0
- package/dist/types/twisty/model/props/puzzle/display/SpriteProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts +6 -0
- package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts +27 -0
- package/dist/types/twisty/model/props/puzzle/state/AlgProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts +14 -0
- package/dist/types/twisty/model/props/puzzle/state/AlgTransformationProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts +15 -0
- package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts +12 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts +17 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts +15 -0
- package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts +17 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts +12 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts +15 -0
- package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts +12 -0
- package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts +13 -0
- package/dist/types/twisty/model/props/puzzle/state/PuzzleAlgProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts +6 -0
- package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts +11 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDefProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts +6 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts +11 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +6 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts +13 -0
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts +25 -0
- package/dist/types/twisty/model/props/timeline/CoarseTimelineInfoProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts +23 -0
- package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts +15 -0
- package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts +6 -0
- package/dist/types/twisty/model/props/timeline/TempoScaleProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts +16 -0
- package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts +7 -0
- package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts +7 -0
- package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts +22 -0
- package/dist/types/twisty/model/props/viewer/ButtonAppearanceProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts +7 -0
- package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts +6 -0
- package/dist/types/twisty/model/props/viewer/LatitudeLimit.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts +16 -0
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts +15 -0
- package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts +11 -0
- package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts +7 -0
- package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts +7 -0
- package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts.map +1 -0
- package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts +13 -0
- package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/RenderScheduler.d.ts +3 -0
- package/dist/types/twisty/old/animation/RenderScheduler.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/Timeline.d.ts +0 -0
- package/dist/types/twisty/old/animation/Timeline.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/cursor/AlgCursor.d.ts +4 -4
- package/dist/types/twisty/old/animation/cursor/AlgCursor.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/cursor/CursorTypes.d.ts +4 -4
- package/dist/types/twisty/old/animation/cursor/CursorTypes.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/easing.d.ts +0 -0
- package/dist/types/twisty/old/animation/easing.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/indexer/AlgDuration.d.ts +1 -1
- package/dist/types/twisty/old/animation/indexer/AlgDuration.d.ts.map +1 -0
- package/dist/types/twisty/old/animation/indexer/AlgIndexer.d.ts +36 -0
- package/dist/types/twisty/old/animation/indexer/AlgIndexer.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/indexer/SimpleAlgIndexer.d.ts +3 -3
- package/dist/types/twisty/old/animation/indexer/SimpleAlgIndexer.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts +6 -5
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +1 -0
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts +22 -0
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts.map +1 -0
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/simul-moves.d.ts +26 -0
- package/dist/types/twisty/old/animation/indexer/simultaneous-moves/simul-moves.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/indexer/tree/AlgWalker.d.ts +2 -2
- package/dist/types/twisty/old/animation/indexer/tree/AlgWalker.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/indexer/tree/TreeAlgIndexer.d.ts +3 -3
- package/dist/types/twisty/old/animation/indexer/tree/TreeAlgIndexer.d.ts.map +1 -0
- package/dist/types/twisty/old/animation/indexer/tree/chunkAlgs.d.ts +3 -0
- package/dist/types/twisty/old/animation/indexer/tree/chunkAlgs.d.ts.map +1 -0
- package/dist/types/twisty/{animation → old/animation}/stream/timeline-move-calculation-draft.d.ts +1 -1
- package/dist/types/twisty/old/animation/stream/timeline-move-calculation-draft.d.ts.map +1 -0
- package/dist/types/twisty/{dom/TwistyAlgViewer.css_.d.ts → old/dom/TwistyAlgViewerV1.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/TwistyAlgViewerV1.css.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/TwistyAlgViewerV1.d.ts +52 -0
- package/dist/types/twisty/old/dom/TwistyAlgViewerV1.d.ts.map +1 -0
- package/dist/types/twisty/{dom/TwistyPlayer.css_.d.ts → old/dom/TwistyPlayer.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/TwistyPlayer.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/TwistyPlayer.d.ts +8 -8
- package/dist/types/twisty/old/dom/TwistyPlayer.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/TwistyPlayer.spec.d.ts +5 -0
- package/dist/types/twisty/old/dom/TwistyPlayer.spec.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/TwistyPlayerConfig.d.ts +10 -5
- package/dist/types/twisty/old/dom/TwistyPlayerConfig.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/controls/TwistyControlElement.d.ts +2 -0
- package/dist/types/twisty/old/dom/controls/TwistyControlElement.d.ts.map +1 -0
- package/dist/types/twisty/{dom/controls/TwistyScrubber.css_.d.ts → old/dom/controls/TwistyScrubber.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/controls/TwistyScrubber.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/controls/TwistyScrubber.d.ts +1 -1
- package/dist/types/twisty/old/dom/controls/TwistyScrubber.d.ts.map +1 -0
- package/dist/types/twisty/{dom/controls/buttons.css_.d.ts → old/dom/controls/buttons.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/controls/buttons.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/controls/buttons.d.ts +1 -1
- package/dist/types/twisty/old/dom/controls/buttons.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/controls/buttons.spec.d.ts +5 -0
- package/dist/types/twisty/old/dom/controls/buttons.spec.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/element/ClassListManager.d.ts +0 -0
- package/dist/types/twisty/old/dom/element/ClassListManager.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/element/ElementConfig.d.ts +1 -1
- package/dist/types/twisty/old/dom/element/ElementConfig.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/element/ManagedCustomElement.d.ts +0 -0
- package/dist/types/twisty/old/dom/element/ManagedCustomElement.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/element/node-custom-element-shims.d.ts +0 -0
- package/dist/types/twisty/old/dom/element/node-custom-element-shims.d.ts.map +1 -0
- package/dist/types/twisty/{dom/stream/TwistyStreamSource.css_.d.ts → old/dom/stream/TwistyStreamSource.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/stream/TwistyStreamSource.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/stream/TwistyStreamSource.d.ts +0 -0
- package/dist/types/twisty/old/dom/stream/TwistyStreamSource.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/viewers/Twisty2DSVG.d.ts +2 -2
- package/dist/types/twisty/old/dom/viewers/Twisty2DSVG.d.ts.map +1 -0
- package/dist/types/twisty/{dom/viewers/Twisty2DSVGView.css_.d.ts → old/dom/viewers/Twisty2DSVGView.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/viewers/Twisty2DSVGView.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom/viewers/Twisty3DCanvas.css_.d.ts → old/dom/viewers/Twisty3DCanvas.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/viewers/Twisty3DCanvas.d.ts +1 -2
- package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/viewers/TwistyOrbitControls.d.ts +0 -0
- package/dist/types/twisty/old/dom/viewers/TwistyOrbitControls.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/viewers/TwistyViewerElement.d.ts +4 -0
- package/dist/types/twisty/old/dom/viewers/TwistyViewerElement.d.ts.map +1 -0
- package/dist/types/twisty/{dom/viewers/TwistyViewerWrapper.css_.d.ts → old/dom/viewers/TwistyViewerWrapper.css.d.ts} +1 -1
- package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → old/dom}/viewers/TwistyViewerWrapper.d.ts +0 -0
- package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.d.ts.map +1 -0
- package/dist/types/twisty/old/dom/viewers/canvas.d.ts +3 -0
- package/dist/types/twisty/old/dom/viewers/canvas.d.ts.map +1 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts +29 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts.map +1 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts +16 -0
- package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts.map +1 -0
- package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts +20 -0
- package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/RendererPool.d.ts +4 -0
- package/dist/types/twisty/views/3D/RendererPool.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/TAU.d.ts +0 -0
- package/dist/types/twisty/views/3D/TAU.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts +17 -0
- package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/Twisty3DRenderTarget.d.ts +0 -0
- package/dist/types/twisty/views/3D/Twisty3DRenderTarget.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/Twisty3DScene.d.ts +0 -0
- package/dist/types/twisty/views/3D/Twisty3DScene.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +28 -0
- package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts +32 -0
- package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.d.ts +41 -0
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.spec.d.ts +5 -0
- package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.spec.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/puzzles/Cube3D.d.ts +11 -7
- package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/puzzles/KPuzzleWrapper.d.ts +2 -2
- package/dist/types/twisty/views/3D/puzzles/KPuzzleWrapper.d.ts.map +1 -0
- package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +57 -0
- package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/puzzles/Twisty3DPuzzle.d.ts +1 -1
- package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts.map +1 -0
- package/dist/types/twisty/{3D → views/3D}/puzzles/TwistyTestBox.d.ts +2 -2
- package/dist/types/twisty/views/3D/puzzles/TwistyTestBox.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts +18 -0
- package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts +3 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts +40 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts +5 -0
- package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.spec.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts +61 -0
- package/dist/types/twisty/views/TwistyAlgEditor/model.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts +3 -0
- package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts.map +1 -0
- package/dist/types/twisty/{dom → views}/TwistyAlgViewer.d.ts +6 -6
- package/dist/types/twisty/views/TwistyAlgViewer.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyPlayer.d.ts +97 -0
- package/dist/types/twisty/views/TwistyPlayer.d.ts.map +1 -0
- package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +71 -0
- package/dist/types/twisty/views/TwistyPlayerSettable.d.ts.map +1 -0
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts +33 -0
- package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts.map +1 -0
- package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts +14 -0
- package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts.map +1 -0
- package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts +15 -0
- package/dist/types/twisty/views/control-panel/webkit-fullscreen.d.ts.map +1 -0
- package/dist/types/twisty/views/document.d.ts +2 -0
- package/dist/types/twisty/views/document.d.ts.map +1 -0
- package/dist/types/twisty/views/screenshot.d.ts +12 -0
- package/dist/types/twisty/views/screenshot.d.ts.map +1 -0
- package/dist/types/vendor/p-lazy/p-lazy.d.ts +10 -0
- package/dist/types/vendor/p-lazy/p-lazy.d.ts.map +1 -0
- package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts +33 -0
- package/dist/types/vendor/three/examples/jsm/libs/stats.modified.module.d.ts.map +1 -0
- package/docs/.DS_Store +0 -0
- package/docs/cubing/.DS_Store +0 -0
- package/docs/cubing/alg/index.html +37 -23
- package/docs/cubing/index.html +56 -252
- package/docs/cubing/scramble/index.html +122 -0
- package/docs/cubing/twisty/index.html +329 -0
- package/docs/main.css +15 -3
- package/package.json +83 -57
- package/src/cubing/.DS_Store +0 -0
- package/src/cubing/alg/.DS_Store +0 -0
- package/src/cubing/alg/Alg.ts +89 -0
- package/src/cubing/alg/common.ts +4 -2
- package/src/cubing/alg/iteration.ts +1 -1
- package/src/cubing/alg/parse.ts +2 -0
- package/src/cubing/alg/test/alg-comparison.ts +1 -0
- package/src/cubing/alg/units/.DS_Store +0 -0
- package/src/cubing/alg/units/Unit.ts +0 -3
- package/src/cubing/alg/units/containers/Commutator.ts +1 -1
- package/src/cubing/alg/units/leaves/Move.ts +4 -4
- package/src/cubing/bluetooth/.DS_Store +0 -0
- package/src/cubing/bluetooth/connect/index.ts +1 -1
- package/src/cubing/bluetooth/smart-puzzle/Heykube.ts +1 -1
- package/src/cubing/bluetooth/smart-puzzle/bluetooth-puzzle.ts +1 -1
- package/src/cubing/bluetooth/smart-puzzle/gan.ts +5 -5
- package/src/cubing/bluetooth/smart-puzzle/giiker.ts +2 -2
- package/src/cubing/bluetooth/smart-puzzle/gocube.ts +5 -5
- package/src/cubing/bluetooth/smart-robot/GanRobot.ts +5 -5
- package/src/cubing/bluetooth/smart-timer/GanTimer.ts +2 -2
- package/src/cubing/kpuzzle/.DS_Store +0 -0
- package/src/cubing/kpuzzle/3x3x3/3x3x3.kpuzzle.json.spec.ts +40 -0
- package/src/cubing/{puzzles/implementations/3x3x3/3x3x3.kpuzzle.json_.ts → kpuzzle/3x3x3/3x3x3.kpuzzle.json.ts} +11 -6
- package/src/cubing/kpuzzle/canon.spec.ts +6 -11
- package/src/cubing/kpuzzle/canonicalize.ts +1 -1
- package/src/cubing/kpuzzle/definition_types.ts +0 -3
- package/src/cubing/kpuzzle/index.ts +1 -0
- package/src/cubing/kpuzzle/prunetable.spec.ts +2 -4
- package/src/cubing/kpuzzle/puzzle-orientation.ts +1 -1
- package/src/cubing/kpuzzle/svg.ts +4 -9
- package/src/cubing/kpuzzle/transformations.ts +1 -1
- package/src/cubing/protocol/binary/binary3x3x3.spec.ts +5 -2
- package/src/cubing/protocol/binary/hex.ts +4 -4
- package/src/cubing/protocol/binary/orbit-indexing.ts +2 -2
- package/src/cubing/protocol/binary/puzzle-orientation.ts +2 -2
- package/src/cubing/puzzle-geometry/Options.ts +151 -22
- package/src/cubing/puzzle-geometry/PGPuzzles.spec.ts +24 -28
- package/src/cubing/puzzle-geometry/PermOriSet.ts +99 -98
- package/src/cubing/puzzle-geometry/PlatonicGenerator.ts +1 -1
- package/src/cubing/puzzle-geometry/PuzzleGeometry.ts +836 -867
- package/src/cubing/puzzle-geometry/Quat.ts +1 -68
- package/src/cubing/puzzle-geometry/SchreierSims.ts +2 -13
- package/src/cubing/puzzle-geometry/index.ts +2 -11
- package/src/cubing/puzzle-geometry/interfaces.ts +1 -27
- package/src/cubing/puzzle-geometry/orientcenters.spec.ts +24 -30
- package/src/cubing/puzzles/.DS_Store +0 -0
- package/src/cubing/puzzles/PuzzleLoader.ts +1 -1
- package/src/cubing/puzzles/async/async-pg3d.ts +5 -8
- package/src/cubing/puzzles/customPGPuzzleLoader.ts +60 -0
- package/src/cubing/puzzles/implementations/.DS_Store +0 -0
- package/src/cubing/puzzles/implementations/2x2x2/{2x2x2.kpuzzle.json_.ts → 2x2x2.kpuzzle.json.ts} +0 -0
- package/src/cubing/puzzles/implementations/2x2x2/index.ts +1 -1
- package/src/cubing/puzzles/implementations/3x3x3/index.ts +2 -3
- package/src/cubing/puzzles/implementations/clock/{clock.kpuzzle.json_.ts → clock.kpuzzle.json.ts} +0 -0
- package/src/cubing/puzzles/implementations/clock/index.ts +1 -1
- package/src/cubing/puzzles/implementations/fto/index.ts +19 -11
- package/src/cubing/puzzles/implementations/pyraminx/{pyraminx.kpuzzle.json_.ts → pyraminx.kpuzzle.json.ts} +0 -0
- package/src/cubing/puzzles/implementations/square1/index.ts +1 -2
- package/src/cubing/puzzles/implementations/square1/{sq1-hyperorbit.kpuzzle.json_.ts → sq1-hyperorbit.kpuzzle.json.ts} +0 -0
- package/src/cubing/puzzles/index.ts +30 -20
- package/src/cubing/puzzles/stickerings/appearance.ts +10 -9
- package/src/cubing/puzzles/stickerings/cube-stickerings.ts +8 -0
- package/src/cubing/puzzles/stickerings/fto-stickerings.ts +9 -0
- package/src/cubing/puzzles/stickerings/global-custom-stickering-hack.ts +61 -0
- package/src/cubing/search/.DS_Store +0 -0
- package/src/cubing/search/.gitignore +1 -2
- package/src/cubing/search/esm-test-worker.js +1 -1
- package/src/cubing/search/index.ts +1 -0
- package/src/cubing/search/inside/api.spec.ts +1 -0
- package/src/cubing/search/inside/api.ts +6 -1
- package/src/cubing/search/inside/solve/parseSGS.ts +7 -11
- package/src/cubing/search/inside/solve/puzzles/2x2x2.ts +3 -3
- package/src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts +0 -6
- package/src/cubing/search/inside/solve/puzzles/3x3x3/index.ts +0 -2
- package/src/cubing/search/inside/solve/puzzles/FTO.sgs +264 -0
- package/src/cubing/search/inside/solve/puzzles/megaminx.sgs.json.ts +4 -6
- package/src/cubing/search/inside/solve/puzzles/skewb.sgs.json.ts +4 -6
- package/src/cubing/search/inside/solve/tremble.ts +6 -9
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.ts +20 -822
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/scramble/scramble_444.ts +177 -252
- package/src/cubing/search/inside/solve/vendor/min2phase/gwt.js +62 -222
- package/src/cubing/search/inside/solve/vendor/random-uint-below/get-random-values.ts +4 -5
- package/src/cubing/search/inside/solve/vendor/random-uint-below/random-int.ts +9 -11
- package/src/cubing/search/inside/solve/vendor/sq12phase/scramble_sq1.js +13 -582
- package/src/cubing/search/instantiator.ts +11 -7
- package/src/cubing/search/outside.ts +8 -2
- package/src/cubing/search/worker-inside-generated-string.js +1 -1
- package/src/cubing/stream/.DS_Store +0 -0
- package/src/cubing/stream/process/ReorientedStream.ts +1 -1
- package/src/cubing/stream/twizzle/TwizzleStream.ts +11 -8
- package/src/cubing/stream/websocket-proxy.ts +1 -3
- package/src/cubing/twisty/.DS_Store +0 -0
- package/src/cubing/twisty/controllers/TwistyAnimationController.ts +248 -0
- package/src/cubing/twisty/controllers/TwistyPlayerController.ts +38 -0
- package/src/cubing/twisty/heavy-code-imports/3d.ts +18 -0
- package/src/cubing/twisty/heavy-code-imports/dynamic-entries/3d.ts +41 -0
- package/src/cubing/twisty/index.ts +24 -17
- package/src/cubing/twisty/model/.DS_Store +0 -0
- package/src/cubing/twisty/model/PromiseFreshener.ts +49 -0
- package/src/cubing/twisty/model/TwistyPlayerModel.ts +222 -0
- package/src/cubing/twisty/model/UserVisibleErrorTracker.ts +22 -0
- package/src/cubing/twisty/model/helpers.ts +47 -0
- package/src/cubing/{search/vendor → twisty/model/props}/.DS_Store +0 -0
- package/src/cubing/twisty/model/props/TwistyProp.spec.ts +38 -0
- package/src/cubing/twisty/model/props/TwistyProp.ts +366 -0
- package/src/cubing/twisty/model/props/TwistyPropDebugger.ts +370 -0
- package/src/cubing/twisty/model/props/general/URLProp.ts +14 -0
- package/src/cubing/{solve → twisty/model/props/puzzle}/.DS_Store +0 -0
- package/src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.ts +10 -0
- package/src/cubing/twisty/model/props/puzzle/display/SpriteProp.ts +43 -0
- package/src/cubing/twisty/model/props/puzzle/display/StickeringProp.ts +8 -0
- package/src/cubing/twisty/model/props/puzzle/state/AlgProp.ts +91 -0
- package/src/cubing/twisty/model/props/puzzle/state/AlgTransformationProp.ts +28 -0
- package/src/cubing/twisty/model/props/puzzle/state/AnchoredStartProp.ts +44 -0
- package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesProp.ts +91 -0
- package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesSimplified.ts +48 -0
- package/src/cubing/twisty/model/props/puzzle/state/CurrentTransformationProp.ts +46 -0
- package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorProp.ts +46 -0
- package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorRequestProp.ts +15 -0
- package/src/cubing/twisty/model/props/puzzle/state/IndexerProp.ts +24 -0
- package/src/cubing/twisty/model/props/puzzle/state/LegacyPositionProp.ts +22 -0
- package/src/cubing/twisty/model/props/puzzle/state/PuzzleAlgProp.ts +28 -0
- package/src/cubing/twisty/model/props/puzzle/state/SetupAnchorProp.ts +8 -0
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDefProp.ts +14 -0
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleDescriptionProp.ts +14 -0
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDProp.ts +12 -0
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.ts +17 -0
- package/src/cubing/twisty/model/props/puzzle/structure/PuzzleLoaderProp.ts +38 -0
- package/src/cubing/twisty/model/props/timeline/CoarseTimelineInfoProp.ts +45 -0
- package/src/cubing/twisty/model/props/timeline/DetailedTimelineInfoProp.ts +76 -0
- package/src/cubing/twisty/model/props/timeline/PlayingInfoProp.ts +51 -0
- package/src/cubing/twisty/model/props/timeline/TempoScaleProp.ts +13 -0
- package/src/cubing/twisty/model/props/timeline/TimestampRequestProp.ts +38 -0
- package/src/cubing/twisty/model/props/viewer/BackViewProp.ts +10 -0
- package/src/cubing/twisty/model/props/viewer/BackgroundProp.ts +10 -0
- package/src/cubing/twisty/model/props/viewer/ButtonAppearanceProp.ts +86 -0
- package/src/cubing/twisty/model/props/viewer/ControlPanelProp.ts +10 -0
- package/src/cubing/twisty/model/props/viewer/LatitudeLimit.ts +11 -0
- package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesProp.ts +56 -0
- package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesRequestProp.ts +69 -0
- package/src/cubing/twisty/model/props/viewer/TimeRangeProp.ts +15 -0
- package/src/cubing/twisty/model/props/viewer/ViewerLinkProp.ts +10 -0
- package/src/cubing/twisty/model/props/viewer/VisualizationProp.ts +10 -0
- package/src/cubing/twisty/model/props/viewer/VisualizationStrategyProp.ts +45 -0
- package/src/cubing/twisty/old/.DS_Store +0 -0
- package/src/cubing/twisty/old/animation/.DS_Store +0 -0
- package/src/cubing/twisty/{animation → old/animation}/RenderScheduler.ts +5 -0
- package/src/cubing/twisty/{animation → old/animation}/Timeline.ts +0 -0
- package/src/cubing/twisty/{animation → old/animation}/cursor/AlgCursor.ts +15 -8
- package/src/cubing/twisty/{animation → old/animation}/cursor/CursorTypes.ts +4 -4
- package/src/cubing/twisty/{animation → old/animation}/easing.ts +0 -0
- package/src/cubing/{search/inside → twisty/old/animation/indexer}/.DS_Store +0 -0
- package/src/cubing/twisty/{animation → old/animation}/indexer/AlgDuration.ts +1 -1
- package/src/cubing/twisty/old/animation/indexer/AlgIndexer.ts +86 -0
- package/src/cubing/twisty/{animation → old/animation}/indexer/SimpleAlgIndexer.ts +9 -6
- package/src/cubing/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts +181 -0
- package/src/cubing/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.ts +243 -0
- package/src/cubing/twisty/{animation → old/animation}/indexer/simultaneous-moves/simul-moves.ts +46 -34
- package/src/cubing/twisty/{animation → old/animation}/indexer/tree/AlgWalker.ts +6 -3
- package/src/cubing/twisty/{animation → old/animation}/indexer/tree/TreeAlgIndexer.ts +8 -5
- package/src/cubing/twisty/{animation → old/animation}/indexer/tree/chunkAlgs.ts +2 -2
- package/src/cubing/twisty/{animation → old/animation}/stream/timeline-move-calculation-draft.spec.ts.TODO +0 -0
- package/src/cubing/twisty/{animation → old/animation}/stream/timeline-move-calculation-draft.ts +2 -2
- package/src/cubing/twisty/old/dom/.DS_Store +0 -0
- package/src/cubing/twisty/{dom/TwistyAlgViewer.css_.ts → old/dom/TwistyAlgViewerV1.css.ts} +0 -0
- package/src/cubing/twisty/{dom/TwistyAlgViewer.ts → old/dom/TwistyAlgViewerV1.ts} +43 -36
- package/src/cubing/twisty/{dom/TwistyPlayer.css_.ts → old/dom/TwistyPlayer.css.ts} +28 -1
- package/src/cubing/twisty/{dom → old/dom}/TwistyPlayer.spec.ts +5 -6
- package/src/cubing/twisty/{dom → old/dom}/TwistyPlayer.ts +36 -43
- package/src/cubing/twisty/{dom → old/dom}/TwistyPlayerConfig.ts +27 -10
- package/src/cubing/twisty/{dom/controls/TwistyControlElement.ts.ts → old/dom/controls/TwistyControlElement.ts} +0 -0
- package/src/cubing/twisty/{dom/controls/TwistyScrubber.css_.ts → old/dom/controls/TwistyScrubber.css.ts} +0 -0
- package/src/cubing/twisty/{dom → old/dom}/controls/TwistyScrubber.ts +3 -3
- package/src/cubing/twisty/{dom/controls/buttons.css_.ts → old/dom/controls/buttons.css.ts} +14 -1
- package/src/cubing/twisty/{dom → old/dom}/controls/buttons.spec.ts +1 -1
- package/src/cubing/twisty/{dom → old/dom}/controls/buttons.ts +15 -15
- package/src/cubing/twisty/{dom → old/dom}/element/ClassListManager.ts +0 -0
- package/src/cubing/twisty/{dom → old/dom}/element/ElementConfig.ts +1 -1
- package/src/cubing/twisty/{dom → old/dom}/element/ManagedCustomElement.ts +0 -0
- package/src/cubing/twisty/{dom → old/dom}/element/node-custom-element-shims.ts +0 -0
- package/src/cubing/twisty/{dom/stream/TwistyStreamSource.css_.ts → old/dom/stream/TwistyStreamSource.css.ts} +0 -0
- package/src/cubing/twisty/{dom → old/dom}/stream/TwistyStreamSource.ts +8 -8
- package/src/cubing/twisty/{dom → old/dom}/viewers/Twisty2DSVG.ts +7 -9
- package/src/cubing/twisty/{dom/viewers/Twisty2DSVGView.css_.ts → old/dom/viewers/Twisty2DSVGView.css.ts} +0 -0
- package/src/cubing/twisty/{dom/viewers/Twisty3DCanvas.css_.ts → old/dom/viewers/Twisty3DCanvas.css.ts} +0 -0
- package/src/cubing/twisty/{dom → old/dom}/viewers/Twisty3DCanvas.ts +5 -12
- package/src/cubing/twisty/{dom → old/dom}/viewers/TwistyOrbitControls.ts +53 -20
- package/src/cubing/twisty/{dom → old/dom}/viewers/TwistyViewerElement.ts +1 -1
- package/src/cubing/twisty/{dom/viewers/TwistyViewerWrapper.css_.ts → old/dom/viewers/TwistyViewerWrapper.css.ts} +0 -0
- package/src/cubing/twisty/{dom → old/dom}/viewers/TwistyViewerWrapper.ts +1 -1
- package/src/cubing/twisty/old/dom/viewers/canvas.ts +9 -0
- package/src/cubing/twisty/views/.DS_Store +0 -0
- package/src/cubing/twisty/views/2D/Twisty2DPuzzle.ts +150 -0
- package/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.ts +52 -0
- package/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.ts +77 -0
- package/src/cubing/twisty/views/3D/RendererPool.ts +53 -0
- package/src/cubing/twisty/{3D → views/3D}/TAU.ts +0 -0
- package/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.ts +168 -0
- package/src/cubing/twisty/{3D → views/3D}/Twisty3DRenderTarget.ts +0 -0
- package/src/cubing/twisty/{3D → views/3D}/Twisty3DScene.ts +0 -0
- package/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.ts +144 -0
- package/src/cubing/twisty/views/3D/Twisty3DVantage.ts +244 -0
- package/src/cubing/twisty/views/3D/TwistyOrbitControlsV2.spec.ts +209 -0
- package/src/cubing/twisty/views/3D/TwistyOrbitControlsV2.ts +270 -0
- package/src/cubing/twisty/{3D → views/3D}/puzzles/Cube3D.ts +36 -15
- package/src/cubing/twisty/{3D → views/3D}/puzzles/KPuzzleWrapper.ts +4 -5
- package/src/cubing/twisty/views/3D/puzzles/PG3D.ts +988 -0
- package/src/cubing/twisty/views/3D/puzzles/Twisty3DPuzzle.ts +6 -0
- package/src/cubing/twisty/{3D → views/3D}/puzzles/TwistyTestBox.ts +2 -2
- package/src/cubing/twisty/views/TwistyAlgEditor/LeafTokens.ts +116 -0
- package/src/cubing/twisty/{dom/TwistyAlgEditor.css_.ts → views/TwistyAlgEditor/TwistyAlgEditor.css.ts} +3 -1
- package/src/cubing/twisty/{dom → views/TwistyAlgEditor}/TwistyAlgEditor.spec.ts +7 -6
- package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.ts +360 -0
- package/src/cubing/twisty/views/TwistyAlgEditor/model.ts +179 -0
- package/src/cubing/twisty/views/TwistyAlgViewer.css.ts +25 -0
- package/src/cubing/twisty/views/TwistyAlgViewer.ts +502 -0
- package/src/cubing/twisty/views/TwistyPlayer.ts +327 -0
- package/src/cubing/twisty/views/TwistyPlayerSettable.ts +111 -0
- package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.ts +159 -0
- package/src/cubing/twisty/views/control-panel/TwistyScrubberV2.ts +145 -0
- package/src/cubing/twisty/views/control-panel/webkit-fullscreen.ts +44 -0
- package/src/cubing/twisty/views/document.ts +4 -0
- package/src/cubing/twisty/views/screenshot.ts +90 -0
- package/src/cubing/vendor/.DS_Store +0 -0
- package/src/cubing/vendor/p-lazy/license +9 -0
- package/src/cubing/vendor/p-lazy/p-lazy.ts +52 -0
- package/src/cubing/vendor/p-lazy/readme.md +54 -0
- package/src/cubing/vendor/three/examples/jsm/libs/stats.modified.module.ts +179 -0
- package/dist/esm/chunk-CWVB5RRW.js.map +0 -7
- package/dist/esm/chunk-KKSDHNLH.js.map +0 -7
- package/dist/esm/chunk-YNB7QLBF.js.map +0 -7
- package/dist/esm/worker-inside-generated-string-LT4NV55Q.js +0 -2826
- package/dist/esm/worker-inside-generated-string-LT4NV55Q.js.map +0 -7
- package/dist/types/puzzles/implementations/2x2x2/2x2x2.kpuzzle.json_.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.json_.d.ts +0 -3
- package/dist/types/puzzles/implementations/3x3x3/3x3x3.kpuzzle.json_.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/clock/clock.kpuzzle.json_.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/pyraminx/pyraminx.kpuzzle.json_.d.ts.map +0 -1
- package/dist/types/puzzles/implementations/square1/sq1-hyperorbit.kpuzzle.json_.d.ts.map +0 -1
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/lgarron-additions-for-typescript/shim-lib.d.ts +0 -3
- package/dist/types/search/inside/solve/vendor/cstimer/src/js/lgarron-additions-for-typescript/shim-lib.d.ts.map +0 -1
- package/dist/types/twisty/3D/TAU.d.ts.map +0 -1
- package/dist/types/twisty/3D/Twisty3DRenderTarget.d.ts.map +0 -1
- package/dist/types/twisty/3D/Twisty3DScene.d.ts.map +0 -1
- package/dist/types/twisty/3D/puzzles/Cube3D.d.ts.map +0 -1
- package/dist/types/twisty/3D/puzzles/KPuzzleWrapper.d.ts.map +0 -1
- package/dist/types/twisty/3D/puzzles/PG3D.d.ts +0 -51
- package/dist/types/twisty/3D/puzzles/PG3D.d.ts.map +0 -1
- package/dist/types/twisty/3D/puzzles/Twisty3DPuzzle.d.ts.map +0 -1
- package/dist/types/twisty/3D/puzzles/TwistyTestBox.d.ts.map +0 -1
- package/dist/types/twisty/animation/RenderScheduler.d.ts.map +0 -1
- package/dist/types/twisty/animation/Timeline.d.ts.map +0 -1
- package/dist/types/twisty/animation/cursor/AlgCursor.d.ts.map +0 -1
- package/dist/types/twisty/animation/cursor/CursorTypes.d.ts.map +0 -1
- package/dist/types/twisty/animation/easing.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/AlgDuration.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/AlgIndexer.d.ts +0 -15
- package/dist/types/twisty/animation/indexer/AlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/SimpleAlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/simultaneous-moves/simul-moves.d.ts +0 -25
- package/dist/types/twisty/animation/indexer/simultaneous-moves/simul-moves.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/tree/AlgWalker.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/tree/TreeAlgIndexer.d.ts.map +0 -1
- package/dist/types/twisty/animation/indexer/tree/chunkAlgs.d.ts +0 -3
- package/dist/types/twisty/animation/indexer/tree/chunkAlgs.d.ts.map +0 -1
- package/dist/types/twisty/animation/stream/timeline-move-calculation-draft.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyAlgEditor.css_.d.ts +0 -3
- package/dist/types/twisty/dom/TwistyAlgEditor.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyAlgEditor.d.ts +0 -27
- package/dist/types/twisty/dom/TwistyAlgEditor.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyAlgEditorStartCharSearch.d.ts +0 -26
- package/dist/types/twisty/dom/TwistyAlgEditorStartCharSearch.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyAlgViewer.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyAlgViewer.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyPlayer.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyPlayer.d.ts.map +0 -1
- package/dist/types/twisty/dom/TwistyPlayerConfig.d.ts.map +0 -1
- package/dist/types/twisty/dom/controls/TwistyControlElement.ts.d.ts +0 -2
- package/dist/types/twisty/dom/controls/TwistyControlElement.ts.d.ts.map +0 -1
- package/dist/types/twisty/dom/controls/TwistyScrubber.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/controls/TwistyScrubber.d.ts.map +0 -1
- package/dist/types/twisty/dom/controls/buttons.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/controls/buttons.d.ts.map +0 -1
- package/dist/types/twisty/dom/element/ClassListManager.d.ts.map +0 -1
- package/dist/types/twisty/dom/element/ElementConfig.d.ts.map +0 -1
- package/dist/types/twisty/dom/element/ManagedCustomElement.d.ts.map +0 -1
- package/dist/types/twisty/dom/element/node-custom-element-shims.d.ts.map +0 -1
- package/dist/types/twisty/dom/stream/TwistyStreamSource.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/stream/TwistyStreamSource.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/Twisty2DSVG.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/Twisty2DSVGView.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/Twisty3DCanvas.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/Twisty3DCanvas.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/TwistyOrbitControls.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/TwistyViewerElement.d.ts +0 -4
- package/dist/types/twisty/dom/viewers/TwistyViewerElement.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/TwistyViewerWrapper.css_.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/TwistyViewerWrapper.d.ts.map +0 -1
- package/dist/types/twisty/dom/viewers/canvas.d.ts +0 -2
- package/dist/types/twisty/dom/viewers/canvas.d.ts.map +0 -1
- package/dist/types/vendor/three/examples/jsm/libs/stats.module.d.ts +0 -2
- package/dist/types/vendor/three/examples/jsm/libs/stats.module.d.ts.map +0 -1
- package/dist/types/vendor/three/examples/jsm/libs/stats.module.wrapped.d.ts +0 -21
- package/dist/types/vendor/three/examples/jsm/libs/stats.module.wrapped.d.ts.map +0 -1
- package/src/cubing/protocol/.DS_Store +0 -0
- package/src/cubing/puzzle-geometry/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/puzzles/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/puzzles/3x3x3/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/src/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/lgarron-additions-for-typescript/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/lgarron-additions-for-typescript/shim-lib.ts +0 -13
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/lib/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/cstimer/src/js/scramble/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/sgs/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/sgs/src/.DS_Store +0 -0
- package/src/cubing/search/inside/solve/vendor/sgs/src/test/.DS_Store +0 -0
- package/src/cubing/search/vendor/comlink-everywhere/.DS_Store +0 -0
- package/src/cubing/twisty/3D/puzzles/PG3D.ts +0 -600
- package/src/cubing/twisty/3D/puzzles/Twisty3DPuzzle.ts +0 -9
- package/src/cubing/twisty/3D/puzzles/mkbhd.svg +0 -5
- package/src/cubing/twisty/animation/indexer/AlgIndexer.ts +0 -25
- package/src/cubing/twisty/animation/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts +0 -168
- package/src/cubing/twisty/dom/TwistyAlgEditor.ts +0 -373
- package/src/cubing/twisty/dom/TwistyAlgEditorStartCharSearch.ts +0 -138
- package/src/cubing/twisty/dom/viewers/canvas.ts +0 -4
- package/src/cubing/twisty/views/3D/.DS_Store +0 -0
- package/src/cubing/vendor/three/.DS_Store +0 -0
- package/src/cubing/vendor/three/examples/jsm/libs/stats.module.ts +0 -2
- package/src/cubing/vendor/three/examples/jsm/libs/stats.module.wrapped.d.ts +0 -24
- package/src/cubing/vendor/three/examples/jsm/libs/stats.module.wrapped.js +0 -178
|
@@ -1 +1 @@
|
|
|
1
|
-
export const workerSource = "var S1=Object.create;var No=Object.defineProperty;var w1=Object.getOwnPropertyDescriptor;var E1=Object.getOwnPropertyNames;var U1=Object.getPrototypeOf,k1=Object.prototype.hasOwnProperty;var Ea=e=>No(e,\"__esModule\",{value:!0});var w=(e,r)=>()=>(e&&(r=e(e=0)),r);var Oe=(e,r)=>{Ea(e);for(var t in r)No(e,t,{get:r[t],enumerable:!0})},C1=(e,r,t)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let n of E1(r))!k1.call(e,n)&&n!==\"default\"&&No(e,n,{get:()=>r[n],enumerable:!(t=w1(r,n))||t.enumerable});return e},Ua=e=>C1(Ea(No(e!=null?S1(U1(e)):{},\"default\",e&&e.__esModule&&\"default\"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var pi=(e,r,t)=>{if(!r.has(e))throw TypeError(\"Cannot \"+t)};var A=(e,r,t)=>(pi(e,r,\"read from private field\"),t?t.call(e):r.get(e)),he=(e,r,t)=>{if(r.has(e))throw TypeError(\"Cannot add the same private member more than once\");r instanceof WeakSet?r.add(e):r.set(e,t)},ne=(e,r,t,n)=>(pi(e,r,\"write to private field\"),n?n.call(e,t):r.set(e,t),t);var ka=(e,r,t)=>(pi(e,r,\"access private method\"),t);var D=(e,r,t)=>new Promise((n,o)=>{var l=a=>{try{s(t.next(a))}catch(u){o(u)}},i=a=>{try{s(t.throw(a))}catch(u){o(u)}},s=a=>a.done?n(a.value):Promise.resolve(a.value).then(l,i);s((t=t.apply(e,r)).next())});var _a={};Oe(_a,{default:()=>q1});function Q1(e){let r=new WeakMap;return{postMessage:e.postMessage.bind(e),addEventListener:(t,n)=>{let o=l=>{\"handleEvent\"in n?n.handleEvent({data:l}):n({data:l})};e.on(\"message\",o),r.set(n,o)},removeEventListener:(t,n)=>{let o=r.get(n);!o||(e.off(\"message\",o),r.delete(n))},start:e.start&&e.start.bind(e)}}var q1,Na=w(()=>{q1=Q1});var Ga={};Oe(Ga,{port:()=>j1});function j1(){return D(this,null,function*(){let{parentPort:e}=yield import(\"worker_threads\").catch();return(yield Promise.resolve().then(()=>(Na(),_a))).default(e)})}var Oa=w(()=>{});var V1,Oo,Me,Gr=w(()=>{V1=!1,Oo=class{is(r){return this instanceof r}as(r){return this instanceof r?this:null}},Me=class extends Oo{constructor(){super();V1&&Object.defineProperty(this,\"_debugStr\",{get:function(){return this.toString()}})}get log(){return console.log.bind(console,this,this.toString())}}});function Qa(e,r=!0){if(!r)return e;switch(e){case 1:return-1;case-1:return 1}}function Ai(e,r){return r===-1?Array.from(e).reverse():e}function qa(e){return Array.from(e).reverse()}var V,Lr=w(()=>{(function(t){t[t.Forwards=1]=\"Forwards\",t[t.Backwards=-1]=\"Backwards\"})(V||(V={}))});var jn,Jt,ja,Ri=w(()=>{jn=2147483647,Jt=\"2^31 - 1\",ja=-2147483648});var Et,cr,yi=w(()=>{Or();cr=class{constructor(){he(this,Et,[])}push(r){A(this,Et).push(r)}experimentalPushAlg(r){for(let t of r.units())this.push(t)}experimentalNumUnits(){return A(this,Et).length}toAlg(){return new I(A(this,Et))}reset(){ne(this,Et,[])}};Et=new WeakMap});var Ut,kt,Wo,Pe,Kn=w(()=>{Or();Gr();Lr();Wo=class extends Me{constructor(r,t){super();he(this,Ut,void 0);he(this,kt,void 0);ne(this,Ut,tt(r)),ne(this,kt,tt(t))}get A(){return A(this,Ut)}get B(){return A(this,kt)}isIdentical(r){let t=r.as(Wo);return!!((t==null?void 0:t.A.isIdentical(this.A))&&(t==null?void 0:t.B.isIdentical(this.B)))}invert(){return new Wo(A(this,kt),A(this,Ut))}*experimentalExpand(r=V.Forwards,t){t!=null||(t=Infinity),t===0?yield r===V.Forwards?this:this.invert():r===V.Forwards?(yield*this.A.experimentalExpand(V.Forwards,t-1),yield*this.B.experimentalExpand(V.Forwards,t-1),yield*this.A.experimentalExpand(V.Backwards,t-1),yield*this.B.experimentalExpand(V.Backwards,t-1)):(yield*this.B.experimentalExpand(V.Forwards,t-1),yield*this.A.experimentalExpand(V.Forwards,t-1),yield*this.B.experimentalExpand(V.Backwards,t-1),yield*this.A.experimentalExpand(V.Backwards,t-1))}toString(){return`[${A(this,Ut)}, ${A(this,kt)}]`}},Pe=Wo;Ut=new WeakMap,kt=new WeakMap});var Xt,$t,Qo,Ie,Vn=w(()=>{Or();Gr();Lr();Qo=class extends Me{constructor(r,t){super();he(this,Xt,void 0);he(this,$t,void 0);ne(this,Xt,tt(r)),ne(this,$t,tt(t))}get A(){return A(this,Xt)}get B(){return A(this,$t)}isIdentical(r){let t=r.as(Qo);return!!((t==null?void 0:t.A.isIdentical(this.A))&&(t==null?void 0:t.B.isIdentical(this.B)))}invert(){return new Qo(A(this,Xt),A(this,$t).invert())}*experimentalExpand(r,t){t!=null||(t=Infinity),t===0?yield r===V.Forwards?this:this.invert():(yield*this.A.experimentalExpand(V.Forwards,t-1),yield*this.B.experimentalExpand(r,t-1),yield*this.A.experimentalExpand(V.Backwards,t-1))}toString(){return`[${this.A}: ${this.B}]`}},Ie=Qo;Xt=new WeakMap,$t=new WeakMap});var nt,Di,Ar,Hn=w(()=>{Gr();Lr();Di=class extends Me{constructor(r){super();he(this,nt,void 0);if(r.includes(`\n`)||r.includes(\"\\r\"))throw new Error(\"LineComment cannot contain newline\");ne(this,nt,r)}get text(){return A(this,nt)}isIdentical(r){let t=r;return r.is(Di)&&A(this,nt)===A(t,nt)}invert(){return this}*experimentalExpand(r=V.Forwards,t=Infinity){yield this}toString(){return`//${A(this,nt)}`}},Ar=Di;nt=new WeakMap});var Qe,Yn=w(()=>{Gr();Lr();Qe=class extends Me{toString(){return`\n`}isIdentical(r){return r.is(Qe)}invert(){return this}*experimentalExpand(r=V.Forwards,t=Infinity){yield this}}});var qe,Zn=w(()=>{Gr();Lr();qe=class extends Me{toString(){return\".\"}isIdentical(r){return r.is(qe)}invert(){return this}*experimentalExpand(r=V.Forwards,t=Infinity){yield this}}});function qo(e,r){return e?parseInt(e):r}function Fi(e){return new jo().parseAlg(e)}function Va(e){return new jo().parseMove(e)}function Ha(e){return new jo().parseQuantumMove(e)}function je(e,r,t){let n=e;return n.startCharIndex=r,n.endCharIndex=t,n}function Ya(e,r){return\"startCharIndex\"in e&&(r.startCharIndex=e.startCharIndex),\"endCharIndex\"in e&&(r.endCharIndex=e.endCharIndex),r}var Ka,H1,Y1,Z1,J1,X1,Ze,j,jo,Bi=w(()=>{Or();yi();Kn();Vn();Ko();Hn();ot();Yn();Zn();Ka=/^(\\d+)?('?)/,H1=/^[_\\dA-Za-z]/,Y1=/^((([1-9]\\d*)-)?([1-9]\\d*))?([_A-Za-z]+)?/,Z1=/^[^\\n]*/,J1=/^(-?\\d+), ?/,X1=/^(-?\\d+)\\)/;jo=class{constructor(){he(this,Ze,\"\");he(this,j,0)}parseAlg(r){ne(this,Ze,r),ne(this,j,0);let t=this.parseAlgWithStopping([]);return this.mustBeAtEndOfInput(),t}parseMove(r){ne(this,Ze,r),ne(this,j,0);let t=this.parseMoveImpl();return this.mustBeAtEndOfInput(),t}parseQuantumMove(r){ne(this,Ze,r),ne(this,j,0);let t=this.parseQuantumMoveImpl();return this.mustBeAtEndOfInput(),t}mustBeAtEndOfInput(){if(A(this,j)!==A(this,Ze).length)throw new Error(\"parsing unexpectedly ended early\")}parseAlgWithStopping(r){let t=A(this,j),n=A(this,j),o=new cr,l=!1,i=s=>{if(l)throw new Error(`Unexpected character at index ${s}. Are you missing a space?`)};e:for(;A(this,j)<A(this,Ze).length;){let s=A(this,j);if(r.includes(A(this,Ze)[A(this,j)]))return je(o.toAlg(),t,n);if(this.tryConsumeNext(\" \")){l=!1,o.experimentalNumUnits()===0&&(t=A(this,j));continue e}else if(H1.test(A(this,Ze)[A(this,j)])){i(s);let a=this.parseMoveImpl();o.push(a),l=!0,n=A(this,j);continue e}else if(this.tryConsumeNext(\"(\")){i(s);let a=this.tryRegex(J1);if(a){let u=a[1],c=A(this,j),f=this.parseRegex(X1),g=je(new h(new W(\"U_SQ_\"),parseInt(u)),s+1,s+1+u.length),m=je(new h(new W(\"D_SQ_\"),parseInt(f[1])),c,A(this,j)-1),d=je(new I([g,m]),s+1,A(this,j)-1);o.push(je(new lr(d),s,A(this,j))),l=!0,n=A(this,j);continue e}else{let u=this.parseAlgWithStopping([\")\"]);this.mustConsumeNext(\")\");let c=this.parseAmount();o.push(je(new lr(u,c),s,A(this,j))),l=!0,n=A(this,j);continue e}}else if(this.tryConsumeNext(\"[\")){i(s);let a=this.parseAlgWithStopping([\",\",\":\"]),u=this.popNext(),c=this.parseAlgWithStopping([\"]\"]);switch(this.mustConsumeNext(\"]\"),u){case\":\":o.push(je(new Ie(a,c),s,A(this,j))),l=!0,n=A(this,j);continue e;case\",\":o.push(je(new Pe(a,c),s,A(this,j))),l=!0,n=A(this,j);continue e;default:throw\"unexpected parsing error\"}}else if(this.tryConsumeNext(`\n`)){o.push(je(new Qe,s,A(this,j))),l=!1,n=A(this,j);continue e}else if(this.tryConsumeNext(\"/\"))if(this.tryConsumeNext(\"/\")){i(s);let[a]=this.parseRegex(Z1);o.push(je(new Ar(a),s,A(this,j))),l=!1,n=A(this,j);continue e}else{o.push(je(new h(\"_SLASH_\"),s,A(this,j))),l=!0,n=A(this,j);continue e}else if(this.tryConsumeNext(\".\")){i(s),o.push(je(new qe,s,A(this,j))),l=!0,n=A(this,j);continue e}else throw new Error(`Unexpected character: ${this.popNext()}`)}if(A(this,j)!==A(this,Ze).length)throw new Error(\"did not finish parsing?\");if(r.length>0)throw new Error(\"expected stopping\");return je(o.toAlg(),t,n)}parseQuantumMoveImpl(){let[,,,r,t,n]=this.parseRegex(Y1);return new W(n,qo(t,void 0),qo(r,void 0))}parseMoveImpl(){let r=A(this,j);if(this.tryConsumeNext(\"/\"))return je(new h(\"_SLASH_\"),r,A(this,j));let t=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(\"+\")&&(t=t.modified({family:`${t.family}_${l===\"+\"?\"PLUS\":\"PLUSPLUS\"}_`})),l.startsWith(\"-\")&&(t=t.modified({family:`${t.family}_${l===\"-\"?\"PLUS\":\"PLUSPLUS\"}_`}),n*=-1)}return je(new h(t,n),r,A(this,j))}parseMoveSuffix(){return this.tryConsumeNext(\"+\")?this.tryConsumeNext(\"+\")?\"++\":\"+\":this.tryConsumeNext(\"-\")?this.tryConsumeNext(\"-\")?\"--\":\"-\":null}parseAmountAndTrackEmptyAbsAmount(){let r=A(this,j),[,t,n]=this.parseRegex(Ka);if((t==null?void 0:t.startsWith(\"0\"))&&t!==\"0\")throw new Error(`Error at char index ${r}: An amount can only start with 0 if it's exactly the digit 0.`);return[qo(t,1)*(n===\"'\"?-1:1),!t]}parseAmount(){let r=A(this,j),[,t,n]=this.parseRegex(Ka);if((t==null?void 0:t.startsWith(\"0\"))&&t!==\"0\")throw new Error(`Error at char index ${r}: An amount number can only start with 0 if it's exactly the digit 0.`);return qo(t,1)*(n===\"'\"?-1:1)}parseRegex(r){let t=r.exec(this.remaining());if(t===null)throw new Error(\"internal parsing error\");return ne(this,j,A(this,j)+t[0].length),t}tryRegex(r){let t=r.exec(this.remaining());return t===null?null:(ne(this,j,A(this,j)+t[0].length),t)}remaining(){return A(this,Ze).slice(A(this,j))}popNext(){var t;let r=A(this,Ze)[A(this,j)];return ne(this,j,(t=+A(this,j))+1),r}tryConsumeNext(r){var t;return A(this,Ze)[A(this,j)]===r?(ne(this,j,(t=+A(this,j))+1),!0):!1}mustConsumeNext(r){let t=this.popNext();if(t!==r)throw new Error(`expected \\`${r}\\` while parsing, encountered ${t}`);return t}};Ze=new WeakMap,j=new WeakMap});function Vo(e){Za.has(e)||(console.warn(e),Za.add(e))}var Za,bi=w(()=>{Za=new Set});var en,vi=w(()=>{Lr();Ri();en=class{constructor(r,t=1){if(this.quantum=r,this.amount=t,!Number.isInteger(this.amount)||this.amount<ja||this.amount>jn)throw new Error(`Unit amount absolute value must be a non-negative integer from ${Jt} to ${Jt}.`)}suffix(){let r=\"\",t=Math.abs(this.amount);return t!==1&&(r+=t),this.amount<0&&(r+=\"'\"),r}isIdentical(r){return this.quantum.isIdentical(r.quantum)&&this.amount===r.amount}*experimentalExpand(r,t){let n=Math.abs(this.amount),o=Qa(r,this.amount<0);for(let l=0;l<n;l++)yield*this.quantum.experimentalExpand(o,t)}}});var Wr,Te,_e,Ho,W,Ue,rn,h,ot=w(()=>{Gr();Lr();Ri();Bi();bi();vi();Ho=class extends Oo{constructor(r,t,n){super();he(this,Wr,void 0);he(this,Te,void 0);he(this,_e,void 0);if(ne(this,Wr,r),ne(this,Te,t!=null?t:null),ne(this,_e,n!=null?n:null),Object.freeze(this),A(this,Te)!==null&&(!Number.isInteger(A(this,Te))||A(this,Te)<1||A(this,Te)>jn))throw new Error(`QuantumMove inner layer must be a positive integer below ${Jt}.`);if(A(this,_e)!==null&&(!Number.isInteger(A(this,_e))||A(this,_e)<1||A(this,_e)>jn))throw new Error(`QuantumMove outer layer must be a positive integer below ${Jt}.`);if(A(this,_e)!==null&&A(this,Te)!==null&&A(this,Te)<=A(this,_e))throw new Error(\"QuantumMove outer layer must be smaller than inner layer.\");if(A(this,_e)!==null&&A(this,Te)===null)throw new Error(\"QuantumMove with an outer layer must have an inner layer\")}static fromString(r){return Ha(r)}modified(r){var t,n,o;return new Ho((t=r.family)!=null?t:A(this,Wr),(n=r.innerLayer)!=null?n:A(this,Te),(o=r.outerLayer)!=null?o:A(this,_e))}isIdentical(r){let t=r;return r.is(Ho)&&A(this,Wr)===A(t,Wr)&&A(this,Te)===A(t,Te)&&A(this,_e)===A(t,_e)}get family(){return A(this,Wr)}get outerLayer(){return A(this,_e)}get innerLayer(){return A(this,Te)}experimentalExpand(){throw new Error(\"experimentalExpand() cannot be called on a `QuantumMove` directly.\")}toString(){let r=A(this,Wr);return A(this,Te)!==null&&(r=String(A(this,Te))+r,A(this,_e)!==null&&(r=String(A(this,_e))+\"-\"+r)),r}},W=Ho;Wr=new WeakMap,Te=new WeakMap,_e=new WeakMap;rn=class extends Me{constructor(...r){super();he(this,Ue,void 0);var t;if(typeof r[0]==\"string\")if((t=r[1])!=null?t:null){ne(this,Ue,new en(W.fromString(r[0]),r[1]));return}else return rn.fromString(r[0]);ne(this,Ue,new en(r[0],r[1]))}isIdentical(r){let t=r.as(rn);return!!t&&A(this,Ue).isIdentical(A(t,Ue))}invert(){return Ya(this,new rn(A(this,Ue).quantum,-this.amount))}*experimentalExpand(r=V.Forwards){r===V.Forwards?yield this:yield this.modified({amount:-this.amount})}get quantum(){return A(this,Ue).quantum}modified(r){var t;return new rn(A(this,Ue).quantum.modified(r),(t=r.amount)!=null?t:this.amount)}static fromString(r){return Va(r)}get amount(){return A(this,Ue).amount}get type(){return Vo(\"deprecated: type\"),\"blockMove\"}get family(){var r;return(r=A(this,Ue).quantum.family)!=null?r:void 0}get outerLayer(){var r;return(r=A(this,Ue).quantum.outerLayer)!=null?r:void 0}get innerLayer(){var r;return(r=A(this,Ue).quantum.innerLayer)!=null?r:void 0}toString(){if(this.family===\"_SLASH_\")return\"/\";if(this.family.endsWith(\"_PLUS_\"))return A(this,Ue).quantum.toString().slice(0,-6)+Math.abs(this.amount)+(this.amount<0?\"-\":\"+\");if(this.family.endsWith(\"_PLUSPLUS_\")){let r=Math.abs(this.amount);return A(this,Ue).quantum.toString().slice(0,-10)+(r===1?\"\":r)+(this.amount<0?\"--\":\"++\")}return A(this,Ue).quantum.toString()+A(this,Ue).suffix()}},h=rn;Ue=new WeakMap});var Ja,Xa,Je,Yo,lr,Ko=w(()=>{Or();Gr();Lr();ot();vi();Ja=class{constructor(){this.quantumU_SQ_=null;this.quantumD_SQ_=null}format(r){let t=this.tuple(r);return t?`(${t.map(n=>n.amount).join(\", \")})`:null}tuple(r){var n,o;this.quantumU_SQ_||(this.quantumU_SQ_=new W(\"U_SQ_\")),this.quantumD_SQ_||(this.quantumD_SQ_=new W(\"D_SQ_\"));let t=r.alg;if(t.experimentalNumUnits()===2){let[l,i]=t.units();if(((n=l.as(h))==null?void 0:n.quantum.isIdentical(this.quantumU_SQ_))&&((o=i.as(h))==null?void 0:o.quantum.isIdentical(this.quantumD_SQ_))){if(r.amount!==1)throw new Error(\"Square-1 tuples cannot have an amount other than 1.\");return[l,i]}}return null}},Xa=new Ja,Yo=class extends Me{constructor(r,t){super();he(this,Je,void 0);let n=tt(r);ne(this,Je,new en(n,t))}isIdentical(r){let t=r;return r.is(Yo)&&A(this,Je).isIdentical(A(t,Je))}get alg(){return A(this,Je).quantum}get amount(){return A(this,Je).amount}get experimentalRepetitionSuffix(){return A(this,Je).suffix()}invert(){return new Yo(A(this,Je).quantum,-A(this,Je).amount)}*experimentalExpand(r=V.Forwards,t){t!=null||(t=Infinity),t===0?yield r===V.Forwards?this:this.invert():yield*A(this,Je).experimentalExpand(r,t-1)}static fromString(){throw new Error(\"unimplemented\")}toString(){var r;return(r=Xa.format(this))!=null?r:`(${A(this,Je).quantum.toString()})${A(this,Je).suffix()}`}experimentalAsSquare1Tuple(){return Xa.tuple(this)}},lr=Yo;Je=new WeakMap});var Zo=w(()=>{Ko();Hn();Kn();Vn();ot();Yn();Zn()});function ir(e,r){return e instanceof r}function $a(e){return ir(e,lr)||ir(e,Ar)||ir(e,Pe)||ir(e,Ie)||ir(e,h)||ir(e,Qe)||ir(e,qe)}var xi=w(()=>{Zo()});function e0(e,r,t){if(r.is(lr))return e.traverseGrouping(r,t);if(r.is(h))return e.traverseMove(r,t);if(r.is(Pe))return e.traverseCommutator(r,t);if(r.is(Ie))return e.traverseConjugate(r,t);if(r.is(qe))return e.traversePause(r,t);if(r.is(Qe))return e.traverseNewline(r,t);if(r.is(Ar))return e.traverseLineComment(r,t);throw new Error(\"unknown unit\")}function r0(e){if(e.is(lr)||e.is(h)||e.is(Pe)||e.is(Ie)||e.is(qe)||e.is(Qe)||e.is(Ar))return e;throw\"internal error: expected unit\"}var Jo,tn,Xo,$1,wi,Si,t0,n0,Ei=w(()=>{Ko();Kn();ot();Yn();Zn();Vn();Hn();Jo=class{traverseUnit(r,t){return e0(this,r,t)}traverseIntoUnit(r,t){return r0(this.traverseUnit(r,t))}},tn=class extends Jo{traverseUnit(r){return e0(this,r,void 0)}traverseIntoUnit(r){return r0(this.traverseUnit(r))}},wi=class extends Jo{*traverseAlg(r,t){var u;if(t.depth===0){yield*r.units();return}let n=[],o=null,l=(u=t==null?void 0:t.collapseMoves)!=null?u:!0;function i(c,f){var d;let g=ka(d=wi,Xo,$1).call(d,c,f,t);if(g===0)return!1;let m=new h(c.quantum,g);return n.push(m),o=m,!0}function s(c){l&&(o==null?void 0:o.is(h))&&c.is(h)&&o.quantum.isIdentical(c.quantum)?(n.pop(),i(o,c.amount)||(o=n.slice(-1)[0])):c.is(h)?i(c,0):(n.push(c),o=c)}let a={depth:t.depth?t.depth-1:null};for(let c of r.units())for(let f of this.traverseUnit(c,a))s(f);for(let c of n)yield c}*traverseGrouping(r,t){if(t.depth===0){yield r;return}let n={depth:t.depth?t.depth-1:null};yield new lr(this.traverseAlg(r.alg,n))}*traverseMove(r,t){yield r}*traverseCommutator(r,t){if(t.depth===0){yield r;return}let n={depth:t.depth?t.depth-1:null};yield new Pe(this.traverseAlg(r.A,n),this.traverseAlg(r.B,n))}*traverseConjugate(r,t){if(t.depth===0){yield r;return}let n={depth:t.depth?t.depth-1:null};yield new Ie(this.traverseAlg(r.A,n),this.traverseAlg(r.B,n))}*traversePause(r,t){yield r}*traverseNewline(r,t){yield r}*traverseLineComment(r,t){yield r}},Si=wi;Xo=new WeakSet,$1=function(r,t,n){let o=r.amount+t;if(n==null?void 0:n.quantumMoveOrder){let l=n.quantumMoveOrder(r.quantum),i=Math.floor(l/2)+1-l;o=(o%l+l-i)%l+i}return o},he(Si,Xo);t0=new Si,n0=t0.traverseAlg.bind(t0)});function o0(e){if(!e)return[];if(ir(e,I))return e.units();if(typeof e==\"string\")return Fi(e).units();let r=e;if(typeof r[Symbol.iterator]==\"function\")return r;throw\"Invalid unit\"}function tt(e){return ir(e,I)?e:new I(e)}function ec(e,r){return e.is(Qe)||r.is(Qe)?\"\":e.is(Ar)&&!r.is(Qe)?`\n`:\" \"}var Xe,Ct,I,Or=w(()=>{Gr();xi();Lr();Bi();Ei();Hn();ot();Yn();bi();Ct=class extends Me{constructor(r){super();he(this,Xe,void 0);ne(this,Xe,Array.from(o0(r)));for(let t of A(this,Xe))if(!$a(t))throw new Error(\"An alg can only contain units.\")}isIdentical(r){let t=r;if(!r.is(Ct))return!1;let n=Array.from(A(this,Xe)),o=Array.from(A(t,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 Ct(qa(Array.from(A(this,Xe)).map(r=>r.invert())))}*experimentalExpand(r=V.Forwards,t){t!=null||(t=Infinity);for(let n of Ai(A(this,Xe),r))yield*n.experimentalExpand(r,t)}expand(r){var t;return new Ct(this.experimentalExpand(V.Forwards,(t=r==null?void 0:r.depth)!=null?t:Infinity))}*experimentalLeafMoves(){for(let r of this.experimentalExpand())r.is(h)&&(yield r)}concat(r){return new Ct(Array.from(A(this,Xe)).concat(Array.from(o0(r))))}experimentalIsEmpty(){for(let r of A(this,Xe))return!1;return!0}static fromString(r){return Fi(r)}*units(){for(let r of A(this,Xe))yield r}experimentalNumUnits(){return Array.from(A(this,Xe)).length}get type(){return Vo(\"deprecated: type\"),\"sequence\"}toString(){let r=\"\",t=null;for(let n of A(this,Xe))t&&(r+=ec(t,n)),r+=n.toString(),t=n;return r}simplify(r){return new Ct(n0(this,r!=null?r:{}))}},I=Ct;Xe=new WeakMap});var rc,l0=w(()=>{Or();Zo();Kn();Vn();ot();Zn();rc={Sune:new I([new h(\"R\",1),new h(\"U\",1),new h(\"R\",-1),new h(\"U\",1),new h(\"R\",1),new h(\"U\",-2),new h(\"R\",-1)]),AntiSune:new I([new h(\"R\",1),new h(\"U\",2),new h(\"R\",-1),new h(\"U\",-1),new h(\"R\",1),new h(\"U\",-1),new h(\"R\",-1)]),SuneCommutator:new I([new Pe(new I([new h(\"R\",1),new h(\"U\",1),new h(\"R\",-2)]),new I([new Ie(new I([new h(\"R\",1)]),new I([new h(\"U\",1)]))]))]),Niklas:new I([new h(\"R\",1),new h(\"U\",-1),new h(\"L\",-1),new h(\"U\",1),new h(\"R\",-1),new h(\"U\",-1),new h(\"L\",1),new h(\"U\",1)]),EPerm:new I([new h(\"x\",-1),new Pe(new I([new Ie(new I([new h(\"R\",1)]),new I([new h(\"U\",-1)]))]),new I([new h(\"D\",1)])),new Pe(new I([new Ie(new I([new h(\"R\",1)]),new I([new h(\"U\",1)]))]),new I([new h(\"D\",1)])),new h(\"x\",1)]),FURURFCompact:new I([new Ie(new I([new h(\"F\",1)]),new I([new Pe(new I([new h(\"U\",1)]),new I([new h(\"R\",1)]))]))]),APermCompact:new I([new Ie(new I([new h(\"R\",2)]),new I([new Pe(new I([new h(\"F\",2)]),new I([new h(\"R\",-1),new h(\"B\",-1),new h(\"R\",1)]))]))]),FURURFMoves:new I([new h(\"F\",1),new h(\"U\",1),new h(\"R\",1),new h(\"U\",-1),new h(\"R\",-1),new h(\"F\",-1)]),TPerm:new I([new h(\"R\",1),new h(\"U\",1),new h(\"R\",-1),new h(\"U\",-1),new h(\"R\",-1),new h(\"F\",1),new h(\"R\",2),new h(\"U\",-1),new h(\"R\",-1),new h(\"U\",-1),new h(\"R\",1),new h(\"U\",1),new h(\"R\",-1),new h(\"F\",-1)]),HeadlightSwaps:new I([new Ie(new I([new h(\"F\",1)]),new I([new lr(new I([new Pe(new I([new h(\"R\",1)]),new I([new h(\"U\",1)]))]),3)]))]),TriplePause:new I([new qe,new qe,new qe])}});var gL,i0=w(()=>{ot();gL={73:new h(\"R\"),75:new h(\"R'\"),87:new h(\"B\"),79:new h(\"B'\"),83:new h(\"D\"),76:new h(\"D'\"),68:new h(\"L\"),69:new h(\"L'\"),74:new h(\"U\"),70:new h(\"U'\"),72:new h(\"F\"),71:new h(\"F'\"),78:new h(\"x'\"),67:new h(\"l\"),82:new h(\"l'\"),85:new h(\"r\"),77:new h(\"r'\"),88:new h(\"d\"),188:new h(\"d'\"),84:new h(\"x\"),89:new h(\"x\"),66:new h(\"x'\"),186:new h(\"y\"),59:new h(\"y\"),65:new h(\"y'\"),80:new h(\"z\"),81:new h(\"z'\"),90:new h(\"M'\"),190:new h(\"M'\")}});var s0=w(()=>{});var a0=w(()=>{Or()});var ye=w(()=>{Or();yi();Ei();l0();i0();Zo();s0();a0();xi();Lr()});function Ui(e,r){if(r===nn)return!0;let t=r.permutation,n=t.length;for(let o=0;o<n;o++)if(t[o]!==o)return!1;if(e>1){let o=r.orientation;for(let l=0;l<n;l++)if(o[l]!==0)return!1}return nn=r,!0}function sr(e,r,t){let n={};for(let o in e.orbits){let l=e.orbits[o],i=r[o],s=t[o];if(Ui(l.orientations,s))n[o]=i;else if(Ui(l.orientations,i))n[o]=s;else{let a=new Array(l.numPieces);if(l.orientations===1){for(let u=0;u<l.numPieces;u++)a[u]=i.permutation[s.permutation[u]];n[o]={permutation:a,orientation:i.orientation}}else{let u=new Array(l.numPieces);for(let c=0;c<l.numPieces;c++)u[c]=(i.orientation[s.permutation[c]]+s.orientation[c])%l.orientations,a[c]=i.permutation[s.permutation[c]];n[o]={permutation:a,orientation:u}}}}return n}function on(e,r,t){if(t<0)return on(e,Qr(e,r),-t);if(t===0)return Rr(e);if(t===1)return r;let n=r;t!==2&&(n=on(e,r,Math.floor(t/2)));let o=sr(e,n,n);return t%2==0?o:sr(e,r,o)}function Rr(e){let r={};for(let t in e.orbits){let n=e.orbits[t];if(!nn||nn.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;nn={permutation:o,orientation:l}}r[t]=nn}return r}function Qr(e,r){let t={};for(let n in e.orbits){let o=e.orbits[n],l=r[n];if(Ui(o.orientations,l))t[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;t[n]={permutation:i,orientation:l.orientation}}else{let i=new Array(o.numPieces),s=new Array(o.numPieces);for(let a=0;a<o.numPieces;a++){let u=l.permutation[a];i[u]=a,s[u]=(o.orientations-l.orientation[a]+o.orientations)%o.orientations}t[n]={permutation:i,orientation:s}}}return t}function Jn(e,r,t,n,o={}){let l=e.orbits[r],i=t[r],s=n[r];for(let a=0;a<l.numPieces;a++)if(!(o==null?void 0:o.ignoreOrientation)&&i.orientation[a]!==s.orientation[a]||!(o==null?void 0:o.ignorePermutation)&&i.permutation[a]!==s.permutation[a])return!1;return!0}function $o(e,r,t){for(let n in e.orbits)if(!Jn(e,n,r,t))return!1;return!0}function ki(e,r,t){return $o(e,sr(e,e.startPieces,r),sr(e,e.startPieces,t))}var nn,Xn=w(()=>{});function el(e,r){let t=tc(e).lookupMove(r);if(!t)throw new Error(\"Unknown move: \"+r.toString());return t}function tc(e){return e.moveNotation||(e.moveNotation=new u0(e)),e.moveNotation}var u0,$e,Ci=w(()=>{ye();Xn();u0=class{constructor(r){this.def=r;this.cache={}}lookupMove(r){let t=r.toString(),n=this.cache[t];if(n)return n;let o=r.quantum.toString();return n=this.def.moves[o],n?(n=on(this.def,n,r.amount),this.cache[t]=n):(n=this.def.moves[r.toString()],n?this.cache[t]=n:(n=this.def.moves[r.invert().toString()],n&&(n=on(this.def,n,-1),this.cache[t]=n))),n}},$e=class{constructor(r){this.definition=r;this.state=Rr(r)}reset(){this.state=Rr(this.definition)}serialize(){let r=\"\";for(let t in this.definition.orbits)r+=t+`\n`,r+=this.state[t].permutation.join(\" \")+`\n`,r+=this.state[t].orientation.join(\" \")+`\n`;return r=r.slice(0,r.length-1),r}applyMove(r){this.state=sr(this.definition,this.state,el(this.definition,r))}applyAlg(r){for(let t of r.experimentalLeafMoves())this.applyMove(t)}}});var f0=w(()=>{Xn()});function nc(e,r){function t(){this.constructor=e}t.prototype=r.prototype,e.prototype=new t}function zi(e,r,t,n){this.message=e,this.expected=r,this.found=t,this.location=n,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,zi)}var c0=w(()=>{nc(zi,Error);zi.buildMessage=function(e,r){var t={literal:function(u){return'\"'+o(u.text)+'\"'},class:function(u){var c=u.parts.map(function(f){return Array.isArray(f)?l(f[0])+\"-\"+l(f[1]):l(f)});return\"[\"+(u.inverted?\"^\":\"\")+c+\"]\"},any:function(){return\"any character\"},end:function(){return\"end of input\"},other:function(u){return u.description}};function n(u){return u.charCodeAt(0).toString(16).toUpperCase()}function o(u){return u.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(c){return\"\\\\x0\"+n(c)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(c){return\"\\\\x\"+n(c)})}function l(u){return u.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(c){return\"\\\\x0\"+n(c)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(c){return\"\\\\x\"+n(c)})}function i(u){return t[u.type](u)}function s(u){var c=u.map(i),f,g;if(c.sort(),c.length>0){for(f=1,g=1;f<c.length;f++)c[f-1]!==c[f]&&(c[g]=c[f],g++);c.length=g}switch(c.length){case 1:return c[0];case 2:return c[0]+\" or \"+c[1];default:return c.slice(0,-1).join(\", \")+\", or \"+c[c.length-1]}}function a(u){return u?'\"'+o(u)+'\"':\"end of input\"}return\"Expected \"+s(e)+\" but \"+a(r)+\" found.\"}});var g0=w(()=>{c0()});var m0=w(()=>{g0()});var p0=w(()=>{});var d0=w(()=>{});var ce,Mi=w(()=>{ce={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:[8,5,2,1,9,7,6,3,4,0,10,11],orientation:[1,1,0,1,1,1,0,1,1,1,0,0]},CORNERS:{permutation:[4,1,2,0,5,3,6,7],orientation:[1,0,0,2,2,1,0,0]},CENTERS:{permutation:[3,0,2,5,4,1],orientation:[3,3,3,3,0,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]}}}};ce.moves.Uw=ce.moves.u;ce.moves.Lw=ce.moves.l;ce.moves.Fw=ce.moves.f;ce.moves.Rw=ce.moves.r;ce.moves.Bw=ce.moves.b;ce.moves.Dw=ce.moves.d;ce.moves.Rv=ce.moves.x;ce.moves.Uv=ce.moves.y;ce.moves.Fv=ce.moves.z;ce.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]}};ce.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]}};ce.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]}}});function pc(e){switch(e){case 0:return lc;case 1:return cc;case 2:return ic;case 3:return sc;case 4:return ac;case 6:return uc;case 7:return fc;case 5:return gc;case 8:return mc}}var z,ln,kr,Ne,sn,rl,zt,lc,ic,sc,ac,uc,fc,cc,gc,mc,$n,eo,tl=w(()=>{ye();ye();lt();(function(u){u[u.Regular=0]=\"Regular\",u[u.Dim=1]=\"Dim\",u[u.Ignored=2]=\"Ignored\",u[u.OrientationStickers=3]=\"OrientationStickers\",u[u.Invisible=4]=\"Invisible\",u[u.Ignoriented=5]=\"Ignoriented\",u[u.IgnoreNonPrimary=6]=\"IgnoreNonPrimary\",u[u.PermuteNonPrimary=7]=\"PermuteNonPrimary\",u[u.OrientationWithoutPermutation=8]=\"OrientationWithoutPermutation\"})(z||(z={}));ln=class{constructor(r,t){this.stickerings=new Map;for(let[n,o]of Object.entries(r.orbits))this.stickerings.set(n,new Array(o.numPieces).fill(t))}},kr=\"regular\",Ne=\"ignored\",sn=\"oriented\",rl=\"invisible\",zt=\"dim\",lc={facelets:[kr,kr,kr,kr,kr]},ic={facelets:[Ne,Ne,Ne,Ne,Ne]},sc={facelets:[sn,sn,sn,sn,sn]},ac={facelets:[rl,rl,rl,rl]},uc={facelets:[kr,Ne,Ne,Ne,Ne]},fc={facelets:[zt,kr,kr,kr,kr]},cc={facelets:[zt,zt,zt,zt,zt]},gc={facelets:[zt,Ne,Ne,Ne,Ne]},mc={facelets:[sn,Ne,Ne,Ne,Ne]};$n=class extends ln{constructor(r){super(r,0)}set(r,t){for(let[n,o]of this.stickerings.entries())for(let l=0;l<o.length;l++)r.stickerings.get(n)[l]&&(o[l]=t);return this}toAppearance(){let r={orbits:{}};for(let[t,n]of this.stickerings.entries()){let o=[],l={pieces:o};r.orbits[t]=l;for(let i of n)o.push(pc(i))}return r}},eo=class{constructor(r){this.def=r}and(r){let t=new ln(this.def,!1);for(let[n,o]of Object.entries(this.def.orbits)){e:for(let l=0;l<o.numPieces;l++){t.stickerings.get(n)[l]=!0;for(let i of r)if(!i.stickerings.get(n)[l]){t.stickerings.get(n)[l]=!1;continue e}}}return t}or(r){let t=new ln(this.def,!1);for(let[n,o]of Object.entries(this.def.orbits)){e:for(let l=0;l<o.numPieces;l++){t.stickerings.get(n)[l]=!1;for(let i of r)if(i.stickerings.get(n)[l]){t.stickerings.get(n)[l]=!0;continue e}}}return t}not(r){let t=new ln(this.def,!1);for(let[n,o]of Object.entries(this.def.orbits))for(let l=0;l<o.numPieces;l++)t.stickerings.get(n)[l]=!r.stickerings.get(n)[l];return t}all(){return this.and(this.moves([]))}move(r){let t=el(this.def,ir(r,h)?r:h.fromString(r)),n=new ln(this.def,!1);for(let[o,l]of Object.entries(this.def.orbits))for(let i=0;i<l.numPieces;i++)(t[o].permutation[i]!==i||t[o].orientation[i]!==0)&&(n.stickerings.get(o)[i]=!0);return n}moves(r){return r.map(t=>this.move(t))}}});function Cr(e,r){return D(this,null,function*(){let t=yield e.def(),n=new $n(t),o=new eo(t),l=()=>o.move(\"U\"),i=()=>o.or(o.moves([\"U\",\"D\"])),s=()=>o.not(i()),a=()=>o.or(o.moves([\"L\",\"R\"])),u=()=>o.not(a()),c=()=>o.or(o.moves([\"F\",\"B\"])),f=()=>o.not(c()),g=()=>o.not(l()),m=()=>o.and([l(),u(),f()]),d=()=>o.and([o.and(o.moves([\"F\",\"R\"])),o.not(i())]),p=()=>o.and(o.moves([\"D\",\"R\",\"F\"])),y=()=>o.or([p(),d()]),x=()=>o.or([o.and([u(),s()]),o.and([u(),f()]),o.and([s(),f()])]),F=()=>o.or([o.and([u(),i(),c()]),o.and([s(),a(),c()]),o.and([f(),i(),a()])]),S=()=>o.not(o.or([x(),F()])),_=()=>o.or([u(),o.and([l(),F()])]);function P(){n.set(g(),z.Dim)}function ee(){n.set(l(),z.PermuteNonPrimary),n.set(m(),z.Dim)}function O(){n.set(l(),z.IgnoreNonPrimary),n.set(m(),z.Regular)}function q(){n.set(l(),z.Ignoriented),n.set(m(),z.Dim)}switch(r){case\"full\":break;case\"PLL\":P(),ee();break;case\"CLS\":P(),n.set(o.and(o.moves([\"D\",\"R\",\"F\"])),z.Regular),n.set(l(),z.Ignoriented),n.set(o.and([l(),S()]),z.IgnoreNonPrimary);break;case\"OLL\":P(),O();break;case\"COLL\":P(),ee(),n.set(o.and([l(),S()]),z.Regular);break;case\"OCLL\":P(),q(),n.set(o.and([l(),S()]),z.IgnoreNonPrimary);break;case\"CLL\":P(),n.set(o.not(o.and([S(),l()])),z.Dim);break;case\"ELL\":P(),n.set(l(),z.Dim),n.set(o.and([l(),F()]),z.Regular);break;case\"ELS\":P(),O(),n.set(o.and([l(),S()]),z.Ignored),n.set(d(),z.Regular),n.set(p(),z.Ignored);break;case\"LL\":P();break;case\"F2L\":n.set(l(),z.Ignored);break;case\"ZBLL\":P(),n.set(l(),z.PermuteNonPrimary),n.set(m(),z.Dim),n.set(o.and([l(),S()]),z.Regular);break;case\"ZBLS\":P(),n.set(y(),z.Regular),O(),n.set(o.and([l(),S()]),z.Ignored);break;case\"WVLS\":case\"VLS\":P(),n.set(y(),z.Regular),O();break;case\"LS\":P(),n.set(y(),z.Regular),n.set(l(),z.Ignored),n.set(m(),z.Dim);break;case\"EO\":n.set(S(),z.Ignored),n.set(F(),z.OrientationWithoutPermutation);break;case\"CMLL\":n.set(g(),z.Dim),n.set(_(),z.Ignored),n.set(o.and([l(),S()]),z.Regular);break;case\"L6E\":n.set(o.not(_()),z.Dim);break;case\"L6EO\":n.set(o.not(_()),z.Dim),n.set(_(),z.OrientationWithoutPermutation),n.set(o.and([x(),i()]),z.OrientationStickers);break;case\"Daisy\":n.set(o.all(),z.Ignored),n.set(x(),z.Dim),n.set(o.and([o.move(\"D\"),x()]),z.Regular),n.set(o.and([o.move(\"U\"),F()]),z.IgnoreNonPrimary);break;case\"Cross\":n.set(o.all(),z.Ignored),n.set(x(),z.Dim),n.set(o.and([o.move(\"D\"),x()]),z.Regular),n.set(o.and([o.move(\"D\"),F()]),z.Regular);break;case\"2x2x2\":n.set(o.or(o.moves([\"U\",\"F\",\"R\"])),z.Ignored),n.set(o.and([o.or(o.moves([\"U\",\"F\",\"R\"])),x()]),z.Dim);break;case\"2x2x3\":n.set(o.all(),z.Dim),n.set(o.or(o.moves([\"U\",\"F\",\"R\"])),z.Ignored),n.set(o.and([o.or(o.moves([\"U\",\"F\",\"R\"])),x()]),z.Dim),n.set(o.and([o.move(\"F\"),o.not(o.or(o.moves([\"U\",\"R\"])))]),z.Regular);break;case\"Void Cube\":n.set(x(),z.Invisible);break;case\"picture\":case\"invisible\":n.set(o.all(),z.Invisible);break;case\"centers-only\":n.set(o.not(x()),z.Ignored);break;default:console.warn(`Unsupported stickering for ${e.id}: ${r}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),z.Dim)}return n.toAppearance()})}function an(){return D(this,null,function*(){return[\"full\",\"PLL\",\"CLS\",\"OLL\",\"COLL\",\"OCLL\",\"ELL\",\"ELS\",\"LL\",\"F2L\",\"ZBLL\",\"ZBLS\",\"WVLS\",\"VLS\",\"LS\",\"EO\",\"CMLL\",\"L6E\",\"L6EO\",\"Daisy\",\"Cross\",\"2x2x2\",\"2x2x3\",\"Void Cube\",\"picture\",\"invisible\",\"centers-only\"]})}var ro=w(()=>{tl()});function it(e){if(!Pi[e]){let r=Array(e);for(let t=0;t<e;t++)r[t]=0;Pi[e]=r}return Pi[e]}function zr(e){if(!Ii[e]){let r=Array(e);for(let t=0;t<e;t++)r[t]=t;Ii[e]=r}return Ii[e]}function h0(e){return new er(zr(e))}function L0(e){let r=1;for(;e>1;)r*=e,e--;return r}function dc(e,r){if(e>r){let t=e;e=r,r=t}for(;e>0;){let t=r%e;r=e,e=t}return r}function Ti(e,r){return e/dc(e,r)*r}var Pi,Ii,er,to=w(()=>{Pi=[],Ii=[];er=class{constructor(r){this.n=r.length,this.p=r}toString(){return\"Perm[\"+this.p.join(\" \")+\"]\"}mul(r){let t=Array(this.n);for(let n=0;n<this.n;n++)t[n]=r.p[this.p[n]];return new er(t)}rmul(r){let t=Array(this.n);for(let n=0;n<this.n;n++)t[n]=this.p[r.p[n]];return new er(t)}inv(){let r=Array(this.n);for(let t=0;t<this.n;t++)r[this.p[t]]=t;return new er(r)}compareTo(r){for(let t=0;t<this.n;t++)if(this.p[t]!==r.p[t])return this.p[t]-r.p[t];return 0}toGap(){let r=new Array,t=new Array(this.n);for(let n=0;n<this.p.length;n++){if(t[n]||this.p[n]===n)continue;let o=new Array;for(let l=n;!t[l];l=this.p[l])o.push(1+l),t[l]=!0;r.push(\"(\"+o.join(\",\")+\")\")}return r.join(\"\")}order(){let r=1,t=new Array(this.n);for(let n=0;n<this.p.length;n++){if(t[n]||this.p[n]===n)continue;let o=0;for(let l=n;!t[l];l=this.p[l])o++,t[l]=!0;r=Ti(r,o)}return r}}});var un,A0=w(()=>{un=class{notationToInternal(r){return r}notationToExternal(r){return r}}});var nl,R0=w(()=>{ye();nl=class{constructor(r,t){this.child=r;this.sw=t}notationToInternal(r){return r.family===\"T\"&&r.innerLayer===void 0&&r.outerLayer===void 0?new h(new W(\"FLRv\",r.innerLayer,r.outerLayer),r.amount):this.child.notationToInternal(r)}notationToExternal(r){let t=r.family;return t.length>0&&t[t.length-1]===\"v\"&&(t=t.substring(0,t.length-1)),this.sw.spinmatch(t,\"FLUR\")?new h(new W(\"T\",r.innerLayer,r.outerLayer),r.amount):this.child.notationToExternal(r)}}});var no,y0=w(()=>{ye();no=class{constructor(r,t){this.internalNames=r;this.externalNames=t}convertString(r,t,n){let o=\"\";(r.endsWith(\"v\")||r.endsWith(\"v\"))&&r<=\"_\"&&(o=r.slice(r.length-1),r=r.slice(0,r.length-1));let l=r.toUpperCase(),i=!1;return r!==l&&(i=!0,r=l),r=n.joinByFaceIndices(t.splitByFaceNames(r)),i&&(r=r.toLowerCase()),r+o}convert(r,t,n){let o=r.family,l=this.convertString(o,t,n);return o===l?r:new h(new W(l,r.innerLayer,r.outerLayer),r.amount)}notationToInternal(r){return this.convert(r,this.externalNames,this.internalNames)}notationToExternal(r){return this.convert(r,this.internalNames,this.externalNames)}}});var ol,D0=w(()=>{ye();ol=class{constructor(r){this.child=r}notationToInternal(r){if(r.innerLayer===void 0&&r.outerLayer===void 0){if(Math.abs(r.amount)===1){if(r.family===\"R++\")return new h(new W(\"L\",3,2),-2*r.amount);if(r.family===\"R--\")return new h(new W(\"L\",3,2),2*r.amount);if(r.family===\"D++\")return new h(new W(\"U\",3,2),-2*r.amount);if(r.family===\"D--\")return new h(new W(\"U\",3,2),2*r.amount);if(r.family===\"R_PLUSPLUS_\")return new h(new W(\"L\",3,2),-2*r.amount);if(r.family===\"D_PLUSPLUS_\")return new h(new W(\"U\",3,2),-2*r.amount)}if(r.family===\"y\")return new h(\"Uv\",r.amount)}return this.child.notationToInternal(r)}notationToExternal(r){return r.family===\"Uv\"?new h(new W(\"y\",r.innerLayer,r.outerLayer),r.amount):r.family===\"Dv\"?new h(\"y\",-r.amount):this.child.notationToExternal(r)}}});var ll,F0=w(()=>{ye();ll=class{constructor(r){this.slices=r}notationToInternal(r){let t=r.family;return!r.innerLayer&&!r.outerLayer&&(t===\"x\"?r=new h(\"Rv\",r.amount):t===\"y\"?r=new h(\"Uv\",r.amount):t===\"z\"&&(r=new h(\"Fv\",r.amount)),(this.slices&1)==1&&(t===\"E\"?r=new h(new W(\"D\",(this.slices+1)/2),r.amount):t===\"M\"?r=new h(new W(\"L\",(this.slices+1)/2),r.amount):t===\"S\"&&(r=new h(new W(\"F\",(this.slices+1)/2),r.amount))),this.slices>2&&(t===\"e\"?r=new h(new W(\"D\",this.slices-1,2),r.amount):t===\"m\"?r=new h(new W(\"L\",this.slices-1,2),r.amount):t===\"s\"&&(r=new h(new W(\"F\",this.slices-1,2),r.amount)))),r}notationToExternal(r){let t=r.family;if(!r.innerLayer&&!r.outerLayer){if(t===\"Rv\")return new h(\"x\",r.amount);if(t===\"Uv\")return new h(\"y\",r.amount);if(t===\"Fv\")return new h(\"z\",r.amount);if(t===\"Lv\")return new h(\"x\",-r.amount);if(t===\"Dv\")return new h(\"y\",-r.amount);if(t===\"Bv\")return new h(\"z\",-r.amount)}return r}}});var hc,Lc,B0,b0,v0,oo,il,x0=w(()=>{ye();hc={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\"},Lc={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\"},B0={U:\"FRL\",L:\"FLD\",R:\"FDR\",B:\"DLR\"},b0=new W(\"y\"),v0=new W(\"Dv\"),oo=class{constructor(r){this.child=r;this.wcaHack=!1;this.map=hc}notationToInternal(r){if(this.wcaHack&&r.innerLayer===2&&r.outerLayer===null){let n=B0[r.family];if(n)return new h(new W(n,r.innerLayer,r.outerLayer),r.amount)}let t=this.map[r.family];return t?new h(new W(t,r.innerLayer,r.outerLayer),r.amount):b0.isIdentical(r.quantum)?new h(v0,-r.amount):null}notationToExternal(r){if(this.wcaHack&&r.innerLayer===2&&r.outerLayer===null){for(let[t,n]of Object.entries(B0))if(this.child.spinmatch(r.family,n))return new h(new W(t,r.innerLayer,r.outerLayer),r.amount)}for(let[t,n]of Object.entries(this.map))if(this.child.spinmatch(r.family,n))return new h(new W(t,r.innerLayer,r.outerLayer),r.amount);return v0.isIdentical(r.quantum)?new h(b0,-r.amount):null}},il=class extends oo{constructor(r){super(r);this.map=Lc}}});var S0,w0,E0,U0,k0,C0,z0,sl,M0=w(()=>{ye();S0={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\"},w0=new W(\"x\"),E0=new W(\"Rv\"),U0=new W(\"y\"),k0=new W(\"Uv\"),C0=new W(\"z\"),z0=new W(\"Fv\"),sl=class{constructor(r){this.child=r}notationToInternal(r){if(r.innerLayer||r.outerLayer)return null;let t=S0[r.family];return t?new h(new W(t,r.outerLayer,r.innerLayer),r.amount):w0.isIdentical(r.quantum)?new h(E0,r.amount):U0.isIdentical(r.quantum)?new h(k0,r.amount):C0.isIdentical(r.quantum)?new h(z0,r.amount):null}notationToExternal(r){for(let[t,n]of Object.entries(S0))if(this.child.spinmatch(r.family,n))return new h(new W(t,r.innerLayer,r.outerLayer),r.amount);return E0.isIdentical(r.quantum)?new h(w0,r.amount):k0.isIdentical(r.quantum)?new h(U0,r.amount):z0.isIdentical(r.quantum)?new h(C0,r.amount):null}}});var _i=w(()=>{A0();R0();y0();D0();F0();x0();M0()});function Ni(e,r){let t=h.fromString(r),n=e.notationToExternal(t);return n===null||t===n?r:n.toString()}function P0(e,r){let t=e.moveops.length;if(t>30)throw new Error(\"Canon info too big for bitmask\");let n=[],o=[];for(let i=0;i<t;i++){let s=e.moveops[i];n.push(s.order());let a=0;for(let u=0;u<t;u++){if(u===i)continue;let c=e.moveops[u];s.mul(c).equal(c.mul(s))&&(a|=1<<u)}o.push(a)}let l={};l[0]=1;for(let i=0;i<100;i++){let s=0,a={},u=0;for(let c in l){let f=+c,g=l[f];s+=g,u++;for(let m=0;m<n.length;m++)if((f>>m&1)==0&&(f&o[m]&(1<<m)-1)==0){let d=f&o[m]|1<<m;a[d]===void 0&&(a[d]=0),a[d]+=(n[m]-1)*g}}r(\"\"+i+\": canonseq \"+s+\" states \"+u),l=a}}var Mt,st,Dr,yr,Gi,Mr,at,Oi,Wi=w(()=>{_i();to();ye();Mt=class{constructor(r,t){this.size=r;this.mod=t}reassemblySize(){return L0(this.size)*Math.pow(this.mod,this.size)}};st=class{constructor(r,t,n,o,l){this.orbitnames=r;this.orbitdefs=t;this.solved=n;this.movenames=o;this.moveops=l}transformToKPuzzle(r){let t={};for(let n=0;n<this.orbitnames.length;n++)t[this.orbitnames[n]]=r.orbits[n].toKpuzzle();return t}static transformToKPuzzle(r,t){let n={};for(let o=0;o<r.length;o++)n[r[o]]=t.orbits[o].toKpuzzle();return n}toKsolve(r,t=new un){let n=[];n.push(\"Name \"+r),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].appendConciseDefinition(n,this.orbitnames[o],!1);n.push(\"End\");for(let o=0;o<this.movenames.length;o++){n.push(\"\");let l=Ni(t,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().appendConciseDefinition(n,this.orbitnames[s],!0):this.moveops[o].orbits[s].appendConciseDefinition(n,this.orbitnames[s],!0);n.push(\"End\")}return n}toKpuzzle(){let r={},t={};for(let o=0;o<this.orbitnames.length;o++)r[this.orbitnames[o]]={numPieces:this.orbitdefs[o].size,orientations:this.orbitdefs[o].mod},t[this.orbitnames[o]]=this.solved.orbits[o].toKpuzzle();let n={};for(let o=0;o<this.movenames.length;o++)n[this.movenames[o]]=this.transformToKPuzzle(this.moveops[o]);return{name:\"PG3D\",orbits:r,startPieces:t,moves:n}}optimize(){let r=[],t=[],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,a=new Oi(s),u=new Array(this.orbitdefs[l].size);for(let m=0;m<s;m++)u[m]=!1;for(let m=0;m<this.moveops.length;m++)for(let d=0;d<s;d++)(this.moveops[m].orbits[l].perm[d]!==d||this.moveops[m].orbits[l].ori[d]!==0)&&(u[d]=!0,a.union(d,this.moveops[m].orbits[l].perm[d]));let c=!0;if(i>1){c=!1;let m=new Oi(this.orbitdefs[l].size*i);for(let d=0;d<this.moveops.length;d++)for(let p=0;p<s;p++)if(this.moveops[d].orbits[l].perm[p]!==p||this.moveops[d].orbits[l].ori[p]!==0)for(let y=0;y<i;y++)m.union(p*i+y,this.moveops[d].orbits[l].perm[p]*i+(y+this.moveops[d].orbits[l].ori[p])%i);for(let d=0;!c&&d<s;d++)for(let p=1;p<i;p++)m.find(d*i)===m.find(d*i+p)&&(c=!0);for(let d=0;!c&&d<s;d++)for(let p=0;p<d;p++)this.solved.orbits[l].perm[d]===this.solved.orbits[l].perm[p]&&(c=!0)}let f=-1,g=!1;for(let m=0;m<this.orbitdefs[l].size;m++)if(u[m]){let d=a.find(m);f<0?f=d:f!==d&&(g=!0)}for(let m=0;m<this.orbitdefs[l].size;m++){if(!u[m]||a.find(m)!==m)continue;let p=[],y=[],x=0;for(let F=0;F<this.orbitdefs[l].size;F++)a.find(F)===m&&(p[x]=F,y[F]=x,x++);if(g?r.push(this.orbitnames[l]+\"_p\"+m):r.push(this.orbitnames[l]),c){t.push(new Mt(x,this.orbitdefs[l].mod)),n.push(this.solved.orbits[l].remapVS(p,x));for(let F=0;F<this.moveops.length;F++)o[F].push(this.moveops[F].orbits[l].remap(p,y,x))}else{t.push(new Mt(x,1)),n.push(this.solved.orbits[l].remapVS(p,x).killOri());for(let F=0;F<this.moveops.length;F++)o[F].push(this.moveops[F].orbits[l].remap(p,y,x).killOri())}}}return new st(r,t,new at(n),this.movenames,o.map(l=>new Mr(l)))}scramble(r){let t=[];for(let o=0;o<this.moveops.length;o++)t[o]=this.moveops[o];for(let o=0;o<t.length;o++){let l=Math.floor(Math.random()*t.length),i=t[o];t[o]=t[l],t[l]=i}r<t.length&&(r=t.length);for(let o=0;o<r;o++){let l=Math.floor(Math.random()*t.length),i=Math.floor(Math.random()*t.length),s=Math.floor(Math.random()*this.moveops.length);t[l]=t[l].mul(t[i]).mul(this.moveops[s]),Math.random()<.1&&(t[l]=t[l].mul(this.moveops[s]))}let n=t[0];for(let o=1;o<t.length;o++)n=n.mul(t[o]);this.solved=this.solved.mul(n)}reassemblySize(){let r=1;for(let t=0;t<this.orbitdefs.length;t++)r*=this.orbitdefs[t].reassemblySize();return r}},Dr=class{constructor(r,t,n){this.perm=r;this.ori=t;this.orimod=n}static e(r,t){return new Dr(zr(r),it(r),t)}mul(r){let t=this.perm.length,n=new Array(t);if(this.orimod===1){for(let o=0;o<t;o++)n[o]=this.perm[r.perm[o]];return new Dr(n,this.ori,this.orimod)}else{let o=new Array(t);for(let l=0;l<t;l++)n[l]=this.perm[r.perm[l]],o[l]=(this.ori[r.perm[l]]+r.ori[l])%this.orimod;return new Dr(n,o,this.orimod)}}inv(){let r=this.perm.length,t=new Array(r),n=new Array(r);for(let o=0;o<r;o++)t[this.perm[o]]=o,n[this.perm[o]]=(this.orimod-this.ori[o])%this.orimod;return new Dr(t,n,this.orimod)}equal(r){let t=this.perm.length;for(let n=0;n<t;n++)if(this.perm[n]!==r.perm[n]||this.ori[n]!==r.ori[n])return!1;return!0}killOri(){let r=this.perm.length;for(let t=0;t<r;t++)this.ori[t]=0;return this.orimod=1,this}toPerm(){let r=this.orimod;if(r===1)return new er(this.perm);let t=this.perm.length,n=new Array(t*r);for(let o=0;o<t;o++)for(let l=0;l<r;l++)n[o*r+l]=r*this.perm[o]+(this.ori[o]+l)%r;return new er(n)}identicalPieces(){let r=[],t=this.perm.length,n=[];for(let o=0;o<t;o++){let l=this.perm[o];if(r[l]===void 0){let i=[o];r[l]=!0;for(let s=o+1;s<t;s++)this.perm[s]===l&&i.push(s);n.push(i)}}return n}order(){return this.toPerm().order()}isIdentity(){let r=this.perm.length;if(this.perm===zr(r)&&this.ori===it(r))return!0;for(let t=0;t<r;t++)if(this.perm[t]!==t||this.ori[t]!==0)return!1;return!0}zeroOris(){let r=this.perm.length;if(this.ori===it(r))return!0;for(let t=0;t<r;t++)if(this.ori[t]!==0)return!1;return!0}remap(r,t,n){let o=new Array(n),l=new Array(n);for(let i=0;i<n;i++)o[i]=t[this.perm[r[i]]],l[i]=this.ori[r[i]];return new Dr(o,l,this.orimod)}remapVS(r,t){let n=new Array(t),o=new Array(t),l=0,i=[];for(let s=0;s<t;s++){let a=this.perm[r[s]];i[a]===void 0&&(i[a]=l++),n[s]=i[a],o[s]=this.ori[r[s]]}return new Dr(n,o,this.orimod)}appendConciseDefinition(r,t,n){if(!this.isIdentity()&&(r.push(t),r.push(this.perm.map(o=>o+1).join(\" \")),!this.zeroOris()))if(n){let o=new Array(this.ori.length);for(let l=0;l<o.length;l++)o[this.perm[l]]=this.ori[l];r.push(o.join(\" \"))}else r.push(this.ori.join(\" \"))}toKpuzzle(){let r=this.perm.length;return this.isIdentity()?(Dr.kcache[r]||(Dr.kcache[r]={permutation:zr(r),orientation:it(r)}),Dr.kcache[r]):{permutation:this.perm,orientation:this.ori}}},yr=Dr;yr.kcache=[];Gi=class{constructor(r){this.orbits=r}internalMul(r){let t=[];for(let n=0;n<this.orbits.length;n++)t.push(this.orbits[n].mul(r.orbits[n]));return t}internalInv(){let r=[];for(let t=0;t<this.orbits.length;t++)r.push(this.orbits[t].inv());return r}equal(r){for(let t=0;t<this.orbits.length;t++)if(!this.orbits[t].equal(r.orbits[t]))return!1;return!0}killOri(){for(let r=0;r<this.orbits.length;r++)this.orbits[r].killOri();return this}toPerm(){let r=new Array,t=0;for(let o=0;o<this.orbits.length;o++){let l=this.orbits[o].toPerm();r.push(l),t+=l.n}let n=new Array(t);t=0;for(let o=0;o<this.orbits.length;o++){let l=r[o];for(let i=0;i<l.n;i++)n[t+i]=t+l.p[i];t+=l.n}return new er(n)}identicalPieces(){let r=[],t=0;for(let n=0;n<this.orbits.length;n++){let o=this.orbits[n].orimod,l=this.orbits[n].identicalPieces();for(let i=0;i<l.length;i++)r.push(l[i].map(s=>s*o+t));t+=o*this.orbits[n].perm.length}return r}order(){let r=1;for(let t=0;t<this.orbits.length;t++)r=Ti(r,this.orbits[t].order());return r}},Mr=class extends Gi{constructor(r){super(r)}mul(r){return new Mr(this.internalMul(r))}mulScalar(r){if(r===0)return this.e();let t=this;for(r<0&&(t=t.inv(),r=-r);(r&1)==0;)t=t.mul(t),r>>=1;if(r===1)return t;let n=t,o=this.e();for(;r>0;)r&1&&(o=o.mul(n)),r>1&&(n=n.mul(n)),r>>=1;return o}inv(){return new Mr(this.internalInv())}e(){return new Mr(this.orbits.map(r=>yr.e(r.perm.length,r.orimod)))}},at=class extends Gi{constructor(r){super(r)}mul(r){return new at(this.internalMul(r))}},Oi=class{constructor(r){this.n=r;this.heads=new Array(r);for(let t=0;t<r;t++)this.heads[t]=t}find(r){let t=this.heads[r];return this.heads[t]===t||(t=this.find(this.heads[t]),this.heads[r]=t),t}union(r,t){let n=this.find(r),o=this.find(t);n<o?this.heads[o]=n:n>o&&(this.heads[n]=o)}}});var lo,I0=w(()=>{lo=class{constructor(r,t){this.facenames=r;this.prefixFree=!0;this.gripnames=[];t&&(this.gripnames=t);for(let n=0;this.prefixFree&&n<r.length;n++)for(let o=0;this.prefixFree&&o<r.length;o++)n!==o&&r[n].startsWith(r[o])&&(this.prefixFree=!1)}setGripNames(r){this.gripnames=r}splitByFaceNames(r){let t=[],n=0;for(;n<r.length;){n>0&&n<r.length&&r[n]===\"_\"&&n++;let o=-1;for(let l=0;l<this.facenames.length;l++)r.substr(n).startsWith(this.facenames[l])&&(o<0||this.facenames[l].length>this.facenames[o].length)&&(o=l);if(o>=0)t.push(o),n+=this.facenames[o].length;else throw new Error(\"Could not split \"+r+\" into face names.\")}return t}joinByFaceIndices(r){let t=\"\",n=[];for(let o=0;o<r.length;o++)n.push(t),n.push(this.facenames[r[o]]),this.prefixFree||(t=\"_\");return n.join(\"\")}spinmatch(r,t){if(r===t)return!0;try{let n=this.splitByFaceNames(r),o=this.splitByFaceNames(t);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(r){(r.endsWith(\"v\")||r.endsWith(\"w\"))&&r[0]<=\"Z\"&&(r=r.slice(0,r.length-1));let t=r.toUpperCase();for(let n=0;n<this.gripnames.length;n++){let o=this.gripnames[n];if(this.spinmatch(t,o))return o}return r}}});var al,T0=w(()=>{al={\"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 _0(e,r){let t=[];for(let n=0;n<e.length;n++)for(let o=0;o<r.length;o++){let l=r[o],i=[];for(let s=0;s<l.length;s++)i.push(l[s].rotateplane(e[n]));t.push(i)}return t}function qr(e){let r=new K(0,0,0,0);for(let t=0;t<e.length;t++)r=r.sum(e[t]);return r.smul(1/e.length)}function N0(e,r,t,n){let o=n[e].intersect3(n[r],n[t]);if(!o)return o;for(let l=0;l<n.length;l++)if(l!==e&&l!==r&&l!==t){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 Pt,fn,K,ul=w(()=>{Pt=1e-9;fn=class{constructor(r,t,n){this.face=r;this.left=t;this.right=n}split(r){var n,o;let t=r.cutface(this.face);return t!==null&&(this.left===void 0?(this.left=new fn(t[0]),this.right=new fn(t[1])):(this.left=(n=this.left)==null?void 0:n.split(r),this.right=(o=this.right)==null?void 0:o.split(r))),this}collect(r,t){var n,o,l,i;return this.left===void 0?r.push(this.face):t?((n=this.left)==null||n.collect(r,!1),(o=this.right)==null||o.collect(r,!0)):((l=this.right)==null||l.collect(r,!1),(i=this.left)==null||i.collect(r,!0)),r}},K=class{constructor(r,t,n,o){this.a=r;this.b=t;this.c=n;this.d=o}mul(r){return new K(this.a*r.a-this.b*r.b-this.c*r.c-this.d*r.d,this.a*r.b+this.b*r.a+this.c*r.d-this.d*r.c,this.a*r.c-this.b*r.d+this.c*r.a+this.d*r.b,this.a*r.d+this.b*r.c-this.c*r.b+this.d*r.a)}toString(){return\"Q[\"+this.a+\",\"+this.b+\",\"+this.c+\",\"+this.d+\"]\"}dist(r){return Math.hypot(this.a-r.a,this.b-r.b,this.c-r.c,this.d-r.d)}len(){return Math.hypot(this.a,this.b,this.c,this.d)}cross(r){return new K(0,this.c*r.d-this.d*r.c,this.d*r.b-this.b*r.d,this.b*r.c-this.c*r.b)}dot(r){return this.b*r.b+this.c*r.c+this.d*r.d}normalize(){let r=Math.sqrt(this.dot(this));return new K(this.a/r,this.b/r,this.c/r,this.d/r)}makenormal(){return new K(0,this.b,this.c,this.d).normalize()}normalizeplane(){let r=Math.hypot(this.b,this.c,this.d);return new K(this.a/r,this.b/r,this.c/r,this.d/r)}smul(r){return new K(this.a*r,this.b*r,this.c*r,this.d*r)}sum(r){return new K(this.a+r.a,this.b+r.b,this.c+r.c,this.d+r.d)}sub(r){return new K(this.a-r.a,this.b-r.b,this.c-r.c,this.d-r.d)}angle(){return 2*Math.acos(this.a)}invrot(){return new K(this.a,-this.b,-this.c,-this.d)}det3x3(r,t,n,o,l,i,s,a,u){return r*(l*u-i*a)+t*(i*s-o*u)+n*(o*a-l*s)}rotateplane(r){let t=r.mul(new K(0,this.b,this.c,this.d)).mul(r.invrot());return t.a=this.a,t}orthogonal(){let r=Math.abs(this.b),t=Math.abs(this.c),n=Math.abs(this.d);return r<t&&r<n?this.cross(new K(0,1,0,0)).normalize():t<r&&t<n?this.cross(new K(0,0,1,0)).normalize():this.cross(new K(0,0,0,1)).normalize()}pointrotation(r){let t=this.normalize();if(r=r.normalize(),t.sub(r).len()<Pt)return new K(1,0,0,0);let n=t.sum(r);n.len()<Pt?n=n.orthogonal():n=n.normalize();let o=t.cross(n);return o.a=t.dot(n),o}unproject(r){return this.sum(r.smul(-this.dot(r)/(this.len()*r.len())))}rotatepoint(r){return r.mul(this).mul(r.invrot())}rotateface(r){return r.map(t=>t.rotatepoint(this))}rotatecubie(r){return r.map(t=>this.rotateface(t))}intersect3(r,t){let n=this.det3x3(this.b,this.c,this.d,r.b,r.c,r.d,t.b,t.c,t.d);return Math.abs(n)<Pt?!1:new K(0,this.det3x3(this.a,this.c,this.d,r.a,r.c,r.d,t.a,t.c,t.d)/n,this.det3x3(this.b,this.a,this.d,r.b,r.a,r.d,t.b,t.a,t.d)/n,this.det3x3(this.b,this.c,this.a,r.b,r.c,r.a,t.b,t.c,t.a)/n)}side(r){return r>Pt?1:r<-Pt?-1:0}cutface(r){let t=this.a,n=0,o=null;for(let l=0;l<r.length;l++)n|=1<<this.side(r[l].dot(this)-t)+1;if((n&5)==5){o=[];let l=r.map(i=>this.side(i.dot(this)-t));for(let i=-1;i<=1;i+=2){let s=[];for(let a=0;a<r.length;a++){(l[a]===i||l[a]===0)&&s.push(r[a]);let u=(a+1)%r.length;if(l[a]+l[u]===0&&l[a]!==0){let c=r[a].dot(this)-t,f=r[u].dot(this)-t,g=c/(c-f),m=r[a].smul(1-g).sum(r[u].smul(g));s.push(m)}}o.push(s)}}return o}cutfaces(r){let t=[];for(let n=0;n<r.length;n++){let o=r[n],l=this.cutface(o);l?(t.push(l[0]),t.push(l[1])):t.push(o)}return t}faceside(r){let t=this.a;for(let n=0;n<r.length;n++){let o=this.side(r[n].dot(this)-t);if(o!==0)return o}throw new Error(\"Could not determine side of plane in faceside\")}sameplane(r){let t=this.normalize(),n=r.normalize();return t.dist(n)<Pt||t.dist(n.smul(-1))<Pt}makecut(r){return new K(r,this.b,this.c,this.d)}}});function G0(){let e=Math.sqrt(.5);return[new K(e,e,0,0),new K(e,0,e,0)]}function O0(){return[new K(.5,.5,.5,.5),new K(.5,.5,.5,-.5)]}function W0(){let e=2*Math.PI/10,r=.5+.3*Math.sqrt(5),t=.5+.1*Math.sqrt(5),n=Math.sqrt(r*r+t*t);return r/=n,t/=n,[new K(Math.cos(e),r*Math.sin(e),t*Math.sin(e),0),new K(.5,.5,.5,.5)]}function Q0(){let e=1/6+Math.sqrt(5)/6,r=2/3+Math.sqrt(5)/3,t=Math.sqrt(e*e+r*r);e/=t,r/=t;let n=2*Math.PI/6;return[new K(Math.cos(n),e*Math.sin(n),r*Math.sin(n),0),new K(Math.cos(n),-e*Math.sin(n),r*Math.sin(n),0)]}function q0(){let e=Math.sqrt(.5);return[new K(.5,.5,.5,.5),new K(e,0,0,e)]}function j0(e){let r=[new K(1,0,0,0)];for(let t=0;t<r.length;t++)for(let n=0;n<e.length;n++){let o=e[n].mul(r[t]),l=o.smul(-1),i=!1;for(let s=0;s<r.length;s++)if(o.dist(r[s])<fl||l.dist(r[s])<fl){i=!0;break}i||r.push(o)}return r}function Qi(e,r){let t=[],n=[];for(let o=0;o<r.length;o++){let l=e.rotateplane(r[o]),i=!1;for(let s=0;s<t.length;s++)if(l.dist(t[s])<fl){i=!0;break}i||(t.push(l),n.push(r[o]))}return n}function qi(e){let r=[];for(let t=1;t<e.length;t++)for(let n=t+1;n<e.length;n++){let o=N0(0,t,n,e);if(o){let l=!1;for(let i=0;i<r.length;i++)if(o.dist(r[i])<fl){l=!0;break}l||r.push(o)}}for(;;){let t=!1;for(let n=0;n<r.length;n++){let o=(n+1)%r.length;if(e[0].dot(r[n].cross(r[o]))<0){let l=r[n];r[n]=r[o],r[o]=l,t=!0}}if(!t)break}return r}var fl,K0=w(()=>{ul();fl=1e-9});function V0(e){ji=e}function Dc(){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 Fc(){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 Bc(){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 bc(){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 cn(e,r){for(let t=0;t<e.length;t++)if(e[t][0].dist(r)<we)return t;throw new Error(\"Element not found\")}function H0(){return al}function Y0(e){return al[e]}function Ki(e){let r=e.split(/ /).filter(Boolean);if(r.length%2==0||r[0]!==\"o\"&&r[0]!==\"c\"&&r[0]!==\"i\"&&r[0]!==\"d\"&&r[0]!==\"t\")return!1;let t=[];for(let n=1;n<r.length;n+=2){if(r[n]!==\"f\"&&r[n]!==\"v\"&&r[n]!==\"e\")return!1;t.push([r[n],r[n+1]])}return[r[0],t]}function Vi(e,r=[]){let[t,n]=Ki(e),o=new gl(t,n,[\"allmoves\",\"true\"].concat(r));return o.allstickers(),o.genperms(),o}function gn(e,r=[]){return Vi(al[e],r)}function vc(e,r,t){let n=!1;t-r[1]<r[0]&&(e=[e[2],e[3],e[0],e[1]],r=[t-r[1],t-r[0]],n=!0);let o=e[0],l=\"\";if(r[0]===0&&r[1]===t)o=o+\"v\";else if(r[0]===r[1])r[1]>0&&(l=String(r[1]+1));else if(r[0]===0)o=o.toLowerCase(),r[1]>1&&(l=String(r[1]+1));else throw\"We only support slice and outer block moves right now. \"+r;return[l+o,n]}function xc(e,r){let t=[],n=0;for(;n<e.length;){n>0&&n<e.length&&e[n]===\"_\"&&n++;let o=\"\";for(let l=0;l<r.length;l++)e.substr(n).startsWith(r[l][1])&&r[l][1].length>o.length&&(o=r[l][1]);if(o!==\"\")t.push(o),n+=o.length;else throw new Error(\"Could not split \"+e+\" into face names.\")}return t}function cl(e,r){return[e.b/r,-e.c/r,e.d/r]}function io(e,r){let t=[],n=e.length;for(let o=0;o<n;o++)t[n-o-1]=cl(e[o],r);return t}function Sc(e,r){let t=[];for(let n=1;n<10;n++){for(let l=0;l<e.length;l++){let i=(l+e.length-1)%e.length,s=(l+1)%e.length,a=e[i].sub(e[l]).normalize(),u=e[s].sub(e[l]).normalize(),c=a.dot(u),f=r/Math.sqrt(1-c*c);t[l]=e[l].sum(a.sum(u).smul(f))}let o=!0;for(let l=0;o&&l<t.length;l++){let i=(l+e.length-1)%e.length,s=(l+1)%e.length;t[i].sub(t[l]).cross(t[s].sub(t[l])).dot(t[l])>=0&&(o=!1)}if(o)return t;r/=2}return e}var Ac,ji,we,Rc,yc,gl,Z0,J0=w(()=>{ye();I0();_i();to();Wi();T0();K0();ul();Ac=.77,ji=!0;we=1e-9,Rc=\"PuzzleGeometry 0.1 Copyright 2018 Tomas Rokicki.\",yc=!1;gl=class{constructor(r,t,n){this.args=\"\";this.cmovesbyslice=[];this.verbose=0;this.allmoves=!1;this.cornersets=!0;this.centersets=!0;this.edgesets=!0;this.omitsets=[];this.graycorners=!1;this.graycenters=!1;this.grayedges=!1;this.killorientation=!1;this.optimize=!1;this.scramble=0;this.fixPiece=\"\";this.orientCenters=!1;this.duplicatedFaces=[];this.duplicatedCubies=[];this.fixedCubie=-1;this.net=[];this.colors=[];this.faceorder=[];this.faceprecedence=[];this.notationMapper=new un;this.addNotationMapper=\"\";this.setReidOrder=!1;function o(i){return typeof i==\"string\"?JSON.parse(i):i}function l(i){return typeof i==\"string\"?i!==\"false\":!!i}if(n!==void 0){if(n.length%2!=0)throw new Error(\"Odd length in option list?\");for(let i=0;i<n.length;i+=2)if(n[i]===\"verbose\")this.verbose++;else if(n[i]===\"quiet\")this.verbose=0;else if(n[i]===\"allmoves\")this.allmoves=l(n[i+1]);else if(n[i]===\"outerblockmoves\")this.outerblockmoves=l(n[i+1]);else if(n[i]===\"vertexmoves\")this.vertexmoves=l(n[i+1]);else if(n[i]===\"rotations\")this.addrotations=l(n[i+1]);else if(n[i]===\"cornersets\")this.cornersets=l(n[i+1]);else if(n[i]===\"centersets\")this.centersets=l(n[i+1]);else if(n[i]===\"edgesets\")this.edgesets=l(n[i+1]);else if(n[i]===\"omit\")this.omitsets=n[i+1];else if(n[i]===\"graycorners\")this.graycorners=l(n[i+1]);else if(n[i]===\"graycenters\")this.graycenters=l(n[i+1]);else if(n[i]===\"grayedges\")this.grayedges=l(n[i+1]);else if(n[i]===\"movelist\")this.movelist=o(n[i+1]);else if(n[i]===\"killorientation\")this.killorientation=l(n[i+1]);else if(n[i]===\"optimize\")this.optimize=l(n[i+1]);else if(n[i]===\"scramble\")this.scramble=n[i+1];else if(n[i]===\"fix\")this.fixPiece=n[i+1];else if(n[i]===\"orientcenters\")this.orientCenters=l(n[i+1]);else if(n[i]===\"puzzleorientation\")this.puzzleOrientation=o(n[i+1]);else if(n[i]===\"puzzleorientations\")this.puzzleOrientations=o(n[i+1]);else throw new Error(\"Bad option while processing option list \"+n[i])}this.args=r+\" \"+t.map(i=>i.join(\" \")).join(\" \"),n&&(this.args+=\" \"+n.join(\" \")),this.verbose>0&&console.log(this.header(\"# \")),this.create(r,t)}create(r,t){this.moveplanes=[],this.moveplanes2=[],this.faces=[],this.cubies=[];let n=null;switch(r){case\"c\":n=G0();break;case\"o\":n=q0();break;case\"i\":n=Q0();break;case\"t\":n=O0();break;case\"d\":n=W0();break;default:throw new Error(\"Bad shape argument: \"+r)}this.rotations=j0(n),this.verbose&&console.log(\"# Rotations: \"+this.rotations.length);let o=n[0];this.baseplanerot=Qi(o,this.rotations);let l=this.baseplanerot.map(L=>o.rotateplane(L));this.baseplanes=l,this.basefacecount=l.length;let i=Dc()[l.length];this.net=i,this.colors=Fc()[l.length],this.faceorder=Bc()[l.length],this.verbose&&console.log(\"# Base planes: \"+l.length);let s=qi(l),a=new K(0,0,0,0);this.verbose&&console.log(\"# Face vertices: \"+s.length);let u=l[0].makenormal(),c=s[0].sum(s[1]).makenormal(),f=s[0].makenormal(),g=new K(1,u.b,u.c,u.d);this.verbose&&console.log(\"# Boundary is \"+g);let d=Qi(g,this.rotations).map(L=>g.rotateplane(L)),p=[qi(d)];this.edgedistance=p[0][0].sum(p[0][1]).smul(.5).dist(a),this.vertexdistance=p[0][0].dist(a);let y=[],x=[],F=!1,S=!1,_=!1;for(let L=0;L<t.length;L++){let E=null,N=0;switch(t[L][0]){case\"f\":E=u,N=1,F=!0;break;case\"v\":E=f,N=this.vertexdistance,_=!0;break;case\"e\":E=c,N=this.edgedistance,S=!0;break;default:throw new Error(\"Bad cut argument: \"+t[L][0])}y.push(E.makecut(Number(t[L][1]))),x.push(t[L][1]<N)}this.addrotations&&(F||y.push(u.makecut(10)),_||y.push(f.makecut(10)),S||y.push(c.makecut(10))),this.basefaces=[];for(let L=0;L<this.baseplanerot.length;L++){let E=this.baseplanerot[L].rotateface(p[0]);this.basefaces.push(E)}let P=[],ee=[],O=[],q=[],ae=p[0].length;function ve(L,E,N){for(let B=0;B<L.length;B++)if(L[B][0].dist(E)<we){L[B].push(N);return}L.push([E,N])}for(let L=0;L<this.baseplanerot.length;L++){let E=this.baseplanerot[L].rotateface(p[0]);for(let N=0;N<E.length;N++){let B=(N+1)%E.length,b=E[N].sum(E[B]).smul(.5);ve(q,b,L)}}let v=[];for(let L=0;L<this.baseplanerot.length;L++){let E=this.baseplanerot[L].rotateface(p[0]),N=[];for(let B=0;B<E.length;B++){let b=(B+1)%E.length,C=E[B].sum(E[b]).smul(.5),G=q[cn(q,C)];if(L===G[1])N.push(G[2]);else if(L===G[2])N.push(G[1]);else throw new Error(\"Could not find edge\")}v.push(N)}let k={},U=[];U.push(i[0][0]),k[i[0][0]]=0,U[v[0][0]]=i[0][1],k[i[0][1]]=v[0][0];for(let L=0;L<i.length;L++){let E=i[L][0],N=k[E];if(N===void 0)throw new Error(\"Bad edge description; first edge not connected\");let B=-1;for(let b=0;b<v[N].length;b++){let C=U[v[N][b]];if(C!==void 0&&C===i[L][1]){B=b;break}}if(B<0)throw new Error(\"First element of a net not known\");for(let b=2;b<i[L].length;b++){if(i[L][b]===\"\")continue;let C=v[N][(b+B-1)%ae],G=U[C];if(G!==void 0&&G!==i[L][b])throw new Error(\"Face mismatch in net\");U[C]=i[L][b],k[i[L][b]]=C}}for(let L=0;L<U.length;L++){let E=!1;for(let N=0;N<this.faceorder.length;N++)if(U[L]===this.faceorder[N]){this.faceprecedence[L]=N,E=!0;break}if(!E)throw new Error(\"Could not find face \"+U[L]+\" in face order list \"+this.faceorder)}for(let L=0;L<this.baseplanerot.length;L++){let E=this.baseplanerot[L].rotateface(p[0]),N=g.rotateplane(this.baseplanerot[L]),B=U[L];P.push([E,B]),ee.push([N,B])}for(let L=0;L<this.baseplanerot.length;L++){let E=this.baseplanerot[L].rotateface(p[0]),N=U[L];for(let B=0;B<E.length;B++){let b=(B+1)%E.length,C=E[B].sum(E[b]).smul(.5),G=(B+2)%E.length,le=E[b].sum(E[G]).smul(.5),Se=cn(q,C),fr=cn(q,le);ve(O,E[b],[N,fr,Se])}}this.swizzler=new lo(P.map(L=>L[1]));let M=this.swizzler.prefixFree?\"\":\"_\";for(let L=0;L<q.length;L++){if(q[L].length!==3)throw new Error(\"Bad length in edge names \"+q[L]);let E=U[q[L][1]],N=U[q[L][2]];this.faceprecedence[q[L][1]]<this.faceprecedence[q[L][2]]?E=E+M+N:E=N+M+E,q[L]=[q[L][0],E]}this.cornerfaces=O[0].length-1;for(let L=0;L<O.length;L++){if(O[L].length<4)throw new Error(\"Bad length in vertex names\");let E=1;for(let B=2;B<O[L].length;B++)this.faceprecedence[k[O[L][B][0]]]<this.faceprecedence[k[O[L][E][0]]]&&(E=B);let N=\"\";for(let B=1;B<O[L].length;B++){B===1?N=O[L][E][0]:N=N+M+O[L][E][0];for(let b=1;b<O[L].length;b++)if(O[L][E][1]===O[L][b][2]){E=b;break}}O[L]=[O[L][0],N]}this.verbose>1&&(console.log(\"# Face precedence list: \"+this.faceorder.join(\" \")),console.log(\"# Face names: \"+P.map(L=>L[1]).join(\" \")),console.log(\"# Edge names: \"+q.map(L=>L[1]).join(\" \")),console.log(\"# Vertex names: \"+O.map(L=>L[1]).join(\" \")));let T=[];for(let L=0;L<ee.length;L++)T.push([ee[L][0].makenormal(),ee[L][1],\"f\"]);for(let L=0;L<q.length;L++)T.push([q[L][0].makenormal(),q[L][1],\"e\"]);for(let L=0;L<O.length;L++)T.push([O[L][0].makenormal(),O[L][1],\"v\"]);this.facenames=P,this.faceplanes=ee,this.edgenames=q,this.vertexnames=O,this.geonormals=T;let Ae=T.map(L=>L[1]);this.swizzler.setGripNames(Ae),this.verbose&&console.log(\"# Distances: face \"+1+\" edge \"+this.edgedistance+\" vertex \"+this.vertexdistance);for(let L=0;L<y.length;L++)for(let E=0;E<this.rotations.length;E++){let N=y[L].rotateplane(this.rotations[E]),B=!1;for(let b=0;b<this.moveplanes.length;b++)if(N.sameplane(this.moveplanes[b])){B=!0;break}B||(this.moveplanes.push(N),x[L]&&this.moveplanes2.push(N))}let ue=new fn(p[0]),Re=this.moveplanes2.slice(),pe=31;for(let L=0;L<Re.length;L++){let E=L+Math.floor((Re.length-L)*(pe/65536));ue=ue.split(Re[E]),Re[E]=Re[L],pe=(pe*1657+101)%65536}p=ue.collect([],!0),this.faces=p,this.verbose&&console.log(\"# Faces is now \"+p.length),this.stickersperface=p.length;let fe=1e99;for(let L=0;L<p.length;L++)for(let E=0;E<p[L].length;E++){let N=(E+1)%p[L].length,B=p[L][E].dist(p[L][N]);B<fe&&(fe=B)}this.shortedge=fe,this.verbose&&console.log(\"# Short edge is \"+fe),r===\"c\"&&F&&!S&&!_&&(this.addNotationMapper=\"NxNxNCubeMapper\",this.setReidOrder=!0),r===\"c\"&&_&&!F&&!S&&(this.addNotationMapper=\"SkewbMapper\"),r===\"t\"&&(_||F)&&!S&&(this.addNotationMapper=\"PyraminxOrTetraminxMapper\"),r===\"o\"&&F&&ji&&(this.notationMapper=new no(this.swizzler,new lo([\"F\",\"D\",\"L\",\"BL\",\"R\",\"U\",\"BR\",\"B\"])),!S&&!_&&(this.addNotationMapper=\"FTOMapper\")),r===\"d\"&&F&&ji&&(this.addNotationMapper=\"MegaminxMapper\",this.notationMapper=new no(this.swizzler,new lo([\"U\",\"F\",\"L\",\"BL\",\"BR\",\"R\",\"FR\",\"FL\",\"DL\",\"B\",\"DR\",\"D\"])))}keyface(r){return this.keyface2(qr(r))}keyface2(r){let t=\"\";for(let n=0;n<this.moveplanesets.length;n++)if(this.moveplanesets[n].length>0){let o=r.dot(this.moveplanesets[n][0]),l=0,i=1;for(;i*2<=this.moveplanesets[n].length;)i*=2;for(;i>0;i>>=1)l+i<=this.moveplanesets[n].length&&o>this.moveplanesets[n][l+i-1].a&&(l+=i);l<=90?t=t+String.fromCharCode(34+l):t=t+\"!\"+String.fromCharCode(34+Math.floor(l/90))+String.fromCharCode(34+l%90)}return t}findface(r){let t=qr(r),n=this.keyface2(t),o=this.facelisthash[n];if(o.length===1)return o[0];for(let l=0;l+1<o.length;l++){let i=this.facelisthash[n][l];if(Math.abs(t.dist(this.facecentermass[i]))<we)return i}return o[o.length-1]}findface2(r){let t=this.keyface2(r),n=this.facelisthash[t];if(n.length===1)return n[0];for(let o=0;o+1<n.length;o++){let l=this.facelisthash[t][o];if(Math.abs(r.dist(this.facecentermass[l]))<we)return l}return n[n.length-1]}project2d(r,t,n){let o=this.facenames[r][0],l=(t+1)%o.length,i=this.baseplanes[r],s=o[l].sub(o[t]),a=s.len();s=s.normalize();let u=s.cross(i).normalize(),c=n[1].sub(n[0]),f=c.len()/a;c=c.normalize();let g=c.b,m=c.c,d=s.smul(g).sub(u.smul(m)).smul(f),p=u.smul(g).sum(s.smul(m)).smul(f),y=new K(0,n[0].b-d.dot(o[t]),n[0].c-p.dot(o[t]),0);return[d,p,y]}allstickers(){this.faces=_0(this.baseplanerot,this.faces),this.verbose&&console.log(\"# Total stickers is now \"+this.faces.length),this.facecentermass=new Array(this.faces.length);for(let v=0;v<this.faces.length;v++)this.facecentermass[v]=qr(this.faces[v]);let r=[],t=[];for(let v=0;v<this.moveplanes.length;v++){let U=this.moveplanes[v].makenormal(),M=!1;for(let T=0;T<t.length;T++)U.sameplane(t[T].makenormal())&&(M=!0);M||(t.push(U),r.push([]))}for(let v=0;v<this.moveplanes2.length;v++){let k=this.moveplanes2[v],U=k.makenormal();for(let M=0;M<t.length;M++)if(U.sameplane(t[M])){r[M].push(k);break}}for(let v=0;v<r.length;v++){let k=r[v].map(M=>M.normalizeplane()),U=t[v];for(let M=0;M<k.length;M++)k[M].makenormal().dist(U)>we&&(k[M]=k[M].smul(-1));k.sort((M,T)=>M.a-T.a),r[v]=k}this.moveplanesets=r,this.moveplanenormals=t;let n=r.map(v=>v.length);this.verbose&&console.log(\"# Move plane sets: \"+n);let o=[];for(let v=0;v<r.length;v++)o.push([]);for(let v=0;v<this.rotations.length;v++){let k=this.rotations[v];if(Math.abs(Math.abs(k.a)-1)<we)continue;let U=k.makenormal();for(let M=0;M<r.length;M++)if(U.sameplane(t[M])){o[M].push(k);break}}this.moverotations=o;for(let v=0;v<o.length;v++){let k=o[v],U=k[0].makenormal();for(let M=0;M<k.length;M++)U.dist(k[M].makenormal())>we&&(k[M]=k[M].smul(-1));k.sort((M,T)=>M.angle()-T.angle()),o[v][0].dot(t[v])<0&&k.reverse()}let l=o.map(v=>1+v.length);this.movesetorders=l;let i=[],s=\"?\";for(let v=0;v<r.length;v++){let k=t[v],U=null,M=null;for(let T=0;T<this.geonormals.length;T++){let Ae=k.dot(this.geonormals[T][0]);Math.abs(Ae-1)<we?(M=[this.geonormals[T][1],this.geonormals[T][2]],s=this.geonormals[T][2]):Math.abs(Ae+1)<we&&(U=[this.geonormals[T][1],this.geonormals[T][2]],s=this.geonormals[T][2])}if(M===null||U===null)throw new Error(\"Saw positive or negative sides as null\");i.push([M[0],M[1],U[0],U[1],1+r[v].length]),this.addNotationMapper===\"NxNxNCubeMapper\"&&s===\"f\"&&(this.notationMapper=new ll(1+r[v].length),this.addNotationMapper=\"\"),this.addNotationMapper===\"SkewbMapper\"&&r[0].length===1&&(this.notationMapper=new sl(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 oo(this.swizzler),this.addNotationMapper=\"\"):(this.notationMapper=new il(this.swizzler),this.addNotationMapper=\"\")),this.addNotationMapper===\"MegaminxMapper\"&&s===\"f\"&&(1+r[v].length===3&&(this.notationMapper=new ol(this.notationMapper)),this.addNotationMapper=\"\"),this.addNotationMapper===\"FTOMapper\"&&s===\"f\"&&(1+r[v].length===3&&(this.notationMapper=new nl(this.notationMapper,this.swizzler)),this.addNotationMapper=\"\")}this.movesetgeos=i;let a={},u={},c={},f=[],g=[],m=this.faces;for(let v=0;v<m.length;v++){let k=m[v],U=this.keyface(k);if(a[U]||(c[U]=g.length,f.push(U),a[U]=[],u[U]=[],g.push(a[U])),u[U].push(v),a[U].push(k),u[U].length===this.basefacecount){this.verbose&&console.log(\"# Splitting core.\");for(let M=0;M<this.basefacecount;M++){let T=U+\" \"+M;u[T]=[u[U][M]],a[T]=[a[U][M]],f.push(T),c[T]=g.length,g.push(a[T])}a[U]=[],g[c[U]]=[]}}this.cubiekey=c,this.facelisthash=u,this.cubiekeys=f,this.verbose&&console.log(\"# Cubies: \"+Object.keys(a).length),this.cubies=g;for(let v=0;v<g.length;v++){let k=g[v];if(k.length<2||k.length===this.basefacecount)continue;if(k.length>5)throw new Error(\"Bad math; too many faces on this cubie \"+k.length);let U=k.map(pe=>qr(pe)),M=this.keyface2(U[0]),T=u[M],Ae=qr(U);for(let pe=0;k.length>2;pe++){let fe=!1;for(let L=0;L<k.length;L++){let E=(L+1)%k.length;if(Ae.dot(U[L].cross(U[E]))<0){let N=k[L];k[L]=k[E],k[E]=N;let B=U[L];U[L]=U[E],U[E]=B;let b=T[L];T[L]=T[E],T[E]=b,fe=!0}}if(!fe)break;if(pe>1e3)throw new Error(\"Bad epsilon math; too close to border\")}let ue=0,Re=this.findface(k[ue]);for(let pe=1;pe<k.length;pe++){let fe=this.findface(k[pe]);this.faceprecedence[this.getfaceindex(fe)]<this.faceprecedence[this.getfaceindex(Re)]&&(ue=pe,Re=fe)}if(ue!==0){let pe=k.slice(),fe=T.slice();for(let L=0;L<k.length;L++)k[L]=pe[(ue+L)%k.length],T[L]=fe[(ue+L)%k.length]}}let d=[];for(let v=0;v<g.length;v++){let k=u[f[v]];for(let U=0;U<k.length;U++)d[k[U]]=[v,U]}this.facetocubies=d;let p=[\"?\",\"CENTERS\",\"EDGES\",\"CORNERS\",\"C4RNER\",\"C5RNER\"],y=[],x=[0,0,0,0,0,0],F=[],S=[],_=0,P=[],ee=[],O=[],q=[],ae=v=>g[v].map(k=>this.getfaceindex(this.findface(k))).join(\" \"),ve=[];for(let v=0;v<g.length;v++){if(S[v])continue;let k=g[v];if(k.length===0)continue;let U={},M=0;O.push(0),ve.push([]);let T=k.length,Ae=x[T]++,ue=p[T];(ue===void 0||T===this.basefacecount)&&(ue=\"CORE\"),ue=ue+(Ae===0?\"\":Ae+1),y[_]=ue,F[_]=T;let Re=[v],pe=0;for(S[v]=!0;pe<Re.length;){let L=Re[pe++],E=ae(L);if((k.length>1||U[E]===void 0)&&(U[E]=M++),q[L]=U[E],P[L]=_,ve[_].push(L),ee[L]=O[_]++,Re.length<this.rotations.length){let N=qr(g[L][0]);for(let B=0;B<o.length;B++){let b=this.facetocubies[this.findface2(N.rotatepoint(o[B][0]))][0];S[b]||(Re.push(b),S[b]=!0)}}}let fe=this;Re.sort(function(L,E){return fe.cubiekeys[L]<fe.cubiekeys[E]?1:fe.cubiekeys[L]>fe.cubiekeys[E]?-1:0});for(let L=0;L<Re.length;L++)L>1e6&&(ee[Re[L]]=L);_++}if(this.setReidOrder&&4<=this.stickersperface&&this.stickersperface<=9){let v=[[\"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\"]],k={};for(let U=0;U<v.length;U++)for(let M=0;M<v[U].length;M++){let T=0;for(let Ae=0;Ae<v[U][M].length;Ae++)T|=1<<v[U][M].charCodeAt(Ae)-65;k[T]=M}for(let U=0;U<_;U++)for(let M=0;M<ve[U].length;M++){let T=ve[U][M],Ae=0;for(let ue=0;ue<g[T].length;ue++)Ae|=1<<this.facenames[this.getfaceindex(this.findface(g[T][ue]))][1].charCodeAt(0)-65;ee[T]=k[Ae]}}if(this.orbits=O.length,this.cubiesetnums=P,this.cubieordnums=ee,this.cubiesetnames=y,this.cubieords=O,this.orbitoris=F,this.cubievaluemap=q,this.cubiesetcubies=ve,this.fixPiece!==\"\"){for(let v=0;v<g.length;v++)if(this.fixPiece===\"v\"&&g[v].length>2||this.fixPiece===\"e\"&&g[v].length===2||this.fixPiece===\"f\"&&g[v].length===1){this.fixedCubie=v;break}if(this.fixedCubie<0)throw new Error(\"Could not find a cubie of type \"+this.fixPiece+\" to fix.\")}this.verbose&&console.log(\"# Cubie orbit sizes \"+O)}unswizzle(r){let t=this.notationMapper.notationToInternal(r);return t===null?\"\":this.swizzler.unswizzle(t.family)}stringToBlockMove(r){let t=RegExp(\"^(([0-9]+)-)?([0-9]+)?([^0-9]+)([0-9]+'?)?$\"),n=r.match(t);if(n===null)throw new Error(\"Bad move passed \"+r);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\",a=1;return n[5]!==void 0&&(s=n[5],s[0]===\"'\"&&(s=\"-\"+s.substring(1)),a=parseInt(s,10)),new h(new W(o,i,l),a)}parseMove(r){let t=this.notationMapper.notationToInternal(r);if(t===null)throw new Error(\"Bad move \"+r.family);r=t;let n=r.family,o=!1;if(n.endsWith(\"v\")&&n[0]<=\"Z\"){if(r.innerLayer!==void 0||r.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),a=!1;for(let g=0;g<this.movesetgeos.length;g++){let m=this.movesetgeos[g];s===m[0]&&(a=!0,l=m,i=g),s===m[2]&&(a=!1,l=m,i=g)}let u=1,c=1;if(n.toUpperCase()!==n&&(c=2),l===void 0)throw new Error(\"Bad grip in move \"+r.family);if(r.outerLayer!==void 0&&(u=r.outerLayer),r.innerLayer!==void 0&&(r.outerLayer===void 0?(c=r.innerLayer,n<=\"Z\"?u=c:u=1):c=r.innerLayer),u--,c--,o&&(u=0,c=this.moveplanesets[i].length),u<0||u>this.moveplanesets[i].length||c<0||c>this.moveplanesets[i].length)throw new Error(\"Bad slice spec \"+u+\" \"+c+\" vs \"+this.moveplanesets[i].length);if(!yc&&u===0&&c===this.moveplanesets[i].length&&!o)throw new Error(\"! full puzzle rotations must be specified with v suffix.\");return[void 0,i,u,c,a,r.amount]}parsemove(r){let t=this.parseMove(this.stringToBlockMove(r));return t[0]=r,t}genperms(){if(this.cmovesbyslice.length>0)return;let r=[];if(this.orientCenters){for(let t=0;t<this.cubies.length;t++)if(this.cubies[t].length===1){let n=this.findface(this.cubies[t][0]),o=this.getfaceindex(n);if(qr(this.basefaces[o]).dist(this.facecentermass[n])<we){let l=this.basefaces[o].length;for(let i=0;i<l;i++)this.cubies[t].push(this.cubies[t][0]);this.duplicatedFaces[n]=l,this.duplicatedCubies[t]=l,this.orbitoris[this.cubiesetnums[t]]=l}}}for(let t=0;t<this.moveplanesets.length;t++){let n=this.moveplanesets[t],o=[],l=[n.length+1,0],i=1;for(;i*2<=n.length;)i*=2;for(let u=0;u<this.faces.length;u++){let c=0;if(n.length>0){let f=this.facecentermass[u].dot(n[0]);for(let g=i;g>0;g>>=1)c+g<=n.length&&f>n[c+g-1].a&&(c+=g);c=n.length-c}for(o.push(c);l.length<=c;)l.push(0);l[c]++}let s=new Array(l.length);for(let u=0;u<l.length;u++)s[u]=[];let a=[];for(let u=0;u<this.faces.length;u++){if(o[u]<0)continue;let c=this.facetocubies[u].slice(),f=this.facecentermass[u],g=f,m=u,d=o[m];for(;;){o[m]=-1;let p=f.rotatepoint(this.moverotations[t][0]);if(p.dist(g)<we)break;m=this.findface2(p);let y=this.facetocubies[m];c.push(y[0],y[1]),f=p}if(c.length>2&&this.orientCenters&&(this.cubies[c[0]].length===1||this.cubies[c[0]][0]===this.cubies[c[0]][1])&&this.facecentermass[u].dist(qr(this.basefaces[this.getfaceindex(u)]))<we){let p=this.cubies[c[0]][0];for(let y=0;y<c.length;y+=2){let x=this.cubies[c[y]][0],F=-1;for(let S=0;S<p.length;S++)if(x[S].dist(p[0])<we){F=S;break}if(F<0)throw new Error(\"Couldn't find rotation of center faces; ignoring for now.\");c[y+1]=F,p=this.moverotations[t][0].rotateface(p)}}if(c.length===2&&this.orientCenters)for(let p=1;p<this.movesetorders[t];p++)d===0?c.push(c[0],p):c.push(c[0],(this.movesetorders[t]-p)%this.movesetorders[t]);if(c.length>2&&!a[c[0]]){if(c.length!==2*this.movesetorders[t])throw new Error(\"Bad length in perm gen\");for(let p=0;p<c.length;p++)s[d].push(c[p])}for(let p=0;p<c.length;p+=2)a[c[p]]=!0}r.push(s)}if(this.cmovesbyslice=r,this.movelist!==void 0){let t=[];for(let n=0;n<this.movelist.length;n++)t.push(this.parsemove(this.movelist[n]));this.parsedmovelist=t}this.facelisthash=null,this.facecentermass=[],this.cubiekey=[]}getfaces(){return this.faces.map(r=>r.map(t=>[t.b,t.c,t.d]))}getboundarygeometry(){return{baseplanes:this.baseplanes,facenames:this.facenames,faceplanes:this.faceplanes,vertexnames:this.vertexnames,edgenames:this.edgenames,geonormals:this.geonormals}}getmovesets(r){let t=this.moveplanesets[r].length,n=[];if(this.parsedmovelist!==void 0)for(let o=0;o<this.parsedmovelist.length;o++){let l=this.parsedmovelist[o];l[1]===r&&(l[4]?n.push([l[2],l[3]]):n.push([t-l[3],t-l[2]]),n.push(l[5]))}else if(this.vertexmoves&&!this.allmoves){let o=this.movesetgeos[r];if(o[1]!==o[3])for(let l=0;l<t;l++)o[1]!==\"v\"?(this.outerblockmoves?n.push([l+1,t]):n.push([l+1]),n.push(1)):(this.outerblockmoves?n.push([0,l]):n.push([l,l]),n.push(1))}else for(let o=0;o<=t;o++)!this.allmoves&&o+o===t||(this.outerblockmoves?o+o>t?n.push([o,t]):n.push([0,o]):n.push([o,o]),n.push(1));if(this.fixedCubie>=0){let o=+this.cubiekeys[this.fixedCubie].trim().split(\" \")[r],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,t];else if(t===s[1])s=[0,s[0]-1];else throw Error(\"fixed cubie option would disconnect move\");let a=!1;for(let u=0;u<l.length;u+=2)if(l[u][0]===s[0]&&l[u][1]===s[1]&&l[u+1]===n[i+1]){a=!0;break}a||(l.push(s),l.push(n[i+1]))}n=l}return n}graybyori(r){let t=this.cubies[r].length;return this.duplicatedCubies[r]&&(t=1),t===1&&(this.graycenters||!this.centersets)||t===2&&(this.grayedges||!this.edgesets)||t>2&&(this.graycorners||!this.cornersets)}skipbyori(r){let t=this.cubies[r].length;return this.duplicatedCubies[r]&&(t=1),t===1&&!this.centersets||t===2&&!this.edgesets||t>2&&!this.cornersets}skipcubie(r){return this.skipbyori(r)}skipset(r){if(r.length===0)return!0;let t=r[0];return this.skipbyori(this.facetocubies[t][0])}header(r){return r+Rc+`\n`+r+this.args+`\n`}writegap(){let r=this.getOrbitsDef(!1),t=[],n=[];for(let l=0;l<r.moveops.length;l++){let i=\"M_\"+Ni(this.notationMapper,r.movenames[l]),s=!1;i[i.length-1]===\"'\"&&(i=i.substring(0,i.length-1),s=!0),n.push(i),s?t.push(i+\":=\"+r.moveops[l].toPerm().inv().toGap()+\";\"):t.push(i+\":=\"+r.moveops[l].toPerm().toGap()+\";\")}t.push(\"Gen:=[\"),t.push(n.join(\",\")),t.push(\"];\");let o=r.solved.identicalPieces();return t.push(\"ip:=[\"+o.map(l=>\"[\"+l.map(i=>i+1).join(\",\")+\"]\").join(\",\")+\"];\"),t.push(\"\"),this.header(\"# \")+t.join(`\n`)}writeksolve(r=\"PuzzleGeometryPuzzle\"){let t=this.getOrbitsDef(!1);return this.header(\"# \")+t.toKsolve(r,this.notationMapper).join(`\n`)}writekpuzzle(r=!0){let t=this.getOrbitsDef(r),n=t.toKpuzzle();return n.moveNotation=new Z0(this,t),n}getMoveFromBits(r,t,n,o,l,i){let s=[],a=[],u=[];for(let g=0;g<this.cubiesetnames.length;g++)a.push(zr(this.cubieords[g])),u.push(it(this.cubieords[g]));for(let g=r[0];g<=r[1];g++){let m=o[g];for(let d=0;d<m.length;d+=2*i){let p=m.slice(d,d+2*i),y=this.cubiesetnums[p[0]];for(let S=0;S<p.length;S+=2)p[S]=this.cubieordnums[p[S]];let x=2,F=3;n&&(x=p.length-2,F=p.length-1),a[y]===zr(this.cubieords[y])&&(a[y]=a[y].slice(),this.orbitoris[y]>1&&!this.killorientation&&(u[y]=u[y].slice()));for(let S=0;S<p.length;S+=2)a[y][p[(S+x)%p.length]]=p[S],this.orbitoris[y]>1&&!this.killorientation&&(u[y][p[S]]=(p[(S+F)%p.length]-p[(S+1)%p.length]+2*this.orbitoris[y])%this.orbitoris[y])}}let c=new yr(zr(24),it(24),1);for(let g=0;g<this.cubiesetnames.length;g++)if(!(l&&!l[g]))if(this.orbitoris[g]===1||this.killorientation)a[g]===zr(c.perm.length)?(a[g]!==c.perm&&(c=new yr(a[g],u[g],1)),s.push(c)):s.push(new yr(a[g],u[g],1));else{let m=new Array(u[g].length);for(let d=0;d<a[g].length;d++)m[d]=u[g][a[g][d]];s.push(new yr(a[g],m,this.orbitoris[g]))}let f=new Mr(s);return t!==1&&(f=f.mulScalar(t)),f}omitSet(r){for(let t=0;t<this.omitsets.length;t++)if(this.omitsets[t]===r)return!0;return!1}diffmvsets(r,t,n,o){for(let l=0;l<r.length;l+=2){let i=!1;for(let s=0;!i&&s<t.length;s+=2)o?r[l][0]+t[s][1]===n&&r[l][1]+t[s][0]===n&&r[l+1]===t[s+1]&&(i=!0):r[l][0]===t[s][0]&&r[l][1]===t[s][1]&&r[l+1]===t[s+1]&&(i=!0);if(!i)return!0}return!1}getOrbitsDef(r){let t=[];if(r)for(let f=0;f<this.cubiesetnames.length;f++)t.push(1);let n=[],o=[],l=[],i=[];for(let f=0;f<this.moveplanesets.length;f++){let g=this.getmovesets(f);l.push(g),this.addrotations?i.push(1):i.push(0)}if(this.movelist&&this.addrotations){for(let f=0;f<this.moverotations.length;f++)i[f]=0;for(let f=0;f<this.moveplanesets.length;f++)for(let g=0;g<this.moverotations.length;g++){let m=this.moveplanenormals[f];for(let d=1;d*2<=this.movesetorders[g];d++){if(m=m.rotatepoint(this.moverotations[g][0]),i[g]&d)continue;let p=-1,y=!1;for(let F=0;p<0&&F<this.moveplanenormals.length;F++)m.dist(this.moveplanenormals[F])<we?p=F:m.dist(this.moveplanenormals[F].smul(-1))<we&&(p=F,y=!0);if(p<0)throw new Error(\"Could not find rotation\");let x=l[p];(x.length!==l[f].length||this.moveplanesets[f].length!==this.moveplanesets[p].length||this.diffmvsets(x,l[f],this.moveplanesets[p].length,y))&&(i[g]|=d)}}for(let f=0;f<this.moverotations.length;f++)if(i[f]===0)i[f]=1;else if(i[f]===1)this.movesetorders[f]>3?i[f]=2:i[f]=0;else if(i[f]===3)i[f]=0;else throw new Error(\"Impossible addrot val\")}for(let f=0;f<this.moveplanesets.length;f++)i[f]!==0&&(l[f].push([0,this.moveplanesets[f].length]),l[f].push(i[f]));for(let f=0;f<this.moveplanesets.length;f++){let g=l[f],m=this.movesetorders[f];for(let y=0;y<g.length;y+=2)for(let x=0;x<y;x+=2)if(g[y]===g[x]&&g[y+1]===g[x+1])throw new Error(\"Redundant moves in moveset.\");let d=[];for(let y=0;y<g.length;y+=2)for(let x=g[y][0];x<=g[y][1];x++)d[x]=1;let p=this.cmovesbyslice[f];for(let y=0;y<p.length;y++){if(d[y]!==1)continue;let x=p[y];for(let F=0;F<x.length;F+=2*m){if(this.skipcubie(x[F]))continue;let S=this.cubiesetnums[x[F]];t[S]=1}}}for(let f=0;f<this.cubiesetnames.length;f++)if(!!t[f]){if(this.omitSet(this.cubiesetnames[f])){t[f]=0;continue}n.push(this.cubiesetnames[f]),o.push(new Mt(this.cubieords[f],this.killorientation?1:this.orbitoris[f]))}let s=[];for(let f=0;f<this.cubiesetnames.length;f++){if(!t[f]||this.omitSet(this.cubiesetnames[f]))continue;let g=[],m=[];for(let d=0;d<this.cubieords[f];d++){if(r)g.push(d);else{let p=this.cubiesetcubies[f][d];g.push(this.cubievaluemap[p])}m.push(0)}s.push(new yr(g,m,this.killorientation?1:this.orbitoris[f]))}let a=[],u=[];for(let f=0;f<this.moveplanesets.length;f++){let m=this.moveplanesets[f].length,d=l[f],p=this.movesetgeos[f];for(let y=0;y<d.length;y+=2){let x=d[y],F=vc(p,x,m),S=F[0],_=F[1];d[y+1]===1?a.push(S):a.push(S+d[y+1]);let P=this.getMoveFromBits(x,d[y+1],_,this.cmovesbyslice[f],t,this.movesetorders[f]);u.push(P)}}this.ksolvemovenames=a;let c=new st(n,o,new at(s),a,u);return this.optimize&&(c=c.optimize()),this.scramble!==0&&c.scramble(this.scramble),c}getMovesAsPerms(){return this.getOrbitsDef(!1).moveops.map(r=>r.toPerm())}showcanon(r){P0(this.getOrbitsDef(!1),r)}getsolved(){let r=[];for(let t=0;t<this.basefacecount;t++)for(let n=0;n<this.stickersperface;n++)r.push(t);return new er(r)}getOrientationRotation(r){let t=r[0],n=new K(0,r[1][0],-r[1][1],r[1][2]),o=r[2],l=new K(0,r[3][0],-r[3][1],r[3][2]),i=null,s=null,a=this.swizzler.unswizzle(t),u=this.swizzler.unswizzle(o);for(let m of this.geonormals)a===m[1]&&(i=m[0]),u===m[1]&&(s=m[0]);if(!i)throw new Error(\"Could not find feature \"+t);if(!s)throw new Error(\"Could not find feature \"+o);let c=i.pointrotation(n);return s.rotatepoint(c).unproject(n).pointrotation(l.unproject(n)).mul(c)}getInitial3DRotation(){let r=this.basefacecount,t=null;if(this.puzzleOrientation?t=this.puzzleOrientation:this.puzzleOrientations&&(t=this.puzzleOrientations[r]),t||(t=bc()[r]),!t)throw new Error(\"No default orientation?\");return this.getOrientationRotation(t)}generatesvg(r=800,t=500,n=10,o=!1){r-=2*n,t-=2*n;function l(B,b){let C=B[1][0]-B[0][0],G=B[1][1]-B[0][1],le=2*Math.PI/b,Se=Math.cos(le),fr=Math.sin(le);for(let Ur=2;Ur<b;Ur++){let St=C*Se+G*fr;G=G*Se-C*fr,C=St,B.push([B[Ur-1][0]+C,B[Ur-1][1]+G])}}function i(B){return B+0*(Math.random()-.5)}function s(B,b,C){return'<polygon id=\"'+B+'\" class=\"sticker\" style=\"fill: '+C+'\" points=\"'+b.map(G=>i(G[0])+\" \"+i(G[1])).join(\" \")+`\"/>\n`}let a=this.addrotations,u=this.addrotations,c=this.addrotations;for(let B=0;B<this.movesetgeos.length;B++){let b=this.movesetgeos[B];for(let C=1;C<=3;C+=2)b[C]===\"v\"&&(a=!0),b[C]===\"f\"&&(c=!0),b[C]===\"e\"&&(u=!0)}this.genperms();let m=this.getboundarygeometry().facenames[0][0].length,d=this.net;if(d===null)throw new Error(\"No net?\");let p={},y=0,x=0,F=1,S=0;p[d[0][0]]=[[1,0],[0,0]],l(p[d[0][0]],m);for(let B=0;B<d.length;B++){let b=d[B][0];if(!p[b])throw new Error(\"Bad edge description; first edge not connected.\");for(let C=1;C<d[B].length;C++){let G=d[B][C];G===\"\"||p[G]||(p[G]=[p[b][C%m],p[b][(C+m-1)%m]],l(p[G],m))}}for(let B in p){let b=p[B];for(let C=0;C<b.length;C++)y=Math.min(y,b[C][0]),F=Math.max(F,b[C][0]),x=Math.min(x,b[C][1]),S=Math.max(S,b[C][1])}let _=Math.min(r/(F-y),t/(S-x)),P=.5*(r-_*(F+y)),ee=.5*(t-_*(S+x)),O={},q=this.getboundarygeometry(),ae={},ve=[[_+P,ee],[P,ee]];ae[d[0][0]]=ve,l(ae[d[0][0]],m),O[this.facenames[0][1]]=this.project2d(0,0,[new K(0,ve[0][0],ve[0][1],0),new K(0,ve[1][0],ve[1][1],0)]);let v=[];v[0]=0;for(let B=0;B<d.length;B++){let b=d[B][0];if(!ae[b])throw new Error(\"Bad edge description; first edge not connected.\");let C=-1;for(let le=0;le<q.facenames.length;le++)if(b===q.facenames[le][1]){C=le;break}if(C<0)throw new Error(\"Could not find first face name \"+b);let G=q.facenames[C][0];for(let le=1;le<d[B].length;le++){let Se=d[B][le];if(Se===\"\"||ae[Se])continue;ae[Se]=[ae[b][le%m],ae[b][(le+m-1)%m]],l(ae[Se],m);let fr=v[C],Ur=G[(fr+le)%m].sum(G[(fr+le+m-1)%m]).smul(.5),St=cn(q.edgenames,Ur),Wn=q.edgenames[St][1],va=xc(Wn,this.facenames),xa=va[b===va[0]?1:0],Qn=-1;for(let hr=0;hr<q.facenames.length;hr++)if(xa===q.facenames[hr][1]){Qn=hr;break}if(Qn<0)throw new Error(\"Could not find second face name\");let mi=q.facenames[Qn][0];for(let hr=0;hr<mi.length;hr++)if(mi[hr].sum(mi[(hr+1)%m]).smul(.5).dist(Ur)<=we){let Sa=ae[b][(le+m-1)%m],wa=ae[b][le%m];v[Qn]=hr,O[xa]=this.project2d(Qn,hr,[new K(0,wa[0],wa[1],0),new K(0,Sa[0],Sa[1],0)]);break}}}let k=this.getsolved(),U=[],M=[];for(let B=0;B<this.basefacecount;B++)U[B]=this.colors[this.facenames[B][1]];let T=0,Ae=0,ue=this.getInitial3DRotation();for(let B=0;B<this.faces.length;B++){let b=this.faces[B];b=ue.rotateface(b);for(let C=0;C<b.length;C++)T=Math.max(T,Math.abs(b[C].b)),Ae=Math.max(Ae,Math.abs(b[C].c))}let Re=Math.min(t/Ae/2,(r-n)/T/4),pe=(B,b)=>{if(o){let C=.5*n+.25*r,G=this.baseplanes[B].rotateplane(ue).d<0?1:-1;return[n+r*.5+G*(C-b.b*Re),n+t*.5+b.c*Re]}else{let C=O[this.facenames[B][1]];return[n+b.dot(C[0])+C[2].b,n+t-b.dot(C[1])-C[2].c]}};for(let B=0;B<this.faces.length;B++){let b=this.faces[B],C=Math.floor(B/this.stickersperface);o&&(b=ue.rotateface(b)),M.push(b.map(G=>pe(C,G)))}let fe=[];for(let B=0;B<this.basefacecount;B++){fe.push(\"<g>\"),fe.push(\"<title>\"+this.facenames[B][1]+`</title>\n`);for(let b=0;b<this.stickersperface;b++){let C=B*this.stickersperface+b,G=this.facetocubies[C][0],le=this.facetocubies[C][1],Se=this.cubiesetnums[G],fr=this.cubieordnums[G],Ur=this.graybyori(G)?\"#808080\":U[k.p[C]],St=this.cubiesetnames[Se]+\"-l\"+fr+\"-o\"+le;if(fe.push(s(St,M[C],Ur)),this.duplicatedFaces[C])for(let Wn=1;Wn<this.duplicatedFaces[C];Wn++)St=this.cubiesetnames[Se]+\"-l\"+fr+\"-o\"+Wn,fe.push(s(St,M[C],Ur))}fe.push(\"</g>\")}let L=[];function E(B,b,C,G){let le=pe(B,C);for(let Se=0;Se<L.length;Se++)if(Math.hypot(le[0]-L[Se][0],le[1]-L[Se][1])<we)return;L.push([le[0],le[1],b,G])}for(let B=0;B<this.faceplanes.length;B++){let b=this.facenames[B][0],C=b;if(o&&(C=ue.rotateface(C)),c){let G=this.faceplanes[B][0];o&&(G=G.rotatepoint(ue)),E(B,this.faceplanes[B][1],G,m)}for(let G=0;G<b.length;G++){if(u){let le=b[G].sum(b[(G+1)%b.length]).smul(.5),Se=cn(this.edgenames,le),fr=C[G].sum(C[(G+1)%b.length]).smul(.5);E(B,this.edgenames[Se][1],fr,2)}if(a){let le=cn(this.vertexnames,b[G]);E(B,this.vertexnames[le][1],C[G],this.cornerfaces)}}}let N=`<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`+fe.join(\"\")+\"</svg>\";return this.svggrips=L,N}dist(r,t){return Math.hypot(r[0]-t[0],r[1]-t[1],r[2]-t[2])}triarea(r,t,n){let o=this.dist(r,t),l=this.dist(t,n),i=this.dist(r,n),s=(o+l+i)/2;return Math.sqrt(s*(s-o)*(s-l)*(s-i))}polyarea(r){let t=0;for(let n=2;n<r.length;n++)t+=this.triarea(r[0],r[1],r[n]);return t}get3d(r=Ac,t){let n=[],o=[],l=this.getInitial3DRotation(),i=[],s=.52*this.basefaces[0][0].len(),a=0;for(let g=0;g<this.basefaces.length;g++){let m=l.rotateface(this.basefaces[g]),d=this.facenames[g][1];i.push({coords:io(m,s),name:d}),a+=this.polyarea(i[g].coords)}a/=this.faces.length;let u=Math.sqrt(a)*(1-Math.sqrt(r))/2;for(let g=0;g<this.faces.length;g++){let m=Math.floor(g/this.stickersperface),d=this.facetocubies[g][0],p=this.facetocubies[g][1],y=this.cubiesetnums[d],x=this.cubieordnums[d],F=this.graybyori(d)?\"#808080\":this.colors[this.facenames[m][1]];(t==null?void 0:t.stickerColors)&&(F=t.stickerColors[g]);let S=l.rotateface(this.faces[g]);o.push({coords:io(S,s),color:F,orbit:this.cubiesetnames[y],ord:x,ori:p});let _=S;if(u&&u>0&&(S=Sc(S,u)),n.push({coords:io(S,s),color:F,orbit:this.cubiesetnames[y],ord:x,ori:p}),this.duplicatedFaces[g])for(let P=1;P<this.duplicatedFaces[g];P++)n.push({coords:io(S,s),color:F,orbit:this.cubiesetnames[y],ord:x,ori:P}),o.push({coords:io(_,s),color:F,orbit:this.cubiesetnames[y],ord:x,ori:P})}let c=[];for(let g=0;g<this.movesetgeos.length;g++){let m=this.movesetgeos[g],d=this.movesetorders[g];for(let p=0;p<this.geonormals.length;p++){let y=this.geonormals[p];m[0]===y[1]&&m[1]===y[2]&&(c.push([cl(y[0].rotatepoint(l),1),m[0],d]),c.push([cl(y[0].rotatepoint(l).smul(-1),1),m[2],d]))}}let f=function(){return function(g){return this.unswizzle(g)}}().bind(this);return{stickers:n,foundations:o,faces:i,axis:c,unswizzle:f,notationMapper:this.notationMapper}}getGeoNormal(r){let t=this.getInitial3DRotation(),n=this.swizzler.unswizzle(r);for(let o=0;o<this.geonormals.length;o++){let l=this.geonormals[o];if(n===l[1]){let i=cl(l[0].rotatepoint(t),1);return Math.abs(i[0])<we&&Math.abs(i[2])<we&&(i[0]=0,i[2]=1e-6),i}}}getfaceindex(r){let t=this.stickersperface;return Math.floor(r/t)}},Z0=class{constructor(r,t){this.pg=r;this.cache={};this.orbitNames=t.orbitnames}lookupMove(r){let t=this.moveToKeyString(r);if(t in this.cache)return this.cache[t];let n=this.pg.parseMove(r);if(this.pg.parsedmovelist){let s=!1;for(let a=0;a<this.pg.parsedmovelist.length;a++)this.pg.parsedmovelist[a][1]===n[1]&&this.pg.parsedmovelist[a][2]===n[2]&&this.pg.parsedmovelist[a][3]===n[3]&&this.pg.parsedmovelist[a][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=st.transformToKPuzzle(this.orbitNames,l);return this.cache[t]=i,i}moveToKeyString(r){let t=\"\";return r.outerLayer&&(t=t+r.outerLayer+\",\"),r.innerLayer&&(t=t+r.innerLayer+\",\"),t=t+r.family+\",\"+r.amount,t}}});function X0(e,r){let t=0;for(;t<e.length&&e[t][0]===\"-\";){let n=e[t++];if(n===\"--rotations\")r.push(\"rotations\",!0);else if(n===\"--allmoves\")r.push(\"allmoves\",!0);else if(n===\"--outerblockmoves\")r.push(\"outerblockmoves\",!0);else if(n===\"--vertexmoves\")r.push(\"vertexmoves\",!0);else if(n===\"--nocorners\")r.push(\"cornersets\",!1);else if(n===\"--noedges\")r.push(\"edgesets\",!1);else if(n===\"--noorientation\")r.push(\"killorientation\",!0);else if(n===\"--nocenters\")r.push(\"centersets\",!1);else if(n===\"--omit\")r.push(\"omit\",e[t].split(\",\")),t++;else if(n===\"--moves\")r.push(\"movelist\",e[t].split(\",\")),t++;else if(n===\"--optimize\")r.push(\"optimize\",!0);else if(n===\"--scramble\")r.push(\"scramble\",100);else if(n===\"--fixcorner\")r.push(\"fix\",\"v\");else if(n===\"--fixedge\")r.push(\"fix\",\"e\");else if(n===\"--fixcenter\")r.push(\"fix\",\"f\");else if(n===\"--orientcenters\")r.push(\"orientcenters\",!0);else if(n===\"--puzzleorientation\")r.push(\"puzzleorientation\",e[t]),t++;else throw new Error(\"Bad option: \"+n)}return t}var $0=w(()=>{});function r2(e,r){let t=e[0].p.length,n=h0(t),o=[],l=[],i=[],s=[],a=[];function u(m){for(let d=m.p.length-1;d>=0;d--){let p=m.p[d];if(p!==d){if(!o[d][p])return!1;m=m.mul(l[d][p])}}return!0}function c(m,d,p){s[m].push(d),a[m].push(p);for(let y=0;y<o[m].length;y++)o[m][y]&&f(m,o[m][y].mul(d),p+i[m][y])}function f(m,d,p){let y=d.p[m];if(!o[m][y]){o[m][y]=d,l[m][y]=d.inv(),i[m][y]=p;for(let F=0;F<s[m].length;F++)f(m,d.mul(s[m][F]),p+a[m][F]);return}let x=d.mul(l[m][y]);u(x)||c(m-1,x,p+i[m][y])}function g(){o=[],l=[],s=[],i=[],a=[];for(let p=0;p<t;p++)o.push([]),l.push([]),i.push([]),s.push([]),a.push([]),o[p][p]=n,l[p][p]=n,i[p][p]=0;let m=0,d=1;for(let p=0;p<e.length;p++){c(t-1,e[p],1),d=1;let y=0,x=0,F=[],S=new e2;for(let _=0;_<t;_++){let P=0,ee=0;for(let q=0;q<t;q++)o[_][q]&&(P++,ee+=i[_][q],_!==q&&m++);y+=s[_].length,d*=P,P>1&&S.multiply(P);let O=ee/P;F.push(O),x+=O}r(\"\"+p+\": sz \"+d+\" T \"+y+\" sol \"+x+\" none \"+m+\" mults \"+S)}return d}return g()}var e2,t2=w(()=>{to();e2=class{constructor(){this.mult=[]}multiply(r){for(let t=2;t*t<=r;t++)for(;r%t==0;)this.mult[t]!==void 0?this.mult[t]++:this.mult[t]=1,r/=t;r>1&&(this.mult[r]!==void 0?this.mult[r]++:this.mult[r]=1)}toString(){let r=\"\";for(let t=0;t<this.mult.length;t++)this.mult[t]!==void 0&&(r!==\"\"&&(r+=\"*\"),r+=t,this.mult[t]>1&&(r+=\"^\"+this.mult[t]));return r}}});var n2={};Oe(n2,{Orbit:()=>yr,OrbitDef:()=>Mt,OrbitsDef:()=>st,Perm:()=>er,PuzzleGeometry:()=>gl,Quat:()=>K,Transformation:()=>Mr,VisibleState:()=>at,getPuzzleGeometryByDesc:()=>Vi,getPuzzleGeometryByName:()=>gn,getpuzzle:()=>Y0,getpuzzles:()=>H0,parsedesc:()=>Ki,parseoptions:()=>X0,schreierSims:()=>r2,useNewFaceNames:()=>V0});var ml=w(()=>{to();Wi();J0();$0();ul();t2()});function jr(e){return D(this,null,function*(){return(yield Promise.resolve().then(()=>(ml(),n2))).getPuzzleGeometryByName(e,[\"allmoves\",\"true\",\"orientcenters\",\"true\",\"rotations\",\"true\"])})}function Hi(e){return D(this,null,function*(){return(yield jr(e)).writekpuzzle(!0)})}function Kr(e,r,t){let n={id:e,fullName:r,def:()=>D(this,null,function*(){return Hi(e)}),svg:()=>D(this,null,function*(){return(yield jr(e)).generatesvg()}),pg:()=>D(this,null,function*(){return jr(e)})};return(t==null?void 0:t.inventedBy)&&(n.inventedBy=t.inventedBy),(t==null?void 0:t.inventionYear)&&(n.inventionYear=t.inventionYear),n}function mn(e,r,t){let n=Kr(e,r,t);return n.appearance=Cr.bind(Cr,n),n.stickerings=an,n}var It=w(()=>{ro()});var o2={};Oe(o2,{cube2x2x2KPuzzle:()=>Pr});var Pr,l2=w(()=>{Pr={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]}}}};Pr.moves.Rv=Pr.moves.x;Pr.moves.Uv=Pr.moves.y;Pr.moves.Fv=Pr.moves.z;Pr.moves.Lv={CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]}};Pr.moves.Dv={CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}};Pr.moves.Bv={CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]}}});var i2={};Oe(i2,{default:()=>wc});var wc,s2=w(()=>{wc=`<?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 so,a2=w(()=>{It();ro();so={id:\"2x2x2\",fullName:\"2\\xD72\\xD72 Cube\",def:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(l2(),o2))).cube2x2x2KPuzzle}),svg:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(s2(),i2))).default}),pg:()=>D(void 0,null,function*(){return jr(\"2x2x2\")}),appearance:e=>Cr(so,e),stickerings:an}});var u2={};Oe(u2,{default:()=>Ec});var Ec,f2=w(()=>{Ec=`<?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 c2={};Oe(c2,{default:()=>Uc});var Uc,g2=w(()=>{Uc=`<?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 Yi,m2=w(()=>{It();ro();Mi();Yi={id:\"3x3x3\",fullName:\"3\\xD73\\xD73 Cube\",inventedBy:[\"Ern\\u0151 Rubik\"],inventionYear:1974,def:()=>D(void 0,null,function*(){return ce}),svg:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(f2(),u2))).default}),llSVG:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(g2(),c2))).default}),pg:()=>D(void 0,null,function*(){return jr(\"3x3x3\")}),appearance:e=>Cr(Yi,e),stickerings:an}});var p2={};Oe(p2,{clockKPuzzle:()=>kc});var kc,d2=w(()=>{kc={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 h2={};Oe(h2,{default:()=>Cc});var Cc,L2=w(()=>{Cc=`<?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 A2,R2=w(()=>{A2={id:\"clock\",fullName:\"Clock\",inventedBy:[\"Christopher C. Wiggs\",\"Christopher J. Taylor\"],inventionYear:1988,def:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(d2(),p2))).clockKPuzzle}),svg:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(L2(),h2))).default})}});function y2(e,r){return D(this,null,function*(){let t=yield e.def(),n=new $n(t),o=new eo(t),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\"])))])]),a=()=>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\")])])),u=()=>o.not(o.or([o.and([o.move(\"F\"),o.move(\"BL\")]),o.and([o.move(\"F\"),o.move(\"BR\")])]));switch(r){case\"full\":break;case\"experimental-fto-fc\":n.set(o.not(l()),z.Ignored);break;case\"experimental-fto-f2t\":n.set(o.not(i()),z.Ignored);break;case\"experimental-fto-sc\":n.set(o.not(s()),z.Ignored);break;case\"experimental-fto-l2c\":n.set(o.not(a()),z.Ignored);break;case\"experimental-fto-lbt\":n.set(o.not(u()),z.Ignored);break;default:console.warn(`Unsupported stickering for ${e.id}: ${r}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),z.Dim)}return n.toAppearance()})}function D2(){return D(this,null,function*(){return[\"full\",\"experimental-fto-fc\",\"experimental-fto-f2t\",\"experimental-fto-sc\",\"experimental-fto-l2c\",\"experimental-fto-lbt\"]})}var F2=w(()=>{tl()});var ao,B2=w(()=>{It();F2();ao=Kr(\"FTO\",\"Face-Turning Octahedron\",{inventedBy:[\"Karl Rohrbach\",\"David Pitcher\"],inventionYear:1983});ao.appearance=e=>y2(ao,e);ao.stickerings=D2});function b2(e,r){return D(this,null,function*(){switch(r){case\"full\":case\"F2L\":case\"LL\":return Cr(e,r);default:console.warn(`Unsupported stickering for ${e.id}: ${r}. Setting all pieces to dim.`)}return Cr(e,\"full\")})}function v2(){return D(this,null,function*(){return[\"full\",\"F2L\",\"LL\"]})}var x2=w(()=>{ro()});var uo,S2=w(()=>{It();x2();uo=Kr(\"megaminx\",\"Megaminx\",{inventionYear:1981});uo.appearance=e=>b2(uo,e);uo.stickerings=v2});var w2={};Oe(w2,{default:()=>zc});var zc,E2=w(()=>{zc=`<?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 U2,k2=w(()=>{It();U2={id:\"pyraminx\",fullName:\"Pyraminx\",inventedBy:[\"Uwe Meffert\"],inventionYear:1970,def:()=>D(void 0,null,function*(){return Hi(\"pyraminx\")}),svg:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(E2(),w2))).default}),pg:()=>D(void 0,null,function*(){return jr(\"pyraminx\")})}});var C2={};Oe(C2,{sq1HyperOrbitKPuzzle:()=>Mc});var Mc,z2=w(()=>{Mc={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 M2={};Oe(M2,{default:()=>Pc});var Pc,P2=w(()=>{Pc=`<?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 I2,T2=w(()=>{I2={id:\"square1\",fullName:\"Square-1\",inventedBy:[\"Karel Hr\\u0161el\",\"Vojtech Kopsk\\xFD\"],inventionYear:1990,def:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(z2(),C2))).sq1HyperOrbitKPuzzle}),svg:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(P2(),M2))).default})}});var Ir,ut=w(()=>{Mi();It();a2();m2();R2();B2();S2();k2();T2();tl();Ir={\"3x3x3\":Yi,\"2x2x2\":so,\"4x4x4\":mn(\"4x4x4\",\"4\\xD74\\xD74 Cube\"),\"5x5x5\":mn(\"5x5x5\",\"5\\xD75\\xD75 Cube\"),\"6x6x6\":mn(\"6x6x6\",\"6\\xD76\\xD76 Cube\"),\"7x7x7\":mn(\"7x7x7\",\"7\\xD77\\xD77 Cube\"),\"40x40x40\":mn(\"40x40x40\",\"40\\xD740\\xD740 Cube\"),clock:A2,megaminx:uo,pyraminx:U2,skewb:Kr(\"skewb\",\"Skewb\",{inventedBy:[\"Tony Durham\"]}),square1:I2,fto:ao,gigaminx:Kr(\"gigaminx\",\"Gigaminx\",{inventedBy:[\"Tyler Fox\"],inventionYear:2006}),master_tetraminx:Kr(\"master tetraminx\",\"Master Tetraminx\",{inventedBy:[\"Katsuhiko Okamoto\"],inventionYear:2002})}});function _2(e){let r=e.CENTERS.permutation[0],t=e.CENTERS.permutation[5],n=e.CENTERS.permutation[1],o=n;return r<n&&o--,t<n&&o--,[r,o]}var Ic,Zi=w(()=>{ye();lt();ut();Ic=new Array(6).fill(0).map(()=>new Array(6));{let e=new $e(ce),r=[\"\",\"z\",\"x\",\"z'\",\"x'\",\"x2\"].map(n=>I.fromString(n)),t=new I(\"y\");for(let n of r){e.reset(),e.applyAlg(n);for(let o=0;o<4;o++){e.applyAlg(t);let[l,i]=_2(e.state);Ic[l][i]=Qr(ce,e.state)}}}});var Ji=w(()=>{d0();Zi()});var G2=w(()=>{});var O2=w(()=>{Ji();G2();Zi();Ji()});var W2=w(()=>{O2();ut();Xn()});var lt=w(()=>{Ci();f0();Xn();m0();p0();W2();Ci()});function ft(e,r){let t=[],n=[];for(let f of r.split(`\n`)){let g=f.split(\" \");if(!f.startsWith(\"SetOrder \")){if(f.startsWith(\"Alg \")){let m=I.fromString(f.substring(4)),d=new $e(e);d.reset(),d.applyAlg(m),n.push({alg:m,transformation:d.state})}else if(f.startsWith(\"SubgroupSizes \"))for(var o=1;o<g.length;o++)t.push(parseInt(g[o]))}}let l={ordering:new Array(t.length)},i=[],s=0;i.push(0);let a=I.fromString(\"\"),u=Rr(e);for(let f=0;f<t.length;f++)s+=t[f],i.push(s),n.splice(s-1,0,{alg:a,transformation:u});if(n.length!==s)throw Error(\"Bad sgs; expected \"+(s-t.length)+\" algs but saw \"+(n.length-t.length));let c={};for(let f in e.orbits){let g=e.orbits[f];c[f]=new Array(g.numPieces).fill(!1)}for(let f=t.length-1;f>=0;f--){let g=[];for(let d=i[f];d<i[f+1];d++){let p=n[d].transformation;for(let y in e.orbits){let x=e.orbits[y];for(let F=0;F<x.numPieces;F++)(p[y].permutation[F]!==F||p[y].orientation[F]!==0)&&(c[y][F]||(g.push({orbitName:y,permutationIdx:F}),c[y][F]=!0))}}let m={};for(let d=i[f];d<i[f+1];d++){let p=Qr(e,n[d].transformation),y=\"\";for(let x=0;x<g.length;x++){let F=g[x];y=y+\" \"+p[F.orbitName].permutation[F.permutationIdx]+\" \"+p[F.orbitName].orientation[F.permutationIdx]}m[y]=n[d],n[d].alg=n[d].alg.invert(),n[d].transformation=Qr(e,n[d].transformation)}l.ordering[f]={pieceOrdering:g,lookup:m}}return l}var fo=w(()=>{ye();lt()});var $2={};Oe($2,{cachedData222:()=>Yc,data222:()=>X2});function Yc(){return D(this,null,function*(){return es!=null?es:es=X2()})}function X2(){return D(this,null,function*(){return ft(yield so.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 es,eu=w(()=>{ut();fo();es=null});var t1={};Oe(t1,{cachedMegaminxDefWithoutMO:()=>ai,cachedSGSDataMegaminx:()=>Up,sgsDataMegaminx:()=>r1});function Ep(){return D(this,null,function*(){return gn(\"megaminx\",[\"allmoves\",\"true\",\"rotations\",\"true\"]).writekpuzzle(!0)})}function ai(){return D(this,null,function*(){return ia!=null?ia:ia=Ep()})}function Up(){return D(this,null,function*(){return sa!=null?sa:sa=r1()})}function r1(){return D(this,null,function*(){return ft(yield ai(),`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 ia,sa,aa=w(()=>{ml();fo();ia=null;sa=null});var i1={};Oe(i1,{sgsDataPyraminx:()=>l1,sgsDataPyraminxFixedOrientation:()=>fa});function l1(){return D(this,null,function*(){return ua!=null?ua:ua=zp()})}function fa(){return D(this,null,function*(){return{ordering:(yield l1()).ordering.slice(2)}})}function zp(){return D(this,null,function*(){return ft(yield Ir.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 ua,ca=w(()=>{ut();fo();ua=null});var f1={};Oe(f1,{sgsDataSkewb:()=>u1,sgsDataSkewbFixedCorner:()=>da,skewbDefWithoutMOCached:()=>ui});function Tp(){return D(this,null,function*(){return gn(\"skewb\",[\"allmoves\",\"true\",\"rotations\",\"true\"]).writekpuzzle(!0)})}function ui(){return D(this,null,function*(){return ma!=null?ma:ma=Tp()})}function u1(){return D(this,null,function*(){return pa!=null?pa:pa=_p()})}function da(){return D(this,null,function*(){return{ordering:(yield u1()).ordering.slice(1)}})}function _p(){return D(this,null,function*(){return ft(yield ui(),`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 ma,pa,ha=w(()=>{ml();fo();ma=null;pa=null});var Ca=Symbol(\"Comlink.proxy\"),z1=Symbol(\"Comlink.endpoint\"),M1=Symbol(\"Comlink.releaseProxy\"),di=Symbol(\"Comlink.thrown\"),za=e=>typeof e==\"object\"&&e!==null||typeof e==\"function\",P1={canHandle:e=>za(e)&&e[Ca],serialize(e){let{port1:r,port2:t}=new MessageChannel;return qn(e,r),[t,[t]]},deserialize(e){return e.start(),_1(e)}},I1={canHandle:e=>za(e)&&di in e,serialize({value:e}){let r;return e instanceof Error?r={isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:r={isError:!1,value:e},[r,[]]},deserialize(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}},Ma=new Map([[\"proxy\",P1],[\"throw\",I1]]);function qn(e,r=self){r.addEventListener(\"message\",function t(n){if(!n||!n.data)return;let{id:o,type:l,path:i}=Object.assign({path:[]},n.data),s=(n.data.argumentList||[]).map(wt),a;try{let u=i.slice(0,-1).reduce((f,g)=>f[g],e),c=i.reduce((f,g)=>f[g],e);switch(l){case\"GET\":a=c;break;case\"SET\":u[i.slice(-1)[0]]=wt(n.data.value),a=!0;break;case\"APPLY\":a=c.apply(u,s);break;case\"CONSTRUCT\":{let f=new c(...s);a=O1(f)}break;case\"ENDPOINT\":{let{port1:f,port2:g}=new MessageChannel;qn(e,g),a=G1(f,[f])}break;case\"RELEASE\":a=void 0;break;default:return}}catch(u){a={value:u,[di]:0}}Promise.resolve(a).catch(u=>({value:u,[di]:0})).then(u=>{let[c,f]=Li(u);r.postMessage(Object.assign(Object.assign({},c),{id:o}),f),l===\"RELEASE\"&&(r.removeEventListener(\"message\",t),Pa(r))})}),r.start&&r.start()}function T1(e){return e.constructor.name===\"MessagePort\"}function Pa(e){T1(e)&&e.close()}function _1(e,r){return hi(e,[],r)}function Go(e){if(e)throw new Error(\"Proxy has been released and is not useable\")}function hi(e,r=[],t=function(){}){let n=!1,o=new Proxy(t,{get(l,i){if(Go(n),i===M1)return()=>Zt(e,{type:\"RELEASE\",path:r.map(s=>s.toString())}).then(()=>{Pa(e),n=!0});if(i===\"then\"){if(r.length===0)return{then:()=>o};let s=Zt(e,{type:\"GET\",path:r.map(a=>a.toString())}).then(wt);return s.then.bind(s)}return hi(e,[...r,i])},set(l,i,s){Go(n);let[a,u]=Li(s);return Zt(e,{type:\"SET\",path:[...r,i].map(c=>c.toString()),value:a},u).then(wt)},apply(l,i,s){Go(n);let a=r[r.length-1];if(a===z1)return Zt(e,{type:\"ENDPOINT\"}).then(wt);if(a===\"bind\")return hi(e,r.slice(0,-1));let[u,c]=Ia(s);return Zt(e,{type:\"APPLY\",path:r.map(f=>f.toString()),argumentList:u},c).then(wt)},construct(l,i){Go(n);let[s,a]=Ia(i);return Zt(e,{type:\"CONSTRUCT\",path:r.map(u=>u.toString()),argumentList:s},a).then(wt)}});return o}function N1(e){return Array.prototype.concat.apply([],e)}function Ia(e){let r=e.map(Li);return[r.map(t=>t[0]),N1(r.map(t=>t[1]))]}var Ta=new WeakMap;function G1(e,r){return Ta.set(e,r),e}function O1(e){return Object.assign(e,{[Ca]:!0})}function Li(e){for(let[r,t]of Ma)if(t.canHandle(e)){let[n,o]=t.serialize(e);return[{type:\"HANDLER\",name:r,value:n},o]}return[{type:\"RAW\",value:e},Ta.get(e)||[]]}function wt(e){switch(e.type){case\"HANDLER\":return Ma.get(e.name).deserialize(e.value);case\"RAW\":return e.value}}function Zt(e,r,t){return new Promise(n=>{let o=W1();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},r),t)})}function W1(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join(\"-\")}var K1=typeof globalThis.Worker==\"undefined\"&&typeof globalThis.WorkerNavigator==\"undefined\";function Wa(e){K1?(()=>D(this,null,function*(){let{port:r}=yield Promise.resolve().then(()=>(Oa(),Ga));qn(e,yield r())}))():qn(e)}lt();ut();var Q2=!1;function q2(e){Q2=e}function gr(){if(!Q2)throw new Error(\"Must be called from inside a worker, to avoid impct on page performance. Try importing from the top level of `cubing/solve`?\")}var Xi=null;function j2(){return D(this,null,function*(){if(typeof crypto!=\"undefined\"&&typeof crypto.getRandomValues!=\"undefined\")return crypto.getRandomValues.bind(crypto);{let r=yield Xi!=null?Xi:Xi=import(\"crypto\");return t=>{if(!(t instanceof Uint32Array))throw new Error(\"The getRandomValues() shim only takes unsigned 32-bit int arrays\");for(var n=r.randomBytes(t.length*4),o=[],l=0;l<t.length;l++)o.push((n[l*4+0]<<24)+(n[l*4+1]<<16)+(n[l*4+2]<<8)+(n[l*4+3]<<0));t.set(o)}}})}var K2=9007199254740992,Tc=2097152,_c=2048;function Nc(e){var r=new Uint32Array(2);e(r);var t=r[0],n=r[1];return Math.floor(t*Tc)+Math.floor(n/_c)}function Gc(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>K2)throw new Error(\"Called randomInt.below() with max == \"+e+\", which is larger than Javascript can handle with integer precision.\")}function ar(){return D(this,null,function*(){let e=yield j2(),r=t=>{Gc(t);var n=Nc(e),o=Math.floor(K2/t)*t;return n<o?n%t:r(t)};return r})}function Vr(){return D(this,null,function*(){let e=yield ar();return r=>r[e(r.length)]})}var Oc=ar();function V2(e){return D(this,null,function*(){for(let r=1;r<e.length;r++){let t=(yield Oc)(r);[e[r],e[t]]=[e[t],e[r]]}})}ye();lt();ye();var H2=class extends tn{constructor(r){super();this.metric=r}traverseAlg(r){let t=0;for(let n of r.units())t+=this.traverseUnit(n);return t}traverseGrouping(r){let t=r.alg;return this.traverseAlg(t)*Math.abs(r.amount)}traverseMove(r){return this.metric(r)}traverseCommutator(r){return 2*(this.traverseAlg(r.A)+this.traverseAlg(r.B))}traverseConjugate(r){return 2*this.traverseAlg(r.A)+this.traverseAlg(r.B)}traversePause(r){return 0}traverseNewline(r){return 0}traverseLineComment(r){return 0}};function Wc(e){return\"A\"<=e&&e<=\"Z\"}function Qc(e){let r=e.family;return Wc(r[0])&&r[r.length-1]===\"v\"||r===\"x\"||r===\"y\"||r===\"z\"||r===\"T\"?0:1}var Y2=new H2(Qc),$i=Y2.traverseAlg.bind(Y2);ye();var Z2=class extends tn{traverseAlg(r){let t=0;for(let n of r.units())t+=this.traverseUnit(n);return t}traverseGrouping(r){return this.traverseAlg(r.alg)*Math.abs(r.amount)}traverseMove(r){return 1}traverseCommutator(r){return 2*(this.traverseAlg(r.A)+this.traverseAlg(r.B))}traverseConjugate(r){return 2*this.traverseAlg(r.A)+this.traverseAlg(r.B)}traversePause(r){return 1}traverseNewline(r){return 0}traverseLineComment(r){return 0}},J2=new Z2,qc=J2.traverseAlg.bind(J2);var jc=2,Kc=!0,Vc=!1;function Hc(e,r){let t=[],n=new $e(e);return r.forEach(function(o){let l=new h(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),!ki(e,n.state,Rr(e));i++)t.push({move:l.modified({amount:i}),transformation:n.state})}),t}var Hr=class{constructor(r,t,n){this.def=r;this.sgs=t;this.searchMoves=Hc(this.def,n!=null?n:Object.keys(this.def.moves))}solve(o){return D(this,arguments,function*(r,t=jc,n){let l=null;var i=1e6;let s=(u,c,f)=>{if(c===0){let g=this.sgsPhaseSolve(u,i);if(!g)return;let m=f.concat(g).simplify({collapseMoves:!0,quantumMoveOrder:n}),d=$i(m);(l===null||d<i)&&(Vc&&(console.log(`New best (${d} moves): ${m}`),console.log(`Tremble moves are: ${f}`)),l=m,i=d);return}for(let g of this.searchMoves)s(sr(this.def,u,g.transformation),c-1,f.concat([g.move]))};for(var a=0;a<=t;a++)s(r,a,new I);if(l===null)throw new Error(\"SGS search failed.\");return l})}sgsPhaseSolve(r,t){let n=new cr,o=r;for(let l of this.sgs.ordering){let i=l.pieceOrdering,s=\"\",a=Qr(this.def,o);for(let c=0;c<i.length;c++){let f=i[c],g=f.orbitName,m=f.permutationIdx;s+=\" \"+a[g].permutation[m]+\" \"+a[g].orientation[m]}let u=l.lookup[s];if(!u)throw new Error(\"Missing algorithm in sgs or esgs?\");if(n.experimentalPushAlg(u.alg),n.experimentalNumUnits()>=t)return null;if(o=sr(this.def,o,u.transformation),Kc)for(let c=0;c<i.length;c++){let f=i[c],g=f.orbitName,m=f.permutationIdx;if(o[g].permutation[m]!==m||o[g].orientation[m]!==0)throw new Error(\"bad SGS :-(\")}}return n.toAlg()}};function pl(e,r){return D(this,null,function*(){let t=yield Vr(),n=Rr(e);for(let o of r.ordering){let l=t(Object.values(o.lookup));n=sr(e,n,l.transformation)}return n})}var Zc=3,ru=null;function tu(){return D(this,null,function*(){return ru||(ru=(()=>D(this,null,function*(){let e=yield(yield Promise.resolve().then(()=>(eu(),$2))).cachedData222();return new Hr(yield Ir[\"2x2x2\"].def(),e,\"URFLBD\".split(\"\"))}))())})}function nu(){return D(this,null,function*(){yield tu()})}function rs(e){return D(this,null,function*(){return gr(),yield(yield tu()).solve(e,Zc,()=>4)})}function Jc(e,r,t,n){return D(this,null,function*(){let o=yield ar();yield V2(t[r].permutation);let l=e.orbits[r],i=t[r].orientation,s=0;for(let a=0;a<l.numPieces;a++){let u=yield o(l.orientations);i[a]=u,s+=u}n&&\"orientationSum\"in n&&(i[0]=((i[0]+n.orientationSum-s)%l.orientations+l.orientations)%l.orientations)})}function Xc(){return D(this,null,function*(){let e=yield Ir[\"2x2x2\"].def(),r=Object.assign({},e),t=new $e(r),n=JSON.parse(JSON.stringify(t.state));return yield Jc(r,\"CORNERS\",n,{orientationSum:0}),n})}function ou(){return D(this,null,function*(){return yield rs(yield Xc())})}ye();lt();ut();ye();function pn(e,r){return D(this,null,function*(){let t=new cr;t.experimentalPushAlg(e);for(let n of r){let o=(yield Vr())(n);o!==null&&t.push(h.fromString(o))}return t.toAlg()})}var ie={3:1},Ke=4194303,ct=1048575,$c=524288,ts=65536,Ee=65535,De={11:1,3:1},ke={17:1,3:1},ns=14540032,co=286331153,oe={10:1,3:1},H,dl={};function lu(){}function eg(e){function r(){}return r.prototype=e||{},new r}function rg(e){return e instanceof Array?e[0]:null}function hl(){}function go(e,r,t){var n=dl,o=tg,l=rg,i=n[e],s=l(i);i&&!s?H=i:(H=n[e]=r?o(r):{},H.castableTypeMap$=t,H.constructor=H,!r&&(H.typeMarker$=lu));for(var a=3;a<arguments.length;++a)arguments[a].prototype=H;s&&(H.___clazz$=s)}function tg(e){var r=dl;return eg(r[e])}function iu(){}go(1,null,{},iu);function ng(e,r){return og(e)&&!!stringCastMap[r]||e.castableTypeMap$&&!!e.castableTypeMap$[r]}function os(e,r){return e!=null&&ng(e,r)}function og(e){return typeof e==\"string\"}function Ll(e){return e<<24>>24}function ls(){++ag,this.typeName=null,this.simpleName=null,this.packageName=null,this.compoundName=null,this.canonicalName=null,this.typeId=null,this.arrayLiterals=null}function is(e,r){var t;return t=new ls,t.packageName=e,t.compoundName=r,t}function Tr(e,r,t){var n;return n=is(e,r),sg(t,n),n}function lg(e,r){var t;return t=is(e,r),t.modifiers=2,t}function Al(e,r){var t;return t=is(\"\",e),t.typeId=r,t.modifiers=1,t}function su(e,r){var t=e.arrayLiterals=e.arrayLiterals||[];return t[r]||(t[r]=e.createClassLiteralForArray(r))}function ig(e){if(e.isPrimitive())return null;var r=e.typeId,t=dl[r];return t}function sg(e,r){var t;if(!!e){r.typeId=e;var n=ig(r);if(!n){dl[e]=[r];return}n.___clazz$=r}}go(79,1,{},ls);H.createClassLiteralForArray=function(r){var t;return t=new ls,t.modifiers=4,r>1?t.componentType=su(this,r-1):t.componentType=this,t};H.isPrimitive=function(){return(this.modifiers&1)!=0};var ag=1;function ss(){ss=hl,NOT_SET=new iu}function ug(e){ss(),this.cause=null,this.detailMessage=null,this.description=\"\",this.e=e,this.description=\"\"}function X(e,r){return su(e,r)}function J(e,r,t,n,o,l){var i;return i=uu(o,n),$(X(e,l),r,t,o,i),i}function Ve(e,r,t,n,o,l){return au(e,r,t,n,o,0,l)}function au(e,r,t,n,o,l,i){var s,a,u,c,f;if(c=o[l],u=l==i-1,s=u?n:0,f=uu(s,c),$(X(e,i-l),r[l],t[l],s,f),!u)for(++l,a=0;a<c;++a)f[a]=au(e,r,t,n,o,l,i);return f}function $(e,r,t,n,o){return o.___clazz$=e,o.castableTypeMap$=r,o.typeMarker$=lu,o.__elementTypeId$=t,o.__elementTypeCategory$=n,o}function uu(e,r){var t=new Array(r),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 t}for(var o=0;o<r;++o)t[o]=n;return t}function fg(e){var r;return os(e,26)&&(r=dynamicCast(e,26),maskUndefined(r.e)!==maskUndefined((ss(),NOT_SET)))?maskUndefined(r.e)===maskUndefined(NOT_SET)?null:r.e:e}function cg(e){var r;return os(e,6)?e:(r=e&&e.__gwt$exception,r||(r=new ug(e)),r)}function fu(e){var r,t,n;return r=e&Ke,t=e>>22&Ke,n=e<0?ct:0,gg(r,t,n)}function gg(e,r,t){return{l:e,m:r,h:t}}function mg(e,r){var t,n,o;return t=e.l+r.l,n=e.m+r.m+(t>>22),o=e.h+r.h+(n>>22),{l:t&Ke,m:n&Ke,h:o&ct}}function Fr(e,r){return{l:e.l&r.l,m:e.m&r.m,h:e.h&r.h}}function as(e){var r,t;return e>-129&&e<128?(r=e+128,Dl==null&&(Dl=J(jg,ie,293,256,0,1)),t=Dl[r],!t&&(t=Dl[r]=fu(e)),t):fu(e)}function cu(e,r){var t,n;return t=e.h>>19,n=r.h>>19,t==0?n!=0||e.h>r.h||e.h==r.h&&e.m>r.m||e.h==r.h&&e.m==r.m&&e.l>=r.l:!(n==0||e.h<r.h||e.h==r.h&&e.m<r.m||e.h==r.h&&e.m==r.m&&e.l<r.l)}function Rl(e,r){return e.l!=r.l||e.m!=r.m||e.h!=r.h}function us(e,r){return{l:e.l|r.l,m:e.m|r.m,h:e.h|r.h}}function yl(e,r){var t,n,o;return r&=63,r<22?(t=e.l<<r,n=e.m<<r|e.l>>22-r,o=e.h<<r|e.m>>22-r):r<44?(t=0,n=e.l<<r-22,o=e.m<<r-22|e.l>>44-r):(t=0,n=0,o=e.l<<r-44),{l:t&Ke,m:n&Ke,h:o&ct}}function gt(e,r){var t,n,o,l,i;return r&=63,t=e.h,n=(t&$c)!=0,n&&(t|=-1048576),r<22?(i=t>>r,l=e.m>>r|t<<22-r,o=e.l>>r|e.m<<22-r):r<44?(i=n?ct:0,l=t>>r-22,o=e.m>>r-22|t<<44-r):(i=n?ct:0,l=n?Ke:0,o=t>>r-44),{l:o&Ke,m:l&Ke,h:i&ct}}function gu(e,r){var t,n,o;return t=e.l-r.l,n=e.m-r.m+(t>>22),o=e.h-r.h+(n>>22),{l:t&Ke,m:n&Ke,h:o&ct}}function Tt(e){return e.l|e.m<<22}var Dl;function pg(e){this.string=e}function mt(e,r){return e>r?e:r}function fs(e,r){return e<r?e:r}function dg(e,r){return e.indexOf(r)}function hg(e){return Lg(e,0,e.length)}function Lg(e,r,t){for(var n=\"\",o=r;o<t;){var l=Math.min(o+1e4,t);n+=String.fromCharCode.apply(null,e.slice(o,l)),o=l}return n}function Ag(e){var r,t;return e>=ts?(r=55296+(e-ts>>10&1023)&Ee,t=56320+(e-ts&1023)&Ee,valueOf_0(r)+valueOf_0(t)):String.fromCharCode(e&Ee)}var Rg=Tr(\"java.lang\",\"String\",2);function mu(e){return e.string+=\" \",e}function cs(e,r){return e.string+=r,e}function yg(){pg.call(this,\"\")}function Fl(e,r){var t;if(e===r)return!0;if(e.length!=r.length)return!1;for(t=0;t<e.length;++t)if(e[t]!=r[t])return!1;return!0}function pt(){pt=hl,ht=Ve(Fe,[ie,De],[11,0],7,[495,18],2),Dn=Ve(Fe,[ie,De],[11,0],7,[324,18],2),An=Ve(Fe,[ie,De],[11,0],7,[336,18],2),dt=Ve(Fe,[ie,De],[11,0],7,[495,8],2),vl=J(Ce,ke,0,20048,7,1),bl=J(Ce,ke,0,20791,7,1),yn=J(Ce,ke,0,82945,7,1),dn=Ve(Fe,[ie,De],[11,0],7,[2768,10],2),Ln=Ve(Fe,[ie,De],[11,0],7,[2768,10],2),Rn=Ve(Fe,[ie,De],[11,0],7,[24,10],2),ho=Ve(Fe,[ie,De],[11,0],7,[24,16],2),_t=Ve(Fe,[ie,De],[11,0],7,[140,16],2),Bl=J(Ce,ke,0,8305,7,1),hn=J(Ce,ke,0,48441,7,1)}function Dg(e,r,t){return e.slice_0=ht[r.slice_0][t],e.flip=An[r.flip][(Y(),Gt)[t<<3|r.fsym]],e.fsym=e.flip&7^r.fsym,e.flip>>=3,e.twist=Dn[r.twist][Gt[t<<3|r.tsym]],e.tsym=e.twist&7^r.tsym,e.twist>>=3,e.prun=mt(mt(rr(vl,e.twist*495+dt[e.slice_0][e.tsym]),rr(bl,e.flip*495+dt[e.slice_0][e.fsym])),rr(yn,e.twist<<11|Rt[e.flip<<3|e.fsym^e.tsym])),e.prun}function Fg(e,r,t){return t=(Y(),Ro)[3][t],e.flipc=An[r.flipc>>3][Gt[t<<3|r.flipc&7]]^r.flipc&7,e.twistc=Dn[r.twistc>>3][Gt[t<<3|r.twistc&7]]^r.twistc&7,rr(yn,e.twistc>>3<<11|Rt[e.flipc^e.twistc&7])}function pu(e,r,t){var n;return e.twist=(Y(),yo)[El(r)],e.flip=Nt[wl(r)],e.tsym=e.twist&7,e.twist=e.twist>>3,e.prun=rr(yn,e.twist<<11|Rt[e.flip^e.tsym]),e.prun>t||(e.fsym=e.flip&7,e.flip=e.flip>>3,e.slice_0=494-bn(r.ea,8,!0),e.prun=mt(e.prun,mt(rr(vl,e.twist*495+dt[e.slice_0][e.tsym]),rr(bl,e.flip*495+dt[e.slice_0][e.fsym]))),e.prun>t)?!1:(n=new ge,Lo(r,1,n),Ao(r,1,n),e.twistc=yo[El(n)],e.flipc=Nt[wl(n)],e.prun=mt(e.prun,rr(yn,e.twistc>>3<<11|Rt[e.flipc^e.twistc&7])),e.prun<=t)}function mo(){pt()}function rr(e,r){return pt(),e[r>>3]>>(r<<2)&15}function du(e){pt(),!(xl==2||xl==1&&!e)&&(xl==0&&(Pg(),Bg(),vg(),Sg(),bg(),Y(),Ls(2048,As,Nt,Du=J(Fe,De,0,336,7,1),0),Ls(2187,Fs,yo,Ds=J(Fe,De,0,324,7,1),1),xg(),wg(),Eg()),po(Bl,Rn,ho,dn,(Y(),ys),584244,e),po(hn,gs,_t,Ln,ys,514084,e),po(vl,ht,dt,Dn,Ds,431619,e),po(bl,ht,dt,An,Du,431619,e),po(yn,null,null,Dn,Ds,103939,e),xl=e?2:1)}function Bg(){var e,r,t,n;for(e=new ge,r=new ge,t=0;t<2768;t++)for(Cg(e,(Y(),Fn)[t]),n=0;n<10;n++)Lt(e,me[(Ge(),br)[n]],r),dn[t][n]=Cl(Zr[nr(r.ca,8,!1)])&Ee}function bg(){var e,r,t,n,o;for(e=new ge,r=new ge,gs=Ve(Fe,[ie,De],[11,0],7,[140,10],2),t=0;t<140;t++){for(wu(e.ca,t%70,0,!1),o=0;o<10;o++)Lt(e,(Y(),me)[(Ge(),br)[o]],r),gs[t][o]=bn(r.ca,0,!1)+70*(165>>o&1^~~(t/70))&Ee;for(n=0;n<16;n++)Lo(e,(Y(),tr)[0][n],r),_t[t][n]=bn(r.ca,0,!1)+70*~~(t/70)&Ee}}function vg(){var e,r,t,n;for(e=new ge,r=new ge,t=0;t<2768;t++)for(Au(e,(Y(),Fn)[t]),n=0;n<10;n++)mr(e,me[(Ge(),br)[n]],r),Ln[t][n]=Zr[nr(r.ea,8,!0)]}function xg(){var e,r,t,n;for(e=new ge,r=new ge,t=0;t<336;t++)for(ds(e,(Y(),As)[t]),n=0;n<18;n++)mr(e,me[n],r),An[t][n]=Nt[wl(r)]}function Sg(){var e,r,t,n,o;for(e=new ge,r=new ge,t=0;t<24;t++){for(Ot(e.ea,t,12,!0),o=0;o<10;o++)mr(e,(Y(),me)[(Ge(),br)[o]],r),Rn[t][o]=nr(r.ea,12,!0)%24&Ee;for(n=0;n<16;n++)Ao(e,(Y(),tr)[0][n],r),ho[t][n]=nr(r.ea,12,!0)%24&Ee}}function po(e,r,t,n,o,l,i){var s,a,u,c,f,g,m,d,p,y,x,F,S,_,P,ee,O,q,ae,ve,v,k,U,M,T,Ae,ue,Re,pe,fe,L,E,N,B,b,C,G;if(S=l&15,x=(l>>4&1)==1?ns:0,u=(l>>5&1)==1,s=l>>8&15,c=l>>12&15,f=l>>16&15,y=i?c:f,F=(1<<S)-1,a=r==null,d=a?2048:r.length,p=d*n.length,m=u?10:18,g=m==10?66:599186,P=(e[p>>3]>>(p<<2)&15)-1,ee=0,P==-1){for(ae=0;ae<~~(p/8)+1;ae++)e[ae]=co;e[0]^=1,P=0,ee=1}for(;P<y;){for(Ae=(P+1)*co^-1,ve=0;ve<e.length;ve++)C=e[ve]^Ae,C&=C>>1,e[ve]+=C&C>>2&co;for(U=P>s,L=U?P+2:P,fe=L*co,_=U?P:P+2,++P,G=P^P+1,b=0,ae=0;ae<p;++ae,b>>=4){if((ae&7)==0&&(b=e[ae>>3],((b^fe)-co&~(b^fe)&-2004318072)==0)){ae+=7;continue}if((b&15)==L)for(Re=ae%d,E=~~(ae/d),O=0,q=0,a&&(O=(Y(),Nt)[Re],q=O&7,O>>=3),T=0;T<m;T++){if(B=n[E][T],a?pe=(Y(),Rt)[An[O][Gt[T<<3|q]]^q^B&F]:pe=t[r[Re][T]][B&F],B>>=S,v=B*d+pe,ue=e[v>>3]>>(v<<2)&15,ue!=_){ue<P-1&&(T+=g>>T&3);continue}if(++ee,U){e[ae>>3]^=G<<(ae<<2);break}for(e[v>>3]^=G<<(v<<2),M=1,N=o[B];(N>>=1)!=0;M++)(N&1)==1&&(k=B*d,a?k+=(Y(),Rt)[Nt[pe]^M]:k+=t[pe][M^x>>(M<<1)&3],(e[k>>3]>>(k<<2)&15)==_&&(e[k>>3]^=G<<(k<<2),++ee))}}}}function wg(){var e,r,t,n;for(e=new ge,r=new ge,t=0;t<324;t++)for(hs(e,(Y(),Fs)[t]),n=0;n<18;n++)Lt(e,me[n],r),Dn[t][n]=yo[El(r)]}function Eg(){var e,r,t,n,o,l,i,s;for(e=new ge,r=new ge,n=0;n<495;n++){for(wu(e.ea,494-n,8,!0),l=0;l<18;l+=3)mr(e,(Y(),me)[l],r),ht[n][l]=494-bn(r.ea,8,!0)&Ee;for(o=0;o<16;o+=2)Ao(e,(Y(),tr)[0][o],r),dt[n][o>>1]=494-bn(r.ea,8,!0)&Ee}for(t=0;t<495;t++)for(o=0;o<18;o+=3)for(s=ht[t][o],i=1;i<3;i++)s=ht[s][o],ht[t][o+i]=s&Ee}go(31,1,{31:1},mo);H.flip=0;H.flipc=0;H.fsym=0;H.prun=0;H.slice_0=0;H.tsym=0;H.twist=0;H.twistc=0;var _t,gs,dn,hn,Ln,An,Bl,ho,Rn,yn,Dn,dt,bl,ht,vl,xl=0,Sl=Tr(\"org.cubing.min2phase.client\",\"CoordCube\",31);function Y(){Y=hl,Yr=J(Do,ie,7,16,0,1),me=J(Do,ie,7,18,0,1),Ml=J(Kg,ie,0,18,6,1),Bs=J(Ce,ke,0,48,7,1),Jr=Ve(Ce,[ie,ke],[17,0],7,[16,16],2),tr=Ve(Ce,[ie,ke],[17,0],7,[16,16],2),Ro=Ve(Ce,[ie,ke],[17,0],7,[16,18],2),Gt=J(Ce,ke,0,144,7,1),yt=Ve(Ce,[ie,ke],[17,0],7,[16,18],2),As=J(Fe,De,0,336,7,1),Fs=J(Fe,De,0,324,7,1),Fn=J(Fe,De,0,2768,7,1),Bn=J(re,oe,0,2768,7,1),Rs=J(Fe,De,0,2768,7,1),zl=J(re,oe,0,24,7,1),Nt=J(Fe,De,0,2048,7,1),yo=J(Fe,De,0,2187,7,1),Zr=J(Fe,De,0,40320,7,1),Rt=J(Fe,De,0,2688,7,1),bs=new Br(2531,1373,67026819,1367),vs=new Br(2089,1906,322752913,2040),Pl=$(X(re,2),ie,10,0,[$(X(re,1),oe,0,7,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),$(X(re,1),oe,0,7,[6,7,8,0,1,2,3,4,5,15,16,17,9,10,11,12,13,14]),$(X(re,1),oe,0,7,[3,4,5,6,7,8,0,1,2,12,13,14,15,16,17,9,10,11]),$(X(re,1),oe,0,7,[2,1,0,5,4,3,8,7,6,11,10,9,14,13,12,17,16,15]),$(X(re,1),oe,0,7,[8,7,6,2,1,0,5,4,3,17,16,15,11,10,9,14,13,12]),$(X(re,1),oe,0,7,[5,4,3,8,7,6,2,1,0,14,13,12,17,16,15,11,10,9])]),Mg(),Ig()}function ms(e){e.ca=$(X(re,1),oe,0,7,[0,1,2,3,4,5,6,7]),e.ea=$(X(re,1),oe,0,7,[0,2,4,6,8,10,12,14,16,18,20,22])}function hu(e){!e.temps&&(e.temps=new ge),Lt(vs,e,e.temps),Lt(e.temps,bs,e),mr(vs,e,e.temps),mr(e.temps,bs,e)}function ps(e,r){var t,n;for(n=0;n<8;n++)e.ca[n]=r.ca[n];for(t=0;t<12;t++)e.ea[t]=r.ea[t]}function Ug(e){return Cl(Zr[nr(e.ca,8,!1)])}function kg(e){return Zr[nr(e.ea,8,!0)]}function wl(e){var r,t;for(t=0,r=0;r<11;r++)t=t<<1|e.ea[r]&1;return t}function El(e){var r,t;for(t=0,r=0;r<7;r++)t+=(t<<1)+(e.ca[r]>>3);return t}function Ul(e){var r,t;for(!e.temps&&(e.temps=new ge),t=0;t<12;t++)e.temps.ea[e.ea[t]>>1]=(t<<1|e.ea[t]&1)<<24>>24;for(r=0;r<8;r++)e.temps.ca[e.ca[r]&7]=(r|32>>(e.ca[r]>>3)&24)<<24>>24;ps(e,e.temps)}function Lu(e){var r,t,n,o,l,i,s;for(r=new Ru(e),o=new ge,t=Cl(Zr[nr(r.ca,8,!1)])>>4,i={l:0,m:0,h:0},s=0;s<6;s++){if(n=Cl(Zr[nr(r.ca,8,!1)])>>4,t==n)for(l=0;l<16;l++)Lo(r,tr[0][l],o),Fl(o.ca,e.ca)&&(Ao(r,tr[0][l],o),Fl(o.ea,e.ea)&&(i=us(i,yl({l:1,m:0,h:0},(s<<4|l)<48?s<<4|l:48))));hu(r),s%3==2&&Ul(r)}return i}function Cg(e,r){Ot(e.ca,r,8,!1)}function Au(e,r){Ot(e.ea,r,8,!0)}function ds(e,r){var t,n,o;for(n=0,t=10;t>=0;--t,r>>=1)n^=o=r&1,e.ea[t]=(e.ea[t]&-2|o)<<24>>24;e.ea[11]=(e.ea[11]&-2|n)<<24>>24}function hs(e,r){var t,n,o;for(n=15,t=6;t>=0;--t,r=~~(r/3))n-=o=r%3,e.ca[t]=(e.ca[t]&7|o<<3)<<24>>24;e.ca[7]=(e.ca[7]&7|n%3<<3)<<24>>24}function zg(e){var r,t,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(t=0,l=0,r=0;r<8;r++)t|=1<<(e.ca[r]&7),l+=e.ca[r]>>3;return t!=255?-4:l%3!=0?-5:(Ss(nr(e.ea,12,!0),12)^Ss(nr(e.ca,8,!1),8))!=0?-6:0}function Lo(e,r,t){Y();var n,o,l,i,s,a;for(a=Yr[tr[0][r]],s=Yr[r],n=0;n<8;n++)l=a.ca[e.ca[s.ca[n]&7]&7]>>3,i=e.ca[s.ca[n]&7]>>3,o=l<3?i:(3-i)%3,t.ca[n]=(a.ca[e.ca[s.ca[n]&7]&7]&7|o<<3)<<24>>24}function Lt(e,r,t){Y();var n,o,l;for(n=0;n<8;n++)o=e.ca[r.ca[n]&7]>>3,l=r.ca[n]>>3,t.ca[n]=(e.ca[r.ca[n]&7]&7|(o+l)%3<<3)<<24>>24}function kl(e,r,t){var n,o,l,i;for(n=0;n<8;n++)l=e.ca[r.ca[n]&7]>>3,i=r.ca[n]>>3,o=l+(l<3?i:6-i),o=o%3+(l<3==i<3?0:3),t.ca[n]=(e.ca[r.ca[n]&7]&7|o<<3)<<24>>24}function ge(){Y(),ms(this)}function Br(e,r,t,n){ms(this),Ot(this.ca,e,8,!1),hs(this,r),Ot(this.ea,t,12,!0),ds(this,n)}function Ru(e){ms(this),ps(this,e)}function Cl(e){return Y(),e^ns>>((e&15)<<1)&3}function Ao(e,r,t){Y();var n,o,l;for(l=Yr[tr[0][r]],o=Yr[r],n=0;n<12;n++)t.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 mr(e,r,t){Y();var n;for(n=0;n<12;n++)t.ea[n]=(e.ea[r.ea[n]>>1]^r.ea[n]&1)<<24>>24}function At(e,r,t){Y();var n;return n=Rs[e],t&&(n=n^ns>>((n&15)<<1)&3),n&65520|Jr[n&15][r]}function yu(e){Y();var r,t;for(t=0,r=1;Rl(e=gt(e,1),{l:0,m:0,h:0});r++)eq(Fr(e,{l:1,m:0,h:0}),{l:1,m:0,h:0})&&(t|=Bs[r]);return t}function Mg(){var e,r;for(me[0]=new Br(15120,0,119750400,0),me[3]=new Br(21021,1494,323403417,0),me[6]=new Br(8064,1236,29441808,550),me[9]=new Br(9,0,5880,0),me[12]=new Br(1230,412,2949660,0),me[15]=new Br(224,137,328552,137),e=0;e<18;e+=3)for(r=0;r<2;r++)me[e+r+1]=new ge,mr(me[e+r],me[e],me[e+r+1]),Lt(me[e+r],me[e],me[e+r+1])}function Pg(){Y();var e,r,t;for(Ls(40320,Fn,Zr,ys=J(Fe,De,0,2768,7,1),2),e=new ge,t=0;t<2768;t++)Au(e,Fn[t]),Bn[t]=bn(e.ea,0,!0)+Ss(Fn[t],8)*70<<24>>24,Ul(e),Rs[t]=Zr[nr(e.ea,8,!0)];for(r=0;r<24;r++)Ot(e.ea,r,12,!0),Ul(e),zl[r]=nr(e.ea,12,!0)%24<<24>>24}function Ig(){var e,r,t,n,o,l,i,s,a,u,c,f,g,m,d,p;for(e=new ge,r=new ge,t=new Br(28783,0,259268407,0),p=new Br(15138,0,119765538,7),f=new Br(5167,0,83473207,0),o=0;o<8;o++)f.ca[o]=Ll(f.ca[o]|24);for(l=0;l<16;l++)Yr[l]=new Ru(e),kl(e,p,r),mr(e,p,r),d=r,r=e,e=d,l%4==3&&(kl(d,f,r),mr(d,f,r),d=r,r=e,e=d),l%8==7&&(kl(d,t,r),mr(d,t,r),d=r,r=e,e=d);for(i=0;i<16;i++)for(a=0;a<16;a++)for(kl(Yr[i],Yr[a],e),c=0;c<16;c++)if(Fl(Yr[c].ca,e.ca)){Jr[i][a]=c,tr[c][a]=i;break}for(u=0;u<18;u++)for(m=0;m<16;m++){for(Lo(me[u],tr[0][m],e),g=0;g<18;g++)if(Fl(me[g].ca,e.ca)){Ro[m][u]=g,yt[m][(Ge(),vn)[u]]=vn[g];break}m%2==0&&(Gt[u<<3|m>>1]=Ro[m][u])}for(n=0;n<18;n++)for(Ml[n]=Lu(me[n]),s=n,m=0;m<48;m++)Ro[m%16][s]<n&&(Bs[m]|=1<<n),m%16==15&&(s=Pl[2][s])}function Ls(e,r,t,n,o){Y();var l,i,s,a,u,c,f,g,m;for(l=new ge,s=new ge,i=0,u=0,m=o>=2?1:2,c=o!=1,a=0;a<e;a++)if(t[a]==0){switch(o){case 0:ds(l,a);break;case 1:hs(l,a);break;case 2:Ot(l.ea,a,8,!0)}for(f=0;f<16;f+=m){switch(c?Ao(l,f,s):Lo(l,f,s),o){case 0:u=wl(s);break;case 1:u=El(s);break;case 2:u=nr(s.ea,8,!0)}o==0&&(Rt[i<<3|f>>1]=u&Ee),u==a&&(n[i]=(n[i]|1<<~~(f/m))&Ee),g=~~((i<<4|f)/m),t[u]=g&Ee}r[i++]=a&Ee}return i}var Yr,Zr,Fn,Nt,As,Rt,zl,Bn,Rs,Gt,Ro,yt,Jr,tr,Du,ys,Ds,yo,Fs,Bs,me,Ml,bs,vs,Pl,Do=Tr(\"org.cubing.min2phase.client\",\"CubieCube\",7);function Tg(e,r,t,n,o,l,i,s){var a,u,c,f,g;if(f=mt(rr((pt(),hn),(i>>4)*140+_t[(Y(),Bn)[s>>4]&255][tr[i&15][s&15]]),mt(rr(hn,n*140+_t[Bn[r]&255][tr[o][t]]),rr(Bl,r*24+ho[l][t]))),f>e.maxDep2)return f-e.maxDep2;for(a=e.maxDep2;a>=f&&(g=bu(e,n,o,r,t,l,a,e.depth1,10),!(g<0));a--){for(a-=g,e.solLen=0,e.solution=new Uu,qg(e.solution,e.verbose,e.urfIdx,e.depth1),c=0;c<e.depth1+a;c++)Eu(e.solution,e.move[c]);for(u=e.preMoveLen-1;u>=0;u--)Eu(e.solution,e.preMoves[u]);e.solLen=e.solution.length_0}return a!=e.maxDep2?(e.maxDep2=fs(xu,e.solLen-e.length1-1),cu(e.probe,e.probeMin)?0:1):1}function _g(e){var r,t,n,o,l,i,s,a,u,c,f,g,m,d,p;if(e.isRec=!1,cu(e.probe,e.solution?e.probeMin:e.probeMax))return 0;for(e.probe=mg(e.probe,{l:1,m:0,h:0}),n=e.valid1;n<e.depth1;n++)Lt(e.phase1Cubie[n],(Y(),me)[e.move[n]],e.phase1Cubie[n+1]),mr(e.phase1Cubie[n],me[e.move[n]],e.phase1Cubie[n+1]);for(e.valid1=e.depth1,s=Ug(e.phase1Cubie[e.depth1]),a=s&15,s>>=4,u=kg(e.phase1Cubie[e.depth1]),c=u&15,u>>=4,f=nr(e.phase1Cubie[e.depth1].ea,12,!0)%24,t=At(u,c,!1),r=At(s,a,!0),o=e.depth1==0?-1:e.move[e.depth1-1],l=e.preMoveLen==0?-1:e.preMoves[e.preMoveLen-1],p=0,d=(e.preMoveLen==0?1:2)*(e.depth1==0?1:2),g=0,m=(1<<d)-1;g<d;g++){if((m>>g&1)!=0){if(m&=~(1<<g),p=Tg(e,s,a,u,c,f,t,r),p==0||p>2)break;p==2&&(m&=4<<g)}if(m==0)break;(g&1)==0&&e.depth1>0?(i=(Ge(),vn)[~~(o/3)*3+1],e.move[e.depth1-1]=br[i]*2-e.move[e.depth1-1],f=(pt(),Rn)[f][i],s=dn[s][(Y(),yt)[a][i]],a=Jr[s&15][a],s>>=4,u=Ln[u][yt[c][i]],c=Jr[u&15][c],u>>=4,r=At(s,a,!0),t=At(u,c,!1)):e.preMoveLen>0&&(i=(Ge(),vn)[~~(l/3)*3+1],e.preMoves[e.preMoveLen-1]=br[i]*2-e.preMoves[e.preMoveLen-1],f=(Y(),zl)[(pt(),Rn)[zl[f]][i]],s=dn[r>>4][yt[r&15][i]],r=s&-16|Jr[s&15][r&15],s=At(r>>4,r&15,!0),a=s&15,s>>=4,u=Ln[t>>4][yt[t&15][i]],t=u&-16|Jr[u&15][t&15],u=At(t>>4,t&15,!1),c=u&15,u>>=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 Ng(e){var r;for(e.conjMask=0,e.selfSym=Lu(e.cc),e.conjMask|=Rl(Fr(gt(e.selfSym,16),{l:Ee,m:0,h:0}),{l:0,m:0,h:0})?18:0,e.conjMask|=Rl(Fr(gt(e.selfSym,32),{l:Ee,m:0,h:0}),{l:0,m:0,h:0})?36:0,e.conjMask|=Rl(Fr(gt(e.selfSym,48),{l:Ee,m:0,h:0}),{l:0,m:0,h:0})?56:0,e.selfSym=Fr(e.selfSym,{l:Ke,m:Ke,h:15}),e.maxPreMoves=e.conjMask>7?0:20,r=0;r<6;r++)ps(e.urfCubieCube[r],e.cc),pu(e.urfCoordCube[r],e.urfCubieCube[r],20),hu(e.cc),r%3==2&&Ul(e.cc)}function Fu(e,r,t,n,o){var l,i,s,a,u,c;if(r.prun==0&&n<5)return e.allowShorter||n==0?(e.depth1-=n,u=_g(e),e.depth1+=n,u):1;for(c=yu(as(t)),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]||c!=0&&(c&1<<i)!=0)){if(a=Dg(e.nodeUD[n],r,i),a>n)break;if(a==n)continue;if(a=Fg(e.nodeUD[n],r,i),a>n)break;if(a==n)continue;if(e.move[e.depth1-n]=i,e.valid1=fs(e.valid1,e.depth1-n),u=Fu(e,e.nodeUD[n],t&Tt((Y(),Ml)[i]),n-1,l),u==0)return 0;if(u>=2)break}}return 1}function Bu(e,r,t,n,o){var l,i,s;if(e.preMoveLen=e.maxPreMoves-r,(e.isRec?e.depth1==e.length1-e.preMoveLen:e.preMoveLen==0||(225207>>t&1)==0)&&(e.depth1=e.length1-e.preMoveLen,e.phase1Cubie[0]=n,e.allowShorter=e.depth1==xs&&e.preMoveLen!=0,pu(e.nodeUD[e.depth1+1],n,e.depth1)&&Fu(e,e.nodeUD[e.depth1+1],o,e.depth1,-1)==0))return 0;if(r==0||e.preMoveLen+xs>=e.length1)return 1;for(s=yu(as(o)),(r==1||e.preMoveLen+1+xs>=e.length1)&&(s|=225207),t=~~(t/3)*3,l=0;l<18;l++){if(l==t||l==t-9||l==t+9){l+=2;continue}if(!(e.isRec&&l!=e.preMoves[e.maxPreMoves-r]||(s&1<<l)!=0)&&(Lt((Y(),me)[l],n,e.preMoveCubes[r]),mr(me[l],n,e.preMoveCubes[r]),e.preMoves[e.maxPreMoves-r]=l,i=Bu(e,r-1,l,e.preMoveCubes[r],o&Tt(Ml[l])),i==0))return 0}return 1}function bu(e,r,t,n,o,l,i,s,a){var u,c,f,g,m,d,p,y,x,F,S;if(r==0&&n==0&&l==0)return i;for(x=(Ge(),Fo)[a],p=0;p<10;p++){if((x>>p&1)!=0){p+=66>>p&3;continue}if(y=(pt(),Rn)[l][p],c=dn[n][(Y(),yt)[o][p]],f=Jr[c&15][o],c>>=4,m=Ln[r][yt[t][p]],d=Jr[m&15][t],m>>=4,g=At(m,d,!1),u=At(c,f,!0),F=rr(hn,(g>>4)*140+_t[Bn[u>>4]&255][tr[g&15][u&15]]),F>i+1)return i-F+1;if(F>=i){p+=66>>p&3&i-F;continue}if(F=mt(rr(Bl,c*24+ho[y][f]),rr(hn,m*140+_t[Bn[c]&255][tr[d][f]])),F>=i){p+=66>>p&3&i-F;continue}if(S=bu(e,m,d,c,f,y,i-1,s+1,p),S>=0)return e.move[s]=br[p],S;if(S<-2)break;S<-1&&(p+=66>>p&3)}return-1}function Gg(e){for(e.length1=e.isRec?e.length1:0;e.length1<e.solLen;e.length1++)for(e.maxDep2=fs(xu,e.solLen-e.length1-1),e.urfIdx=e.isRec?e.urfIdx:0;e.urfIdx<6;e.urfIdx++)if((e.conjMask&1<<e.urfIdx)==0&&Bu(e,e.maxPreMoves,-30,e.urfCubieCube[e.urfIdx],Tt(Fr(e.selfSym,{l:Ee,m:0,h:0})))==0)return e.solution?Es(e.solution):\"Error 8\";return e.solution?Es(e.solution):\"Error 7\"}function Og(e,r){var t;return t=Wg(e,r),t!=0?\"Error \"+(t<0?-t:t):(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,du(!1),Ng(e),Gg(e))}function Wg(e,r){var t,n,o,l;n=0,o=J(re,oe,0,54,7,1);try{for(t=hg($(X(Fe,1),De,0,7,[r.charCodeAt(4),r.charCodeAt(13),r.charCodeAt(22),r.charCodeAt(31),r.charCodeAt(40),r.charCodeAt(49)])),l=0;l<54;l++){if(o[l]=dg(t,Ag(r.charCodeAt(l)))<<24>>24,o[l]==-1)return-1;n+=1<<(o[l]<<2)}}catch(i){if(i=cg(i),os(i,9))return-1;throw fg(i)}return n!=10066329?-1:(Qg(o,e.cc),zg(e.cc))}function vu(){var e,r,t;for(this.move=J(Ce,ke,0,31,7,1),this.nodeUD=J(Sl,ie,31,21,0,1),this.nodeRL=J(Sl,ie,31,21,0,1),this.nodeFB=J(Sl,ie,31,21,0,1),this.cc=new ge,this.urfCubieCube=J(Do,ie,7,6,0,1),this.urfCoordCube=J(Sl,ie,31,6,0,1),this.phase1Cubie=J(Do,ie,7,21,0,1),this.preMoveCubes=J(Do,ie,7,21,0,1),this.preMoves=J(Ce,ke,0,20,7,1),r=0;r<21;r++)this.nodeUD[r]=new mo,this.nodeRL[r]=new mo,this.nodeFB[r]=new mo,this.phase1Cubie[r]=new ge;for(t=0;t<6;t++)this.urfCubieCube[t]=new ge,this.urfCoordCube[t]=new mo;for(e=0;e<20;e++)this.preMoveCubes[e+1]=new ge}go(72,1,{},vu);H.allowShorter=!1;H.conjMask=0;H.depth1=0;H.isRec=!1;H.length1=0;H.maxDep2=0;H.maxPreMoves=0;H.preMoveLen=0;H.probe={l:0,m:0,h:0};H.probeMax={l:0,m:0,h:0};H.probeMin={l:0,m:0,h:0};H.selfSym={l:0,m:0,h:0};H.solLen=0;H.urfIdx=0;H.valid1=0;H.verbose=0;var xu=12,xs=7,_y=Tr(\"org.cubing.min2phase.client\",\"Search\",72);function Ge(){Ge=hl;var e,r,t,n,o,l;for(Wt=$(X(re,2),ie,10,0,[$(X(re,1),oe,0,7,[8,9,20]),$(X(re,1),oe,0,7,[6,18,38]),$(X(re,1),oe,0,7,[0,36,47]),$(X(re,1),oe,0,7,[2,45,11]),$(X(re,1),oe,0,7,[29,26,15]),$(X(re,1),oe,0,7,[27,44,24]),$(X(re,1),oe,0,7,[33,53,42]),$(X(re,1),oe,0,7,[35,17,51])]),$r=$(X(re,2),ie,10,0,[$(X(re,1),oe,0,7,[5,10]),$(X(re,1),oe,0,7,[7,19]),$(X(re,1),oe,0,7,[3,37]),$(X(re,1),oe,0,7,[1,46]),$(X(re,1),oe,0,7,[32,16]),$(X(re,1),oe,0,7,[28,25]),$(X(re,1),oe,0,7,[30,43]),$(X(re,1),oe,0,7,[34,52]),$(X(re,1),oe,0,7,[23,12]),$(X(re,1),oe,0,7,[21,41]),$(X(re,1),oe,0,7,[50,39]),$(X(re,1),oe,0,7,[48,14])]),Xr=Ve(Ce,[ie,ke],[17,0],7,[13,13],2),ws=$(X(Rg,1),ie,2,4,[\"U \",\"U2\",\"U'\",\"R \",\"R2\",\"R'\",\"F \",\"F2\",\"F'\",\"D \",\"D2\",\"D'\",\"L \",\"L2\",\"L'\",\"B \",\"B2\",\"B'\"]),br=$(X(Ce,1),ke,0,7,[0,1,2,4,7,9,10,11,13,16,3,5,6,8,12,14,15,17]),vn=J(Ce,ke,0,18,7,1),Fo=J(Ce,ke,0,11,7,1),r=0;r<18;r++)vn[br[r]]=r;for(t=0;t<10;t++)for(n=~~(br[t]/3),Fo[t]=0,o=0;o<10;o++)l=~~(br[o]/3),Fo[t]|=(n==l||n%3==l%3&&n>=l?1:0)<<o;for(Fo[10]=0,e=0;e<13;e++)for(Xr[e][0]=Xr[e][e]=1,o=1;o<e;o++)Xr[e][o]=Xr[e-1][o-1]+Xr[e-1][o]}function bn(e,r,t){Ge();var n,o,l,i,s;for(n=e.length-1,l=0,s=4,o=n;o>=0;o--)i=Su(e[o],t),(i&12)==r&&(l+=Xr[o][s--]);return l}function Ss(e,r){Ge();var t,n;for(n=0,t=r-2;t>=0;t--)n^=e%(r-t),e=~~(e/(r-t));return n&1}function nr(e,r,t){Ge();var n,o,l,i;for(o=0,i={l:1323536,m:2777561,h:1043915},n=0;n<r-1;n++)l=Su(e[n],t)<<2,o=(r-n)*o+Tt(Fr(gt(i,l),{l:15,m:0,h:0})),i=gu(i,yl({l:1118480,m:279620,h:69905},l));return o}function Su(e,r){return r?e>>1:e&7}function wu(e,r,t,n){Ge();var o,l,i,s;for(o=e.length-1,s=4,l=o,i=o;i>=0;i--)r>=Xr[i][s]?(r-=Xr[i][s--],e[i]=Il(e[i],s|t,n)):((l&12)==t&&(l-=4),e[i]=Il(e[i],l--,n))}function Ot(e,r,t,n){Ge();var o,l,i,s,a,u;for(u={l:1323536,m:2777561,h:1043915},o={l:0,m:0,h:0},s=2;s<=t;s++)o=us(yl(o,4),as(r%s)),r=~~(r/s);for(l=0;l<t-1;l++)a=(Tt(o)&15)<<2,o=gt(o,4),e[l]=Il(e[l],Tt(Fr(gt(u,a),{l:15,m:0,h:0})),n),i=gu(yl({l:1,m:0,h:0},a),{l:1,m:0,h:0}),u=us(Fr(u,i),Fr(gt(u,4),{l:~i.l&Ke,m:~i.m&Ke,h:~i.h&ct}));e[t-1]=Il(e[t-1],Tt(Fr(u,{l:15,m:0,h:0})),n)}function Il(e,r,t){return(t?r<<1|e&1:r|e&-8)<<24>>24}function Qg(e,r){Ge();var t,n,o,l,i,s,a,u;for(l=0;l<8;l++)r.ca[l]=0;for(i=0;i<12;i++)r.ea[i]=0;for(s=0;s<8;s++){for(u=0;u<3&&!(e[Wt[s][u]]==0||e[Wt[s][u]]==3);u++);for(t=e[Wt[s][(u+1)%3]],n=e[Wt[s][(u+2)%3]],a=0;a<8;a++)if(t==~~(Wt[a][1]/9)&&n==~~(Wt[a][2]/9)){r.ca[s]=Ll(u%3<<3|a);break}}for(o=0;o<12;o++)for(a=0;a<12;a++){if(e[$r[o][0]]==~~($r[a][0]/9)&&e[$r[o][1]]==~~($r[a][1]/9)){r.ea[o]=Ll(a<<1);break}if(e[$r[o][0]]==~~($r[a][1]/9)&&e[$r[o][1]]==~~($r[a][0]/9)){r.ea[o]=Ll(a<<1|1);break}}}var Xr,Fo,Wt,$r,ws,vn,br;function Eu(e,r){var t,n,o;if(e.length_0==0){e.moves[e.length_0++]=r;return}if(t=~~(r/3),n=~~(e.moves[e.length_0-1]/3),t==n){o=(r%3+e.moves[e.length_0-1]%3+1)%4,o==3?--e.length_0:e.moves[e.length_0-1]=t*3+o;return}if(e.length_0>1&&t%3==n%3&&t==~~(e.moves[e.length_0-2]/3)){o=(r%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]=t*3+o;return}e.moves[e.length_0++]=r}function qg(e,r,t,n){e.verbose=r,e.urfIdx=t,e.depth1=n}function Es(e){var r,t,n;if(t=new yg,n=(e.verbose&2)!=0?(e.urfIdx+3)%6:e.urfIdx,n<3)for(r=0;r<e.length_0;r++)(e.verbose&1)!=0&&r==e.depth1&&(t.string+=\". \"),mu(cs(t,(Ge(),ws)[(Y(),Pl)[n][e.moves[r]]]));else for(r=e.length_0-1;r>=0;r--)mu(cs(t,(Ge(),ws)[(Y(),Pl)[n][e.moves[r]]])),(e.verbose&1)!=0&&r==e.depth1&&(t.string+=\". \");return(e.verbose&4)!=0&&cs($append_0((t.string+=\"(\",t),e.length_0),\"f)\"),t.string}function Uu(){this.moves=J(Ce,ke,0,31,7,1)}go(150,1,{},Uu);H.toString$=function(){return Es(this)};H.depth1=0;H.length_0=0;H.urfIdx=0;H.verbose=0;var Ny=Tr(\"org.cubing.min2phase.client\",\"Util/Solution\",150);var Ce=Al(\"int\",\"I\"),Gy=Tr(\"com.google.gwt.lang\",\"CollapsedPropertyHolder\",252),Oy=Tr(\"com.google.gwt.lang\",\"JavaClassHierarchySetupUtil\",254),jg=Tr(\"com.google.gwt.lang\",\"LongLibBase/LongEmul\",null),Wy=Tr(\"com.google.gwt.lang\",\"ModuleUtils\",257),re=Al(\"byte\",\"B\"),Kg=Al(\"long\",\"J\"),Fe=Al(\"char\",\"C\"),Qy=Tr(\"com.google.gwt.user.client.rpc\",\"XsrfToken\",null),qy=lg(\"java.util\",\"Map/Entry\"),ku=function(){du(!1)},Cu=function(e){return Og(new vu,e)};var Vg=\"UF UR UB UL DF DR DB DL FR FL BR BL\".split(\" \"),Hg=\"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \"),Yg=\"U L F R B D\".split(\" \"),Zg=[[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 zu(e,r){return e.slice(r)+e.slice(0,r)}function Jg(e){let r=[[],[]];for(let t=0;t<6;t++)if(e.CENTERS.permutation[t]!==t)throw new Error(\"non-oriented puzzles are not supported\");for(let t=0;t<12;t++)r[0].push(zu(Vg[e.EDGES.permutation[t]],e.EDGES.orientation[t]));for(let t=0;t<8;t++)r[1].push(zu(Hg[e.CORNERS.permutation[t]],e.CORNERS.orientation[t]));return r.push(Yg),r}function Mu(e){let r=Jg(e);return Zg.map(([t,n,o])=>r[t][n][o]).join(\"\")}ye();lt();function Pu(e,r,t){for(let n in e.orbits)if(!Jn(e,n,r,t,{ignoreOrientation:n===\"CENTERS\"}))return!1;return!0}function Iu(e,r){let t=new $e(e);if(Pu(e,t.state,r))return!1;for(let n of\"ULFRBD\")for(let o=1;o<4;o++)if(t.reset(),t.applyMove(new h(n,o)),Pu(e,t.state,r))return!1;return!0}var Tu=[[\"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\"]];function _u(){return D(this,null,function*(){let e=yield Ir[\"3x3x3\"].def(),r=new $e(e);for(let t of Tu)r.applyAlg(I.fromString((yield Vr())(t)));return Iu(e,r.state)?r.state:_u()})}function Us(e){return D(this,null,function*(){return gr(),I.fromString(Cu(Mu(e)))})}function xn(){return D(this,null,function*(){return Us(yield _u())})}function Nu(){return D(this,null,function*(){ku()})}var Xg=[[null,\"Rw\",\"Rw2\",\"Rw'\",\"Fw\",\"Fw'\"],[null,\"Dw\",\"Dw2\",\"Dw'\"]];function Gu(){return D(this,null,function*(){return pn(yield xn(),Xg)})}var Ou=new I(\"R' U' F\");function Wu(){return D(this,null,function*(){let e=new cr,r=yield xn();return e.experimentalPushAlg(Ou),e.experimentalPushAlg(r),e.experimentalPushAlg(Ou),e.toAlg()})}ye();var ks=!1;function Cs(e){return Array.isArray(e)}\"use strict\";var de=[],zs=[1];for(var be=0;be<32;++be)for(de[be]=[],vr=0;vr<32;++vr)de[be][vr]=0;var vr;for(var be=0;be<32;++be)for(de[be][0]=de[be][be]=1,zs[be+1]=zs[be]*(be+1),vr=1;vr<be;++vr)de[be][vr]=de[be-1][vr-1]+de[be-1][vr];var vr;function se(e,...r){for(var t=arguments.length-1,n=e[arguments[t]],o=t;o>1;o--)e[arguments[o]]=e[arguments[o-1]];return e[arguments[1]]=n,se}function Qu(e,r){return e[r>>3]>>((r&7)<<2)&15}function $g(e,r,t){r=r||8;for(var n=0,o=1985229328,l=0;l<r-1;++l){var i=e[l]<<2;n=(r-l)*n+(o>>i&7),o-=286331152<<i}return t<0?n>>1:n}function Ms(e,r,t,n){t=(t||8)-1;var o=1985229328,l=0;n<0&&(r<<=1);for(var i=0;i<t;++i){var s=zs[t-i],a=~~(r/s);l^=a,r%=s,a<<=2,e[i]=o>>a&7;var u=(1<<a)-1;o=(o&u)+(o>>4&~u)}return n<0&&(l&1)!=0?(e[t]=e[t-1],e[t-1]=o&7):e[t]=o&7,e}function em(e,r,t){for(var n=Math.abs(t),o=t<0?0:e[0]%n,l=r-1;l>0;l--)o=o*n+e[l]%n;return o}function rm(e,r,t,n){for(var o=Math.abs(n),l=o*t,i=1;i<t;i++)e[i]=r%o,l-=e[i],r=~~(r/o);return e[0]=(n<0?l:r)%o,e}function tm(e,r,t){this.length=r,this.evenbase=t,this.get=e===\"p\"?function(n){return $g(n,this.length,this.evenbase)}:function(n){return em(n,this.length,this.evenbase)},this.set=e===\"p\"?function(n,o){return Ms(n,o,this.length,this.evenbase)}:function(n,o){return rm(n,o,this.length,this.evenbase)}}function nm(e,r,t,n){if(n=n||6,Cs(t)){var o=new tm(t[1],t[2],t[3]);t=t[0];for(var l=0;l<n;l++){e[l]=[];for(var i=0;i<r;i++){var s=o.set([],i);t(s,l),e[l][i]=o.get(s)}}}else for(var l=0;l<n;l++){e[l]=[];for(var i=0;i<r;i++)e[l][i]=t(i,l)}}function He(){this.ca=[0,1,2,3,4,5,6,7],this.ea=[0,2,4,6,8,10,12,14,16,18,20,22]}He.EdgeMult=function(e,r,t){for(var n=0;n<12;n++)t.ea[n]=e.ea[r.ea[n]>>1]^r.ea[n]&1};He.CornMult=function(e,r,t){for(var n=0;n<8;n++){var o=((e.ca[r.ca[n]&7]>>3)+(r.ca[n]>>3))%3;t.ca[n]=e.ca[r.ca[n]&7]&7|o<<3}};He.CubeMult=function(e,r,t){He.CornMult(e,r,t),He.EdgeMult(e,r,t)};He.prototype.init=function(e,r){return this.ca=e.slice(),this.ea=r.slice(),this};He.prototype.isEqual=function(e){for(var r=0;r<8;r++)if(this.ca[r]!==e.ca[r])return!1;for(var r=0;r<12;r++)if(this.ea[r]!==e.ea[r])return!1;return!0};var qu=[[8,9,20],[6,18,38],[0,36,47],[2,45,11],[29,26,15],[27,44,24],[33,53,42],[35,17,51]],ju=[[5,10],[7,19],[3,37],[1,46],[32,16],[28,25],[30,43],[34,52],[23,12],[21,41],[50,39],[48,14]];He.prototype.toFaceCube=function(e,r){e=e||qu,r=r||ju;for(var t=\"URFDLB\",n=[],o=0;o<54;o++)n[o]=t[~~(o/9)];for(var l=0;l<8;l++)for(var i=this.ca[l]&7,s=this.ca[l]>>3,a=0;a<3;a++)n[e[l][(a+s)%3]]=t[~~(e[i][a]/9)];for(var u=0;u<12;u++)for(var i=this.ea[u]>>1,s=this.ea[u]&1,a=0;a<2;a++)n[r[u][(a+s)%2]]=t[~~(r[i][a]/9)];return n.join(\"\")};He.prototype.invFrom=function(e){for(var r=0;r<12;r++)this.ea[e.ea[r]>>1]=r<<1|e.ea[r]&1;for(var t=0;t<8;t++)this.ca[e.ca[t]&7]=t|32>>(e.ca[t]>>3)&24;return this};He.prototype.fromFacelet=function(e,r,t){r=r||qu,t=t||ju;var n=0,o=[],l=e[4]+e[13]+e[22]+e[31]+e[40]+e[49];for(let f=0;f<54;++f){if(o[f]=l.indexOf(e[f]),o[f]===-1)return-1;n+=1<<(o[f]<<2)}if(n!==10066329)return-1;var i,s,a,u,c;for(a=0;a<8;++a){for(c=0;c<3&&!(o[r[a][c]]===0||o[r[a][c]]===3);++c);for(i=o[r[a][(c+1)%3]],s=o[r[a][(c+2)%3]],u=0;u<8;++u)if(i===~~(r[u][1]/9)&&s===~~(r[u][2]/9)){this.ca[a]=u|c%3<<3;break}}for(a=0;a<12;++a)for(u=0;u<12;++u){if(o[t[a][0]]===~~(t[u][0]/9)&&o[t[a][1]]===~~(t[u][1]/9)){this.ea[a]=u<<1;break}if(o[t[a][0]]===~~(t[u][1]/9)&&o[t[a][1]]===~~(t[u][0]/9)){this.ea[a]=u<<1|1;break}}return this};var or=[];for(var be=0;be<18;be++)or[be]=new He;or[0].init([3,0,1,2,4,5,6,7],[6,0,2,4,8,10,12,14,16,18,20,22]);or[3].init([20,1,2,8,15,5,6,19],[16,2,4,6,22,10,12,14,8,18,20,0]);or[6].init([9,21,2,3,16,12,6,7],[0,19,4,6,8,17,12,14,3,11,20,22]);or[9].init([0,1,2,3,5,6,7,4],[0,2,4,6,10,12,14,8,16,18,20,22]);or[12].init([0,10,22,3,4,17,13,7],[0,2,20,6,8,10,18,14,16,4,12,22]);or[15].init([0,1,11,23,4,5,18,14],[0,2,4,23,8,10,12,21,16,18,7,15]);for(var Dt=0;Dt<18;Dt+=3)for(Qt=0;Qt<2;Qt++)He.EdgeMult(or[Dt+Qt],or[Dt],or[Dt+Qt+1]),He.CornMult(or[Dt+Qt],or[Dt],or[Dt+Qt+1]);var Qt;He.moveCube=or;He.prototype.edgeCycles=function(){for(var e=[],r=[0,0,0],t=0,n=!1,o=0;o<12;++o)if(!e[o]){var l=-1,i=!1,s=o;do e[s]=!0,++l,i^=this.ea[s]&1,s=this.ea[s]>>1;while(s!==o);t+=l>>1,l&1&&(n=!n,++t),i&&(l===0?++r[0]:l&1?r[2]^=1:++r[1])}if(r[1]+=r[2],r[0]<r[1])t+=r[0]+r[1]>>1;else{var a=[0,2,3,5,6,8,9];t+=r[1]+a[r[0]-r[1]>>1]}return t-n};function om(e,r,t,n,o,l,i,s){var a=Cs(o);l=l||6,i=i||3,s=s||256,n=n||256;for(var u=0,c=t+7>>>3;u<c;u++)e[u]=-1;e[r>>3]^=15<<((r&7)<<2);for(var f=0,g=0;g<=n;g++){var m=0,d=g>=s,p=g+1^15,y=d?15:g,x=d?g:15;e:for(var F=0;F<t;F++,f>>=4){if((F&7)==0&&(f=e[F>>3],!d&&f===-1)){F+=7;continue}if((f&15)===y){for(var S=0;S<l;S++)for(var _=F,P=0;P<i;P++)if(_=a?o[S][_]:o(_,S),Qu(e,_)===x){if(++m,d){e[F>>3]^=p<<((F&7)<<2);continue e}e[_>>3]^=p<<((_&7)<<2)}}}if(m===0)break;ks&&console.log(\"[prun]\",m)}}function lm(e,r,t){this.N_STATES=t.length,this.N_MOVES=e,this.N_POWER=r,this.state_params=t,this.inited=!1}var _r=lm.prototype;_r.search=function(e,r,t){if(t=(t||99)+1,!this.inited){this.move=[],this.prun=[];for(var n=0;n<this.N_STATES;n++){var o=this.state_params[n],l=o[0],i=o[1],s=o[2],a=o[3],u=o[4];this.move[n]=[],this.prun[n]=[],nm(this.move[n],s,i,this.N_MOVES),om(this.prun[n],l,s,a,this.move[n],this.N_MOVES,this.N_POWER,u)}this.inited=!0}this.sol=[];for(var c=r;c<t&&!this.idaSearch(e,c,-1);c++);return c===t?null:this.sol.reverse()};_r.toStr=function(e,r,t){for(var n=[],o=0;o<e.length;o++)n.push(r[e[o][0]]+t[e[o][1]]);return n.join(\" \").replace(/ +/g,\" \")};_r.idaSearch=function(e,r,t){for(var n=this.N_STATES,o=0;o<n;o++)if(Qu(this.prun[o],e[o])>r)return!1;if(r===0)return!0;for(var l=e[0]+r+t+1,i=0;i<this.N_MOVES;i++){var s=(i+l)%this.N_MOVES;if(s!==t)for(var a=e.slice(),u=0;u<this.N_POWER;u++){for(var o=0;o<n;o++)a[o]=this.move[o][s][a[o]];if(this.idaSearch(a,r-1,s))return this.sol.push([s,u]),!0}}return!1};function im(e,r,t){this.solvedStates=e,this.doMove=r,this.moves=t,this.prunTable={},this.prunTableSize=0,this.prunDepth=-1}_r=im.prototype;_r.updatePrun=function(e){e=e===void 0?this.prunDepth+1:e;for(var r=this.prunDepth+1;r<=e;r++){var t=+new Date,n=this.prunTableSize;if(r<8)for(var o=0;o<this.solvedStates.length;o++)this.updatePrunDFS(this.solvedStates[o],r,0,null);else this.updatePrunBFS(r-1);this.prunDepth=r,ks&&console.log(r,this.prunTableSize-n,+new Date-t)}};_r.updatePrunBFS=function(e){for(var r in this.prunTable)if(this.prunTable[r][0]===e)for(var t in this.moves){var n=this.doMove(r,t);!n||n in this.prunTable||(this.prunTable[n]=[e+1,t],this.prunTableSize++)}};_r.updatePrunDFS=function(e,r,t,n){if(e in this.prunTable||(this.prunTable[e]=[t,n],this.prunTableSize++),!(r<=0||this.prunTable[e][1]!==n)){var o=n===null?-1:this.moves[n];for(var l in this.moves){var i=this.moves[l]^o;if(!(i===0||(i&15)==0&&l<n)){var s=this.doMove(e,l);!s||s===e||this.updatePrunDFS(s,r-1,t+1,l)}}}};_r.search=function(e,r,t,n){t=t+1||99,this.sol=[],this.sols=[],this.nsol=n||1,this.minl=r||0;for(var o=r;o<t&&(this.updatePrun(Math.ceil(o/2)),this.visited={},!this.idaSearch(e,o,null));o++);return this.sols.slice()};_r.getPruning=function(e){var r=this.prunTable[e];return r===void 0?this.prunDepth+1:r[0]};_r.idaSearch=function(e,r,t){if(this.getPruning(e)>r||e in this.visited)return!1;if(this.visited[e]=0,r===0)return this.sols.push(this.sol.slice()),this.sols.length>=this.nsol;var n=t===null?-1:this.moves[t];for(var o in this.moves){var l=this.moves[o]^n;if(!(l===0||(l&15)==0&&o<t)){var i=this.doMove(e,o);if(!(!i||i===e)){if(this.sol.push(o),this.idaSearch(i,r-1,o))return!0;this.sol.pop()}}}return!1};function Q(e,r){var t,n;if(t=new Array(e),r!==void 0)for(n=0;n<e;n++)t[n]=new Array(r);return t}var Z,Bo={},sm={},Ku=0,Ps=30,Vu=21,am=22,um=23,Hu=24,fm=25,cm=34,gm=26,Is=40;function mm(e){return new Bo[e]}function ur(e,r,t,...n){var o=Bo[e];o&&!o.___clazz$?Z=o.prototype:(!o&&(o=Bo[e]=function(){}),Z=o.prototype=r<0?{}:mm(r),Z.castableTypeMap$=t);for(var l=3;l<arguments.length;++l)arguments[l].prototype=Z;o.___clazz$&&(Z.___clazz$=o.___clazz$,o.___clazz$=null)}function Ft(e){for(var r={},t=0,n=e.length;t<n;++t)r[e[t]]=1;return r}ur(1,-1,sm);Z.value=null;function Yu(){}function pm(e,r){var t,n;return t=e,n=Zu(0,r),Ju(t.___clazz$,t.castableTypeMap$,t.queryId$,n),n}function Zu(e,r){var t=new Array(r);if(e===3)for(var n=0;n<r;++n){let o={m:0,l:0,h:0};o.l=o.m=o.h=0,t[n]=o}else if(e>0){let o=[null,0,!1][e];for(var n=0;n<r;++n)t[n]=o}return t}function Ts(e,r,t,n,o){var l;return l=Zu(o,n),Ju(e,r,t,l),l}function Ju(e,r,t,n){return $u(),hm(n,_s,Ns),n.___clazz$=e,n.castableTypeMap$=r,n.queryId$=t,n}function Tl(e,r,t){return e[r]=t}ur(73,1,{},Yu);Z.queryId$=0;var Xu=!1;function $u(){Xu||(Xu=!0,_s=[],Ns=[],dm(new Yu,_s,Ns))}function dm(e,r,t){var n=0,o;for(var l in e)(o=e[l])&&(r[n]=l,t[n]=o,++n)}function hm(e,r,t){$u();for(var n=0,o=r.length;n<o;++n)e[r[n]]=t[n]}var _s,Ns;function Lm(e,r){return e.castableTypeMap$&&!!e.castableTypeMap$[r]}function Am(e,r){return e!==null&&Lm(e,r)}var ef=!1;function Rm(){if(ef)return!1;ef=!0,Wl=Q(15582,36),Ql=Q(15582),Sr=Q(15582),En=Q(48,48),wr=Q(48,36),wn=Q(48),Ws=Q(48)}function Gs(e){e.ct=Q(24)}function rf(e,r){var t,n;if(Am(r,Vu)){for(t=r,n=0;n<24;++n)if(e.ct[n]!==t.ct[n])return!1;return!0}return!1}function _l(e){var r,t,n;for(t=0,n=8,r=23;r>=0;--r)e.ct[r]===1&&(t+=de[r][n--]);return t}function Nl(e){var r,t;if(Sn!==null)return Sn[_l(e)];for(t=0;t<48;++t){if(r=vm(_l(e)),r!==-1)return r*64+t;te(e,0),t%2==1&&te(e,1),t%8==7&&te(e,2),t%16==15&&te(e,3)}}function xr(e,r){var t;switch(t=r%3,r=~~(r/3),r){case 0:R(e.ct,0,1,2,3,t);break;case 1:R(e.ct,16,17,18,19,t);break;case 2:R(e.ct,8,9,10,11,t);break;case 3:R(e.ct,4,5,6,7,t);break;case 4:R(e.ct,20,21,22,23,t);break;case 5:R(e.ct,12,13,14,15,t);break;case 6:R(e.ct,0,1,2,3,t),R(e.ct,8,20,12,16,t),R(e.ct,9,21,13,17,t);break;case 7:R(e.ct,16,17,18,19,t),R(e.ct,1,15,5,9,t),R(e.ct,2,12,6,10,t);break;case 8:R(e.ct,8,9,10,11,t),R(e.ct,2,19,4,21,t),R(e.ct,3,16,5,22,t);break;case 9:R(e.ct,4,5,6,7,t),R(e.ct,10,18,14,22,t),R(e.ct,11,19,15,23,t);break;case 10:R(e.ct,20,21,22,23,t),R(e.ct,0,8,4,14,t),R(e.ct,3,11,7,13,t);break;case 11:R(e.ct,12,13,14,15,t),R(e.ct,1,20,7,18,t),R(e.ct,0,23,6,17,t)}}function te(e,r){switch(r){case 0:xr(e,19),xr(e,28);break;case 1:xr(e,21),xr(e,32);break;case 2:R(e.ct,0,3,1,2,1),R(e.ct,8,11,9,10,1),R(e.ct,4,7,5,6,1),R(e.ct,12,15,13,14,1),R(e.ct,16,19,21,22,1),R(e.ct,17,18,20,23,1);break;case 3:xr(e,18),xr(e,29),xr(e,24),xr(e,35)}}function tf(e,r){var t;for(t=0;t<r;++t)te(e,0),t%2==1&&te(e,1),t%8==7&&te(e,2),t%16==15&&te(e,3)}function Os(e,r){var t,n;for(n=8,t=23;t>=0;--t)e.ct[t]=0,r>=de[t][n]&&(r-=de[t][n--],e.ct[t]=1)}function Gl(e,r){var t;for(t=0;t<24;++t)e.ct[t]=r.ct[t]}function bo(){var e;for(Gs(this),e=0;e<8;++e)this.ct[e]=1;for(e=8;e<24;++e)this.ct[e]=0}function Ol(e,r){var t;for(Gs(this),t=0;t<24;++t)this.ct[t]=~~(e.ct[t]/2)===r?1:0}function vo(e){var r;for(Gs(this),r=0;r<24;++r)this.ct[r]=e[r]}function ym(){var e,r,t,n;for(e=new bo,r=new bo,t=0;t<15582;++t)for(Os(r,Ql[t]),n=0;n<36;++n)Gl(e,r),xr(e,n),Wl[t][n]=Nl(e)}function Dm(){var e,r,t,n,o,l,i,s;for(si(Sr),Sr[0]=0,r=0,t=1;t!==15582;)for(l=r>4,s=l?-1:r,e=l?r:-1,++r,n=0;n<15582;++n)if(Sr[n]===s){for(i=0;i<27;++i)if(o=~~Wl[n][i]>>>6,Sr[o]===e)if(++t,l){Sr[n]=r;break}else Sr[o]=r}}function Fm(e){var r,t,n,o;for(r=new vo(e.ct),o=0;o<48;++o){for(t=!0,n=0;n<24;++n)if(r.ct[n]!==~~(n/4)){t=!1;break}if(t)return o;te(r,0),o%2==1&&te(r,1),o%8==7&&te(r,2),o%16==15&&te(r,3)}return-1}function Bm(){var e,r,t,n,o,l,i;for(e=new bo,o=0;o<24;++o)e.ct[o]=o;for(r=new vo(e.ct),t=new vo(e.ct),n=new vo(e.ct),o=0;o<48;++o){for(l=0;l<48;++l){for(i=0;i<48;++i)rf(e,r)&&(En[o][l]=i,i===0&&(wn[o]=l)),te(r,0),i%2==1&&te(r,1),i%8==7&&te(r,2),i%16==15&&te(r,3);te(e,0),l%2==1&&te(e,1),l%8==7&&te(e,2),l%16==15&&te(e,3)}te(e,0),o%2==1&&te(e,1),o%8==7&&te(e,2),o%16==15&&te(e,3)}for(o=0;o<48;++o)for(Gl(e,t),tf(e,wn[o]),l=0;l<36;++l)for(Gl(r,e),xr(r,l),tf(r,o),i=0;i<36;++i)if(Gl(n,t),xr(n,i),rf(n,r)){wr[o][l]=i;break}for(Os(e,0),o=0;o<48;++o)Ws[wn[o]]=_l(e),te(e,0),o%2==1&&te(e,1),o%8==7&&te(e,2),o%16==15&&te(e,3)}function bm(){var e,r,t,n,o,l;for(e=new bo,l=Q(22984),t=0;t<22984;t++)l[t]=0;for(r=0,t=0;t<735471;++t)if((l[~~t>>>5]&1<<(t&31))==0){for(Os(e,t),o=0;o<48;++o)n=_l(e),l[~~n>>>5]|=1<<(n&31),Sn!==null&&(Sn[n]=r<<6|wn[o]),te(e,0),o%2==1&&te(e,1),o%8==7&&te(e,2),o%16==15&&te(e,3);Ql[r++]=t}}function vm(e){var r;return r=Rp(Ql,e),r>=0?r:-1}ur(153,1,Ft([Vu]),bo,Ol,vo);var Sr,Wl,Ws,Sn=null,Ql,wn,wr,En,nf=!1;function xm(){nf||(nf=!0,Vl=Q(70,28),Kl=Q(6435,28),ff=Q(70,16),af=Q(6435,16),Ye=Q(450450),uf=[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 ql(e){var r,t,n;for(t=0,n=8,r=14;r>=0;--r)e.ct[r]!==e.ct[15]&&(t+=de[r][n--]);return t}function jl(e){var r,t,n;for(t=0,n=4,r=6;r>=0;--r)e.rl[r]!==e.rl[7]&&(t+=de[r][n--]);return t*2+e.parity}function Un(e,r){var t;switch(e.parity^=uf[r],t=r%3,r=~~(r/3),r){case 0:R(e.ct,0,1,2,3,t);break;case 1:R(e.rl,0,1,2,3,t);break;case 2:R(e.ct,8,9,10,11,t);break;case 3:R(e.ct,4,5,6,7,t);break;case 4:R(e.rl,4,5,6,7,t);break;case 5:R(e.ct,12,13,14,15,t);break;case 6:R(e.ct,0,1,2,3,t),R(e.rl,0,5,4,1,t),R(e.ct,8,9,12,13,t);break;case 7:R(e.rl,0,1,2,3,t),R(e.ct,1,15,5,9,t),R(e.ct,2,12,6,10,t);break;case 8:R(e.ct,8,9,10,11,t),R(e.rl,0,3,6,5,t),R(e.ct,3,2,5,4,t);break;case 9:R(e.ct,4,5,6,7,t),R(e.rl,3,2,7,6,t),R(e.ct,11,10,15,14,t);break;case 10:R(e.rl,4,5,6,7,t),R(e.ct,0,8,4,14,t),R(e.ct,3,11,7,13,t);break;case 11:R(e.ct,12,13,14,15,t),R(e.rl,1,4,7,2,t),R(e.ct,1,0,7,6,t)}}function kn(e,r){switch(r){case 0:Un(e,19),Un(e,28);break;case 1:Un(e,21),Un(e,32);break;case 2:R(e.ct,0,3,1,2,1),R(e.ct,8,11,9,10,1),R(e.ct,4,7,5,6,1),R(e.ct,12,15,13,14,1),R(e.rl,0,3,5,6,1),R(e.rl,1,2,4,7,1)}}function of(e,r,t){var n;for(n=0;n<16;++n)e.ct[n]=~~(r.ct[n]/2);for(n=0;n<8;++n)e.rl[n]=r.ct[n+16];e.parity=t}function lf(e,r){var t,n;for(n=8,e.ct[15]=0,t=14;t>=0;--t)r>=de[t][n]?(r-=de[t][n--],e.ct[t]=1):e.ct[t]=0}function sf(e,r){var t,n;for(e.parity=r&1,r>>>=1,n=4,e.rl[7]=0,t=6;t>=0;--t)r>=de[t][n]?(r-=de[t][n--],e.rl[t]=1):e.rl[t]=0}function Qs(){this.rl=Q(8),this.ct=Q(16)}function Sm(){var e,r,t,n,o,l,i,s,a,u,c;for(e=new Qs,l=0;l<70;++l)for(a=0;a<28;++a)sf(e,l),Un(e,jt[a]),Vl[l][a]=jl(e);for(l=0;l<70;++l)for(sf(e,l),s=0;s<16;++s)ff[l][s]=jl(e),kn(e,0),s%2==1&&kn(e,1),s%8==7&&kn(e,2);for(l=0;l<6435;++l)for(lf(e,l),s=0;s<16;++s)af[l][s]=ql(e)&65535,kn(e,0),s%2==1&&kn(e,1),s%8==7&&kn(e,2);for(l=0;l<6435;++l)for(a=0;a<28;++a)lf(e,l),Un(e,jt[a]),Kl[l][a]=ql(e)&65535;for(si(Ye),Ye[0]=Ye[18]=Ye[28]=Ye[46]=Ye[54]=Ye[56]=0,n=0,o=6;o!==450450;){var f=n>6,g=f?-1:n,m=f?n:-1;for(++n,l=0;l<450450;++l)if(Ye[l]===g){for(r=~~(l/70),u=l%70,a=0;a<23;++a)if(t=Kl[r][a],c=Vl[u][a],i=t*70+c,Ye[i]===m)if(++o,f){Ye[l]=n;break}else Ye[i]=n}}}ur(154,1,{},Qs);Z.parity=0;var Kl,Ye,af,uf,Vl,ff,cf=!1;function wm(){cf||(cf=!0,xo=Q(29400,20),mf=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1],Bt=Q(29400),Ks=[0,9,14,23,27,28,41,42,46,55,60,69],Vs=Q(70))}function qs(e){var r,t,n,o,l;for(n=0,l=4,t=6;t>=0;--t)e.ud[t]!==e.ud[7]&&(n+=de[t][l--]);for(n*=35,l=4,t=6;t>=0;--t)e.fb[t]!==e.fb[7]&&(n+=de[t][l--]);for(n*=12,r=e.fb[7]^e.ud[7],o=0,l=4,t=7;t>=0;--t)e.rl[t]!==r&&(o+=de[t][l--]);return e.parity+2*(n+Vs[o])}function Em(e,r){switch(e.parity^=mf[r],r){case 0:case 1:case 2:R(e.ud,0,1,2,3,r%3);break;case 3:R(e.rl,0,1,2,3,1);break;case 4:case 5:case 6:R(e.fb,0,1,2,3,(r-1)%3);break;case 7:case 8:case 9:R(e.ud,4,5,6,7,(r-1)%3);break;case 10:R(e.rl,4,5,6,7,1);break;case 11:case 12:case 13:R(e.fb,4,5,6,7,(r+1)%3);break;case 14:R(e.ud,0,1,2,3,1),R(e.rl,0,5,4,1,1),R(e.fb,0,5,4,1,1);break;case 15:R(e.rl,0,1,2,3,1),R(e.fb,1,4,7,2,1),R(e.ud,1,6,5,2,1);break;case 16:R(e.fb,0,1,2,3,1),R(e.ud,3,2,5,4,1),R(e.rl,0,3,6,5,1);break;case 17:R(e.ud,4,5,6,7,1),R(e.rl,3,2,7,6,1),R(e.fb,3,2,7,6,1);break;case 18:R(e.rl,4,5,6,7,1),R(e.fb,0,3,6,5,1),R(e.ud,0,3,4,7,1);break;case 19:R(e.fb,4,5,6,7,1),R(e.ud,0,7,6,1,1),R(e.rl,1,4,7,2,1)}}function gf(e,r,t){var n,o;for(o=(r.ct[0]>r.ct[8]?1:0)^(r.ct[8]>r.ct[16]?1:0)^(r.ct[0]>r.ct[16]?1:0)?1:0,n=0;n<8;++n)e.ud[n]=r.ct[n]&1^1,e.fb[n]=r.ct[n+8]&1^1,e.rl[n]=r.ct[n+16]&1^1^o;e.parity=o^t}function Um(e,r){var t,n,o,l;for(e.parity=r&1,r>>>=1,o=Ks[r%12],r=~~(r/12),l=4,t=7;t>=0;--t)e.rl[t]=0,o>=de[t][l]&&(o-=de[t][l--],e.rl[t]=1);for(n=r%35,r=~~(r/35),l=4,e.fb[7]=0,t=6;t>=0;--t)n>=de[t][l]?(n-=de[t][l--],e.fb[t]=1):e.fb[t]=0;for(l=4,e.ud[7]=0,t=6;t>=0;--t)r>=de[t][l]?(r-=de[t][l--],e.ud[t]=1):e.ud[t]=0}function js(){this.ud=Q(8),this.rl=Q(8),this.fb=Q(8)}function km(){var e,r,t,n,o;for(n=0;n<12;++n)Vs[Ks[n]]=n;for(e=new js,n=0;n<29400;++n)for(o=0;o<20;++o)Um(e,n),Em(e,o),xo[n][o]=qs(e)&65535;for(si(Bt),Bt[0]=0,r=0,t=1;t!==29400;){for(n=0;n<29400;++n)if(Bt[n]===r)for(o=0;o<17;++o)Bt[xo[n][o]]===-1&&(Bt[xo[n][o]]=r+1,++t);++r}}ur(155,1,{},js);Z.parity=0;var xo,mf,Bt,Ks,Vs,pf=!1;function Cm(){pf||(pf=!0,Pm=[0,4,2,1,5,3])}function zm(e,r){var t;for(t=0;t<24;++t)e.ct[t]=r.ct[t]}function Mm(e,r){var t;switch(t=r%3,r=~~(r/3),r){case 0:R(e.ct,0,1,2,3,t);break;case 1:R(e.ct,16,17,18,19,t);break;case 2:R(e.ct,8,9,10,11,t);break;case 3:R(e.ct,4,5,6,7,t);break;case 4:R(e.ct,20,21,22,23,t);break;case 5:R(e.ct,12,13,14,15,t);break;case 6:R(e.ct,0,1,2,3,t),R(e.ct,8,20,12,16,t),R(e.ct,9,21,13,17,t);break;case 7:R(e.ct,16,17,18,19,t),R(e.ct,1,15,5,9,t),R(e.ct,2,12,6,10,t);break;case 8:R(e.ct,8,9,10,11,t),R(e.ct,2,19,4,21,t),R(e.ct,3,16,5,22,t);break;case 9:R(e.ct,4,5,6,7,t),R(e.ct,10,18,14,22,t),R(e.ct,11,19,15,23,t);break;case 10:R(e.ct,20,21,22,23,t),R(e.ct,0,8,4,14,t),R(e.ct,3,11,7,13,t);break;case 11:R(e.ct,12,13,14,15,t),R(e.ct,1,20,7,18,t),R(e.ct,0,23,6,17,t)}}function Hs(){var e;for(this.ct=Q(24),e=0;e<24;++e)this.ct[e]=~~(e/4)}function df(e){var r,t,n;for(Hs.call(this),r=0;r<23;++r)n=r+e(24-r),this.ct[n]!==this.ct[r]&&(t=this.ct[r],this.ct[r]=this.ct[n],this.ct[n]=t)}ur(156,1,{},Hs,df);var Pm,hf=!1;function Im(){hf||(hf=!0,pr=Q(18),Gm=[[8,9,20],[6,18,38],[0,36,47],[2,45,11],[29,26,15],[27,44,24],[33,53,42],[35,17,51]],Nm())}function Lf(e){e.cp=[0,1,2,3,4,5,6,7],e.co=[0,0,0,0,0,0,0,0]}function Af(e,r){var t;for(t=0;t<8;++t)e.cp[t]=r.cp[t],e.co[t]=r.co[t]}function Tm(e,r){!e.temps&&(e.temps=new Hl),Rf(e,pr[r],e.temps),Af(e,e.temps)}function _m(e,r){var t,n;for(n=0,t=6;t>=0;--t)n+=e.co[t]=r%3,r=~~(r/3);e.co[7]=(15-n)%3}function Rf(e,r,t){var n,o,l,i;for(n=0;n<8;++n)t.cp[n]=e.cp[r.cp[n]],l=e.co[r.cp[n]],i=r.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),t.co[n]=o}function Hl(){Lf(this)}function bt(e,r){Lf(this),Ms(this.cp,e),_m(this,r)}function yf(e){bt.call(this,e(40320),e(2187))}function Nm(){var e,r;for(pr[0]=new bt(15120,0),pr[3]=new bt(21021,1494),pr[6]=new bt(8064,1236),pr[9]=new bt(9,0),pr[12]=new bt(1230,412),pr[15]=new bt(224,137),e=0;e<18;e+=3)for(r=0;r<2;++r)pr[e+r+1]=new Hl,Rf(pr[e+r],pr[e],pr[e+r+1])}ur(157,1,Ft([am]),Hl,bt,yf);Z.temps=null;var Gm,pr,Df=!1;function Om(){Df||(Df=!0,Km=[1,4,16,55,324,1922,12275,77640,485359,2778197,11742425,27492416,31002941,31006080],Er=Q(1937880),Xl=Q(1538),$l=Q(1538),In=Q(11880),Sf=[0,1,6,3,4,5,2,7],Xs=Q(160,12),$s=Q(160,12),Js=[1,1,1,3,12,60,360,2520,20160,181440,1814400,19958400,239500800],Zs=[0,2,4,6,1,3,7,5,8,9,10,11])}function Cn(e,r,t,n,o){var l;l=e.edgeo[o],e.edgeo[o]=e.edge[n],e.edge[n]=e.edgeo[t],e.edgeo[t]=e.edge[r],e.edge[r]=l}function zn(e,r){var t,n,o,l,i;for(e.isStd||vf(e),n=0,i=1985229328,l=47768,t=0;t<r;++t)o=e.edge[t]<<2,n*=12-t,o>=32?(n+=l>>o-32&15,l-=4368<<o-32):(n+=i>>o&15,l-=4369,i-=286331152<<o);return n}function Ff(e){var r,t,n,o;return r=zn(e,4),n=In[r],o=n&7,n>>=3,Zl(e,o),t=zn(e,10)%20160,n*20160+t}function Yl(e,r){switch(e.isStd=!1,r){case 0:se(e.edge,0,4,1,5),se(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:se(e.edge,0,5,1,4),se(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:se(e.edge,0,11,3,8),se(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:se(e.edge,0,8,3,11),se(e.edgeo,0,8,3,11);break;case 7:se(e.edge,2,7,3,6),se(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:se(e.edge,2,6,3,7),se(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:se(e.edge,1,9,2,10),se(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:se(e.edge,1,10,2,9),se(e.edgeo,1,10,2,9);break;case 14:Le(e.edge,0,4,1,5),Le(e.edgeo,0,4,1,5),se(e.edge,9,11),se(e.edgeo,8,10);break;case 15:Le(e.edge,5,10,6,11),Le(e.edgeo,5,10,6,11),se(e.edge,1,3),se(e.edgeo,0,2);break;case 16:Le(e.edge,0,11,3,8),Le(e.edgeo,0,11,3,8),se(e.edge,5,7),se(e.edgeo,4,6);break;case 17:Le(e.edge,2,7,3,6),Le(e.edgeo,2,7,3,6),se(e.edge,8,10),se(e.edgeo,9,11);break;case 18:Le(e.edge,4,8,7,9),Le(e.edgeo,4,8,7,9),se(e.edge,0,2),se(e.edgeo,1,3);break;case 19:Le(e.edge,1,9,2,10),Le(e.edgeo,1,9,2,10),se(e.edge,4,6),se(e.edgeo,5,7)}}function Mn(e,r){switch(e.isStd=!1,r){case 0:Yl(e,14),Yl(e,17);break;case 1:Cn(e,11,5,10,6),Cn(e,5,10,6,11),Cn(e,1,2,3,0),Cn(e,4,9,7,8),Cn(e,8,4,9,7),Cn(e,0,1,2,3);break;case 2:dr(e,4,5),dr(e,5,4),dr(e,11,8),dr(e,8,11),dr(e,7,6),dr(e,6,7),dr(e,9,10),dr(e,10,9),dr(e,1,1),dr(e,0,0),dr(e,3,3),dr(e,2,2)}}function Zl(e,r){for(;r>=2;)r-=2,Mn(e,1),Mn(e,2);r!==0&&Mn(e,0)}function So(e,r){var t,n,o,l,i,s;for(i=1985229328,s=47768,o=0,t=0;t<11;++t)if(n=Js[11-t],l=~~(r/n),r=r%n,o^=l,l<<=2,l>=32){l=l-32,e.edge[t]=s>>l&15;var a=(1<<l)-1;s=(s&a)+(s>>4&~a)}else{e.edge[t]=i>>l&15;var a=(1<<l)-1;i=(i&a)+(i>>>4&~a)+(s<<28),s=s>>4}for((o&1)==0?e.edge[11]=i:(e.edge[11]=e.edge[10],e.edge[10]=i),t=0;t<12;++t)e.edgeo[t]=t;e.isStd=!0}function Bf(e,r){var t;for(t=0;t<12;++t)e.edge[t]=r.edge[t],e.edgeo[t]=r.edgeo[t];e.isStd=r.isStd}function bf(e,r){var t,n,o,l;for(e.temp===null&&(e.temp=Q(12)),t=0;t<12;++t)e.temp[t]=t,e.edge[t]=r.ep[Zs[t]+12]%12;for(n=1,t=0;t<12;++t)for(;e.edge[t]!==t;)l=e.edge[t],e.edge[t]=e.edge[l],e.edge[l]=l,o=e.temp[t],e.temp[t]=e.temp[l],e.temp[l]=o,n^=1;for(t=0;t<12;++t)e.edge[t]=e.temp[r.ep[Zs[t]]%12];return n}function vf(e){var r;for(e.temp===null&&(e.temp=Q(12)),r=0;r<12;++r)e.temp[e.edgeo[r]]=r;for(r=0;r<12;++r)e.edge[r]=e.temp[e.edge[r]],e.edgeo[r]=r;e.isStd=!0}function Le(e,r,t,n,o){var l;l=e[r],e[r]=e[n],e[n]=l,l=e[t],e[t]=e[o],e[o]=l}function dr(e,r,t){var n;n=e.edge[r],e.edge[r]=e.edgeo[t],e.edgeo[t]=n}function et(){this.edge=Q(12),this.edgeo=Q(12)}function Wm(){var e,r,t,n,o,l,i,s,a,u,c,f,g,m,d,p,y,x,F,S,_,P,ee,O,q;for(a=new et,c=new et,g=new et,si(Er),s=0,Jl=1,Ys(Er,0,0);Jl!==31006080&&(x=s>9,i=s%3,l=(s+1)%3,f=x?3:i,e=x?i:3,!(s>=9));){for(d=0;d<31006080;d+=16)if(q=Er[~~d>>4],!(!x&&q===-1)){for(m=d,u=d+16;m<u;++m,q>>=2)if((q&3)===f){for(P=~~(m/20160),r=Xl[P],n=m%20160,So(a,r*20160+n),S=0;S<17;++S)if(t=Pn(a.edge,S<<3,4),ee=In[t],O=ee&7,ee>>=3,o=Pn(a.edge,S<<3|O,10)%20160,p=ee*20160+o,wo(Er,p)===e){if(Ys(Er,x?m:p,l),++Jl,x)break;if(_=$l[ee],_!==1)for(Bf(c,a),Yl(c,S),Zl(c,O),F=1;(_=~~_>>1&65535)!=0;++F)(_&1)==1&&(Bf(g,c),Zl(g,F),y=ee*20160+zn(g,10)%20160,wo(Er,y)===e&&(Ys(Er,y,l),++Jl))}}}++s}}function wo(e,r){return e[r>>4]>>((r&15)<<1)&3}function Pn(e,r,t){var n,o,l,i,s,a,u;for(i=$s[r],l=Xs[r],o=0,u=1985229328,a=47768,n=0;n<t;++n)s=i[e[l[n]]]<<2,o*=12-n,s>=32?(o+=a>>s-32&15,a-=4368<<s-32):(o+=u>>s&15,a-=4369,u-=286331152<<s);return o}function xf(e){var r,t,n,o,l,i,s,a,u,c,f,g;if(s=new et,i=0,l=wo(Er,e),l===3)return 10;for(;e!==0;)for(l===0?l=2:--l,c=~~(e/20160),r=Xl[c],n=e%20160,So(s,r*20160+n),u=0;u<17;++u)if(t=Pn(s.edge,u<<3,4),f=In[t],g=f&7,f>>=3,o=Pn(s.edge,u<<3|g,10)%20160,a=f*20160+o,wo(Er,a)===l){++i,e=a;break}return i}function Qm(e,r){var t;return t=wo(Er,e),t===3?10:(1227133513<<t>>r&3)+r-1}function qm(){var e,r,t,n;for(e=new et,t=0;t<20;++t)for(n=0;n<8;++n){for(So(e,0),Yl(e,t),Zl(e,n),r=0;r<12;++r)Xs[t<<3|n][r]=e.edge[r];for(vf(e),r=0;r<12;++r)$s[t<<3|n][r]=e.temp[r]}}function jm(){var e,r,t,n,o,l;for(r=new et,l=Q(1485),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(So(r,t*Js[8]),o=0;o<8;++o)n=zn(r,4),n===t&&($l[e]=($l[e]|1<<o)&65535),l[~~n>>3]=l[~~n>>3]|1<<(n&7),In[n]=e<<3|Sf[o],Mn(r,0),o%2==1&&(Mn(r,1),Mn(r,2));Xl[e++]=t}}function Ys(e,r,t){e[r>>4]^=(3^t)<<((r&15)<<1)}ur(158,1,Ft([um]),et);Z.isStd=!0;Z.temp=null;var Zs,Jl=0,Er,Js,Xs,$s,Km,In,Xl,Sf,$l,wf=!1;function Vm(){wf||(wf=!0,Jm=[[2,0],[5,0],[3,0],[4,0],[3,1],[5,1],[2,1],[4,1],[2,5],[3,5],[3,4],[2,4]],Xm=[19,37,46,10,52,43,25,16,21,50,48,23,7,3,1,5,34,30,28,32,41,39,14,12])}function Hm(e){var r,t,n;for(r=0,n=!1,t=0;t<12;++t)r|=1<<e.ep[t],n=n!==e.ep[t]>=12;return r&=~~r>>12,r===0&&!n}function Ym(e,r){var t;for(t=0;t<24;++t)e.ep[t]=r.ep[t]}function Zm(e,r){var t;switch(t=r%3,r=~~(r/3),r){case 0:R(e.ep,0,1,2,3,t),R(e.ep,12,13,14,15,t);break;case 1:R(e.ep,11,15,10,19,t),R(e.ep,23,3,22,7,t);break;case 2:R(e.ep,0,11,6,8,t),R(e.ep,12,23,18,20,t);break;case 3:R(e.ep,4,5,6,7,t),R(e.ep,16,17,18,19,t);break;case 4:R(e.ep,1,20,5,21,t),R(e.ep,13,8,17,9,t);break;case 5:R(e.ep,2,9,4,10,t),R(e.ep,14,21,16,22,t);break;case 6:R(e.ep,0,1,2,3,t),R(e.ep,12,13,14,15,t),R(e.ep,9,22,11,20,t);break;case 7:R(e.ep,11,15,10,19,t),R(e.ep,23,3,22,7,t),R(e.ep,2,16,6,12,t);break;case 8:R(e.ep,0,11,6,8,t),R(e.ep,12,23,18,20,t),R(e.ep,3,19,5,13,t);break;case 9:R(e.ep,4,5,6,7,t),R(e.ep,16,17,18,19,t),R(e.ep,8,23,10,21,t);break;case 10:R(e.ep,1,20,5,21,t),R(e.ep,13,8,17,9,t),R(e.ep,14,0,18,4,t);break;case 11:R(e.ep,2,9,4,10,t),R(e.ep,14,21,16,22,t),R(e.ep,7,15,1,17,t)}}function ea(){var e;for(this.ep=Q(24),e=0;e<24;++e)this.ep[e]=e}function Ef(e){var r,t,n;for(ea.call(this),r=0;r<23;++r)n=r+e(24-r),n!==r&&(t=this.ep[r],this.ep[r]=this.ep[n],this.ep[n]=t)}ur(159,1,{},ea,Ef);var Jm,Xm,Uf=!1;function $m(){Uf||(Uf=!0,ra=[35,1,34,2,4,6,22,5,19])}function kf(e){e.moveBuffer=Q(60)}function ep(e,r){return e.value-r.value}function Tn(e,r){var t;for(Ym(e.edge,r.edge),zm(e.center,r.center),Af(e.corner,r.corner),e.value=r.value,e.add1=r.add1,e.length1=r.length1,e.length2=r.length2,e.length3=r.length3,e.sym=r.sym,t=0;t<60;++t)e.moveBuffer[t]=r.moveBuffer[t];e.moveLength=r.moveLength,e.edgeAvail=r.edgeAvail,e.centerAvail=r.centerAvail,e.cornerAvail=r.cornerAvail}function vt(e){for(;e.centerAvail<e.moveLength;)Mm(e.center,e.moveBuffer[e.centerAvail++]);return e.center}function Cf(e){for(;e.cornerAvail<e.moveLength;)Tm(e.corner,e.moveBuffer[e.cornerAvail++]%18);return e.corner}function Eo(e){for(;e.edgeAvail<e.moveLength;)Zm(e.edge,e.moveBuffer[e.edgeAvail++]);return e.edge}function rp(e){var r,t,n,o,l,i,s,a;for(t=new Array(e.moveLength-(e.add1?2:0)),o=0,n=0;n<e.length1;++n)t[o++]=e.moveBuffer[n];for(a=e.sym,n=e.length1+(e.add1?2:0);n<e.moveLength;++n)wr[a][e.moveBuffer[n]]>=27?(t[o++]=wr[a][e.moveBuffer[n]]-9,i=ra[wr[a][e.moveBuffer[n]]-27],a=En[a][i]):t[o++]=wr[a][e.moveBuffer[n]];for(r=En[wn[a]][Fm(vt(e))],s=\"\",a=r,n=o-1;n>=0;--n)l=t[n],l=~~(l/3)*3+(2-l%3),wr[a][l]>=27?(s=s+ta[wr[a][l]-9]+\" \",i=ra[wr[a][l]-27],a=En[a][i]):s=s+ta[wr[a][l]]+\" \";return s}function qt(e,r){e.moveBuffer[e.moveLength++]=r}function ei(){kf(this),this.edge=new ea,this.center=new Hs,this.corner=new Hl}function ri(e){ei.call(this),Tn(this,e)}function zf(e){kf(this),this.edge=new Ef(e),this.center=new df(e),this.corner=new yf(e)}ur(160,1,Ft([Hu,cm]),ei,ri,zf);Z.compareTo$=function(r){return ep(this,r)};Z.add1=!1;Z.center=null;Z.centerAvail=0;Z.corner=null;Z.cornerAvail=0;Z.edge=null;Z.edgeAvail=0;Z.length1=0;Z.length2=0;Z.length3=0;Z.moveLength=0;Z.sym=0;Z.value=0;var ra;function tp(e,r){return r.value-e.value}function ti(e,r){return tp(e,r)}function Mf(){}ur(161,1,{},Mf);Z.compare=function(r,t){return ti(r,t)};var Pf=!1;function np(){if(!Pf){Pf=!0;var e,r;for(ta=[\"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'\"],jt=[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],Uo=[0,1,2,4,6,7,8,9,10,11,13,15,16,17,19,22,25,28,31,34,36],If=Q(37),Tf=Q(37),_n=Q(37,36),ni=Q(29,28),oi=Q(21,20),na=Q(36),ko=Q(28),Nn=Q(20),e=0;e<29;++e)If[jt[e]]=e;for(e=0;e<21;++e)Tf[Uo[e]]=e;for(e=0;e<36;++e){for(r=0;r<36;++r)_n[e][r]=~~(e/3)==~~(r/3)||~~(e/3)%3==~~(r/3)%3&&e>r;_n[36][e]=!1}for(e=0;e<29;++e)for(r=0;r<28;++r)ni[e][r]=_n[jt[e]][jt[r]];for(e=0;e<21;++e)for(r=0;r<20;++r)oi[e][r]=_n[Uo[e]][Uo[r]];for(e=0;e<36;++e)for(na[e]=36,r=e;r<36;++r)if(!_n[e][r]){na[e]=r-1;break}for(e=0;e<28;++e)for(ko[e]=28,r=e;r<28;++r)if(!ni[e][r]){ko[e]=r-1;break}for(e=0;e<20;++e)for(Nn[e]=20,r=e;r<20;++r)if(!oi[e][r]){Nn[e]=r-1;break}}}var _n,ni,oi,jt,ta,Uo,na,ko,Nn,If,Tf;function op(e){var r,t,n,o,l,i,s,a,u,c,f,g,m,d,p,y,x,F,S,_,P;for(e.solution=\"\",_=Nl(new Ol(vt(e.c),0)),i=Nl(new Ol(vt(e.c),1)),p=Nl(new Ol(vt(e.c),2)),P=Sr[~~_>>6],s=Sr[~~i>>6],y=Sr[~~p>>6],e.p1SolsCnt=0,e.arr2idx=0,pp(e.p1sols.heap),e.length1=(P<s?P:s)<y?P<s?P:s:y;e.length1<100&&!(y<=e.length1&&li(e,~~p>>>6,p&63,e.length1,-1,0)||P<=e.length1&&li(e,~~_>>>6,_&63,e.length1,-1,0)||s<=e.length1&&li(e,~~i>>>6,i&63,e.length1,-1,0));++e.length1);m=vp(e.p1sols,Ts(Sp,Ft([fm,Ps,Is]),Hu,0,0)),m.sort(function(ee,O){return ee.value-O.value}),r=9;do{e:for(f=m[0].value;f<100;++f)for(a=0;a<m.length&&!(m[a].value>f);++a)if(!(f-m[a].length1>r)&&(Tn(e.c1,m[a]),of(e.ct2,vt(e.c1),ii(Eo(e.c1).ep)),x=ql(e.ct2),F=jl(e.ct2),e.length1=m[a].length1,e.length2=f-m[a].length1,_f(e,x,F,e.length2,28,0)))break e;++r}while(f===100);e.arr2.sort(function(ee,O){return ee.value-O.value}),u=0,t=13;do{e:for(g=e.arr2[0].value;g<100;++g)for(a=0;a<Math.min(e.arr2idx,100)&&!(e.arr2[a].value>g);++a)if(!(g-e.arr2[a].length1-e.arr2[a].length2>t)&&(l=bf(e.e12,Eo(e.arr2[a])),gf(e.ct3,vt(e.arr2[a]),l^ii(Cf(e.arr2[a]).cp)),n=qs(e.ct3),o=zn(e.e12,10),d=xf(Ff(e.e12)),d<=g-e.arr2[a].length1-e.arr2[a].length2&&Nf(e,o,n,d,g-e.arr2[a].length1-e.arr2[a].length2,20,0))){u=a;break e}++t}while(g===100);for(S=new ri(e.arr2[u]),e.length1=S.length1,e.length2=S.length2,c=g-e.length1-e.length2,a=0;a<c;++a)qt(S,Uo[e.move3[a]]);e.solution=rp(S)}function lp(e,r){var t,n,o,l,i;for(Tn(e.c1,e.c),n=0;n<e.length1;++n)qt(e.c1,e.move1[n]);switch(Ws[r]){case 0:qt(e.c1,24),qt(e.c1,35),e.move1[e.length1]=24,e.move1[e.length1+1]=35,e.add1=!0,r=19;break;case 12869:qt(e.c1,18),qt(e.c1,29),e.move1[e.length1]=18,e.move1[e.length1+1]=29,e.add1=!0,r=34;break;case 735470:e.add1=!1,r=0}return of(e.ct2,vt(e.c1),ii(Eo(e.c1).ep)),l=ql(e.ct2),i=jl(e.ct2),t=Ye[l*70+i],e.c1.value=t+e.length1,e.c1.length1=e.length1,e.c1.add1=e.add1,e.c1.sym=r,++e.p1SolsCnt,e.p1sols.heap.size<500?o=new ri(e.c1):(o=Bp(e.p1sols),o.value>e.c1.value&&Tn(o,e.c1)),cp(e.p1sols,o),e.p1SolsCnt===1e4}function ip(e){var r,t,n,o;for(Tn(e.c2,e.c1),n=0;n<e.length2;++n)qt(e.c2,e.move2[n]);return Hm(Eo(e.c2))?(t=bf(e.e12,Eo(e.c2)),gf(e.ct3,vt(e.c2),t^ii(Cf(e.c2).cp)),r=qs(e.ct3),zn(e.e12,10),o=xf(Ff(e.e12)),e.arr2[e.arr2idx]?Tn(e.arr2[e.arr2idx],e.c2):e.arr2[e.arr2idx]=new ri(e.c2),e.arr2[e.arr2idx].value=e.length1+e.length2+Math.max(o,Bt[r]),e.arr2[e.arr2idx].length2=e.length2,++e.arr2idx,e.arr2idx===e.arr2.length):!1}function sp(e,r){return Of(),e.c=new zf(r),op(e),e.solution}function li(e,r,t,n,o,l){var i,s,a,u,c,f;if(r===0)return n===0&&lp(e,t);for(i=0;i<27;i+=3)if(!(i===o||i===o-9||i===o-18))for(u=0;u<3;++u){if(a=i+u,s=Wl[r][wr[t][a]],c=Sr[~~s>>>6],c>=n){if(c>n)break;continue}if(f=En[t][s&63],s>>>=6,e.move1[l]=a,li(e,s,f,n-1,i,l+1))return!0}return!1}function _f(e,r,t,n,o,l){var i,s,a,u;if(r===0&&Ye[t]===0)return n===0&&ip(e);for(s=0;s<23;++s){if(ni[o][s]){s=ko[s];continue}if(i=Kl[r][s],u=Vl[t][s],a=Ye[i*70+u],a>=n){a>n&&(s=ko[s]);continue}if(e.move2[l]=jt[s],_f(e,i,u,n-1,s,l+1))return!0}return!1}function Nf(e,r,t,n,o,l,i){var s,a,u,c,f,g,m,d,p;if(o===0)return r===0&&t===0;for(So(e.tempe[i],r),f=0;f<17;++f){if(oi[l][f]){f=Nn[f];continue}if(u=xo[t][f],g=Bt[u],g>=o){g>o&&f<14&&(f=Nn[f]);continue}if(c=Pn(e.tempe[i].edge,f<<3,10),s=~~(c/20160),d=In[s],p=d&7,d>>=3,a=Pn(e.tempe[i].edge,f<<3|p,10)%20160,m=Qm(d*20160+a,n),m>=o){m>o&&f<14&&(f=Nn[f]);continue}if(Nf(e,c,u,m,o-1,f,i+1))return e.move3[i]=f,!0}return!1}function Gf(){var e;for(this.p1sols=new Yf(new Mf),this.move1=Q(15),this.move2=Q(20),this.move3=Q(20),this.c1=new ei,this.c2=new ei,this.ct2=new Qs,this.ct3=new js,this.e12=new et,this.tempe=Q(20),this.arr2=Q(100),e=0;e<20;++e)this.tempe[e]=new et}function Of(){Wf||(Bm(),Sn=Q(735471),bm(),ym(),Sn=null,Dm(),Sm(),km(),qm(),jm(),Wm(),Wf=!0)}ur(163,1,Ft([gm]),Gf);Z.add1=!1;Z.arr2idx=0;Z.c=null;Z.length1=0;Z.length2=0;Z.p1SolsCnt=0;Z.solution=\"\";var Wf=!1,Qf=!1;function ap(){Qf||(Qf=!0,up=[85,68,70,66,82,76])}function ii(e){var r,t,n,o;for(o=0,r=0,n=e.length;r<n;++r)for(t=r;t<n;++t)e[r]>e[t]&&(o^=1);return o}function R(e,r,t,n,o,l){var i;switch(l){case 0:i=e[o],e[o]=e[n],e[n]=e[t],e[t]=e[r],e[r]=i;return;case 1:i=e[r],e[r]=e[n],e[n]=i,i=e[t],e[t]=e[o],e[o]=i;return;case 2:i=e[r],e[r]=e[t],e[t]=e[n],e[n]=e[o],e[o]=i;return}}var up;function qf(){}function jf(e,r,t,n){var o;return o=new qf,o.typeName=e+r,Vf(t!==0?-t:0)&&Hf(t!==0?-t:0,o),o.modifiers=4,o.superclass=oa,o.componentType=n,o}function Kf(e,r,t,n){var o;return o=new qf,o.typeName=e+r,Vf(t)&&Hf(t,o),o.superclass=n,o}function fp(e){var r=Bo[e.seedId];return e=null,r}function Vf(e){return typeof e==\"number\"&&e>0}function Hf(e,r){var t;if(r.seedId=e,e===2)t=String.prototype;else if(e>0){var n=fp(r);if(n)t=n.prototype;else{n=Bo[e]=function(){},n.___clazz$=r;return}}else return;t.___clazz$=r}Z.val$outerIter=null;function cp(e,r){if(Fp(e,r))return!0}function gp(e){e.array=Ts(Zf,Ft([Ps,Is]),Ku,0,0)}function mp(e,r){return Tl(e.array,e.size++,r),!0}function pp(e){e.array=Ts(Zf,Ft([Ps,Is]),Ku,0,0),e.size=0}function xt(e,r){return e.array[r]}function dp(e,r){var t;return t=e.array[r],Ap(e.array,r,1),--e.size,t}function Gn(e,r,t){var n;return n=e.array[r],Tl(e.array,r,t),n}function hp(e,r){var t;for(r.length<e.size&&(r=pm(r,e.size)),t=0;t<e.size;++t)Tl(r,t,e.array[t]);return r.length>e.size&&Tl(r,e.size,null),r}function Lp(){gp(this),this.array.length=500}function Ap(e,r,t){e.splice(r,t)}Z.size=0;function Rp(e,r){var t,n,o,l;for(n=0,t=e.length-1;n<=t;)if(o=n+(~~(t-n)>>1),l=e[o],l<r)n=o+1;else if(l>r)t=o-1;else return o;return-n-1}function si(e){yp(e,e.length)}function yp(e,r){var t;for(t=0;t<r;++t)e[t]=-1}function Dp(e,r){var t,n,o,l,i,s;for(t=e.heap.size,o=xt(e.heap,r);r*2+1<t&&(n=(l=2*r+1,i=l+1,s=l,i<t&&ti(xt(e.heap,i),xt(e.heap,l))<0&&(s=i),s),!(ti(o,xt(e.heap,n))<0));)Gn(e.heap,r,xt(e.heap,n)),r=n;Gn(e.heap,r,o)}function Fp(e,r){var t,n;for(n=e.heap.size,mp(e.heap,r);n>0;){if(t=n,n=~~((n-1)/2),ti(xt(e.heap,n),r)<=0)return Gn(e.heap,t,r),!0;Gn(e.heap,t,xt(e.heap,n))}return Gn(e.heap,n,r),!0}function Bp(e){var r;return e.heap.size===0?null:(r=xt(e.heap,0),bp(e),r)}function bp(e){var r;r=dp(e.heap,e.heap.size-1),0<e.heap.size&&(Gn(e.heap,0,r),Dp(e,0))}function vp(e,r){return hp(e.heap,r)}function Yf(e){this.heap=new Lp,this.cmp=e}ur(239,1,{},Yf);Z.cmp=null;Z.heap=null;var oa=Kf(\"java.lang.\",\"Object\",1,null),Zf=jf(\"[Ljava.lang.\",\"Object;\",356,oa),xp=Kf(\"cs.threephase.\",\"FullCube\",160,oa),Sp=jf(\"[Lcs.threephase.\",\"FullCube;\",381,xp),Jf,Xf=!1;function $f(){Xf||(Xf=!0,np(),ap(),Rm(),xm(),wm(),Om(),Cm(),Im(),Vm(),$m(),Jf=new Gf)}function la(){$f(),Of()}function Co(){return D(this,null,function*(){gr(),$f();let e=I.fromString(sp(Jf,yield ar()));return(yield xn()).concat(e)})}var wp=[[null,\"x\",\"x2\",\"x'\",\"z\",\"z'\"],[null,\"y\",\"y2\",\"y'\"]];function e1(){return D(this,null,function*(){return pn(yield Co(),wp)})}aa();var kp=2,n1=null;function Cp(){return D(this,null,function*(){return n1||(n1=(()=>D(this,null,function*(){let r=yield(yield Promise.resolve().then(()=>(aa(),t1))).cachedSGSDataMegaminx();return new Hr(yield ai(),r,[\"U\",\"R\",\"F\",\"L\",\"BR\",\"BL\",\"FR\",\"FL\",\"DR\",\"DL\",\"B\",\"D\"])}))())})}function o1(e){return D(this,null,function*(){gr();let r=yield Cp(),t=JSON.parse(JSON.stringify(e));return t.CENTERS.orientation=new Array(12).fill(0),yield r.solve(t,kp,()=>5)})}ut();ca();var Mp=3,s1=null;function Pp(){return D(this,null,function*(){return s1||(s1=(()=>D(this,null,function*(){let r=yield(yield Promise.resolve().then(()=>(ca(),i1))).sgsDataPyraminx();return new Hr(yield Ir.pyraminx.def(),r,\"RLUB\".split(\"\"))}))())})}function ga(e){return D(this,null,function*(){return gr(),yield(yield Pp()).solve(e,Mp,()=>3)})}function Ip(){return D(this,null,function*(){return pl(yield Ir.pyraminx.def(),yield fa())})}function a1(){return D(this,null,function*(){return ga(yield Ip())})}ha();var Np=3,c1=null;function Gp(){return D(this,null,function*(){return c1||(c1=(()=>D(this,null,function*(){let e=yield Promise.resolve().then(()=>(ha(),f1)),r=yield e.sgsDataSkewb();return new Hr(yield e.skewbDefWithoutMOCached(),r,\"RLUB\".split(\"\"))}))())})}function Op(e){return{CORNERS:e.CORNERS,CENTERS:{permutation:e.CENTERS.permutation,orientation:new Array(6).fill(0)}}}function La(e){return D(this,null,function*(){return gr(),yield(yield Gp()).solve(Op(e),Np,n=>n.family===\"y\"?4:3)})}function Wp(){return D(this,null,function*(){return pl(yield ui(),yield da())})}function g1(){return D(this,null,function*(){return La(yield Wp())})}ye();function Qp(e){switch(e){case 5:return 60;case 6:return 80;default:return 100}}var qp=[[\"U\",\"D\"],[\"L\",\"R\"],[\"F\",\"B\"]],m1=new Map;function jp(e){let r=m1.get(e);if(r)return r;let t=[];for(let n of qp){let o=[];t.push(o);for(let l of n){o.push(new W(l)),e>3&&o.push(new W(`${l}w`));for(let i=3;i<=e/2;i++)o.push(new W(`${l}w`,i))}}return m1.set(e,t),t}function rt(e){return D(this,null,function*(){let r=yield ar(),t=yield Vr(),n=t,o=jp(e),l=Qp(e),i=new cr,s=0,a=new Set;for(;i.experimentalNumUnits()<l;){let u=r(3);u!==s&&a.clear(),s=u;let c=t(o[s]),f=c.toString();a.has(f)||(a.add(f),i.push(new h(c,n([1,2,-1]))))}return i.toAlg()})}var Kp=[[null,\"3Rw\",\"3Rw2\",\"3Rw'\",\"3Fw\",\"3Fw'\"],[null,\"3Dw\",\"3Dw2\",\"3Dw'\"]];function p1(){return D(this,null,function*(){return pn(yield rt(5),Kp)})}ye();function d1(){}function Vp(e,r){e.ul=r.ul,e.ur=r.ur,e.dl=r.dl,e.dr=r.dr,e.ml=r.ml}function h1(e,r){var t;r<<=2,r>24?(r=48-r,t=e.ul,e.ul=(~~e.ul>>r|e.ur<<24-r)&16777215,e.ur=(~~e.ur>>r|t<<24-r)&16777215):r>0?(t=e.ul,e.ul=(e.ul<<r|~~e.ur>>24-r)&16777215,e.ur=(e.ur<<r|~~t>>24-r)&16777215):r==0?(t=e.ur,e.ur=e.dl,e.dl=t,e.ml=1-e.ml):r>=-24?(r=-r,t=e.dl,e.dl=(e.dl<<r|~~e.dr>>24-r)&16777215,e.dr=(e.dr<<r|~~t>>24-r)&16777215):r<-24&&(r=48+r,t=e.dl,e.dl=(~~e.dl>>r|e.dr<<24-r)&16777215,e.dr=(~~e.dr>>r|t<<24-r)&16777215)}function Hp(e){var r,t,n,o,l;for(n=0,e.arr[0]=Nr(e,0),o=1;o<24;++o)Nr(e,o)!=e.arr[n]&&(e.arr[++n]=Nr(e,o));for(l=0,r=0;r<16;++r)for(t=r+1;t<16;++t)e.arr[r]>e.arr[t]&&(l^=1);return l}function Yp(e){var r,t,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,t=e.dr&1118481,t|=~~t>>3,t|=~~t>>6,t=t&15|~~t>>12&48,r=e.dl&1118481,r|=~~r>>3,r|=~~r>>6,r=r&15|~~r>>12&48,zo(Hp(e)<<24|n<<18|o<<12|r<<6|t)}function Zp(e,r){var t,n;for(t=0;t<8;++t)e.prm[t]=~~(~~Nr(e,t*3+1)>>1<<24)>>24;for(r.cornperm=To(e.prm),r.topEdgeFirst=Nr(e,0)==Nr(e,1),t=r.topEdgeFirst?2:0,n=0;n<4;t+=3,++n)e.prm[n]=~~(~~Nr(e,t)>>1<<24)>>24;for(r.botEdgeFirst=Nr(e,12)==Nr(e,13),t=r.botEdgeFirst?14:12;n<8;t+=3,++n)e.prm[n]=~~(~~Nr(e,t)>>1<<24)>>24;r.edgeperm=To(e.prm),r.ml=e.ml}function Nr(e,r){var t;return r<6?t=~~e.ul>>(5-r<<2):r<12?t=~~e.ur>>(11-r<<2):r<18?t=~~e.dl>>(17-r<<2):t=~~e.dr>>(23-r<<2),~~((t&15)<<24)>>24}function Aa(e,r,t){r<6?(e.ul&=~(15<<(5-r<<2)),e.ul|=t<<(5-r<<2)):r<12?(e.ur&=~(15<<(11-r<<2)),e.ur|=t<<(11-r<<2)):r<18?(e.dl&=~(15<<(17-r<<2)),e.dl|=t<<(17-r<<2)):(e.dr&=~(15<<(23-r<<2)),e.dr|=t<<(23-r<<2))}function Ra(){this.arr=[],this.prm=[]}function Jp(){return D(this,null,function*(){let e=yield ar();var r,t,n,o,l,i,s,a,u;for(r=new Ra,n=On[e(3678)],l=19088743<<1|286331153,o=19088743<<1,s=i=8,t=0;t<24;t++)(n>>t&1)==0?(a=e(i)<<2,Aa(r,23-t,o>>a&15),u=(1<<a)-1,o=(o&u)+(o>>4&~u),--i):(a=e(s)<<2,Aa(r,23-t,l>>a&15),Aa(r,22-t,l>>a&15),u=(1<<a)-1,l=(l&u)+(l>>4&~u),--s,++t);return r.ml=e(2),r})}function Xp(){}var xe=Ra.prototype=Xp.prototype;xe.dl=10062778;xe.dr=14536702;xe.ml=0;xe.ul=70195;xe.ur=4544119;function $p(e){var r,t,n,o,l,i;for(Vp(e.Search_d,e.Search_c),n=0;n<e.Search_length1;++n)h1(e.Search_d,e.Search_move[n]);for(Zp(e.Search_d,e.Search_sq),t=e.Search_sq.edgeperm,r=e.Search_sq.cornperm,l=e.Search_sq.ml,i=Math.max(Be[e.Search_sq.edgeperm<<1|l],Be[e.Search_sq.cornperm<<1|l]),n=i;n<e.Search_maxlen2;++n)if(ci(e,t,r,e.Search_sq.topEdgeFirst,e.Search_sq.botEdgeFirst,l,n,e.Search_length1,0)){for(o=0;o<n;++o)h1(e.Search_d,e.Search_move[e.Search_length1+o]);return e.Search_sol_string=ed(e,n+e.Search_length1),!0}return!1}function ed(e,r){for(var t=\"\",n=0,o=0,l=r-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?t+=\" / \":t+=\"(\"+n+\", \"+o+\") / \",n=o=0)}return n==0&&o==0||(t+=\"(\"+n+\", \"+o+\")\"),t}function fi(e,r,t,n,o,l){var i,s,a;if(t==0&&n<4)return n==0&&$p(e);if(l!=0&&(a=gi[r],s=ze[a],s<n&&(e.Search_move[o]=0,fi(e,a,s,n-1,o+1,0))))return!0;if(a=r,l<=0){for(i=0;i+=Po[a],a=~~i>>4,i&=15,!(i>=12||(s=ze[a],s>n));)if(s<n&&(e.Search_move[o]=i,fi(e,a,s,n-1,o+1,1)))return!0}if(a=r,l<=1){for(i=0;i+=Mo[a],a=~~i>>4,i&=15,!(i>=6||(s=ze[a],s>n));)if(s<n&&(e.Search_move[o]=-i,fi(e,a,s,n-1,o+1,2)))return!0}return!1}function ci(e,r,t,n,o,l,i,s,a){var u,c,f,g,m,d,p;if(i==0&&!n&&o||a!=0&&n==o&&(f=_o[r],c=_o[t],Be[f<<1|1-l]<i&&Be[c<<1|1-l]<i&&(e.Search_move[s]=0,ci(e,f,c,n,o,1-l,i-1,s+1,0))))return!0;if(a<=0)for(p=!n,f=p?Ht[r]:r,c=p?t:Ht[t],g=p?1:2,m=Be[f<<1|l],d=Be[c<<1|l];g<12&&m<=i&&m<=i;){if(m<i&&d<i&&(e.Search_move[s]=g,ci(e,f,c,p,o,l,i-1,s+1,1)))return!0;p=!p,p?(f=Ht[f],m=Be[f<<1|l],g+=1):(c=Ht[c],d=Be[c<<1|l],g+=2)}if(a<=1)for(u=!o,f=u?Kt[r]:r,c=u?t:Kt[t],g=u?1:2,m=Be[f<<1|l],d=Be[c<<1|l];g<(i>3?6:12)&&m<=i&&m<=i;){if(m<i&&d<i&&(e.Search_move[s]=-g,ci(e,f,c,n,u,l,i-1,s+1,2)))return!0;u=!u,u?(f=Kt[f],m=Be[f<<1|l],g+=1):(c=Kt[c],d=Be[c<<1|l],g+=2)}return!1}function rd(e,r){var t;for(e.Search_c=r,t=Yp(r),e.Search_length1=ze[t];e.Search_length1<100&&(e.Search_maxlen2=Math.min(31-e.Search_length1,17),!fi(e,t,ze[t],e.Search_length1,0,-1));++e.Search_length1);return e.Search_sol_string}function L1(){this.Search_move=[],this.Search_d=new Ra,this.Search_sq=new D1}function td(){}xe=L1.prototype=td.prototype;xe.Search_c=null;xe.Search_length1=0;xe.Search_maxlen2=0;xe.Search_sol_string=null;function A1(){A1=d1,Io=[0,3,6,12,15,24,27,30,48,51,54,60,63],On=[],ze=[],Po=[],Mo=[],gi=[],ld()}function nd(e){var r,t;r=0,t=0;do(e.bottom&2048)==0?(r+=1,e.bottom=e.bottom<<1):(r+=2,e.bottom=e.bottom<<2^12291),t=1-t;while((Yt(e.bottom&63)&1)!=0);return(Yt(e.bottom)&2)==0&&(e.Shape_parity^=t),r}function ya(e){var r;return r=B1(On,e.top<<12|e.bottom)<<1|e.Shape_parity,r}function Da(e,r){e.Shape_parity=r&1,e.top=On[~~r>>1],e.bottom=e.top&4095,e.top>>=12}function od(e){var r,t;r=0,t=0;do(e.top&2048)==0?(r+=1,e.top=e.top<<1):(r+=2,e.top=e.top<<2^12291),t=1-t;while((Yt(e.top&63)&1)!=0);return(Yt(e.top)&2)==0&&(e.Shape_parity^=t),r}function R1(){}function zo(e){var r;return r=B1(On,e&16777215)<<1|~~e>>24,r}function ld(){var e,r,t,n,o,l,i,s,a,u,c,f,g,m,d,p;for(e=0,i=0;i<28561;++i)l=Io[i%13],t=Io[~~(i/13)%13],f=Io[~~(~~(i/13)/13)%13],c=Io[~~(~~(~~(i/13)/13)/13)],g=c<<18|f<<12|t<<6|l,Yt(g)==16&&(On[e++]=g);for(u=new R1,i=0;i<7356;++i)Da(u,i),Po[i]=od(u),Po[i]|=ya(u)<<4,Da(u,i),Mo[i]=nd(u),Mo[i]|=ya(u)<<4,Da(u,i),p=u.top&63,m=Yt(p),d=Yt(u.bottom&4032),u.Shape_parity^=1&~~(m&d)>>1,u.top=u.top&4032|~~u.bottom>>6&63,u.bottom=u.bottom&63|p<<6,gi[i]=ya(u);for(i=0;i<7536;++i)ze[i]=-1;for(ze[zo(14378715)]=0,ze[zo(31157686)]=0,ze[zo(23967451)]=0,ze[zo(7191990)]=0,n=4,o=0,r=-1;n!=o;)for(o=n,++r,i=0;i<7536;++i)if(ze[i]==r){a=0,s=i;do s=Po[s],a+=s&15,s>>=4,ze[s]==-1&&(++n,ze[s]=r+1);while(a!=12);a=0,s=i;do s=Mo[s],a+=s&15,s>>=4,ze[s]==-1&&(++n,ze[s]=r+1);while(a!=12);s=gi[i],ze[s]==-1&&(++n,ze[s]=r+1)}}function id(){}xe=R1.prototype=id.prototype;xe.bottom=0;xe.Shape_parity=0;xe.top=0;var Mo,On,ze,Po,gi,Io;function y1(){y1=d1,Be=[],_o=[],Ht=[],Kt=[],F1=[1,1,2,6,24,120,720,5040],Vt=[];for(var e=0;e<12;++e)Vt[e]=[];sd()}function D1(){}function To(e){var r,t,n,o;for(t=0,o=1985229328,r=0;r<7;++r)n=e[r]<<2,t=(8-r)*t+(~~o>>n&7),o-=286331152<<n;return t&65535}function sd(){var e,r,t,n,o,l,i,s,a,u,c,f,g;for(o=0;o<12;++o)for(Vt[o][0]=1,Vt[o][o]=1,a=1;a<o;++a)Vt[o][a]=Vt[o-1][a-1]+Vt[o-1][a];for(f=[],o=0;o<40320;++o)Fa(f,o),g=f[2],f[2]=f[4],f[4]=g,g=f[3],f[3]=f[5],f[5]=g,_o[o]=To(f),Fa(f,o),g=f[0],f[0]=f[1],f[1]=f[2],f[2]=f[3],f[3]=g,Ht[o]=To(f),Fa(f,o),g=f[4],f[4]=f[5],f[5]=f[6],f[6]=f[7],f[7]=g,Kt[o]=To(f);for(o=0;o<80640;++o)Be[o]=-1;for(Be[0]=0,r=0,t=1;t<80640;){s=r>=11,n=s?-1:r,e=s?r:-1,++r;e:for(o=0;o<80640;++o)if(Be[o]==n){if(l=~~o>>1,c=o&1,i=_o[l]<<1|1-c,Be[i]==e&&(++t,Be[s?o:i]=~~(r<<24)>>24,s))continue e;for(i=l,u=0;u<4;++u)if(i=Ht[i],Be[i<<1|c]==e&&(++t,Be[s?o:i<<1|c]=~~(r<<24)>>24,s))continue e;for(u=0;u<4;++u)if(i=Kt[i],Be[i<<1|c]==e&&(++t,Be[s?o:i<<1|c]=~~(r<<24)>>24,s))continue e}}}function Fa(e,r){var t,n,o,l,i;for(i=1985229328,t=0;t<7;++t)o=F1[7-t],l=~~(r/o),r-=l*o,l<<=2,e[t]=~~((~~i>>l&7)<<24)>>24,n=(1<<l)-1,i=(i&n)+(~~i>>4&~n);e[7]=~~(i<<24)>>24}function ad(){}xe=D1.prototype=ad.prototype;xe.botEdgeFirst=!1;xe.cornperm=0;xe.edgeperm=0;xe.ml=0;xe.topEdgeFirst=!1;var Kt,Vt,Be,Ht,_o,F1;function Yt(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 B1(e,r){var t,n,o,l;for(n=0,t=e.length-1;n<=t;)if(o=n+(~~(t-n)>>1),l=e[o],l<r)n=o+1;else if(l>r)t=o-1;else return o;return-n-1}var Ba=!1,ud=function(e,r,t){Ba||(A1(),y1()),t&&t(\"Done initializing Square-1.\"),Ba=!0,e!=null&&e()},fd=function(){return D(this,null,function*(){return Ba||ud(),Jp()})},cd=function(e){var r=new L1;return rd(r,e)},gd=function(){return D(this,null,function*(){var e=yield fd(),r=cd(e);return{state:e,scramble_string:r}})};function b1(){return D(this,null,function*(){return(yield gd()).scramble_string})}function v1(){return D(this,null,function*(){return I.fromString(yield b1())})}q2(!0);var md=!0;function x1(){return(typeof performance==\"undefined\"?Date:performance).now()}function We(e,r){return D(this,null,function*(){if(!md)return r();let t=x1(),n=r();(n==null?void 0:n.then)&&(yield n);let o=x1();return console.warn(`${e}: ${Math.round(o-t)}ms`),n})}var ba={initialize:e=>D(void 0,null,function*(){switch(e){case\"222\":return We(\"preInitialize222\",nu);case\"333\":case\"333oh\":case\"333ft\":return We(\"initialize333\",Nu);case\"444\":return We(\"initialize444\",la);default:throw new Error(`unsupported event: ${e}`)}}),randomScrambleForEvent:e=>D(void 0,null,function*(){switch(e){case\"222\":return We(\"random222Scramble\",ou);case\"333\":case\"333oh\":case\"333ft\":return We(\"random333Scramble\",xn);case\"333fm\":return We(\"random333FewestMovesScramble\",Wu);case\"333bf\":return We(\"random333OrientedScramble\",Gu);case\"444\":return We(\"random444Scramble\",Co);case\"444bf\":return We(\"random444OrientedScramble\",e1);case\"555\":return We(\"bigCubeScramble(5)\",rt.bind(rt,5));case\"555bf\":return We(\"oriented555RandomMoves\",p1);case\"666\":return We(\"bigCubeScramble(6)\",rt.bind(rt,6));case\"777\":return We(\"bigCubeScramble(7)\",rt.bind(rt,7));case\"skewb\":return We(\"randomSkewbFixedCornerScramble\",g1);case\"pyram\":return We(\"randomPyraminxScrambleFixedOrientation\",a1);case\"sq1\":return We(\"getRandomSquare1Scramble\",v1);default:throw new Error(`unsupported event: ${e}`)}}),randomScrambleStringForEvent:e=>D(void 0,null,function*(){return(yield ba.randomScrambleForEvent(e)).toString()}),solve333ToString:e=>D(void 0,null,function*(){return(yield Us(e)).toString()}),solve222ToString:e=>D(void 0,null,function*(){return(yield rs(e)).toString()}),solveSkewbToString:e=>D(void 0,null,function*(){return(yield La(e)).toString()}),solvePyraminxToString:e=>D(void 0,null,function*(){return(yield ga(e)).toString()}),solveMegaminxToString:e=>D(void 0,null,function*(){return(yield o1(e)).toString()})};Wa(ba);\n";
|
|
1
|
+
export const workerSource = "var m1=Object.create;var wo=Object.defineProperty;var p1=Object.getOwnPropertyDescriptor;var d1=Object.getOwnPropertyNames;var L1=Object.getPrototypeOf,h1=Object.prototype.hasOwnProperty;var ca=e=>wo(e,\"__esModule\",{value:!0});var S=(e,t)=>()=>(e&&(t=e(e=0)),t);var Te=(e,t)=>{ca(e);for(var r in t)wo(e,r,{get:t[r],enumerable:!0})},R1=(e,t,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let n of d1(t))!h1.call(e,n)&&n!==\"default\"&&wo(e,n,{get:()=>t[n],enumerable:!(r=p1(t,n))||r.enumerable});return e},ga=e=>R1(ca(wo(e!=null?m1(L1(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)}}),ma=(e,t,r)=>(ni(e,t,\"access private method\"),r);var D=(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 ya={};Te(ya,{default:()=>U1});function E1(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 U1,Da=S(()=>{U1=E1});var Fa={};Te(Fa,{port:()=>k1});function k1(){return D(this,null,function*(){let{parentPort:e}=yield import(\"worker_threads\").catch();return(yield Promise.resolve().then(()=>(Da(),ya))).default(e)})}var Ba=S(()=>{});var C1,Uo,ke,Mt=S(()=>{C1=!1,Uo=class{is(t){return this instanceof t}as(t){return this instanceof t?this:null}},ke=class extends Uo{constructor(){super();C1&&Object.defineProperty(this,\"_debugStr\",{get:()=>this.toString()})}get log(){return console.log.bind(console,this,this.toString())}}});function xa(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 Sa(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 Cn,Nr,va,ui=S(()=>{Cn=2147483647,Nr=\"2^31 - 1\",va=-2147483648});var dr,at,fi=S(()=>{Pt();at=class{constructor(){de(this,dr,[])}push(t){R(this,dr).push(t)}experimentalPushAlg(t){for(let r of t.units())this.push(r)}experimentalNumUnits(){return R(this,dr).length}toAlg(){return new z(R(this,dr))}reset(){ie(this,dr,[])}};dr=new WeakMap});var Lr,hr,ko,ze,Mn=S(()=>{Pt();Mt();dt();ko=class extends ke{constructor(t,r){super();de(this,Lr,void 0);de(this,hr,void 0);ie(this,Lr,Ht(t)),ie(this,hr,Ht(r))}get A(){return R(this,Lr)}get B(){return R(this,hr)}isIdentical(t){let r=t.as(ko);return!!((r==null?void 0:r.A.isIdentical(this.A))&&(r==null?void 0:r.B.isIdentical(this.B)))}invert(){return new ko(R(this,hr),R(this,Lr))}*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,Lr).toString()}, ${R(this,hr).toString()}]`}},ze=ko;Lr=new WeakMap,hr=new WeakMap});var Tr,_r,zo,Ce,Pn=S(()=>{Pt();Mt();dt();zo=class extends ke{constructor(t,r){super();de(this,Tr,void 0);de(this,_r,void 0);ie(this,Tr,Ht(t)),ie(this,_r,Ht(r))}get A(){return R(this,Tr)}get B(){return R(this,_r)}isIdentical(t){let r=t.as(zo);return!!((r==null?void 0:r.A.isIdentical(this.A))&&(r==null?void 0:r.B.isIdentical(this.B)))}invert(){return new zo(R(this,Tr),R(this,_r).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}]`}},Ce=zo;Tr=new WeakMap,_r=new WeakMap});var Yt,ci,Lt,In=S(()=>{Mt();dt();ci=class extends ke{constructor(t){super();de(this,Yt,void 0);if(t.includes(`\n`)||t.includes(\"\\r\"))throw new Error(\"LineComment cannot contain newline\");ie(this,Yt,t)}get text(){return R(this,Yt)}isIdentical(t){let r=t;return t.is(ci)&&R(this,Yt)===R(r,Yt)}invert(){return this}*experimentalExpand(t=j.Forwards,r=1/0){yield this}toString(){return`//${R(this,Yt)}`}},Lt=ci;Yt=new WeakMap});var We,Gn=S(()=>{Mt();dt();We=class extends ke{toString(){return`\n`}isIdentical(t){return t.is(We)}invert(){return this}*experimentalExpand(t=j.Forwards,r=1/0){yield this}}});var Qe,Nn=S(()=>{Mt();dt();Qe=class extends ke{toString(){return\".\"}isIdentical(t){return t.is(Qe)}invert(){return this}*experimentalExpand(t=j.Forwards,r=1/0){yield this}}});function Co(e,t){return e?parseInt(e):t}function gi(e){return new Mo().parseAlg(e)}function Ea(e){return new Mo().parseMove(e)}function Ua(e){return new Mo().parseQuantumMove(e)}function qe(e,t,r){let n=e;return n.startCharIndex=t,n.endCharIndex=r,n}function ka(e,t){return\"startCharIndex\"in e&&(t.startCharIndex=e.startCharIndex),\"endCharIndex\"in e&&(t.endCharIndex=e.endCharIndex),t}var wa,M1,P1,I1,G1,N1,Ye,O,Mo,mi=S(()=>{Pt();fi();Mn();Pn();Po();In();Zt();Gn();Nn();wa=/^(\\d+)?('?)/,M1=/^[_\\dA-Za-z]/,P1=/^((([1-9]\\d*)-)?([1-9]\\d*))?([_A-Za-z]+)?/,I1=/^[^\\n]*/,G1=/^(-?\\d+), ?/,N1=/^(-?\\d+)\\)/;Mo=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 at,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(M1.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(G1);if(u){let a=u[1],f=R(this,O),c=this.parseRegex(N1),g=qe(new d(new G(\"U_SQ_\"),parseInt(a)),s+1,s+1+a.length),m=qe(new d(new G(\"D_SQ_\"),parseInt(c[1])),f,R(this,O)-1),L=qe(new z([g,m]),s+1,R(this,O)-1);o.push(qe(new nt(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 nt(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 Ce(u,f),s,R(this,O))),l=!0,n=R(this,O);continue e;case\",\":o.push(qe(new ze(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(I1);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(P1);return new G(n,Co(r,void 0),Co(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(wa);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[Co(r,1)*(n===\"'\"?-1:1),!r]}parseAmount(){let t=R(this,O),[,r,n]=this.parseRegex(wa);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 Co(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 Io(e){za.has(e)||(console.warn(e),za.add(e))}var za,pi=S(()=>{za=new Set});var Or,di=S(()=>{dt();ui();Or=class{constructor(t,r=1){if(this.quantum=t,this.amount=r,!Number.isInteger(this.amount)||this.amount<va||this.amount>Cn)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=xa(t,this.amount<0);for(let l=0;l<n;l++)yield*this.quantum.experimentalExpand(o,r)}}});var It,Me,Pe,Go,G,Se,Wr,d,Zt=S(()=>{Mt();dt();ui();mi();pi();di();Go=class extends Uo{constructor(t,r,n){super();de(this,It,void 0);de(this,Me,void 0);de(this,Pe,void 0);if(ie(this,It,t),ie(this,Me,r!=null?r:null),ie(this,Pe,n!=null?n:null),Object.freeze(this),R(this,Me)!==null&&(!Number.isInteger(R(this,Me))||R(this,Me)<1||R(this,Me)>Cn))throw new Error(`QuantumMove inner layer must be a positive integer below ${Nr}.`);if(R(this,Pe)!==null&&(!Number.isInteger(R(this,Pe))||R(this,Pe)<1||R(this,Pe)>Cn))throw new Error(`QuantumMove outer layer must be a positive integer below ${Nr}.`);if(R(this,Pe)!==null&&R(this,Me)!==null&&R(this,Me)<=R(this,Pe))throw new Error(\"QuantumMove outer layer must be smaller than inner layer.\");if(R(this,Pe)!==null&&R(this,Me)===null)throw new Error(\"QuantumMove with an outer layer must have an inner layer\")}static fromString(t){return Ua(t)}modified(t){var r,n,o;return new Go((r=t.family)!=null?r:R(this,It),(n=t.innerLayer)!=null?n:R(this,Me),(o=t.outerLayer)!=null?o:R(this,Pe))}isIdentical(t){let r=t;return t.is(Go)&&R(this,It)===R(r,It)&&R(this,Me)===R(r,Me)&&R(this,Pe)===R(r,Pe)}get family(){return R(this,It)}get outerLayer(){return R(this,Pe)}get innerLayer(){return R(this,Me)}experimentalExpand(){throw new Error(\"experimentalExpand() cannot be called on a `QuantumMove` directly.\")}toString(){let t=R(this,It);return R(this,Me)!==null&&(t=String(R(this,Me))+t,R(this,Pe)!==null&&(t=String(R(this,Pe))+\"-\"+t)),t}},G=Go;It=new WeakMap,Me=new WeakMap,Pe=new WeakMap;Wr=class extends ke{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 Or(G.fromString(t[0]),t[1]));return}else return Wr.fromString(t[0]);ie(this,Se,new Or(t[0],t[1]))}isIdentical(t){let r=t.as(Wr);return!!r&&R(this,Se).isIdentical(R(r,Se))}invert(){return ka(this,new Wr(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 Wr(R(this,Se).quantum.modified(t),(r=t.amount)!=null?r:this.amount)}static fromString(t){return Ea(t)}get amount(){return R(this,Se).amount}get type(){return Io(\"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=Wr;Se=new WeakMap});var Ca,Ma,Ze,No,nt,Po=S(()=>{Pt();Mt();dt();Zt();di();Ca=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}},Ma=new Ca,No=class extends ke{constructor(t,r){super();de(this,Ze,void 0);let n=Ht(t);ie(this,Ze,new Or(n,r))}isIdentical(t){let r=t;return t.is(No)&&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 No(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=Ma.format(this))!=null?t:`(${R(this,Ze).quantum.toString()})${R(this,Ze).suffix()}`}experimentalAsSquare1Tuple(){return Ma.tuple(this)}},nt=No;Ze=new WeakMap});var To=S(()=>{Po();In();Mn();Pn();Zt();Gn();Nn()});function ot(e,t){return e instanceof t}function Pa(e){return ot(e,nt)||ot(e,Lt)||ot(e,ze)||ot(e,Ce)||ot(e,d)||ot(e,We)||ot(e,Qe)}var Li=S(()=>{To()});function Ia(e,t,r){if(t.is(nt))return e.traverseGrouping(t,r);if(t.is(d))return e.traverseMove(t,r);if(t.is(ze))return e.traverseCommutator(t,r);if(t.is(Ce))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 Ga(e){if(e.is(nt)||e.is(d)||e.is(ze)||e.is(Ce)||e.is(Qe)||e.is(We)||e.is(Lt))return e;throw\"internal error: expected unit\"}var _o,Qr,Oo,T1,Ri,hi,Na,Ta,Ai=S(()=>{Po();Mn();Zt();Gn();Nn();Pn();In();_o=class{traverseUnit(t,r){return Ia(this,t,r)}traverseIntoUnit(t,r){return Ga(this.traverseUnit(t,r))}},Qr=class extends _o{traverseUnit(t){return Ia(this,t,void 0)}traverseIntoUnit(t){return Ga(this.traverseUnit(t))}},Ri=class extends _o{*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,c){var L;let g=ma(L=Ri,Oo,T1).call(L,f,c,r);if(g===0)return!1;let m=new d(f.quantum,g);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 c of this.traverseUnit(f,u))s(c);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 nt(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 ze(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 Ce(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=Ri;Oo=new WeakSet,T1=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,Oo);Na=new hi,Ta=Na.traverseAlg.bind(Na)});function _a(e){if(!e)return[];if(ot(e,z))return e.units();if(typeof e==\"string\")return gi(e).units();let t=e;if(typeof t[Symbol.iterator]==\"function\")return t;throw\"Invalid unit\"}function Ht(e){return ot(e,z)?e:new z(e)}function _1(e,t){return e.is(We)||t.is(We)?\"\":e.is(Lt)&&!t.is(We)?`\n`:\" \"}var Xe,Rr,z,Pt=S(()=>{Mt();Li();dt();mi();Ai();In();Zt();Gn();pi();Rr=class extends ke{constructor(t){super();de(this,Xe,void 0);ie(this,Xe,Array.from(_a(t)));for(let r of R(this,Xe))if(!Pa(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(Sa(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(_a(t))))}experimentalIsEmpty(){for(let t of R(this,Xe))return!1;return!0}static fromString(t){return gi(t)}*units(){for(let t of R(this,Xe))yield t}experimentalNumUnits(){return Array.from(R(this,Xe)).length}get type(){return Io(\"deprecated: type\"),\"sequence\"}toString(){let t=\"\",r=null;for(let n of R(this,Xe))r&&(t+=_1(r,n)),t+=n.toString(),r=n;return t}simplify(t){return new Rr(Ta(this,t!=null?t:{}))}},z=Rr;Xe=new WeakMap});var O1,Oa=S(()=>{Pt();To();Mn();Pn();Zt();Nn();O1={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 ze(new z([new d(\"R\",1),new d(\"U\",1),new d(\"R\",-2)]),new z([new Ce(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 ze(new z([new Ce(new z([new d(\"R\",1)]),new z([new d(\"U\",-1)]))]),new z([new d(\"D\",1)])),new ze(new z([new Ce(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 Ce(new z([new d(\"F\",1)]),new z([new ze(new z([new d(\"U\",1)]),new z([new d(\"R\",1)]))]))]),APermCompact:new z([new Ce(new z([new d(\"R\",2)]),new z([new ze(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 Ce(new z([new d(\"F\",1)]),new z([new nt(new z([new ze(new z([new d(\"R\",1)]),new z([new d(\"U\",1)]))]),3)]))]),TriplePause:new z([new Qe,new Qe,new Qe])}});var CL,Wa=S(()=>{Zt();CL={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 Qa=S(()=>{});var qa=S(()=>{Pt()});var he=S(()=>{Pt();fi();Ai();Oa();Wa();To();Qa();qa();Li();dt()});function yi(e,t){if(t===qr)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 qr=t,!0}function lt(e,t,r){let n={};for(let o in e.orbits){let l=e.orbits[o],i=t[o],s=r[o];if(yi(l.orientations,s))n[o]=i;else if(yi(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 jr(e,t,r){if(r<0)return jr(e,Gt(e,t),-r);if(r===0)return ht(e);if(r===1)return t;let n=t;r!==2&&(n=jr(e,t,Math.floor(r/2)));let o=lt(e,n,n);return r%2==0?o:lt(e,t,o)}function ht(e){let t={};for(let r in e.orbits){let n=e.orbits[r];if(!qr||qr.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;qr={permutation:o,orientation:l}}t[r]=qr}return t}function Gt(e,t){let r={};for(let n in e.orbits){let o=e.orbits[n],l=t[n];if(yi(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 Tn(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 Wo(e,t,r){for(let n in e.orbits)if(!Tn(e,n,t,r))return!1;return!0}function Di(e,t,r){return Wo(e,lt(e,e.startPieces,t),lt(e,e.startPieces,r))}var qr,_n=S(()=>{});function Qo(e,t){let r=W1(e).lookupMove(t);if(!r)throw new Error(\"Unknown move: \"+t.toString());return r}function W1(e){return e.moveNotation||(e.moveNotation=new ja(e)),e.moveNotation}var ja,Je,Fi=S(()=>{he();_n();ja=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=jr(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=jr(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=lt(this.definition,this.state,Qo(this.definition,t))}applyAlg(t){for(let r of t.experimentalLeafMoves())this.applyMove(r)}}});var Ka=S(()=>{_n()});function Q1(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 Va=S(()=>{Q1(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(c){return Array.isArray(c)?l(c[0])+\"-\"+l(c[1]):l(c)});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),c,g;if(f.sort(),f.length>0){for(c=1,g=1;c<f.length;c++)f[c-1]!==f[c]&&(f[g]=f[c],g++);f.length=g}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 Ha=S(()=>{Va()});var Ya=S(()=>{Ha()});var Za=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 Xa=S(()=>{});function Ja(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();Rt();Rt();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]=Ja(e.state);j1[l][i]=Gt(ue,e.state)}}}});var Si=S(()=>{Xa();xi()});var e0=S(()=>{});var t0=S(()=>{Si();e0();xi();Si()});var r0=S(()=>{t0();bi();_n()});var Rt=S(()=>{Fi();Ka();_n();Ya();Za();bi();r0();Fi()});var n0=S(()=>{});function tc(e){switch(e){case E.Regular:return K1;case E.Dim:return J1;case E.Ignored:return V1;case E.OrientationStickers:return H1;case E.Invisible:return Y1;case E.IgnoreNonPrimary:return Z1;case E.PermuteNonPrimary:return X1;case E.Ignoriented:return $1;case E.OrientationWithoutPermutation:return ec}}var E,Kr,wt,Ie,Vr,qo,Ar,K1,V1,H1,Y1,Z1,X1,J1,$1,ec,On,Wn,Qn=S(()=>{he();he();Rt();(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\"})(E||(E={}));Kr=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))}},wt=\"regular\",Ie=\"ignored\",Vr=\"oriented\",qo=\"invisible\",Ar=\"dim\",K1={facelets:[wt,wt,wt,wt,wt]},V1={facelets:[Ie,Ie,Ie,Ie,Ie]},H1={facelets:[Vr,Vr,Vr,Vr,Vr]},Y1={facelets:[qo,qo,qo,qo]},Z1={facelets:[wt,Ie,Ie,Ie,Ie]},X1={facelets:[Ar,wt,wt,wt,wt]},J1={facelets:[Ar,Ar,Ar,Ar,Ar]},$1={facelets:[Ar,Ie,Ie,Ie,Ie]},ec={facelets:[Vr,Ie,Ie,Ie,Ie]};On=class extends Kr{constructor(t){super(t,E.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(tc(i))}return t}},Wn=class{constructor(t){this.def=t}and(t){let r=new Kr(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 Kr(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 Kr(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=Qo(this.def,ot(t,d)?t:d.fromString(t)),n=new Kr(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 rc(e){(()=>D(this,null,function*(){o0=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((()=>D(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 l0(e,t){o0(e,t)}var o0,i0=S(()=>{Qn();o0=()=>{};typeof location!=\"undefined\"&&new URL(location.href).searchParams.get(\"global-custom-stickerer\")===\"true\"&&(window.setGlobalCustomStickerer=rc,window.PieceStickering=E,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 At(e,t){return D(this,null,function*(){let r=yield e.def(),n=new On(r),o=new Wn(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\"])),c=()=>o.not(f()),g=()=>o.not(l()),m=()=>o.and([l(),a(),c()]),L=()=>o.and([o.and(o.moves([\"F\",\"R\"])),o.not(i())]),p=()=>o.and(o.moves([\"D\",\"R\",\"F\"])),y=()=>o.or([p(),L()]),F=()=>o.or([o.and([a(),s()]),o.and([a(),c()]),o.and([s(),c()])]),x=()=>o.or([o.and([a(),i(),f()]),o.and([s(),u(),f()]),o.and([c(),i(),u()])]),B=()=>o.not(o.or([F(),x()])),M=()=>o.or([a(),o.and([l(),x()])]);function k(){n.set(g(),E.Dim)}function K(){n.set(l(),E.PermuteNonPrimary),n.set(m(),E.Dim)}function te(){n.set(l(),E.IgnoreNonPrimary),n.set(m(),E.Regular)}function T(){n.set(l(),E.Ignoriented),n.set(m(),E.Dim)}switch(t){case\"full\":break;case\"PLL\":k(),K();break;case\"CLS\":k(),n.set(o.and(o.moves([\"D\",\"R\",\"F\"])),E.Regular),n.set(l(),E.Ignoriented),n.set(o.and([l(),B()]),E.IgnoreNonPrimary);break;case\"OLL\":k(),te();break;case\"COLL\":k(),K(),n.set(o.and([l(),B()]),E.Regular);break;case\"OCLL\":k(),T(),n.set(o.and([l(),B()]),E.IgnoreNonPrimary);break;case\"CLL\":k(),n.set(o.not(o.and([B(),l()])),E.Dim);break;case\"ELL\":k(),n.set(l(),E.Dim),n.set(o.and([l(),x()]),E.Regular);break;case\"ELS\":k(),te(),n.set(o.and([l(),B()]),E.Ignored),n.set(L(),E.Regular),n.set(p(),E.Ignored);break;case\"LL\":k();break;case\"F2L\":n.set(l(),E.Ignored);break;case\"ZBLL\":k(),n.set(l(),E.PermuteNonPrimary),n.set(m(),E.Dim),n.set(o.and([l(),B()]),E.Regular);break;case\"ZBLS\":k(),n.set(y(),E.Regular),te(),n.set(o.and([l(),B()]),E.Ignored);break;case\"WVLS\":case\"VLS\":k(),n.set(y(),E.Regular),te();break;case\"LS\":k(),n.set(y(),E.Regular),n.set(l(),E.Ignored),n.set(m(),E.Dim);break;case\"EO\":n.set(B(),E.Ignored),n.set(x(),E.OrientationWithoutPermutation);break;case\"CMLL\":n.set(g(),E.Dim),n.set(M(),E.Ignored),n.set(o.and([l(),B()]),E.Regular);break;case\"L6E\":n.set(o.not(M()),E.Dim);break;case\"L6EO\":n.set(o.not(M()),E.Dim),n.set(M(),E.OrientationWithoutPermutation),n.set(o.and([F(),i()]),E.OrientationStickers);break;case\"Daisy\":n.set(o.all(),E.Ignored),n.set(F(),E.Dim),n.set(o.and([o.move(\"D\"),F()]),E.Regular),n.set(o.and([o.move(\"U\"),x()]),E.IgnoreNonPrimary);break;case\"Cross\":n.set(o.all(),E.Ignored),n.set(F(),E.Dim),n.set(o.and([o.move(\"D\"),F()]),E.Regular),n.set(o.and([o.move(\"D\"),x()]),E.Regular);break;case\"2x2x2\":n.set(o.or(o.moves([\"U\",\"F\",\"R\"])),E.Ignored),n.set(o.and([o.or(o.moves([\"U\",\"F\",\"R\"])),F()]),E.Dim);break;case\"2x2x3\":n.set(o.all(),E.Dim),n.set(o.or(o.moves([\"U\",\"F\",\"R\"])),E.Ignored),n.set(o.and([o.or(o.moves([\"U\",\"F\",\"R\"])),F()]),E.Dim),n.set(o.and([o.move(\"F\"),o.not(o.or(o.moves([\"U\",\"R\"])))]),E.Regular);break;case\"Void Cube\":n.set(F(),E.Invisible);break;case\"picture\":case\"invisible\":n.set(o.all(),E.Invisible);break;case\"centers-only\":n.set(o.not(F()),E.Ignored);break;case\"experimental-global-custom-1\":case\"experimental-global-custom-2\":l0(n,o);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),E.Dim)}return n.toAppearance()})}function Hr(){return D(this,null,function*(){return[\"full\",\"PLL\",\"CLS\",\"OLL\",\"COLL\",\"OCLL\",\"ELL\",\"ELS\",\"LL\",\"F2L\",\"ZBLL\",\"ZBLS\",\"WVLS\",\"VLS\",\"LS\",\"EO\",\"CMLL\",\"L6E\",\"L6EO\",\"Daisy\",\"Cross\",\"2x2x2\",\"2x2x3\",\"Void Cube\",\"picture\",\"invisible\",\"centers-only\",\"experimental-global-custom-1\",\"experimental-global-custom-2\"]})}var Yr=S(()=>{Qn();i0()});var qn,s0=S(()=>{qn=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 Zr,a0=S(()=>{Zr=class{notationToInternal(t){return t}notationToExternal(t){return t}}});var jo,u0=S(()=>{he();jo=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 jn,f0=S(()=>{he();jn=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 Ko,c0=S(()=>{he();Ko=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 Vo,g0=S(()=>{he();Vo=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 nc,oc,m0,p0,d0,Kn,Ho,L0=S(()=>{he();nc={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\"},oc={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\"},m0={U:\"FRL\",L:\"FLD\",R:\"FDR\",B:\"DLR\"},p0=new G(\"y\"),d0=new G(\"Dv\"),Kn=class{constructor(t){this.child=t;this.wcaHack=!1;this.map=nc}notationToInternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){let n=m0[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):p0.isIdentical(t.quantum)?new d(d0,-t.amount):null}notationToExternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){for(let[r,n]of Object.entries(m0))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 d0.isIdentical(t.quantum)?new d(p0,-t.amount):null}},Ho=class extends Kn{constructor(t){super(t);this.map=oc}}});var h0,R0,A0,y0,D0,F0,B0,Yo,b0=S(()=>{he();h0={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\"},R0=new G(\"x\"),A0=new G(\"Rv\"),y0=new G(\"y\"),D0=new G(\"Uv\"),F0=new G(\"z\"),B0=new G(\"Fv\"),Yo=class{constructor(t){this.child=t}notationToInternal(t){if(t.innerLayer||t.outerLayer)return null;let r=h0[t.family];return r?new d(new G(r,t.outerLayer,t.innerLayer),t.amount):R0.isIdentical(t.quantum)?new d(A0,t.amount):y0.isIdentical(t.quantum)?new d(D0,t.amount):F0.isIdentical(t.quantum)?new d(B0,t.amount):null}notationToExternal(t){for(let[r,n]of Object.entries(h0))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(R0,t.amount):D0.isIdentical(t.quantum)?new d(y0,t.amount):B0.isIdentical(t.quantum)?new d(F0,t.amount):null}}});var vi=S(()=>{a0();u0();f0();c0();g0();L0();b0()});function x0(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:Vn(e.slice(t).join(\" \")),options:r}}var wi,Ei=S(()=>{Ui();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 Xt(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 S0(e){return new ut(Et(e))}function v0(e){let t=1;for(;e>1;)t*=e,e--;return t}function lc(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/lc(e,t)*t}var ki,zi,ut,Zo=S(()=>{ki=[],zi=[];ut=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 ut(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 ut(r)}inv(){let t=Array(this.n);for(let r=0;r<this.n;r++)t[this.p[r]]=r;return new ut(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 Mi(e,t){let r=d.fromString(t),n=e.notationToExternal(r);return n===null||r===n?t:n.toString()}function w0(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 c=+f,g=l[c];s+=g,a++;for(let m=0;m<n.length;m++)if((c>>m&1)==0&&(c&o[m]&(1<<m)-1)==0){let L=c&o[m]|1<<m;u[L]===void 0&&(u[L]=0),u[L]+=(n[m]-1)*g}}t(`${i}: canonseq ${s} states ${a}`),l=u}}var Hn,Xr,yt,Nt,Pi,Jt,Jr,Ii,E0=S(()=>{he();vi();Zo();Hn=class{constructor(t,r){this.size=t;this.mod=r}reassemblySize(){return v0(this.size)*Math.pow(this.mod,this.size)}};Xr=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 Zr){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=Mi(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 y=0;y<i;y++)m.union(p*i+y,this.moveops[L].orbits[l].perm[p]*i+(y+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 c=-1,g=!1;for(let m=0;m<this.orbitdefs[l].size;m++)if(a[m]){let L=u.find(m);c<0?c=L:c!==L&&(g=!0)}for(let m=0;m<this.orbitdefs[l].size;m++){if(!a[m]||u.find(m)!==m)continue;let p=[],y=[],F=0;for(let x=0;x<this.orbitdefs[l].size;x++)u.find(x)===m&&(p[F]=x,y[x]=F,F++);if(g?t.push(`${this.orbitnames[l]}_p${m}`):t.push(this.orbitnames[l]),f){r.push(new Hn(F,this.orbitdefs[l].mod)),n.push(this.solved.orbits[l].remapVS(p,F));for(let x=0;x<this.moveops.length;x++)o[x].push(this.moveops[x].orbits[l].remap(p,y,F))}else{r.push(new Hn(F,1)),n.push(this.solved.orbits[l].remapVS(p,F).killOri());for(let x=0;x<this.moveops.length;x++)o[x].push(this.moveops[x].orbits[l].remap(p,y,F).killOri())}}}return new Xr(t,r,new Jr(n),this.movenames,o.map(l=>new Jt(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}},yt=class{constructor(t,r,n){this.perm=t;this.ori=r;this.orimod=n}static e(t,r){return new yt(Et(t),Xt(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 yt(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 yt(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 yt(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 ut(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 ut(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===Xt(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===Xt(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 yt(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 yt(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()?(yt.kcache[t]||(yt.kcache[t]={permutation:Et(t),orientation:Xt(t)}),yt.kcache[t]):{permutation:this.perm,orientation:this.ori}}},Nt=yt;Nt.kcache=[];Pi=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 ut(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}},Jt=class extends Pi{constructor(t){super(t)}mul(t){return new Jt(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 Jt(this.internalInv())}e(){return new Jt(this.orbits.map(t=>Nt.e(t.perm.length,t.orimod)))}},Jr=class extends Pi{constructor(t){super(t)}mul(t){return new Jr(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 Xo,U0=S(()=>{Xo={\"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 Jo(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 k0(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 yr,W,$o=S(()=>{yr=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()<yr)return new W(1,0,0,0);let n=r.sum(t);n.len()<yr?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)<yr?!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>yr?1:t<-yr?-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,c=t[a].dot(this)-r,g=f/(f-c),m=t[u].smul(1-g).sum(t[a].smul(g));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)<yr||r.dist(n.smul(-1))<yr}makecut(t){return new W(t,this.b,this.c,this.d)}}});function z0(){let e=Math.sqrt(.5);return[new W(e,e,0,0),new W(e,0,e,0)]}function C0(){return[new W(.5,.5,.5,.5),new W(.5,.5,.5,-.5)]}function M0(){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 P0(){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 I0(){let e=Math.sqrt(.5);return[new W(.5,.5,.5,.5),new W(e,0,0,e)]}function G0(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])<el||l.dist(t[s])<el){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])<el){i=!0;break}i||(r.push(l),n.push(t[o]))}return n}function Ni(e){let t=[];for(let r=1;r<e.length;r++)for(let n=r+1;n<e.length;n++){let o=k0(0,r,n,e);if(o){let l=!1;for(let i=0;i<t.length;i++)if(o.dist(t[i])<el){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 el,N0=S(()=>{$o();el=1e-9});function tl(e,t){let r=e[0].p.length,n=S0(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 y=0;y<o[m].length;y++)o[m][y]&&c(m,o[m][y].mul(L),p+i[m][y])}function c(m,L,p){let y=L.p[m];if(!o[m][y]){o[m][y]=L,l[m][y]=L.inv(),i[m][y]=p;for(let x=0;x<s[m].length;x++)c(m,L.mul(s[m][x]),p+u[m][x]);return}let F=L.mul(l[m][y]);a(F)||f(m-1,F,p+i[m][y])}function g(){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 y=0,F=0,x=[],B=new T0;for(let M=0;M<r;M++){let k=0,K=0;for(let T=0;T<r;T++)o[M][T]&&(k++,K+=i[M][T],M!==T&&m++);y+=s[M].length,L*=k,k>1&&B.multiply(k);let te=K/k;x.push(te),F+=te}t(`${p}: sz ${L} T ${y} sol ${F} none ${m} mults ${B.toString()}`)}return L}return g()}var T0,Ti=S(()=>{Zo();T0=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 ic(e,t){let r=[];for(let n of e)for(let o of t)r.push(o.rotate(n));return r}function uc(){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 fc(){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 cc(){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 gc(){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 rl(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 _0(){return Xo}function O0(e){return Xo[e]}function Vn(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=Vn(e);if(r===null)throw new Error(\"Could not parse the puzzle description\");let n=new ol(r,Object.assign({},{allMoves:!0},t));return n.allstickers(),n.genperms(),n}function en(e,t){return Wi(Xo[e],t)}function mc(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 pc(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 nl(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=nl(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 $r,Yn,Be,sc,ac,ol,W0,Ui=S(()=>{he();s0();vi();Ei();Zo();E0();U0();N0();$o();Ti();$r=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 $r(r)}rotateforward(){let t=[];for(let r=1;r<this.length;r++)t.push(this.get(r));return t.push(this.get(0)),new $r(t)}},Yn=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 Yn(r[0]),this.right=new Yn(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 $r(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,sc=\"PuzzleGeometry 0.1 Copyright 2018 Tomas Rokicki.\",ac=!1;ol=class{constructor(t,r){this.cmovesbyslice=[];this.duplicatedFaces=[];this.duplicatedCubies=[];this.fixedCubie=-1;this.net=[];this.colors=[];this.faceorder=[];this.faceprecedence=[];this.notationMapper=new Zr;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=z0();break;case\"o\":o=I0();break;case\"i\":o=P0();break;case\"t\":o=C0();break;case\"d\":o=M0();break;default:throw new Error(\"Bad shape argument: \"+r)}this.rotations=G0(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(A=>l.rotateplane(A));this.baseplanes=i,this.baseFaceCount=i.length;let s=uc()[i.length];this.net=s,this.colors=fc()[i.length],this.faceorder=cc()[i.length],this.options.verbosity>0&&console.log(\"# Base planes: \"+i.length);let u=Ni(i),a=new W(0,0,0,0);this.options.verbosity>0&&console.log(\"# Face vertices: \"+u.length);let f=i[0].makenormal(),c=u[0].sum(u[1]).makenormal(),g=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(A=>m.rotateplane(A)),y=Ni(p);this.edgedistance=y[0].sum(y[1]).smul(.5).dist(a),this.vertexdistance=y[0].dist(a);let F=[],x=[],B=!1,M=!1,k=!1;for(let A of n){let U=null,_=0;switch(A.cutType){case\"f\":U=f,_=1,B=!0;break;case\"v\":U=g,_=this.vertexdistance,k=!0;break;case\"e\":U=c,_=this.edgedistance,M=!0;break;default:throw new Error(\"Bad cut argument: \"+A.cutType)}F.push(U.makecut(A.distance)),x.push(A.distance<_)}this.options.addRotations&&(B||F.push(f.makecut(10)),k||F.push(g.makecut(10)),M||F.push(c.makecut(10))),this.basefaces=[];for(let A of this.baseplanerot){let U=A.rotateface(y);this.basefaces.push(new $r(U))}let K=[],te=[],T=[],re=[],b=y.length;function C(A,U,_){for(let Q of A)if(Q[0].dist(U)<Be){Q.push(_);return}A.push([U,_])}for(let A=0;A<this.baseplanerot.length;A++){let U=this.baseplanerot[A].rotateface(y);for(let _=0;_<U.length;_++){let Q=(_+1)%U.length,ne=U[_].sum(U[Q]).smul(.5);C(re,ne,A)}}let I=[];for(let A=0;A<this.baseplanerot.length;A++){let U=this.baseplanerot[A].rotateface(y),_=[];for(let Q=0;Q<U.length;Q++){let ne=(Q+1)%U.length,Ne=U[Q].sum(U[ne]).smul(.5),rt=re[rl(re,Ne)];if(A===rt[1])_.push(rt[2]);else if(A===rt[2])_.push(rt[1]);else throw new Error(\"Could not find edge\")}I.push(_)}let v={},w=[];w.push(s[0][0]),v[s[0][0]]=0,w[I[0][0]]=s[0][1],v[s[0][1]]=I[0][0];for(let A of s){let U=A[0],_=v[U];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 Ne=w[I[_][ne]];if(Ne!==void 0&&Ne===A[1]){Q=ne;break}}if(Q<0)throw new Error(\"First element of a net not known\");for(let ne=2;ne<A.length;ne++){if(A[ne]===\"\")continue;let Ne=I[_][(ne+Q-1)%b],rt=w[Ne];if(rt!==void 0&&rt!==A[ne])throw new Error(\"Face mismatch in net\");w[Ne]=A[ne],v[A[ne]]=Ne}}for(let A=0;A<w.length;A++){let U=!1;for(let _=0;_<this.faceorder.length;_++)if(w[A]===this.faceorder[_]){this.faceprecedence[A]=_,U=!0;break}if(!U)throw new Error(\"Could not find face \"+w[A]+\" in face order list \"+this.faceorder)}for(let A=0;A<this.baseplanerot.length;A++){let U=this.baseplanerot[A].rotateface(y),_=m.rotateplane(this.baseplanerot[A]),Q=w[A];K.push([U,Q]),te.push([_,Q])}for(let A=0;A<this.baseplanerot.length;A++){let U=this.baseplanerot[A].rotateface(y),_=w[A];for(let Q=0;Q<U.length;Q++){let ne=(Q+1)%U.length,Ne=U[Q].sum(U[ne]).smul(.5),rt=(Q+2)%U.length,f1=U[ne].sum(U[rt]).smul(.5),c1=rl(re,Ne),g1=rl(re,f1);C(T,U[ne],[_,g1,c1])}}this.swizzler=new qn(K.map(A=>A[1]));let P=this.swizzler.prefixFree?\"\":\"_\";for(let A=0;A<re.length;A++){if(re[A].length!==3)throw new Error(\"Bad length in edge names \"+re[A]);let U=w[re[A][1]],_=w[re[A][2]];this.faceprecedence[re[A][1]]<this.faceprecedence[re[A][2]]?U=U+P+_:U=_+P+U,re[A]=[re[A][0],U]}for(let A=0;A<T.length;A++){if(T[A].length<4)throw new Error(\"Bad length in vertex names\");let U=1;for(let Q=2;Q<T[A].length;Q++)this.faceprecedence[v[T[A][Q][0]]]<this.faceprecedence[v[T[A][U][0]]]&&(U=Q);let _=\"\";for(let Q=1;Q<T[A].length;Q++){Q===1?_=T[A][U][0]:_=_+P+T[A][U][0];for(let ne=1;ne<T[A].length;ne++)if(T[A][U][1]===T[A][ne][2]){U=ne;break}}T[A]=[T[A][0],_]}this.options.verbosity>1&&(console.log(\"# Face precedence list: \"+this.faceorder.join(\" \")),console.log(\"# Face names: \"+K.map(A=>A[1]).join(\" \")),console.log(\"# Edge names: \"+re.map(A=>A[1]).join(\" \")),console.log(\"# Vertex names: \"+T.map(A=>A[1]).join(\" \")));let q=[];for(let A of te)q.push([A[0].makenormal(),A[1],\"f\"]);for(let A of re)q.push([A[0].makenormal(),A[1],\"e\"]);for(let A of T)q.push([A[0].makenormal(),A[1],\"v\"]);this.facenames=K,this.faceplanes=te,this.edgenames=re,this.vertexnames=T,this.geonormals=q;let Y=q.map(A=>A[1]);this.swizzler.setGripNames(Y),this.options.verbosity>0&&console.log(\"# Distances: face \"+1+\" edge \"+this.edgedistance+\" vertex \"+this.vertexdistance);for(let A=0;A<F.length;A++)for(let U of this.rotations){let _=F[A].rotateplane(U),Q=!1;for(let ne of this.moveplanes)if(_.sameplane(ne)){Q=!0;break}Q||(this.moveplanes.push(_),x[A]&&this.moveplanes2.push(_))}let ge=new Yn(y),pe=this.moveplanes2.slice(),De=31;for(let A=0;A<pe.length;A++){let U=A+Math.floor((pe.length-A)*(De/65536));ge=ge.split(pe[U]),pe[U]=pe[A],De=(De*1657+101)%65536}let Fe=ge.collect([],!0);this.faces=Fe,this.options.verbosity>0&&console.log(\"# Faces is now \"+Fe.length),this.stickersperface=Fe.length;let vt=[],Ue=Jo(y);for(let A of this.rotations){let U=A.rotateface(y);Ue.dist(Jo(U))<Be&&vt.push(A)}let He=new Array(Fe.length),xe=[];for(let A=0;A<Fe.length;A++){let U=Fe[A].centermass();xe.push([Ue.dist(U),U,A])}xe.sort((A,U)=>A[0]-U[0]);for(let A=0;A<Fe.length;A++){let U=xe[A][2];if(!He[U]){He[U]=!0;for(let _ of vt){let Q=Fe[U].rotate(_),ne=Q.centermass();for(let Ne=A+1;Ne<Fe.length&&!(xe[Ne][0]-xe[A][0]>Be);Ne++){let rt=xe[Ne][2];if(!He[rt]&&ne.dist(xe[Ne][1])<Be){He[rt]=!0,Fe[rt]=Q;break}}}}}this.shortedge=1e99;for(let A of Fe)for(let U=0;U<A.length;U++){let _=(U+1)%A.length,Q=A.get(U).dist(A.get(_));Q<this.shortedge&&(this.shortedge=Q)}this.options.verbosity>0&&console.log(\"# Short edge is \"+this.shortedge),r===\"c\"&&B&&!M&&!k&&(this.addNotationMapper=\"NxNxNCubeMapper\",this.setReidOrder=!0),r===\"c\"&&k&&!B&&!M&&(this.addNotationMapper=\"SkewbMapper\"),r===\"t\"&&(k||B)&&!M&&(this.addNotationMapper=\"PyraminxOrTetraminxMapper\"),r===\"o\"&&B&&(this.notationMapper=new jn(this.swizzler,new qn([\"F\",\"D\",\"L\",\"BL\",\"R\",\"U\",\"BR\",\"B\"])),!M&&!k&&(this.addNotationMapper=\"FTOMapper\")),r===\"d\"&&B&&(this.addNotationMapper=\"MegaminxMapper\",this.notationMapper=new jn(this.swizzler,new qn([\"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]),c=f.len()/u;f=f.normalize();let g=f.b,m=f.c,L=s.smul(g).sub(a.smul(m)).smul(c),p=a.smul(g).sum(s.smul(m)).smul(c),y=new W(0,n[0].b-L.dot(o[r]),n[0].c-p.dot(o[r]),0);return[L,p,y]}allstickers(){let t=_i(\"allstickers\");this.faces=ic(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 v of n)C.sameplane(v.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(v=>v.normalizeplane()),I=n[b];for(let v=0;v<C.length;v++)C[v].makenormal().dist(I)>Be&&(C[v]=C[v].smul(-1));C.sort((v,w)=>v.a-w.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 v=0;v<C.length;v++)I.dist(C[v].makenormal())>Be&&(C[v]=C[v].smul(-1));C.sort((v,w)=>v.angle()-w.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,v=null;for(let w of this.geonormals){let P=C.dot(w[0]);Math.abs(P-1)<Be?(v=[w[1],w[2]],u=w[2]):Math.abs(P+1)<Be&&(I=[w[1],w[2]],u=w[2])}if(v===null||I===null)throw new Error(\"Saw positive or negative sides as null\");s.push([v[0],v[1],I[0],I[1],1+r[b].length]),this.addNotationMapper===\"NxNxNCubeMapper\"&&u===\"f\"&&(this.notationMapper=new Vo(1+r[b].length),this.addNotationMapper=\"\"),this.addNotationMapper===\"SkewbMapper\"&&r[0].length===1&&(this.notationMapper=new Yo(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 Kn(this.swizzler),this.addNotationMapper=\"\"):(this.notationMapper=new Ho(this.swizzler),this.addNotationMapper=\"\")),this.addNotationMapper===\"MegaminxMapper\"&&u===\"f\"&&(1+r[b].length===3&&(this.notationMapper=new Ko(this.notationMapper)),this.addNotationMapper=\"\"),this.addNotationMapper===\"FTOMapper\"&&u===\"f\"&&(1+r[b].length===3&&(this.notationMapper=new jo(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 v=a.get(I);if(v.push(b),v.length===this.baseFaceCount){this.options.verbosity>0&&console.log(\"# Splitting core.\");for(let w=0;w<v.length;w++){let P=I+\" \"+w;a.set(P,[v[w]])}}}}this.facelisthash=a,this.options.verbosity>0&&console.log(\"# Cubies: \"+a.size);let c=[],g=[],m=[];for(let b of a.values())if(b.length!==this.baseFaceCount){if(b.length>1){let C=b.map(P=>f[P].centermass()),I=Jo(C);for(let P=0;b.length>2;P++){let q=!1;for(let Y=0;Y<b.length;Y++){let ge=(Y+1)%b.length;if(I.dot(C[Y].cross(C[ge]))<0){let pe=C[Y];C[Y]=C[ge],C[ge]=pe;let De=b[Y];b[Y]=b[ge],b[ge]=De,q=!0}}if(!q)break;if(P>1e3)throw new Error(\"Bad epsilon math; too close to border\")}let v=0,w=b[v];for(let P=1;P<b.length;P++){let q=b[P];this.faceprecedence[this.getfaceindex(q)]<this.faceprecedence[this.getfaceindex(w)]&&(v=P,w=q)}if(v!==0){let P=b.slice();for(let q=0;q<b.length;q++)b[q]=P[(v+q)%b.length]}}for(let C=0;C<b.length;C++){let I=b[C];g[I]=c.length,m[I]=C}c.push(b)}this.cubies=c,this.facetocubie=g,this.facetoord=m;let L=[\"?\",\"CENTERS\",\"EDGES\",\"CORNERS\",\"C4RNER\",\"C5RNER\"],p=[],y=[0,0,0,0,0,0],F=[],x=[],B=0,M=[],k=[],K=[],te=[],T=b=>c[b].map(C=>this.getfaceindex(C)).join(\" \"),re=[];for(let b=0;b<c.length;b++){if(x[b])continue;let C=c[b];if(C.length===0)continue;let I={},v=0;K.push(0),re.push([]);let w=C.length,P=y[w]++,q=L[w];(q===void 0||w===this.baseFaceCount)&&(q=\"CORE\"),q=q+(P===0?\"\":P+1),p[B]=q,F[B]=w;let Y=[b],ge=0;for(x[b]=!0;ge<Y.length;){let pe=Y[ge++],De=T(pe);if((C.length>1||I[De]===void 0)&&(I[De]=v++),te[pe]=I[De],M[pe]=B,re[B].push(pe),k[pe]=K[B]++,Y.length<this.rotations.length){let Fe=this.facecentermass[c[pe][0]];for(let vt of l){let Ue=this.facetocubie[this.findface(Fe.rotatepoint(vt[0]))];x[Ue]||(Y.push(Ue),x[Ue]=!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 v=0;v<I.length;v++){let w=0;for(let P=0;P<I[v].length;P++)w|=1<<I[v].charCodeAt(P)-65;C[w]=v}for(let I of re)for(let v of I){let w=0;for(let P of c[v])w|=1<<this.facenames[this.getfaceindex(P)][1].charCodeAt(0)-65;k[v]=C[w]}}if(this.cubiesetnums=M,this.cubieordnums=k,this.cubiesetnames=p,this.cubieords=K,this.orbitoris=F,this.cubievaluemap=te,this.cubiesetcubies=re,this.options.fixedPieceType!==null){for(let b=0;b<c.length;b++)if(this.options.fixedPieceType===\"v\"&&c[b].length>2||this.options.fixedPieceType===\"e\"&&c[b].length===2||this.options.fixedPieceType===\"f\"&&c[b].length===1){this.fixedCubie=b;break}if(this.fixedCubie<0)throw new Error(\"Could not find a cubie of type \"+this.options.fixedPieceType+\" to fix.\")}this.options.verbosity>0&&console.log(\"# Cubie orbit sizes \"+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 c=0;c<this.movesetgeos.length;c++){let g=this.movesetgeos[c];s===g[0]&&(u=!0,l=g,i=c),s===g[2]&&(u=!1,l=g,i=c)}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(!ac&&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 c=0;if(o.length>0){let g=this.facecentermass[f].dot(o[0]);for(let m=s;m>0;m>>=1)c+m<=o.length&&g>o[c+m-1].a&&(c+=m);c=o.length-c}for(l.push(c);i.length<=c;)i.push(0);i[c]++}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 c=[this.facetocubie[f],this.facetoord[f]],g=this.facecentermass[f],m=g,L=f,p=l[L];for(;;){l[L]=-1;let y=g.rotatepoint(this.moverotations[n][0]);if(y.dist(m)<Be)break;L=this.findface(y),c.push(this.facetocubie[L],this.facetoord[L]),g=y}if(c.length>2&&this.options.orientCenters&&(this.cubies[c[0]].length===1||this.duplicatedCubies[c[0]]>1)&&this.facecentermass[f].dist(this.basefaces[this.getfaceindex(f)].centermass())<Be){let y=this.faces[this.cubies[c[0]][0]];for(let F=0;F<c.length;F+=2){let x=this.faces[this.cubies[c[F]][0]],B=-1;for(let M=0;M<y.length;M++)if(x.get(M).dist(y.get(0))<Be){B=M;break}if(B<0)throw new Error(\"Couldn't find rotation of center faces; ignoring for now.\");c[F+1]=B,y=y.rotate(this.moverotations[n][0])}}if(c.length===2&&this.options.orientCenters)for(let y=1;y<this.movesetorders[n];y++)p===0?c.push(c[0],y):c.push(c[0],(this.movesetorders[n]-y)%this.movesetorders[n]);if(c.length>2&&!a[c[0]]){if(c.length!==2*this.movesetorders[n])throw new Error(\"Bad length in perm gen\");for(let y of c)u[p].push(y)}for(let y=0;y<c.length;y+=2)a[c[y]]=!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+sc+`\n`+t+`\n`}writegap(){let t=this.getOrbitsDef(!1),r=[],n=[];for(let l=0;l<t.moveops.length;l++){let i=\"M_\"+Mi(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 W0(this,n),o}getMoveFromBits(t,r,n,o,l,i){let s=[],u=[],a=[];for(let g of this.cubieords)u.push(Et(g)),a.push(Xt(g));for(let g=t[0];g<=t[1];g++){let m=o[g];for(let L=0;L<m.length;L+=2*i){let p=m.slice(L,L+2*i),y=this.cubiesetnums[p[0]];for(let B=0;B<p.length;B+=2)p[B]=this.cubieordnums[p[B]];let F=2,x=3;n&&(F=p.length-2,x=p.length-1),u[y]===Et(this.cubieords[y])&&(u[y]=u[y].slice(),this.orbitoris[y]>1&&!this.options.fixedOrientation&&(a[y]=a[y].slice()));for(let B=0;B<p.length;B+=2)u[y][p[(B+F)%p.length]]=p[B],this.orbitoris[y]>1&&!this.options.fixedOrientation&&(a[y][p[B]]=(p[(B+x)%p.length]-p[(B+1)%p.length]+2*this.orbitoris[y])%this.orbitoris[y])}}let f=new Nt(Et(24),Xt(24),1);for(let g=0;g<this.cubiesetnames.length;g++)if(!(l&&!l[g]))if(this.orbitoris[g]===1||this.options.fixedOrientation)u[g]===Et(f.perm.length)?(u[g]!==f.perm&&(f=new Nt(u[g],a[g],1)),s.push(f)):s.push(new Nt(u[g],a[g],1));else{let m=new Array(a[g].length);for(let L=0;L<u[g].length;L++)m[L]=a[g][u[g][L]];s.push(new Nt(u[g],m,this.orbitoris[g]))}let c=new Jt(s);return r!==1&&(c=c.mulScalar(r)),c}omitSet(t){for(let r of this.options.excludeOrbits)if(r===t)return!0;return!1}diffmvsets(t,r,n,o){for(let l=0;l<t.length;l+=2){let i=!1;for(let 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 g=0;g<this.cubiesetnames.length;g++)n.push(1);let o=[],l=[],i=[],s=[];for(let g=0;g<this.moveplanesets.length;g++){let m=this.getmovesets(g);i.push(m),this.options.addRotations?s.push(1):s.push(0)}if(this.options.moveList&&this.options.addRotations){for(let g=0;g<this.moverotations.length;g++)s[g]=0;for(let g=0;g<this.moveplanesets.length;g++)for(let m=0;m<this.moverotations.length;m++){let L=this.moveplanenormals[g];for(let p=1;p*2<=this.movesetorders[m];p++){if(L=L.rotatepoint(this.moverotations[m][0]),s[m]&p)continue;let y=-1,F=!1;for(let B=0;B<this.moveplanenormals.length;B++)if(L.dist(this.moveplanenormals[B])<Be){y=B;break}else if(L.dist(this.moveplanenormals[B].smul(-1))<Be){y=B,F=!0;break}if(y<0)throw new Error(\"Could not find rotation\");let x=i[y];(x.length!==i[g].length||this.moveplanesets[g].length!==this.moveplanesets[y].length||this.diffmvsets(x,i[g],this.moveplanesets[y].length,F))&&(s[m]|=p)}}for(let g=0;g<this.moverotations.length;g++)if(s[g]===0)s[g]=1;else if(s[g]===1)this.movesetorders[g]>3?s[g]=2:s[g]=0;else if(s[g]===3)s[g]=0;else throw new Error(\"Impossible addrot val\")}for(let g=0;g<this.moveplanesets.length;g++)s[g]!==0&&(i[g].push([0,this.moveplanesets[g].length]),i[g].push(s[g]));for(let g=0;g<this.moveplanesets.length;g++){let m=i[g],L=this.movesetorders[g];for(let F=0;F<m.length;F+=2)for(let x=0;x<F;x+=2)if(m[F]===m[x]&&m[F+1]===m[x+1])throw new Error(\"Redundant moves in moveset.\");let p=[];for(let F=0;F<m.length;F+=2)for(let x=m[F][0];x<=m[F][1];x++)p[x]=1;let y=this.cmovesbyslice[g];for(let F=0;F<y.length;F++){if(p[F]!==1)continue;let x=y[F];for(let B=0;B<x.length;B+=2*L){if(this.skipcubie(x[B]))continue;let M=this.cubiesetnums[x[B]];n[M]=1}}}for(let g=0;g<this.cubiesetnames.length;g++)if(!!n[g]){if(this.omitSet(this.cubiesetnames[g])){n[g]=0;continue}o.push(this.cubiesetnames[g]),l.push(new Hn(this.cubieords[g],this.options.fixedOrientation?1:this.orbitoris[g]))}let u=[];for(let g=0;g<this.cubiesetnames.length;g++){if(!n[g]||this.omitSet(this.cubiesetnames[g]))continue;let m=[],L=[];for(let p=0;p<this.cubieords[g];p++){if(t)m.push(p);else{let y=this.cubiesetcubies[g][p];m.push(this.cubievaluemap[y])}L.push(0)}u.push(new Nt(m,L,this.options.fixedOrientation?1:this.orbitoris[g]))}let a=[],f=[];if(r)for(let g=0;g<this.moveplanesets.length;g++){let L=this.moveplanesets[g].length,p=i[g],y=this.movesetgeos[g];for(let F=0;F<p.length;F+=2){let x=p[F],B=mc(y,x,L),M=B[0],k=B[1];p[F+1]===1?a.push(M):a.push(M+p[F+1]);let K=this.getMoveFromBits(x,p[F+1],k,this.cmovesbyslice[g],n,this.movesetorders[g]);f.push(K)}}let c=new Xr(o,l,new Jr(u),a,f);return this.options.optimizeOrbits&&(c=c.optimize()),this.options.scrambleAmount!==0&&c.scramble(this.options.scrambleAmount),c}getMovesAsPerms(){return this.getOrbitsDef(!1).moveops.map(t=>t.toPerm())}showcanon(t){w0(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 ut(t)}getOrientationRotation(t){let[r,[n,o,l]]=t[0],i=new W(0,n,-o,l),[s,[u,a,f]]=t[1],c=new W(0,u,-a,f),g=null,m=null,L=this.swizzler.unswizzle(r),p=this.swizzler.unswizzle(s);for(let B of this.geonormals)L===B[1]&&(g=B[0]),p===B[1]&&(m=B[0]);if(!g)throw new Error(\"Could not find feature \"+r);if(!m)throw new Error(\"Could not find feature \"+s);let y=g.pointrotation(i);return m.rotatepoint(y).unproject(i).pointrotation(c.unproject(i)).mul(y)}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=gc()[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(v,w){let P=v[1][0]-v[0][0],q=v[1][1]-v[0][1],Y=2*Math.PI/w,ge=Math.cos(Y),pe=Math.sin(Y);for(let De=2;De<w;De++){let Fe=P*ge+q*pe;q=q*ge-P*pe,P=Fe,v.push([v[De-1][0]+P,v[De-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 c={},g=0,m=0,L=1,p=0;c[f[0][0]]=[[1,0],[0,0]],i(c[f[0][0]],a);for(let v of f){let w=v[0];if(!c[w])throw new Error(\"Bad edge description; first edge not connected.\");for(let P=1;P<v.length;P++){let q=v[P];q===\"\"||c[q]||(c[q]=[c[w][P%a],c[w][(P+a-1)%a]],i(c[q],a))}}for(let v in c){let w=c[v];for(let P of w)g=Math.min(g,P[0]),L=Math.max(L,P[0]),m=Math.min(m,P[1]),p=Math.max(p,P[1])}let y=Math.min(t/(L-g),r/(p-m)),F=.5*(t-y*(L+g)),x=.5*(r-y*(p+m)),B={},M=this.getboundarygeometry(),k={},K=[[y+F,x],[F,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 v of f){let w=v[0];if(!k[w])throw new Error(\"Bad edge description; first edge not connected.\");let P=-1;for(let Y=0;Y<M.facenames.length;Y++)if(w===M.facenames[Y][1]){P=Y;break}if(P<0)throw new Error(\"Could not find first face name \"+w);let q=M.facenames[P][0];for(let Y=1;Y<v.length;Y++){let ge=v[Y];if(ge===\"\"||k[ge])continue;k[ge]=[k[w][Y%a],k[w][(Y+a-1)%a]],i(k[ge],a);let pe=te[P],De=q[(pe+Y)%a].sum(q[(pe+Y+a-1)%a]).smul(.5),Fe=rl(M.edgenames,De),vt=M.edgenames[Fe][1],Ue=pc(vt,this.facenames),He=Ue[w===Ue[0]?1:0],xe=-1;for(let U=0;U<M.facenames.length;U++)if(He===M.facenames[U][1]){xe=U;break}if(xe<0)throw new Error(\"Could not find second face name\");let A=M.facenames[xe][0];for(let U=0;U<A.length;U++)if(A[U].sum(A[(U+1)%a]).smul(.5).dist(De)<=Be){let Q=k[w][(Y+a-1)%a],ne=k[w][Y%a];te[xe]=U,B[He]=this.project2d(xe,U,[new W(0,ne[0],ne[1],0),new W(0,Q[0],Q[1],0)]);break}}}let T=0,re=0,b=this.getInitial3DRotation();for(let v of this.faces){o&&(v=v.rotate(b));for(let w=0;w<v.length;w++)T=Math.max(T,Math.abs(v.get(w).b)),re=Math.max(re,Math.abs(v.get(w).c))}let C=Math.min(r/re/2,(t-n)/T/4);return(v,w)=>{if(o){w=w.rotatepoint(b);let P=.5*n+.25*t,q=this.baseplanes[v].rotateplane(b).d<0?1:-1;return[n+t*.5+q*(P-w.b*C),n+r*.5+w.c*C]}else{let P=B[this.facenames[v][1]];return[n+l*w.dot(P[0])+P[2].b,n+r-l*w.dot(P[1])-P[2].c]}}}generatesvg(t=800,r=500,n=10,o=!1){let l=this.generate2dmapping(t,r,n,o);function i(g,m,L){return'<polygon id=\"'+g+'\" class=\"sticker\" style=\"fill: '+L+'\" points=\"'+m.map(p=>p[0]+\" \"+p[1]).join(\" \")+`\"/>\n`}let s=this.getsolved(),u=[],a=[];for(let g=0;g<this.baseFaceCount;g++)u[g]=this.colors[this.facenames[g][1]];for(let g=0;g<this.faces.length;g++){let m=this.faces[g],L=Math.floor(g/this.stickersperface),p=[];for(let y=0;y<m.length;y++)p.push(l(L,m.get(y)));a.push(p)}let f=[];for(let g=0;g<this.baseFaceCount;g++){f.push(\"<g>\"),f.push(\"<title>\"+this.facenames[g][1]+`</title>\n`);for(let m=0;m<this.stickersperface;m++){let L=g*this.stickersperface+m,p=this.facetocubie[L],y=this.facetoord[L],F=this.cubiesetnums[p],x=this.cubieordnums[p],B=this.graybyori(p)?\"#808080\":u[s.p[L]],M=this.cubiesetnames[F]+\"-l\"+x+\"-o\"+y;if(f.push(i(M,a[L],B)),this.duplicatedFaces[L])for(let k=1;k<this.duplicatedFaces[L];k++)M=this.cubiesetnames[F]+\"-l\"+x+\"-o\"+k,f.push(i(M,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),c=this.facenames[a][1];o.push({coords:Qi(f,l),name:c})}for(let a=0;a<this.faces.length;a++){let f=Math.floor(a/this.stickersperface),c=this.facetocubie[a],g=this.facetoord[a],m=this.cubiesetnums[c],L=this.cubieordnums[c],p=this.graybyori(c)?\"#808080\":this.colors[this.facenames[f][1]];(t==null?void 0:t.stickerColors)&&(p=t.stickerColors[a]);let y=this.faces[a].rotate(n);r.push({coords:Qi(y,l),color:p,orbit:this.cubiesetnames[m],ord:L,ori:g,face:f});let F=y;if(this.duplicatedFaces[a]){let x=F.length/this.duplicatedFaces[a];for(let B=1;B<this.duplicatedFaces[a];B++){for(let M=0;M<x;M++)F=F.rotateforward();r.push({coords:Qi(F,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],c=this.movesetorders[a];for(let g of this.geonormals)f[0]===g[1]&&f[1]===g[2]&&(i.push([nl(g[0].rotatepoint(n),1),f[0],c]),i.push([nl(g[0].rotatepoint(n).smul(-1),1),f[2],c]))}let s=this.generate2dmapping(2880,2160,0,!1,1),u=function(){let a=n.invrot();return function(f,c){let g=new W(0,c[0]*l,-c[1]*l,c[2]*l);g=g.rotatepoint(a);let m=s(f,g);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=nl(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=tl(this.getMovesAsPerms(),t),l=n/o;t(`Ratio is ${l}`)}},W0=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=Xr.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 Q0={};Te(Q0,{PuzzleGeometry:()=>ol,Quat:()=>W,getPuzzleGeometryByDesc:()=>Wi,getPuzzleGeometryByName:()=>en,getpuzzle:()=>O0,getpuzzles:()=>_0,parseOptions:()=>x0,parsePuzzleDescription:()=>Vn,schreierSims:()=>tl});var ll=S(()=>{Ui();Ei();$o();Ti()});function ft(e){return D(this,null,function*(){return(yield Promise.resolve().then(()=>(ll(),Q0))).getPuzzleGeometryByName(e,{allMoves:!0,orientCenters:!0,addRotations:!0})})}function Zn(e){return D(this,null,function*(){return(yield ft(e)).writekpuzzle(!0)})}function Dr(e,t,r){let n={id:e,fullName:t,def:()=>D(this,null,function*(){return Zn(e)}),svg:()=>D(this,null,function*(){return(yield ft(e)).generatesvg()}),pg:()=>D(this,null,function*(){return ft(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=Dr(e,t,r);return n.appearance=At.bind(At,n),n.stickerings=Hr,n}var Fr=S(()=>{Yr()});var q0={};Te(q0,{cube2x2x2KPuzzle:()=>Ut});var Ut,j0=S(()=>{Ut={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]}}}};Ut.moves.Rv=Ut.moves.x;Ut.moves.Uv=Ut.moves.y;Ut.moves.Fv=Ut.moves.z;Ut.moves.Lv={CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]}};Ut.moves.Dv={CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}};Ut.moves.Bv={CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]}}});var K0={};Te(K0,{default:()=>dc});var dc,V0=S(()=>{dc=`<?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 Xn,H0=S(()=>{Fr();Yr();Xn={id:\"2x2x2\",fullName:\"2\\xD72\\xD72 Cube\",def:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(j0(),q0))).cube2x2x2KPuzzle}),svg:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(V0(),K0))).default}),pg:()=>D(void 0,null,function*(){return ft(\"2x2x2\")}),appearance:e=>At(Xn,e),stickerings:Hr}});var Y0={};Te(Y0,{default:()=>Lc});var Lc,Z0=S(()=>{Lc=`<?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 X0={};Te(X0,{default:()=>hc});var hc,J0=S(()=>{hc=`<?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,$0=S(()=>{Rt();Fr();Yr();qi={id:\"3x3x3\",fullName:\"3\\xD73\\xD73 Cube\",inventedBy:[\"Ern\\u0151 Rubik\"],inventionYear:1974,def:()=>D(void 0,null,function*(){return ue}),svg:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(Z0(),Y0))).default}),llSVG:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(J0(),X0))).default}),pg:()=>D(void 0,null,function*(){return ft(\"3x3x3\")}),appearance:e=>At(qi,e),stickerings:Hr}});var e2={};Te(e2,{clockKPuzzle:()=>Rc});var Rc,t2=S(()=>{Rc={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 r2={};Te(r2,{default:()=>Ac});var Ac,n2=S(()=>{Ac=`<?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 o2,l2=S(()=>{o2={id:\"clock\",fullName:\"Clock\",inventedBy:[\"Christopher C. Wiggs\",\"Christopher J. Taylor\"],inventionYear:1988,def:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(t2(),e2))).clockKPuzzle}),svg:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(n2(),r2))).default})}});function i2(e,t){return D(this,null,function*(){let r=yield e.def(),n=new On(r),o=new Wn(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()),E.Ignored);break;case\"experimental-fto-f2t\":n.set(o.not(i()),E.Ignored),n.set(l(),E.Dim);break;case\"experimental-fto-sc\":n.set(o.not(s()),E.Ignored),n.set(i(),E.Dim);break;case\"experimental-fto-l2c\":n.set(o.not(u()),E.Ignored),n.set(s(),E.Dim);break;case\"experimental-fto-lbt\":n.set(o.not(a()),E.Ignored),n.set(u(),E.Dim);break;case\"experimental-fto-l3t\":n.set(a(),E.Dim);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),E.Dim)}return n.toAppearance()})}function s2(){return D(this,null,function*(){return[\"full\",\"experimental-fto-fc\",\"experimental-fto-f2t\",\"experimental-fto-sc\",\"experimental-fto-l2c\",\"experimental-fto-lbt\",\"experimental-fto-l3t\"]})}var a2=S(()=>{Qn()});var ji,u2=S(()=>{Fr();a2();ji={id:\"fto\",fullName:\"Face-Turning Octahedron\",inventedBy:[\"Karl Rohrbach\",\"David Pitcher\"],inventionYear:1983,def:()=>D(void 0,null,function*(){return Zn(\"FTO\")}),svg:()=>D(void 0,null,function*(){return(yield ft(\"FTO\")).generatesvg()}),pg:()=>D(void 0,null,function*(){return ft(\"FTO\")}),appearance:e=>i2(ji,e),stickerings:s2}});function f2(e,t){return D(this,null,function*(){switch(t){case\"full\":case\"F2L\":case\"LL\":return At(e,t);default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`)}return At(e,\"full\")})}function c2(){return D(this,null,function*(){return[\"full\",\"F2L\",\"LL\"]})}var g2=S(()=>{Yr()});var Jn,m2=S(()=>{Fr();g2();Jn=Dr(\"megaminx\",\"Megaminx\",{inventionYear:1981});Jn.appearance=e=>f2(Jn,e);Jn.stickerings=c2});var p2={};Te(p2,{default:()=>yc});var yc,d2=S(()=>{yc=`<?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 L2,h2=S(()=>{Fr();L2={id:\"pyraminx\",fullName:\"Pyraminx\",inventedBy:[\"Uwe Meffert\"],inventionYear:1970,def:()=>D(void 0,null,function*(){return Zn(\"pyraminx\")}),svg:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(d2(),p2))).default}),pg:()=>D(void 0,null,function*(){return ft(\"pyraminx\")})}});var R2={};Te(R2,{sq1HyperOrbitKPuzzle:()=>Dc});var Dc,A2=S(()=>{Dc={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 y2={};Te(y2,{default:()=>Fc});var Fc,D2=S(()=>{Fc=`<?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 F2,B2=S(()=>{F2={id:\"square1\",fullName:\"Square-1\",inventedBy:[\"Karel Hr\\u0161el\",\"Vojtech Kopsk\\xFD\"],inventionYear:1990,def:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(A2(),R2))).sq1HyperOrbitKPuzzle}),svg:()=>D(void 0,null,function*(){return(yield Promise.resolve().then(()=>(D2(),y2))).default})}});var kt,rn=S(()=>{n0();Rt();Yr();Fr();H0();$0();l2();u2();m2();h2();B2();Qn();kt={\"3x3x3\":qi,\"2x2x2\":Xn,\"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:o2,megaminx:Jn,pyraminx:L2,skewb:Dr(\"skewb\",\"Skewb\",{inventedBy:[\"Tony Durham\"]}),square1:F2,fto:ji,gigaminx:Dr(\"gigaminx\",\"Gigaminx\",{inventedBy:[\"Tyler Fox\"],inventionYear:2006}),master_tetraminx:Dr(\"master tetraminx\",\"Master Tetraminx\",{inventedBy:[\"Katsuhiko Okamoto\"],inventionYear:2002})}});function $t(e,t){let r=[],n=[];for(let f of t.split(`\n`)){let c=f.split(\" \");if(!f.startsWith(\"SetOrder \")){if(f.startsWith(\"Alg \")){let g=z.fromString(f.substring(4)),m=new Je(e);m.reset(),m.applyAlg(g),n.push({alg:g,transformation:m.state})}else if(f.startsWith(\"SubgroupSizes \"))for(let g=1;g<c.length;g++)r.push(parseInt(c[g]))}}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 c=e.orbits[f];a[f]=new Array(c.numPieces).fill(!1)}for(let f=r.length-1;f>=0;f--){let c=[];for(let m=l[f];m<l[f+1];m++){let L=n[m].transformation;for(let p in e.orbits){let y=e.orbits[p];for(let F=0;F<y.numPieces;F++)(L[p].permutation[F]!==F||L[p].orientation[F]!==0)&&(a[p][F]||(c.push({orbitName:p,permutationIdx:F}),a[p][F]=!0))}}let g={};for(let m=l[f];m<l[f+1];m++){let L=Gt(e,n[m].transformation),p=\"\";for(let y=0;y<c.length;y++){let F=c[y];p=`${p} ${L[F.orbitName].permutation[F.permutationIdx]} ${L[F.orbitName].orientation[F.permutationIdx]}`}g[p]=n[m],n[m].alg=n[m].alg.invert(),n[m].transformation=Gt(e,n[m].transformation)}o.ordering[f]={pieceOrdering:c,lookup:g}}return o}var $n=S(()=>{he();Rt()});var M2={};Te(M2,{cachedData222:()=>Pc,data222:()=>C2});function Pc(){return D(this,null,function*(){return Hi!=null?Hi:Hi=C2()})}function C2(){return D(this,null,function*(){return $t(yield Xn.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,P2=S(()=>{rn();$n();Hi=null});var Tf={};Te(Tf,{cachedMegaminxDefWithoutMO:()=>Jl,cachedSGSDataMegaminx:()=>Zm,sgsDataMegaminx:()=>Nf});function Ym(){return D(this,null,function*(){return en(\"megaminx\",{allMoves:!0,addRotations:!0}).writekpuzzle(!0)})}function Jl(){return D(this,null,function*(){return Ks!=null?Ks:Ks=Ym()})}function Zm(){return D(this,null,function*(){return Vs!=null?Vs:Vs=Nf()})}function Nf(){return D(this,null,function*(){return $t(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(()=>{ll();$n();Ks=null;Vs=null});var Qf={};Te(Qf,{sgsDataPyraminx:()=>Wf,sgsDataPyraminxFixedOrientation:()=>Zs});function Wf(){return D(this,null,function*(){return Ys!=null?Ys:Ys=$m()})}function Zs(){return D(this,null,function*(){return{ordering:(yield Wf()).ordering.slice(2)}})}function $m(){return D(this,null,function*(){return $t(yield kt.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();$n();Ys=null});var Vf={};Te(Vf,{sgsDataSkewb:()=>Kf,sgsDataSkewbFixedCorner:()=>ta,skewbDefWithoutMOCached:()=>$l});function np(){return D(this,null,function*(){return en(\"skewb\",{allMoves:!0,addRotations:!0}).writekpuzzle(!0)})}function $l(){return D(this,null,function*(){return $s!=null?$s:$s=np()})}function Kf(){return D(this,null,function*(){return ea!=null?ea:ea=op()})}function ta(){return D(this,null,function*(){return{ordering:(yield Kf()).ordering.slice(1)}})}function op(){return D(this,null,function*(){return $t(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(()=>{ll();$n();$s=null;ea=null});var pa=Symbol(\"Comlink.proxy\"),A1=Symbol(\"Comlink.endpoint\"),y1=Symbol(\"Comlink.releaseProxy\"),li=Symbol(\"Comlink.thrown\"),da=e=>typeof e==\"object\"&&e!==null||typeof e==\"function\",D1={canHandle:e=>da(e)&&e[pa],serialize(e){let{port1:t,port2:r}=new MessageChannel;return zn(e,t),[r,[r]]},deserialize(e){return e.start(),b1(e)}},F1={canHandle:e=>da(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}},La=new Map([[\"proxy\",D1],[\"throw\",F1]]);function zn(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(pr),u;try{let a=i.slice(0,-1).reduce((c,g)=>c[g],e),f=i.reduce((c,g)=>c[g],e);switch(l){case\"GET\":u=f;break;case\"SET\":a[i.slice(-1)[0]]=pr(n.data.value),u=!0;break;case\"APPLY\":u=f.apply(a,s);break;case\"CONSTRUCT\":{let c=new f(...s);u=v1(c)}break;case\"ENDPOINT\":{let{port1:c,port2:g}=new MessageChannel;zn(e,g),u=S1(c,[c])}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,c]=si(a);t.postMessage(Object.assign(Object.assign({},f),{id:o}),c),l===\"RELEASE\"&&(t.removeEventListener(\"message\",r),ha(t))})}),t.start&&t.start()}function B1(e){return e.constructor.name===\"MessagePort\"}function ha(e){B1(e)&&e.close()}function b1(e,t){return ii(e,[],t)}function Eo(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(Eo(n),i===y1)return()=>Gr(e,{type:\"RELEASE\",path:t.map(s=>s.toString())}).then(()=>{ha(e),n=!0});if(i===\"then\"){if(t.length===0)return{then:()=>o};let s=Gr(e,{type:\"GET\",path:t.map(u=>u.toString())}).then(pr);return s.then.bind(s)}return ii(e,[...t,i])},set(l,i,s){Eo(n);let[u,a]=si(s);return Gr(e,{type:\"SET\",path:[...t,i].map(f=>f.toString()),value:u},a).then(pr)},apply(l,i,s){Eo(n);let u=t[t.length-1];if(u===A1)return Gr(e,{type:\"ENDPOINT\"}).then(pr);if(u===\"bind\")return ii(e,t.slice(0,-1));let[a,f]=Ra(s);return Gr(e,{type:\"APPLY\",path:t.map(c=>c.toString()),argumentList:a},f).then(pr)},construct(l,i){Eo(n);let[s,u]=Ra(i);return Gr(e,{type:\"CONSTRUCT\",path:t.map(a=>a.toString()),argumentList:s},u).then(pr)}});return o}function x1(e){return Array.prototype.concat.apply([],e)}function Ra(e){let t=e.map(si);return[t.map(r=>r[0]),x1(t.map(r=>r[1]))]}var Aa=new WeakMap;function S1(e,t){return Aa.set(e,t),e}function v1(e){return Object.assign(e,{[pa]:!0})}function si(e){for(let[t,r]of La)if(r.canHandle(e)){let[n,o]=r.serialize(e);return[{type:\"HANDLER\",name:t,value:n},o]}return[{type:\"RAW\",value:e},Aa.get(e)||[]]}function pr(e){switch(e.type){case\"HANDLER\":return La.get(e.name).deserialize(e.value);case\"RAW\":return e.value}}function Gr(e,t,r){return new Promise(n=>{let o=w1();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 w1(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join(\"-\")}var z1=typeof globalThis.Worker==\"undefined\"&&typeof globalThis.WorkerNavigator==\"undefined\";function ba(e){z1?(()=>D(this,null,function*(){let{port:t}=yield Promise.resolve().then(()=>(Ba(),Fa));zn(e,yield t())}))():zn(e)}Rt();rn();var b2=!1;function x2(e){b2=e}function ct(){if(!b2)throw new Error(\"Must be called from inside a worker, to avoid impct on page performance. Try importing from the top level of `cubing/solve`?\")}var Ki=null;function S2(){return D(this,null,function*(){if(typeof crypto!=\"undefined\"&&typeof crypto.getRandomValues!=\"undefined\")return crypto.getRandomValues.bind(crypto);{let t=yield Ki!=null?Ki:Ki=import(\"crypto\");return r=>{if(!(r instanceof Uint32Array))throw new Error(\"The getRandomValues() shim only takes unsigned 32-bit int arrays\");let n=t.randomBytes(r.length*4),o=[];for(let l=0;l<r.length;l++)o.push((n[l*4+0]<<24)+(n[l*4+1]<<16)+(n[l*4+2]<<8)+(n[l*4+3]<<0));r.set(o)}}})}var v2=9007199254740992,Bc=2097152,bc=2048;function xc(e){let t=new Uint32Array(2);e(t);let r=t[0],n=t[1];return Math.floor(r*Bc)+Math.floor(n/bc)}function Sc(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>v2)throw new Error(`Called randomInt.below() with max == ${e}, which is larger than Javascript can handle with integer precision.`)}function it(){return D(this,null,function*(){let e=yield S2(),t=r=>{Sc(r);let n=xc(e),o=Math.floor(v2/r)*r;return n<o?n%r:t(r)};return t})}function Tt(){return D(this,null,function*(){let e=yield it();return t=>t[e(t.length)]})}var vc=it();function w2(e){return D(this,null,function*(){for(let t=1;t<e.length;t++){let r=(yield vc)(t);[e[t],e[r]]=[e[r],e[t]]}})}he();Rt();he();var E2=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 wc(e){return\"A\"<=e&&e<=\"Z\"}function Ec(e){let t=e.family;return wc(t[0])&&t[t.length-1]===\"v\"||t===\"x\"||t===\"y\"||t===\"z\"||t===\"T\"?0:1}var U2=new E2(Ec),Vi=U2.traverseAlg.bind(U2);he();var k2=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}},z2=new k2,Uc=z2.traverseAlg.bind(z2);var kc=2,zc=!0,Cc=!1;function Mc(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),!Di(e,n.state,ht(e));i++)r.push({move:l.modified({amount:i}),transformation:n.state})}),r}var _t=class{constructor(t,r,n){this.def=t;this.sgs=r;this.searchMoves=Mc(this.def,n!=null?n:Object.keys(this.def.moves))}solve(o){return D(this,arguments,function*(t,r=kc,n){let l=null,i=1e6,s=(u,a,f)=>{if(a===0){let c=this.sgsPhaseSolve(u,i);if(!c)return;let g=f.concat(c).simplify({collapseMoves:!0,quantumMoveOrder:n}),m=Vi(g);(l===null||m<i)&&(Cc&&(console.log(`New best (${m} moves): ${g.toString()}`),console.log(`Tremble moves are: ${f.toString()}`)),l=g,i=m);return}for(let c of this.searchMoves)s(lt(this.def,u,c.transformation),a-1,f.concat([c.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 at,o=t;for(let l of this.sgs.ordering){let i=l.pieceOrdering,s=\"\",u=Gt(this.def,o);for(let f=0;f<i.length;f++){let c=i[f],g=c.orbitName,m=c.permutationIdx;s+=` ${u[g].permutation[m]} ${u[g].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=lt(this.def,o,a.transformation),zc)for(let f=0;f<i.length;f++){let c=i[f],g=c.orbitName,m=c.permutationIdx;if(o[g].permutation[m]!==m||o[g].orientation[m]!==0)throw new Error(\"bad SGS :-(\")}}return n.toAlg()}};function il(e,t){return D(this,null,function*(){let r=yield Tt(),n=ht(e);for(let o of t.ordering){let l=r(Object.values(o.lookup));n=lt(e,n,l.transformation)}return n})}var Ic=3,I2=null;function G2(){return D(this,null,function*(){return I2||(I2=(()=>D(this,null,function*(){let e=yield(yield Promise.resolve().then(()=>(P2(),M2))).cachedData222();return new _t(yield kt[\"2x2x2\"].def(),e,\"URFLBD\".split(\"\"))}))())})}function N2(){return D(this,null,function*(){yield G2()})}function Yi(e){return D(this,null,function*(){return ct(),yield(yield G2()).solve(e,Ic,()=>4)})}function Gc(e,t,r,n){return D(this,null,function*(){let o=yield it();yield w2(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 Nc(){return D(this,null,function*(){let e=yield kt[\"2x2x2\"].def(),t=Object.assign({},e),r=new Je(t),n=JSON.parse(JSON.stringify(r.state));return yield Gc(t,\"CORNERS\",n,{orientationSum:0}),n})}function T2(){return D(this,null,function*(){return yield Yi(yield Nc())})}he();Rt();rn();he();function nn(e,t){return D(this,null,function*(){let r=new at;r.experimentalPushAlg(e);for(let n of t){let o=(yield Tt())(n);o!==null&&r.push(d.fromString(o))}return r.toAlg()})}var se={3:1},je=4194303,er=1048575,Tc=524288,Ge=65535,Re={11:1,3:1},ve={17:1,3:1},Zi=14540032,eo=286331153,le={10:1,3:1},V,sl={};function _2(){}function _c(e){function t(){}return t.prototype=e||{},new t}function Oc(e){return e instanceof Array?e[0]:null}function to(e,t,r){var n=sl,o=Wc,l=Oc,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$=_2));for(var u=3;u<arguments.length;++u)arguments[u].prototype=V;s&&(V.___clazz$=s)}function Wc(e){var t=sl;return _c(t[e])}function Qc(){}to(1,null,{},Qc);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 tr(e,t,r){var n;return n=Ji(e,t),Kc(r,n),n}function qc(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 O2(e,t){var r=e.arrayLiterals=e.arrayLiterals||[];return r[t]||(r[t]=e.createClassLiteralForArray(t))}function jc(e){if(e.isPrimitive())return null;var t=e.typeId,r=sl[t];return r}function Kc(e,t){if(!!e){t.typeId=e;var r=jc(t);if(!r){sl[e]=[t];return}r.___clazz$=t}}to(79,1,{},Xi);V.createClassLiteralForArray=function(t){var r;return r=new Xi,r.modifiers=4,t>1?r.componentType=O2(this,t-1):r.componentType=this,r};V.isPrimitive=function(){return(this.modifiers&1)!=0};function J(e,t){return O2(e,t)}function Z(e,t,r,n,o,l){var i;return i=Q2(o,n),$(J(e,l),t,r,o,i),i}function Ke(e,t,r,n,o,l){return W2(e,t,r,n,o,0,l)}function W2(e,t,r,n,o,l,i){var s,u,a,f,c;if(f=o[l],a=l==i-1,s=a?n:0,c=Q2(s,f),$(J(e,i-l),t[l],r[l],s,c),!a)for(++l,u=0;u<f;++u)c[u]=W2(e,t,r,n,o,l,i);return c}function $(e,t,r,n,o){return o.___clazz$=e,o.castableTypeMap$=t,o.typeMarker$=_2,o.__elementTypeId$=r,o.__elementTypeCategory$=n,o}function Q2(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 q2(e){var t,r,n;return t=e&je,r=e>>22&je,n=e<0?er:0,Vc(t,r,n)}function Vc(e,t,r){return{l:e,m:t,h:r}}function Hc(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&er}}function zt(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,cl==null&&(cl=Z(Sg,se,293,256,0,1)),r=cl[t],!r&&(r=cl[t]=q2(e)),r):q2(e)}function j2(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&er}}function Br(e,t){var r,n,o,l,i;return t&=63,r=e.h,n=(r&Tc)!=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?er:0,l=r>>t-22,o=e.m>>t-22|r<<44-t):(i=n?er:0,l=n?je:0,o=r>>t-44),{l:o&je,m:l&je,h:i&er}}function K2(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&er}}function br(e){return e.l|e.m<<22}var cl;function Yc(e){this.string=e}function rr(e,t){return e>t?e:t}function rs(e,t){return e<t?e:t}function Zc(e,t){return e.indexOf(t)}function Xc(e){return Jc(e,0,e.length)}function Jc(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 $c(e){return String.fromCharCode(e&Ge)}var eg=tr(\"java.lang\",\"String\",2);function V2(e){return e.string+=\" \",e}function H2(e,t){return e.string+=t,e}function tg(){Yc.call(this,\"\")}function gl(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 Y2=!1;function xr(){Y2||(Y2=!0,or=Ke(Ae,[se,Re],[11,0],7,[495,18],2),cn=Ke(Ae,[se,Re],[11,0],7,[324,18],2),an=Ke(Ae,[se,Re],[11,0],7,[336,18],2),nr=Ke(Ae,[se,Re],[11,0],7,[495,8],2),dl=Z(we,ve,0,20048,7,1),pl=Z(we,ve,0,20791,7,1),fn=Z(we,ve,0,82945,7,1),on=Ke(Ae,[se,Re],[11,0],7,[2768,10],2),sn=Ke(Ae,[se,Re],[11,0],7,[2768,10],2),un=Ke(Ae,[se,Re],[11,0],7,[24,10],2),oo=Ke(Ae,[se,Re],[11,0],7,[24,16],2),Sr=Ke(Ae,[se,Re],[11,0],7,[140,16],2),ml=Z(we,ve,0,8305,7,1),ln=Z(we,ve,0,48441,7,1))}function rg(e,t,r){return e.slice_0=or[t.slice_0][r],e.flip=an[t.flip][(X(),wr)[r<<3|t.fsym]],e.fsym=e.flip&7^t.fsym,e.flip>>=3,e.twist=cn[t.twist][wr[r<<3|t.tsym]],e.tsym=e.twist&7^t.tsym,e.twist>>=3,e.prun=rr(rr($e(dl,e.twist*495+nr[e.slice_0][e.tsym]),$e(pl,e.flip*495+nr[e.slice_0][e.fsym])),$e(fn,e.twist<<11|sr[e.flip<<3|e.fsym^e.tsym])),e.prun}function ng(e,t,r){return r=(X(),so)[3][r],e.flipc=an[t.flipc>>3][wr[r<<3|t.flipc&7]]^t.flipc&7,e.twistc=cn[t.twistc>>3][wr[r<<3|t.twistc&7]]^t.twistc&7,$e(fn,e.twistc>>3<<11|sr[e.flipc^e.twistc&7])}function Z2(e,t,r){var n;return e.twist=(X(),ao)[Al(t)],e.flip=vr[Rl(t)],e.tsym=e.twist&7,e.twist=e.twist>>3,e.prun=$e(fn,e.twist<<11|sr[e.flip^e.tsym]),e.prun>r||(e.fsym=e.flip&7,e.flip=e.flip>>3,e.slice_0=494-pn(t.ea,8,!0),e.prun=rr(e.prun,rr($e(dl,e.twist*495+nr[e.slice_0][e.tsym]),$e(pl,e.flip*495+nr[e.slice_0][e.fsym]))),e.prun>r)?!1:(n=new fe,lo(t,1,n),io(t,1,n),e.twistc=ao[Al(n)],e.flipc=vr[Rl(n)],e.prun=rr(e.prun,$e(fn,e.twistc>>3<<11|sr[e.flipc^e.twistc&7])),e.prun<=r)}function ro(){xr()}function $e(e,t){return xr(),e[t>>3]>>(t<<2)&15}function X2(e){xr(),!(Ll==2||Ll==1&&!e)&&(Ll==0&&(Lg(),og(),ig(),ag(),lg(),X(),as(2048,us,vr,ou=Z(Ae,Re,0,336,7,1),0),as(2187,ms,ao,gs=Z(Ae,Re,0,324,7,1),1),sg(),ug(),fg()),no(ml,un,oo,on,(X(),cs),584244,e),no(ln,ns,Sr,sn,cs,514084,e),no(dl,or,nr,cn,gs,431619,e),no(pl,or,nr,an,ou,431619,e),no(fn,null,null,cn,gs,103939,e),Ll=e?2:1)}function og(){var e,t,r,n;for(e=new fe,t=new fe,r=0;r<2768;r++)for(mg(e,(X(),gn)[r]),n=0;n<10;n++)lr(e,ce[(_e(),Ft)[n]],t),on[r][n]=Fl(Wt[tt(t.ca,8,!1)])&Ge}function lg(){var e,t,r,n,o;for(e=new fe,t=new fe,ns=Ke(Ae,[se,Re],[11,0],7,[140,10],2),r=0;r<140;r++){for(mu(e.ca,r%70,0,!1),o=0;o<10;o++)lr(e,(X(),ce)[(_e(),Ft)[o]],t),ns[r][o]=pn(t.ca,0,!1)+70*(165>>o&1^~~(r/70))&Ge;for(n=0;n<16;n++)lo(e,(X(),et)[0][n],t),Sr[r][n]=pn(t.ca,0,!1)+70*~~(r/70)&Ge}}function ig(){var e,t,r,n;for(e=new fe,t=new fe,r=0;r<2768;r++)for(tu(e,(X(),gn)[r]),n=0;n<10;n++)gt(e,ce[(_e(),Ft)[n]],t),sn[r][n]=Wt[tt(t.ea,8,!0)]}function sg(){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++)gt(e,ce[n],t),an[r][n]=vr[Rl(t)]}function ag(){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++)gt(e,(X(),ce)[(_e(),Ft)[o]],t),un[r][o]=tt(t.ea,12,!0)%24&Ge;for(n=0;n<16;n++)io(e,(X(),et)[0][n],t),oo[r][n]=tt(t.ea,12,!0)%24&Ge}}function no(e,t,r,n,o,l,i){var s,u,a,f,c,g,m,L,p,y,F,x,B,M,k,K,te,T,re,b,C,I,v,w,P,q,Y,ge,pe,De,Fe,vt,Ue,He,xe,A;if(B=l&15,F=(l>>4&1)==1?Zi:0,a=(l>>5&1)==1,s=l>>8&15,f=l>>12&15,c=l>>16&15,y=i?f:c,x=(1<<B)-1,u=t==null,L=u?2048:t.length,p=L*n.length,m=a?10:18,g=m==10?66:599186,k=(e[p>>3]>>(p<<2)&15)-1,k==-1){for(T=0;T<~~(p/8)+1;T++)e[T]=eo;e[0]^=1,k=0}for(;k<y;){for(P=(k+1)*eo^-1,re=0;re<e.length;re++)xe=e[re]^P,xe&=xe>>1,e[re]+=xe&xe>>2&eo;for(I=k>s,De=I?k+2:k,pe=De*eo,M=I?k:k+2,++k,A=k^k+1,He=0,T=0;T<p;++T,He>>=4){if((T&7)==0&&(He=e[T>>3],((He^pe)-eo&~(He^pe)&-2004318072)==0)){T+=7;continue}if((He&15)==De)for(Y=T%L,Fe=~~(T/L),K=0,te=0,u&&(K=(X(),vr)[Y],te=K&7,K>>=3),w=0;w<m;w++){if(Ue=n[Fe][w],u?ge=(X(),sr)[an[K][wr[w<<3|te]]^te^Ue&x]:ge=r[t[Y][w]][Ue&x],Ue>>=B,b=Ue*L+ge,q=e[b>>3]>>(b<<2)&15,q!=M){q<k-1&&(w+=g>>w&3);continue}if(I){e[T>>3]^=A<<(T<<2);break}for(e[b>>3]^=A<<(b<<2),v=1,vt=o[Ue];(vt>>=1)!=0;v++)(vt&1)==1&&(C=Ue*L,u?C+=(X(),sr)[vr[ge]^v]:C+=r[ge][v^F>>(v<<1)&3],(e[C>>3]>>(C<<2)&15)==M&&(e[C>>3]^=A<<(C<<2)))}}}}function ug(){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++)lr(e,ce[n],t),cn[r][n]=ao[Al(t)]}function fg(){var e,t,r,n,o,l,i,s;for(e=new fe,t=new fe,n=0;n<495;n++){for(mu(e.ea,494-n,8,!0),l=0;l<18;l+=3)gt(e,(X(),ce)[l],t),or[n][l]=494-pn(t.ea,8,!0)&Ge;for(o=0;o<16;o+=2)io(e,(X(),et)[0][o],t),nr[n][o>>1]=494-pn(t.ea,8,!0)&Ge}for(r=0;r<495;r++)for(o=0;o<18;o+=3)for(s=or[r][o],i=1;i<3;i++)s=or[s][o],or[r][o+i]=s&Ge}to(31,1,{31:1},ro);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 Sr,ns,on,ln,sn,an,ml,oo,un,fn,cn,nr,pl,or,dl,Ll=0,hl=tr(\"org.cubing.min2phase.client\",\"CoordCube\",31),J2=!1;function X(){J2||(J2=!0,Ot=Z(uo,se,7,16,0,1),ce=Z(uo,se,7,18,0,1),bl=Z(vg,se,0,18,6,1),lu=Z(we,ve,0,48,7,1),Qt=Ke(we,[se,ve],[17,0],7,[16,16],2),et=Ke(we,[se,ve],[17,0],7,[16,16],2),so=Ke(we,[se,ve],[17,0],7,[16,18],2),wr=Z(we,ve,0,144,7,1),ar=Ke(we,[se,ve],[17,0],7,[16,18],2),us=Z(Ae,Re,0,336,7,1),ms=Z(Ae,Re,0,324,7,1),gn=Z(Ae,Re,0,2768,7,1),mn=Z(ee,le,0,2768,7,1),fs=Z(Ae,Re,0,2768,7,1),Bl=Z(ee,le,0,24,7,1),vr=Z(Ae,Re,0,2048,7,1),ao=Z(Ae,Re,0,2187,7,1),Wt=Z(Ae,Re,0,40320,7,1),sr=Z(Ae,Re,0,2688,7,1),ps=new Dt(2531,1373,67026819,1367),ds=new Dt(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])]),dg(),hg())}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 $2(e){!e.temps&&(e.temps=new fe),lr(ds,e,e.temps),lr(e.temps,ps,e),gt(ds,e,e.temps),gt(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 cg(e){return Fl(Wt[tt(e.ca,8,!1)])}function gg(e){return Wt[tt(e.ea,8,!0)]}function Rl(e){var t,r;for(r=0,t=0;t<11;t++)r=r<<1|e.ea[t]&1;return r}function Al(e){var t,r;for(r=0,t=0;t<7;t++)r+=(r<<1)+(e.ca[t]>>3);return r}function yl(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 eu(e){var t,r,n,o,l,i,s;for(t=new ru(e),o=new fe,r=Fl(Wt[tt(t.ca,8,!1)])>>4,i={l:0,m:0,h:0},s=0;s<6;s++){if(n=Fl(Wt[tt(t.ca,8,!1)])>>4,r==n)for(l=0;l<16;l++)lo(t,et[0][l],o),gl(o.ca,e.ca)&&(io(t,et[0][l],o),gl(o.ea,e.ea)&&(i=ts(i,fl({l:1,m:0,h:0},(s<<4|l)<48?s<<4|l:48))));$2(t),s%3==2&&yl(t)}return i}function mg(e,t){Er(e.ca,t,8,!1)}function tu(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 pg(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(tt(e.ea,12,!0),12)^hs(tt(e.ca,8,!1),8))!=0?-6:0}function lo(e,t,r){X();var n,o,l,i,s,u;for(u=Ot[et[0][t]],s=Ot[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 lr(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 Dl(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 Dt(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 ru(e){os(this),ls(this,e)}function Fl(e){return X(),e^Zi>>((e&15)<<1)&3}function io(e,t,r){X();var n,o,l;for(l=Ot[et[0][t]],o=Ot[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 gt(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 ir(e,t,r){X();var n;return n=fs[e],r&&(n=n^Zi>>((n&15)<<1)&3),n&65520|Qt[n&15][t]}function nu(){return X(),0}function dg(){var e,t;for(ce[0]=new Dt(15120,0,119750400,0),ce[3]=new Dt(21021,1494,323403417,0),ce[6]=new Dt(8064,1236,29441808,550),ce[9]=new Dt(9,0,5880,0),ce[12]=new Dt(1230,412,2949660,0),ce[15]=new Dt(224,137,328552,137),e=0;e<18;e+=3)for(t=0;t<2;t++)ce[e+t+1]=new fe,gt(ce[e+t],ce[e],ce[e+t+1]),lr(ce[e+t],ce[e],ce[e+t+1])}function Lg(){X();var e,t,r;for(as(40320,gn,Wt,cs=Z(Ae,Re,0,2768,7,1),2),e=new fe,r=0;r<2768;r++)tu(e,gn[r]),mn[r]=pn(e.ea,0,!0)+hs(gn[r],8)*70<<24>>24,yl(e),fs[r]=Wt[tt(e.ea,8,!0)];for(t=0;t<24;t++)Er(e.ea,t,12,!0),yl(e),Bl[t]=tt(e.ea,12,!0)%24<<24>>24}function hg(){var e,t,r,n,o,l,i,s,u,a,f,c,g,m,L,p;for(e=new fe,t=new fe,r=new Dt(28783,0,259268407,0),p=new Dt(15138,0,119765538,7),c=new Dt(5167,0,83473207,0),o=0;o<8;o++)c.ca[o]=al(c.ca[o]|24);for(l=0;l<16;l++)Ot[l]=new ru(e),Dl(e,p,t),gt(e,p,t),L=t,t=e,e=L,l%4==3&&(Dl(L,c,t),gt(L,c,t),L=t,t=e,e=L),l%8==7&&(Dl(L,r,t),gt(L,r,t),L=t,t=e,e=L);for(i=0;i<16;i++)for(u=0;u<16;u++)for(Dl(Ot[i],Ot[u],e),f=0;f<16;f++)if(gl(Ot[f].ca,e.ca)){Qt[i][u]=f,et[f][u]=i;break}for(a=0;a<18;a++)for(m=0;m<16;m++){for(lo(ce[a],et[0][m],e),g=0;g<18;g++)if(gl(ce[g].ca,e.ca)){so[m][a]=g,ar[m][(_e(),dn)[a]]=dn[g];break}m%2==0&&(wr[a<<3|m>>1]=so[m][a])}for(n=0;n<18;n++)for(bl[n]=eu(ce[n]),s=n,m=0;m<48;m++)so[m%16][s]<n&&(lu[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,c,g,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(c=0;c<16;c+=m){switch(f?io(l,c,s):lo(l,c,s),o){case 0:a=Rl(s);break;case 1:a=Al(s);break;case 2:a=tt(s.ea,8,!0)}o==0&&(sr[i<<3|c>>1]=a&Ge),a==u&&(n[i]=(n[i]|1<<~~(c/m))&Ge),g=~~((i<<4|c)/m),r[a]=g&Ge}t[i++]=u&Ge}return i}var Ot,Wt,gn,vr,us,sr,Bl,mn,fs,wr,so,ar,Qt,et,ou,cs,gs,ao,ms,lu,ce,bl,ps,ds,xl,uo=tr(\"org.cubing.min2phase.client\",\"CubieCube\",7);function Rg(e,t,r,n,o,l,i,s){var u,a,f,c,g;if(c=rr($e((xr(),ln),(i>>4)*140+Sr[(X(),mn)[s>>4]&255][et[i&15][s&15]]),rr($e(ln,n*140+Sr[mn[t]&255][et[o][r]]),$e(ml,t*24+oo[l][r]))),c>e.maxDep2)return c-e.maxDep2;for(u=e.maxDep2;u>=c&&(g=au(e,n,o,t,r,l,u,e.depth1,10),!(g<0));u--){for(u-=g,e.solLen=0,e.solution=new Lu,xg(e.solution,e.verbose,e.urfIdx,e.depth1),f=0;f<e.depth1+u;f++)pu(e.solution,e.move[f]);for(a=e.preMoveLen-1;a>=0;a--)pu(e.solution,e.preMoves[a]);e.solLen=e.solution.length_0}return u!=e.maxDep2?(e.maxDep2=rs(fu,e.solLen-e.length1-1),j2(e.probe,e.probeMin)?0:1):1}function Ag(e){var t,r,n,o,l,i,s,u,a,f,c,g,m,L,p;if(e.isRec=!1,j2(e.probe,e.solution?e.probeMin:e.probeMax))return 0;for(e.probe=Hc(e.probe,{l:1,m:0,h:0}),n=e.valid1;n<e.depth1;n++)lr(e.phase1Cubie[n],(X(),ce)[e.move[n]],e.phase1Cubie[n+1]),gt(e.phase1Cubie[n],ce[e.move[n]],e.phase1Cubie[n+1]);for(e.valid1=e.depth1,s=cg(e.phase1Cubie[e.depth1]),u=s&15,s>>=4,a=gg(e.phase1Cubie[e.depth1]),f=a&15,a>>=4,c=tt(e.phase1Cubie[e.depth1].ea,12,!0)%24,r=ir(a,f,!1),t=ir(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),g=0,m=(1<<L)-1;g<L;g++){if((m>>g&1)!=0){if(m&=~(1<<g),p=Rg(e,s,u,a,f,c,r,t),p==0||p>2)break;p==2&&(m&=4<<g)}if(m==0)break;(g&1)==0&&e.depth1>0?(i=(_e(),dn)[~~(o/3)*3+1],e.move[e.depth1-1]=Ft[i]*2-e.move[e.depth1-1],c=(xr(),un)[c][i],s=on[s][(X(),ar)[u][i]],u=Qt[s&15][u],s>>=4,a=sn[a][ar[f][i]],f=Qt[a&15][f],a>>=4,t=ir(s,u,!0),r=ir(a,f,!1)):e.preMoveLen>0&&(i=(_e(),dn)[~~(l/3)*3+1],e.preMoves[e.preMoveLen-1]=Ft[i]*2-e.preMoves[e.preMoveLen-1],c=(X(),Bl)[(xr(),un)[Bl[c]][i]],s=on[t>>4][ar[t&15][i]],t=s&-16|Qt[s&15][t&15],s=ir(t>>4,t&15,!0),u=s&15,s>>=4,a=sn[r>>4][ar[r&15][i]],r=a&-16|Qt[a&15][r&15],a=ir(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 yg(e){var t;for(e.conjMask=0,e.selfSym=eu(e.cc),e.conjMask|=es(zt(Br(e.selfSym,16),{l:Ge,m:0,h:0}),{l:0,m:0,h:0})?18:0,e.conjMask|=es(zt(Br(e.selfSym,32),{l:Ge,m:0,h:0}),{l:0,m:0,h:0})?36:0,e.conjMask|=es(zt(Br(e.selfSym,48),{l:Ge,m:0,h:0}),{l:0,m:0,h:0})?56:0,e.selfSym=zt(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),Z2(e.urfCoordCube[t],e.urfCubieCube[t],20),$2(e.cc),t%3==2&&yl(e.cc)}function iu(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=Ag(e),e.depth1+=n,a):1;for(f=nu($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=rg(e.nodeUD[n],t,i),u>n)break;if(u==n)continue;if(u=ng(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=iu(e,e.nodeUD[n],r&br((X(),bl)[i]),n-1,l),a==0)return 0;if(a>=2)break}}return 1}function su(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,Z2(e.nodeUD[e.depth1+1],n,e.depth1)&&iu(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=nu($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)&&(lr((X(),ce)[l],n,e.preMoveCubes[t]),gt(ce[l],n,e.preMoveCubes[t]),e.preMoves[e.maxPreMoves-t]=l,i=su(e,t-1,l,e.preMoveCubes[t],o&br(bl[l])),i==0))return 0}return 1}function au(e,t,r,n,o,l,i,s,u){var a,f,c,g,m,L,p,y,F,x,B;if(t==0&&n==0&&l==0)return i;for(F=(_e(),fo)[u],p=0;p<10;p++){if((F>>p&1)!=0){p+=66>>p&3;continue}if(y=(xr(),un)[l][p],f=on[n][(X(),ar)[o][p]],c=Qt[f&15][o],f>>=4,m=sn[t][ar[r][p]],L=Qt[m&15][r],m>>=4,g=ir(m,L,!1),a=ir(f,c,!0),x=$e(ln,(g>>4)*140+Sr[mn[a>>4]&255][et[g&15][a&15]]),x>i+1)return i-x+1;if(x>=i){p+=66>>p&3&i-x;continue}if(x=rr($e(ml,f*24+oo[y][c]),$e(ln,m*140+Sr[mn[f]&255][et[L][c]])),x>=i){p+=66>>p&3&i-x;continue}if(B=au(e,m,L,f,c,y,i-1,s+1,p),B>=0)return e.move[s]=Ft[p],B;if(B<-2)break;B<-1&&(p+=66>>p&3)}return-1}function Dg(e){for(e.length1=e.isRec?e.length1:0;e.length1<e.solLen;e.length1++)for(e.maxDep2=rs(fu,e.solLen-e.length1-1),e.urfIdx=e.isRec?e.urfIdx:0;e.urfIdx<6;e.urfIdx++)if((e.conjMask&1<<e.urfIdx)==0&&su(e,e.maxPreMoves,-30,e.urfCubieCube[e.urfIdx],br(zt(e.selfSym,{l:Ge,m:0,h:0})))==0)return e.solution?du(e.solution):\"Error 8\";return e.solution?du(e.solution):\"Error 7\"}function Fg(e,t){var r;return r=Bg(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,X2(!1),yg(e),Dg(e))}function Bg(e,t){var r,n,o,l;for(n=0,o=Z(ee,le,0,54,7,1),r=Xc($(J(Ae,1),Re,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]=Zc(r,$c(t.charCodeAt(l)))<<24>>24,o[l]==-1)return-1;n+=1<<(o[l]<<2)}return n!=10066329?-1:(bg(o,e.cc),pg(e.cc))}function uu(){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(uo,se,7,6,0,1),this.urfCoordCube=Z(hl,se,31,6,0,1),this.phase1Cubie=Z(uo,se,7,21,0,1),this.preMoveCubes=Z(uo,se,7,21,0,1),this.preMoves=Z(we,ve,0,20,7,1),t=0;t<21;t++)this.nodeUD[t]=new ro,this.nodeRL[t]=new ro,this.nodeFB[t]=new ro,this.phase1Cubie[t]=new fe;for(r=0;r<6;r++)this.urfCubieCube[r]=new fe,this.urfCoordCube[r]=new ro;for(e=0;e<20;e++)this.preMoveCubes[e+1]=new fe}to(72,1,{},uu);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 fu=12,Ls=7,cu=!1;function _e(){if(!cu){cu=!0;var e,t,r,n,o,l;for(Ur=$(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])]),jt=$(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])]),qt=Ke(we,[se,ve],[17,0],7,[13,13],2),Rs=$(J(eg,1),se,2,4,[\"U \",\"U2\",\"U'\",\"R \",\"R2\",\"R'\",\"F \",\"F2\",\"F'\",\"D \",\"D2\",\"D'\",\"L \",\"L2\",\"L'\",\"B \",\"B2\",\"B'\"]),Ft=$(J(we,1),ve,0,7,[0,1,2,4,7,9,10,11,13,16,3,5,6,8,12,14,15,17]),dn=Z(we,ve,0,18,7,1),fo=Z(we,ve,0,11,7,1),t=0;t<18;t++)dn[Ft[t]]=t;for(r=0;r<10;r++)for(n=~~(Ft[r]/3),fo[r]=0,o=0;o<10;o++)l=~~(Ft[o]/3),fo[r]|=(n==l||n%3==l%3&&n>=l?1:0)<<o;for(fo[10]=0,e=0;e<13;e++)for(qt[e][0]=qt[e][e]=1,o=1;o<e;o++)qt[e][o]=qt[e-1][o-1]+qt[e-1][o]}}function pn(e,t,r){_e();var n,o,l,i,s;for(n=e.length-1,l=0,s=4,o=n;o>=0;o--)i=gu(e[o],r),(i&12)==t&&(l+=qt[o][s--]);return l}function hs(e,t){_e();var r,n;for(n=0,r=t-2;r>=0;r--)n^=e%(t-r),e=~~(e/(t-r));return n&1}function tt(e,t,r){_e();var n,o,l,i;for(o=0,i={l:1323536,m:2777561,h:1043915},n=0;n<t-1;n++)l=gu(e[n],r)<<2,o=(t-n)*o+br(zt(Br(i,l),{l:15,m:0,h:0})),i=K2(i,fl({l:1118480,m:279620,h:69905},l));return o}function gu(e,t){return t?e>>1:e&7}function mu(e,t,r,n){_e();var o,l,i,s;for(o=e.length-1,s=4,l=o,i=o;i>=0;i--)t>=qt[i][s]?(t-=qt[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){_e();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=(br(o)&15)<<2,o=Br(o,4),e[l]=Sl(e[l],br(zt(Br(a,u),{l:15,m:0,h:0})),n),i=K2(fl({l:1,m:0,h:0},u),{l:1,m:0,h:0}),a=ts(zt(a,i),zt(Br(a,4),{l:~i.l&je,m:~i.m&je,h:~i.h&er}));e[r-1]=Sl(e[r-1],br(zt(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 bg(e,t){_e();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[Ur[s][a]]==0||e[Ur[s][a]]==3);a++);for(r=e[Ur[s][(a+1)%3]],n=e[Ur[s][(a+2)%3]],u=0;u<8;u++)if(r==~~(Ur[u][1]/9)&&n==~~(Ur[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[jt[o][0]]==~~(jt[u][0]/9)&&e[jt[o][1]]==~~(jt[u][1]/9)){t.ea[o]=al(u<<1);break}if(e[jt[o][0]]==~~(jt[u][1]/9)&&e[jt[o][1]]==~~(jt[u][0]/9)){t.ea[o]=al(u<<1|1);break}}}var qt,fo,Ur,jt,Rs,dn,Ft;function pu(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 xg(e,t,r,n){e.verbose=t,e.urfIdx=r,e.depth1=n}function du(e){var t,r,n;if(r=new tg,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+=\". \"),V2(H2(r,(_e(),Rs)[(X(),xl)[n][e.moves[t]]]));else for(t=e.length_0-1;t>=0;t--)V2(H2(r,(_e(),Rs)[(X(),xl)[n][e.moves[t]]])),(e.verbose&1)!=0&&t==e.depth1&&(r.string+=\". \");return r.string}function Lu(){this.moves=Z(we,ve,0,31,7,1)}to(150,1,{},Lu);V.depth1=0;V.length_0=0;V.urfIdx=0;V.verbose=0;var we=ul(\"int\",\"I\");tr(\"com.google.gwt.lang\",\"CollapsedPropertyHolder\",252);tr(\"com.google.gwt.lang\",\"JavaClassHierarchySetupUtil\",254);var Sg=tr(\"com.google.gwt.lang\",\"LongLibBase/LongEmul\",null);tr(\"com.google.gwt.lang\",\"ModuleUtils\",257);var ee=ul(\"byte\",\"B\"),vg=ul(\"long\",\"J\"),Ae=ul(\"char\",\"C\");tr(\"com.google.gwt.user.client.rpc\",\"XsrfToken\",null),qc(\"java.util\",\"Map/Entry\");var hu=function(){X2(!1)},Ru=function(e){return Fg(new uu,e)};var wg=\"UF UR UB UL DF DR DB DL FR FL BR BL\".split(\" \"),Eg=\"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \"),Ug=\"U L F R B D\".split(\" \"),kg=[[1,2,0],[0,2,0],[1,1,0],[0,3,0],[2,0,0],[0,1,0],[1,3,0],[0,0,0],[1,0,0],[1,0,2],[0,1,1],[1,1,1],[0,8,1],[2,3,0],[0,10,1],[1,4,1],[0,5,1],[1,7,2],[1,3,2],[0,0,1],[1,0,1],[0,9,0],[2,2,0],[0,8,0],[1,5,1],[0,4,1],[1,4,2],[1,5,0],[0,4,0],[1,4,0],[0,7,0],[2,5,0],[0,5,0],[1,6,0],[0,6,0],[1,7,0],[1,2,2],[0,3,1],[1,3,1],[0,11,1],[2,1,0],[0,9,1],[1,6,1],[0,7,1],[1,5,2],[1,1,2],[0,2,1],[1,2,1],[0,10,0],[2,4,0],[0,11,0],[1,7,1],[0,6,1],[1,6,2]];function Au(e,t){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(Au(wg[e.EDGES.permutation[r]],e.EDGES.orientation[r]));for(let r=0;r<8;r++)t[1].push(Au(Eg[e.CORNERS.permutation[r]],e.CORNERS.orientation[r]));return t.push(Ug),t}function yu(e){let t=zg(e);return kg.map(([r,n,o])=>t[r][n][o]).join(\"\")}he();Rt();function Du(e,t,r){for(let n in e.orbits)if(!Tn(e,n,t,r,{ignoreOrientation:n===\"CENTERS\"}))return!1;return!0}function Fu(e,t){let r=new Je(e);if(Du(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)),Du(e,r.state,t))return!1;return!0}var Bu=[[\"R U'\",\"R2 B\",\"D2 B2\",\"D' L B'\",\"R' U'\",\"B\",\"D B2\",\"R' B\",\"L' U\",\"L2 B'\",\"B2\",\"D L B'\",\"L U\",\"B'\",\"U'\",\"R B\",\"D' B2\",\"L B'\",\"U2\",\"U L' B'\",\"\",\"U' L' B'\",\"U\",\"L' B'\"],[\"F2 L2\",\"F' L'\",\"R' F L2\",\"D' L2\",\"F L2\",\"F2 L'\",\"R' F' L'\",\"R2 F L2\",\"R2 F2 L'\",\"L2\",\"F L'\",\"D' L\",\"D2 L2\",\"R2 F' L'\",\"D L\",\"\",\"L2 F L'\",\"L F' L2\",\"L F L'\",\"F' L2\",\"L'\",\"D L2\",\"D F L'\",\"L\"],[\"R B U2 B'\",\"R2 B U' B'\",\"F2 B U B'\",\"F B2 L' B2\",\"B2 L B2\",\"B U' B'\",\"R2 B U2 B'\",\"R' B U' B'\",\"B2 L' B2\",\"F B U B'\",\"B2 U' B2\",\"B' L B\",\"L F' B D' B'\",\"B' U' B2 D B'\",\"B U2 B'\",\"R B U' B'\",\"B2 L2 B2\",\"D' B' L B\",\"B U B'\",\"F' B2 L' B2\",\"\",\"B2 L' B' U' B'\"],[\"U F2 L2 U'\",\"F' U L' U'\",\"F2 U L' U'\",\"U F L2 U'\",\"U2 B2 U2\",\"R' U' B U\",\"D2 U L U'\",\"D U2 B' U2\",\"U L2 U'\",\"F U L' U'\",\"D U L U'\",\"U2 B' U2\",\"\",\"U2 B' U' L' U'\",\"U2 L' U2\",\"U' B U\",\"U L U'\",\"D' U2 B' U2\",\"U L' U'\",\"U2 B U2\"],[\"R' D' F2\",\"F'\",\"F2\",\"D R F'\",\"R D' F2\",\"R2 F'\",\"D' F2\",\"R F'\",\"F2 R' D' F2\",\"F\",\"D2 F2\",\"D' R F'\",\"R2 D' F2\",\"R' F'\",\"D F2\",\"D2 R F'\",\"\",\"F R' D' F2\"],[\"R' D2 F' D F\",\"R F2 R2 F2\",\"R2 F' D2 F\",\"F' R2 D2 F\",\"L D' L'\",\"D F' D2 F\",\"F2 R2 F2\",\"R F' D2 F\",\"F' R2 D' F\",\"F' R' D2 F\",\"F2 R' F2\",\"L D L'\",\"F' R D' F\",\"F2 R F2\",\"F' D2 F\",\"\",\"L D2 R D' L'\",\"F' D2 F' R F2\",\"D2 R2 F2 R2 F2\",\"D F' D' F\",\"F' D F\"],[\"U F2 U'\",\"R U F' U'\",\"D R U F2 U'\",\"U F U'\",\"R2 U F2 U'\",\"R' U F' U'\",\"R U F2 U'\",\"R2 U F' U'\",\"\",\"U L D L' F U'\",\"F2 D' R D F2\",\"D2 U F U'\",\"R' U F2 U'\",\"U F' U'\",\"F2 D2 R D2 F2\",\"D U F U'\"],[\"R2\",\"R' B' D B\",\"D R'\",\"F' R2 F\",\"\",\"R B' D B\",\"R'\",\"B' D B\",\"D' R'\",\"D2 F' R2 F\",\"R\",\"R2 B' D B\",\"D2 R'\",\"B' D' B\"],[\"R2 D' R2\",\"F' R' F R\",\"R D' R2 D R'\",\"D2 R2 D2 R2\",\"R' D' F' R F\",\"U F D F' U'\",\"\",\"R2 D2 B R' B' R'\",\"R' F D' F2 R F\",\"R2 D R2\",\"F2 U F U' F\",\"R' D F' R F\",\"D R2 D2 R2\",\"U F D' F' U'\",\"D R' D2 F' R F\",\"R2 D2 R2\",\"U F D2 F' U'\",\"R' D2 F' R F\"],[\"B R B'\",\"F D F' B R2 B'\",\"D B R2 B'\",\"D2 B R' B'\",\"B R2 B'\",\"D B R' B'\",\"D' B R2 B'\",\"B R' B'\",\"\",\"B R2 B' D B R' B'\",\"D2 B R2 B'\",\"D' B R' B'\"],[\"\",\"R' D R F D2 F'\",\"R' D R\",\"D F D' F'\",\"R F' R' F\",\"F D' F'\",\"R' D' R\",\"F D2 F'\",\"R' D2 R\",\"F D F'\"],[\"\",\"F2 D2 R F' R' D2 F' D2 F'\",\"F2 D2 F' D' F D' F' D2 F'\",\"F2 D F2 D F2 D2 F2\",\"D2 F L D2 L' D2 F'\",\"D F D2 L D2 L' F'\",\"R' D B' D2 B D' R\",\"R' D2 B' D2 B R\",\"F D2 F' D F D F'\",\"F D' L D2 L' D F'\",\"B D' F D B' D' F'\",\"F D2 L D2 L' F'\",\"F D' L D L' D F'\",\"F L D2 L' D2 F'\",\"R' B' D2 B D2 R\"],[\"D'\",\"F L D L' D' F'\",\"D2\",\"L B D B' D' L'\",\"D\",\"B' L' D' L D B\",\"\",\"D F L D L' D' F'\"],[\"F' D2 F D F' D F\",\"F' D' R' D R F\",\"F' R' D' R D F\",\"B D R D' R' B'\",\"\",\"D B' D' L' D L B\"],[\"D F D F' D F D2 F'\",\"F' U2 B' R' B U2 F' L F' L' F'\",\"\",\"D2 L D L2 F L F2 D F\"],[\"L B' L' F L B L' F'\",\"F2 U F' D2 F U' F' D2 F'\",\"D' F' D B D' F D B'\",\"F L2 F R2 F' L2 F R2 F2\",\"D B D' F' D B' D' F\",\"R F L F' R' F L' F'\",\"\",\"D2 B L' U2 L B' D2 B L' U2 L B'\",\"D2 F R' U2 R F' D2 F R' U2 R F'\",\"R F L' F' R' F L F'\",\"D F D' B' D F' D' B\",\"L2 F2 L' B2 L F2 L' B2 L'\"],[\"L B R' B' L' B R B'\",\"R' B R F' R' B' R F\",\"L D2 L U L' D2 L U' L2\",\"\",\"D2 B' D2 F D' L2 F L2 F' D2 B D' F'\",\"D2 F' R' F R2 B' D2 B D2 R' F D2 F'\",\"L B L' F L B' L' F'\",\"F' D2 F' U' F D2 F' U F2\",\"D' B' D F D' B D F'\"],[\"\",\"D2 F' L U2 L' F D2 F' L U2 L' F\",\"D2 B' R U2 R' B D2 B' R U2 R' B\"]];function bu(){return D(this,null,function*(){let e=yield kt[\"3x3x3\"].def(),t=new Je(e);for(let r of Bu)t.applyAlg(z.fromString((yield Tt())(r)));return Fu(e,t.state)?t.state:bu()})}function As(e){return D(this,null,function*(){return ct(),z.fromString(Ru(yu(e)))})}function Ln(){return D(this,null,function*(){return As(yield bu())})}function xu(){return D(this,null,function*(){hu()})}var Cg=[[null,\"Rw\",\"Rw2\",\"Rw'\",\"Fw\",\"Fw'\"],[null,\"Dw\",\"Dw2\",\"Dw'\"]];function Su(){return D(this,null,function*(){return nn(yield Ln(),Cg)})}var vu=new z(\"R' U' F\");function wu(){return D(this,null,function*(){let e=new at,t=yield Ln();return e.experimentalPushAlg(vu),e.experimentalPushAlg(t),e.experimentalPushAlg(vu),e.toAlg()})}he();var me=[],ys=[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,ys[e+1]=ys[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 Eu(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=ys[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 N(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,co={},Mg={},Uu=0,Ds=30,ku=21,Pg=22,Ig=23,zu=24,Gg=25,Ng=34,Tg=26,Fs=40;function _g(e){return new co[e]}function st(e,t,r,...n){let o=co[e];o&&!o.___clazz$?H=o.prototype:(!o&&(o=co[e]=function(){}),H=o.prototype=t<0?{}:_g(t),H.castableTypeMap$=r);for(let l of n)l.prototype=H;o.___clazz$&&(H.___clazz$=o.___clazz$,o.___clazz$=null)}function ur(e){let t={};for(let r=0,n=e.length;r<n;++r)t[e[r]]=1;return t}st(1,-1,Mg);H.value=null;function Cu(){}function Og(e,t){let r=Mu(0,t);return Pu(e.___clazz$,e.castableTypeMap$,e.queryId$,r),r}function Mu(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=Mu(o,n);return Pu(e,t,r,l),l}function Pu(e,t,r,n){return Gu(),Qg(n,bs,xs),n.___clazz$=e,n.castableTypeMap$=t,n.queryId$=r,n}function vl(e,t,r){return e[t]=r}st(73,1,{},Cu);H.queryId$=0;var Iu=!1;function Gu(){Iu||(Iu=!0,bs=[],xs=[],Wg(new Cu,bs,xs))}function Wg(e,t,r){let n=0,o;for(let l in e)(o=e[l])&&(t[n]=l,r[n]=o,++n)}function Qg(e,t,r){Gu();for(let n=0,o=t.length;n<o;++n)e[t[n]]=r[n]}var bs,xs;function qg(e,t){return e.castableTypeMap$&&!!e.castableTypeMap$[t]}function jg(e,t){return e!==null&&qg(e,t)}var Nu=!1;function Kg(){if(Nu)return!1;Nu=!0,zl=N(15582,36),Cl=N(15582),bt=N(15582),An=N(48,48),xt=N(48,36),Rn=N(48),ws=N(48)}function Ss(e){e.ct=N(24)}function Tu(e,t){let r,n;if(jg(t,ku)){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 El(e){let t,r;if(hn!==null)return hn[wl(e)];for(r=0;r<48;++r){if(t=Jg(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:h(e.ct,0,1,2,3,r);break;case 1:h(e.ct,16,17,18,19,r);break;case 2:h(e.ct,8,9,10,11,r);break;case 3:h(e.ct,4,5,6,7,r);break;case 4:h(e.ct,20,21,22,23,r);break;case 5:h(e.ct,12,13,14,15,r);break;case 6:h(e.ct,0,1,2,3,r),h(e.ct,8,20,12,16,r),h(e.ct,9,21,13,17,r);break;case 7:h(e.ct,16,17,18,19,r),h(e.ct,1,15,5,9,r),h(e.ct,2,12,6,10,r);break;case 8:h(e.ct,8,9,10,11,r),h(e.ct,2,19,4,21,r),h(e.ct,3,16,5,22,r);break;case 9:h(e.ct,4,5,6,7,r),h(e.ct,10,18,14,22,r),h(e.ct,11,19,15,23,r);break;case 10:h(e.ct,20,21,22,23,r),h(e.ct,0,8,4,14,r),h(e.ct,3,11,7,13,r);break;case 11:h(e.ct,12,13,14,15,r),h(e.ct,1,20,7,18,r),h(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:h(e.ct,0,3,1,2,1),h(e.ct,8,11,9,10,1),h(e.ct,4,7,5,6,1),h(e.ct,12,15,13,14,1),h(e.ct,16,19,21,22,1),h(e.ct,17,18,20,23,1);break;case 3:Bt(e,18),Bt(e,29),Bt(e,24),Bt(e,35)}}function _u(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 Ul(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function go(){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 mo(e){let t;for(Ss(this),t=0;t<24;++t)this.ct[t]=e[t]}function Vg(){let e,t,r=new go,n=new go;for(e=0;e<15582;++e)for(vs(n,Cl[e]),t=0;t<36;++t)Ul(r,n),Bt(r,t),zl[e][t]=El(r)}function Hg(){let e,t,r,n,o,l,i,s;for(Xl(bt),bt[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(bt[n]===s){for(i=0;i<27;++i)if(o=~~zl[n][i]>>>6,bt[o]===e)if(++r,l){bt[n]=t;break}else bt[o]=t}}function Yg(e){let t,r,n,o=new mo(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 Zg(){let e,t,r,n=new go;for(e=0;e<24;++e)n.ct[e]=e;let o=new mo(n.ct),l=new mo(n.ct),i=new mo(n.ct);for(e=0;e<48;++e){for(t=0;t<48;++t){for(r=0;r<48;++r)Tu(n,o)&&(An[e][t]=r,r===0&&(Rn[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(Ul(n,l),_u(n,Rn[e]),t=0;t<36;++t)for(Ul(o,n),Bt(o,t),_u(o,e),r=0;r<36;++r)if(Ul(i,l),Bt(i,r),Tu(i,o)){xt[e][t]=r;break}for(vs(n,0),e=0;e<48;++e)ws[Rn[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 Xg(){let e,t,r,n,o=new go,l=N(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),hn!==null&&(hn[r]=e<<6|Rn[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 Jg(e){let t=Tm(Cl,e);return t>=0?t:-1}st(153,1,ur([ku]),go,kl,mo);var bt,zl,ws,hn=null,Cl,Rn,xt,An,Ou=!1;function $g(){Ou||(Ou=!0,Gl=N(70,28),Il=N(6435,28),Vu=N(70,16),ju=N(6435,16),Ve=N(450450),Ku=[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 Ml(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 Pl(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^=Ku[t];let r=t%3;switch(t=~~(t/3),t){case 0:h(e.ct,0,1,2,3,r);break;case 1:h(e.rl,0,1,2,3,r);break;case 2:h(e.ct,8,9,10,11,r);break;case 3:h(e.ct,4,5,6,7,r);break;case 4:h(e.rl,4,5,6,7,r);break;case 5:h(e.ct,12,13,14,15,r);break;case 6:h(e.ct,0,1,2,3,r),h(e.rl,0,5,4,1,r),h(e.ct,8,9,12,13,r);break;case 7:h(e.rl,0,1,2,3,r),h(e.ct,1,15,5,9,r),h(e.ct,2,12,6,10,r);break;case 8:h(e.ct,8,9,10,11,r),h(e.rl,0,3,6,5,r),h(e.ct,3,2,5,4,r);break;case 9:h(e.ct,4,5,6,7,r),h(e.rl,3,2,7,6,r),h(e.ct,11,10,15,14,r);break;case 10:h(e.rl,4,5,6,7,r),h(e.ct,0,8,4,14,r),h(e.ct,3,11,7,13,r);break;case 11:h(e.ct,12,13,14,15,r),h(e.rl,1,4,7,2,r),h(e.ct,1,0,7,6,r)}}function Dn(e,t){switch(t){case 0:yn(e,19),yn(e,28);break;case 1:yn(e,21),yn(e,32);break;case 2:h(e.ct,0,3,1,2,1),h(e.ct,8,11,9,10,1),h(e.ct,4,7,5,6,1),h(e.ct,12,15,13,14,1),h(e.rl,0,3,5,6,1),h(e.rl,1,2,4,7,1)}}function Wu(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 Qu(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 qu(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 Es(){this.rl=N(8),this.ct=N(16)}function em(){let e,t,r,n,o,l,i,s,u,a,f=new Es;for(o=0;o<70;++o)for(s=0;s<28;++s)qu(f,o),yn(f,zr[s]),Gl[o][s]=Pl(f);for(o=0;o<70;++o)for(qu(f,o),i=0;i<16;++i)Vu[o][i]=Pl(f),Dn(f,0),i%2==1&&Dn(f,1),i%8==7&&Dn(f,2);for(o=0;o<6435;++o)for(Qu(f,o),i=0;i<16;++i)ju[o][i]=Ml(f)&65535,Dn(f,0),i%2==1&&Dn(f,1),i%8==7&&Dn(f,2);for(o=0;o<6435;++o)for(s=0;s<28;++s)Qu(f,o),yn(f,zr[s]),Il[o][s]=Ml(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 c=r>6,g=c?-1:r,m=c?r:-1;for(++r,o=0;o<450450;++o)if(Ve[o]===g){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,c){Ve[o]=r;break}else Ve[l]=r}}}st(154,1,{},Es);H.parity=0;var Il,Ve,ju,Ku,Gl,Vu,Hu=!1;function tm(){Hu||(Hu=!0,po=N(29400,20),Zu=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1],fr=N(29400),zs=[0,9,14,23,27,28,41,42,46,55,60,69],Cs=N(70))}function Us(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 rm(e,t){switch(e.parity^=Zu[t],t){case 0:case 1:case 2:h(e.ud,0,1,2,3,t%3);break;case 3:h(e.rl,0,1,2,3,1);break;case 4:case 5:case 6:h(e.fb,0,1,2,3,(t-1)%3);break;case 7:case 8:case 9:h(e.ud,4,5,6,7,(t-1)%3);break;case 10:h(e.rl,4,5,6,7,1);break;case 11:case 12:case 13:h(e.fb,4,5,6,7,(t+1)%3);break;case 14:h(e.ud,0,1,2,3,1),h(e.rl,0,5,4,1,1),h(e.fb,0,5,4,1,1);break;case 15:h(e.rl,0,1,2,3,1),h(e.fb,1,4,7,2,1),h(e.ud,1,6,5,2,1);break;case 16:h(e.fb,0,1,2,3,1),h(e.ud,3,2,5,4,1),h(e.rl,0,3,6,5,1);break;case 17:h(e.ud,4,5,6,7,1),h(e.rl,3,2,7,6,1),h(e.fb,3,2,7,6,1);break;case 18:h(e.rl,4,5,6,7,1),h(e.fb,0,3,6,5,1),h(e.ud,0,3,4,7,1);break;case 19:h(e.fb,4,5,6,7,1),h(e.ud,0,7,6,1,1),h(e.rl,1,4,7,2,1)}}function Yu(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 nm(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=N(8),this.rl=N(8),this.fb=N(8)}function om(){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)nm(o,r),rm(o,n),po[r][n]=Us(o)&65535;for(Xl(fr),fr[0]=0,e=0,t=1;t!==29400;){for(r=0;r<29400;++r)if(fr[r]===e)for(n=0;n<17;++n)fr[po[r][n]]===-1&&(fr[po[r][n]]=e+1,++t);++e}}st(155,1,{},ks);H.parity=0;var po,Zu,fr,zs,Cs;function lm(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function im(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:h(e.ct,0,1,2,3,r);break;case 1:h(e.ct,16,17,18,19,r);break;case 2:h(e.ct,8,9,10,11,r);break;case 3:h(e.ct,4,5,6,7,r);break;case 4:h(e.ct,20,21,22,23,r);break;case 5:h(e.ct,12,13,14,15,r);break;case 6:h(e.ct,0,1,2,3,r),h(e.ct,8,20,12,16,r),h(e.ct,9,21,13,17,r);break;case 7:h(e.ct,16,17,18,19,r),h(e.ct,1,15,5,9,r),h(e.ct,2,12,6,10,r);break;case 8:h(e.ct,8,9,10,11,r),h(e.ct,2,19,4,21,r),h(e.ct,3,16,5,22,r);break;case 9:h(e.ct,4,5,6,7,r),h(e.ct,10,18,14,22,r),h(e.ct,11,19,15,23,r);break;case 10:h(e.ct,20,21,22,23,r),h(e.ct,0,8,4,14,r),h(e.ct,3,11,7,13,r);break;case 11:h(e.ct,12,13,14,15,r),h(e.ct,1,20,7,18,r),h(e.ct,0,23,6,17,r)}}function Ms(){let e;for(this.ct=N(24),e=0;e<24;++e)this.ct[e]=~~(e/4)}function Xu(e){let t,r,n;for(Ms.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)}st(156,1,{},Ms,Xu);var Ju=!1;function sm(){Ju||(Ju=!0,mt=N(18),fm())}function $u(e){e.cp=[0,1,2,3,4,5,6,7],e.co=[0,0,0,0,0,0,0,0]}function ef(e,t){let r;for(r=0;r<8;++r)e.cp[r]=t.cp[r],e.co[r]=t.co[r]}function am(e,t){!e.temps&&(e.temps=new Nl),tf(e,mt[t],e.temps),ef(e,e.temps)}function um(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 tf(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 Nl(){$u(this)}function cr(e,t){$u(this),Eu(this.cp,e),um(this,t)}function rf(e){cr.call(this,e(40320),e(2187))}function fm(){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 Nl,tf(mt[e+t],mt[e],mt[e+t+1])}st(157,1,ur([Pg]),Nl,cr,rf);H.temps=null;var mt,nf=!1;function cm(){nf||(nf=!0,St=N(1937880),Wl=N(1538),Ql=N(1538),Sn=N(11880),ff=[0,1,6,3,4,5,2,7],Ns=N(160,12),Ts=N(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 Fn(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 Bn(e,t){let r,n,o,l,i;for(e.isStd||af(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 of(e){let t,r=Bn(e,4);t=Sn[r];let n=t&7;t>>=3,_l(e,n);let o=Bn(e,10)%20160;return t*20160+o}function Tl(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 bn(e,t){switch(e.isStd=!1,t){case 0:Tl(e,14),Tl(e,17);break;case 1:Fn(e,11,5,10,6),Fn(e,5,10,6,11),Fn(e,1,2,3,0),Fn(e,4,9,7,8),Fn(e,8,4,9,7),Fn(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,bn(e,1),bn(e,2);t!==0&&bn(e,0)}function Lo(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 lf(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 sf(e,t){let r,n,o,l;for(e.temp===null&&(e.temp=N(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 af(e){let t;for(e.temp===null&&(e.temp=N(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 Kt(){this.edge=N(12),this.edgeo=N(12)}function gm(){let e,t,r,n,o,l,i,s,u,a,f,c,g,m,L,p,y,F,x,B,M,k,K=new Kt,te=new Kt,T=new Kt;for(Xl(St),s=0,Ol=1,Ps(St,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(c=0;c<31006080;c+=16)if(k=St[~~c>>4],!(!L&&k===-1)){for(f=c,u=c+16;f<u;++f,k>>=2)if((k&3)===a){for(x=~~(f/20160),t=Wl[x],n=f%20160,Lo(K,t*20160+n),y=0;y<17;++y)if(r=xn(K.edge,y<<3,4),B=Sn[r],M=B&7,B>>=3,o=xn(K.edge,y<<3|M,10)%20160,g=B*20160+o,ho(St,g)===e){if(Ps(St,L?f:g,l),++Ol,L)break;if(F=Ql[B],F!==1)for(lf(te,K),Tl(te,y),_l(te,M),p=1;(F=~~F>>1&65535)!=0;++p)(F&1)==1&&(lf(T,te),_l(T,p),m=B*20160+Bn(T,10)%20160,ho(St,m)===e&&(Ps(St,m,l),++Ol))}}}++s}}function ho(e,t){return e[t>>4]>>((t&15)<<1)&3}function xn(e,t,r){let n,o,l,i,s,u=Ts[t],a=Ns[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 uf(e){let t,r,n,o,l,i,s,u,a,f,c,g=new Kt;if(i=0,l=ho(St,e),l===3)return 10;for(;e!==0;)for(l===0?l=2:--l,a=~~(e/20160),t=Wl[a],n=e%20160,Lo(g,t*20160+n),u=0;u<17;++u)if(r=xn(g.edge,u<<3,4),f=Sn[r],c=f&7,f>>=3,o=xn(g.edge,u<<3|c,10)%20160,s=f*20160+o,ho(St,s)===l){++i,e=s;break}return i}function mm(e,t){let r=ho(St,e);return r===3?10:(1227133513<<r>>t&3)+t-1}function pm(){let e,t,r,n=new Kt;for(t=0;t<20;++t)for(r=0;r<8;++r){for(Lo(n,0),Tl(n,t),_l(n,r),e=0;e<12;++e)Ns[t<<3|r][e]=n.edge[e];for(af(n),e=0;e<12;++e)Ts[t<<3|r][e]=n.temp[e]}}function dm(){let e,t,r,n,o=new Kt,l=N(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(Lo(o,t*Gs[8]),n=0;n<8;++n)r=Bn(o,4),r===t&&(Ql[e]=(Ql[e]|1<<n)&65535),l[~~r>>3]=l[~~r>>3]|1<<(r&7),Sn[r]=e<<3|ff[n],bn(o,0),n%2==1&&(bn(o,1),bn(o,2));Wl[e++]=t}}function Ps(e,t,r){e[t>>4]^=(3^r)<<((t&15)<<1)}st(158,1,ur([Ig]),Kt);H.isStd=!0;H.temp=null;var Is,Ol=0,St,Gs,Ns,Ts,Sn,Wl,ff,Ql,cf=!1;function Lm(){cf||(cf=!0)}function hm(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 Rm(e,t){let r;for(r=0;r<24;++r)e.ep[r]=t.ep[r]}function Am(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:h(e.ep,0,1,2,3,r),h(e.ep,12,13,14,15,r);break;case 1:h(e.ep,11,15,10,19,r),h(e.ep,23,3,22,7,r);break;case 2:h(e.ep,0,11,6,8,r),h(e.ep,12,23,18,20,r);break;case 3:h(e.ep,4,5,6,7,r),h(e.ep,16,17,18,19,r);break;case 4:h(e.ep,1,20,5,21,r),h(e.ep,13,8,17,9,r);break;case 5:h(e.ep,2,9,4,10,r),h(e.ep,14,21,16,22,r);break;case 6:h(e.ep,0,1,2,3,r),h(e.ep,12,13,14,15,r),h(e.ep,9,22,11,20,r);break;case 7:h(e.ep,11,15,10,19,r),h(e.ep,23,3,22,7,r),h(e.ep,2,16,6,12,r);break;case 8:h(e.ep,0,11,6,8,r),h(e.ep,12,23,18,20,r),h(e.ep,3,19,5,13,r);break;case 9:h(e.ep,4,5,6,7,r),h(e.ep,16,17,18,19,r),h(e.ep,8,23,10,21,r);break;case 10:h(e.ep,1,20,5,21,r),h(e.ep,13,8,17,9,r),h(e.ep,14,0,18,4,r);break;case 11:h(e.ep,2,9,4,10,r),h(e.ep,14,21,16,22,r),h(e.ep,7,15,1,17,r)}}function _s(){let e;for(this.ep=N(24),e=0;e<24;++e)this.ep[e]=e}function gf(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)}st(159,1,{},_s,gf);var mf=!1;function ym(){mf||(mf=!0,Os=[35,1,34,2,4,6,22,5,19])}function pf(e){e.moveBuffer=N(60)}function Dm(e,t){return e.value-t.value}function vn(e,t){let r;for(Rm(e.edge,t.edge),lm(e.center,t.center),ef(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 gr(e){for(;e.centerAvail<e.moveLength;)im(e.center,e.moveBuffer[e.centerAvail++]);return e.center}function df(e){for(;e.cornerAvail<e.moveLength;)am(e.corner,e.moveBuffer[e.cornerAvail++]%18);return e.corner}function Ro(e){for(;e.edgeAvail<e.moveLength;)Am(e.edge,e.moveBuffer[e.edgeAvail++]);return e.edge}function Fm(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)xt[i][e.moveBuffer[t]]>=27?(s[r++]=xt[i][e.moveBuffer[t]]-9,o=Os[xt[i][e.moveBuffer[t]]-27],i=An[i][o]):s[r++]=xt[i][e.moveBuffer[t]];let u=An[Rn[i]][Yg(gr(e))];for(l=\"\",i=u,t=r-1;t>=0;--t)n=s[t],n=~~(n/3)*3+(2-n%3),xt[i][n]>=27?(l=l+Ws[xt[i][n]-9]+\" \",o=Os[xt[i][n]-27],i=An[i][o]):l=l+Ws[xt[i][n]]+\" \";return l}function kr(e,t){e.moveBuffer[e.moveLength++]=t}function ql(){pf(this),this.edge=new _s,this.center=new Ms,this.corner=new Nl}function jl(e){ql.call(this),vn(this,e)}function Lf(e){pf(this),this.edge=new gf(e),this.center=new Xu(e),this.corner=new rf(e)}st(160,1,ur([zu,Ng]),ql,jl,Lf);H.compareTo$=function(t){return Dm(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 Bm(e,t){return t.value-e.value}function Kl(e,t){return Bm(e,t)}function hf(){}st(161,1,{},hf);H.compare=function(t,r){return Kl(t,r)};var Rf=!1;function bm(){if(Rf)return;Rf=!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'\"],zr=[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],Ao=[0,1,2,4,6,7,8,9,10,11,13,15,16,17,19,22,25,28,31,34,36],Af=N(37),yf=N(37),wn=N(37,36),Vl=N(29,28),Hl=N(21,20),Qs=N(36),yo=N(28),En=N(20),e=0;e<29;++e)Af[zr[e]]=e;for(e=0;e<21;++e)yf[Ao[e]]=e;for(e=0;e<36;++e){for(t=0;t<36;++t)wn[e][t]=~~(e/3)==~~(t/3)||~~(e/3)%3==~~(t/3)%3&&e>t;wn[36][e]=!1}for(e=0;e<29;++e)for(t=0;t<28;++t)Vl[e][t]=wn[zr[e]][zr[t]];for(e=0;e<21;++e)for(t=0;t<20;++t)Hl[e][t]=wn[Ao[e]][Ao[t]];for(e=0;e<36;++e)for(Qs[e]=36,t=e;t<36;++t)if(!wn[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(En[e]=20,t=e;t<20;++t)if(!Hl[e][t]){En[e]=t-1;break}}var wn,Vl,Hl,zr,Ws,Ao,Qs,yo,En,Af,yf;function xm(e){let t,r,n,o,l,i,s,u,a,f,c,g;e.solution=\"\";let m=El(new kl(gr(e.c),0)),L=El(new kl(gr(e.c),1)),p=El(new kl(gr(e.c),2)),y=bt[~~m>>6],F=bt[~~L>>6],x=bt[~~p>>6];for(e.p1SolsCnt=0,e.arr2idx=0,Mm(e.p1sols.heap),e.length1=(y<F?y:F)<x?y<F?y:F:x;e.length1<100&&!(x<=e.length1&&Yl(e,~~p>>>6,p&63,e.length1,-1,0)||y<=e.length1&&Yl(e,~~m>>>6,m&63,e.length1,-1,0)||F<=e.length1&&Yl(e,~~L>>>6,L&63,e.length1,-1,0));++e.length1);let B=jm(e.p1sols,Bs(Vm,ur([Gg,Ds,Fs]),zu,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)&&(vn(e.c1,B[i]),Wu(e.ct2,gr(e.c1),Zl(Ro(e.c1).ep)),c=Ml(e.ct2),g=Pl(e.ct2),e.length1=B[i].length1,e.length2=u-B[i].length1,Df(e,c,g,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=sf(e.e12,Ro(e.arr2[i])),Yu(e.ct3,gr(e.arr2[i]),l^Zl(df(e.arr2[i]).cp)),n=Us(e.ct3),o=Bn(e.e12,10),f=uf(of(e.e12)),f<=a-e.arr2[i].length1-e.arr2[i].length2&&Ff(e,o,n,f,a-e.arr2[i].length1-e.arr2[i].length2,20,0))){s=i;break e}++r}while(a===100);let M=new jl(e.arr2[s]);e.length1=M.length1,e.length2=M.length2;let k=a-e.length1-e.length2;for(i=0;i<k;++i)kr(M,Ao[e.move3[i]]);e.solution=Fm(M)}function Sm(e,t){let r,n;for(vn(e.c1,e.c),r=0;r<e.length1;++r)kr(e.c1,e.move1[r]);switch(ws[t]){case 0:kr(e.c1,24),kr(e.c1,35),e.move1[e.length1]=24,e.move1[e.length1+1]=35,e.add1=!0,t=19;break;case 12869:kr(e.c1,18),kr(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}Wu(e.ct2,gr(e.c1),Zl(Ro(e.c1).ep));let o=Ml(e.ct2),l=Pl(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=Qm(e.p1sols),n.value>e.c1.value&&vn(n,e.c1)),km(e.p1sols,n),e.p1SolsCnt===1e4}function vm(e){let t;for(vn(e.c2,e.c1),t=0;t<e.length2;++t)kr(e.c2,e.move2[t]);if(!hm(Ro(e.c2)))return!1;let r=sf(e.e12,Ro(e.c2));Yu(e.ct3,gr(e.c2),r^Zl(df(e.c2).cp));let n=Us(e.ct3);Bn(e.e12,10);let o=uf(of(e.e12));return e.arr2[e.arr2idx]?vn(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,fr[n]),e.arr2[e.arr2idx].length2=e.length2,++e.arr2idx,e.arr2idx===e.arr2.length}function wm(e,t){return bf(),e.c=new Lf(t),xm(e),e.solution}function Yl(e,t,r,n,o,l){let i,s,u,a,f,c;if(t===0)return n===0&&Sm(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][xt[r][u]],f=bt[~~s>>>6],f>=n){if(f>n)break;continue}if(c=An[r][s&63],s>>>=6,e.move1[l]=u,Yl(e,s,c,n-1,i,l+1))return!0}return!1}function Df(e,t,r,n,o,l){let i,s,u,a;if(t===0&&Ve[r]===0)return n===0&&vm(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]=zr[s],Df(e,i,a,n-1,s,l+1))return!0}return!1}function Ff(e,t,r,n,o,l,i){let s,u,a,f,c,g,m,L,p;if(o===0)return t===0&&r===0;for(Lo(e.tempe[i],t),c=0;c<17;++c){if(Hl[l][c]){c=En[c];continue}if(a=po[r][c],g=fr[a],g>=o){g>o&&c<14&&(c=En[c]);continue}if(f=xn(e.tempe[i].edge,c<<3,10),s=~~(f/20160),L=Sn[s],p=L&7,L>>=3,u=xn(e.tempe[i].edge,c<<3|p,10)%20160,m=mm(L*20160+u,n),m>=o){m>o&&c<14&&(c=En[c]);continue}if(Ff(e,f,a,m,o-1,c,i+1))return e.move3[i]=c,!0}return!1}function Bf(){let e;for(this.p1sols=new zf(new hf),this.move1=N(15),this.move2=N(20),this.move3=N(20),this.c1=new ql,this.c2=new ql,this.ct2=new Es,this.ct3=new ks,this.e12=new Kt,this.tempe=N(20),this.arr2=N(100),e=0;e<20;++e)this.tempe[e]=new Kt}function bf(){xf||(Zg(),hn=N(735471),Xg(),Vg(),hn=null,Hg(),em(),om(),pm(),dm(),gm(),xf=!0)}st(163,1,ur([Tg]),Bf);H.add1=!1;H.arr2idx=0;H.c=null;H.length1=0;H.length2=0;H.p1SolsCnt=0;H.solution=\"\";var xf=!1,Sf=!1;function Em(){Sf||(Sf=!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 h(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 vf(){}function wf(e,t,r,n){let o=new vf;return o.typeName=e+t,Uf(r!==0?-r:0)&&kf(r!==0?-r:0,o),o.modifiers=4,o.superclass=qs,o.componentType=n,o}function Ef(e,t,r,n){let o=new vf;return o.typeName=e+t,Uf(r)&&kf(r,o),o.superclass=n,o}function Um(e){let t=co[e.seedId];return e=null,t}function Uf(e){return typeof e==\"number\"&&e>0}function kf(e,t){let r;if(t.seedId=e,e===2)r=String.prototype;else if(e>0){let n=Um(t);if(n)r=n.prototype;else{n=co[e]=function(){},n.___clazz$=t;return}}else return;r.___clazz$=t}H.val$outerIter=null;function km(e,t){if(Wm(e,t))return!0}function zm(e){e.array=Bs(Cf,ur([Ds,Fs]),Uu,0,0)}function Cm(e,t){return vl(e.array,e.size++,t),!0}function Mm(e){e.array=Bs(Cf,ur([Ds,Fs]),Uu,0,0),e.size=0}function mr(e,t){return e.array[t]}function Pm(e,t){let r=e.array[t];return Nm(e.array,t,1),--e.size,r}function Un(e,t,r){let n=e.array[t];return vl(e.array,t,r),n}function Im(e,t){let r;for(t.length<e.size&&(t=Og(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 Gm(){zm(this),this.array.length=500}function Nm(e,t,r){e.splice(t,r)}H.size=0;function Tm(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){_m(e,e.length)}function _m(e,t){let r;for(r=0;r<t;++r)e[r]=-1}function Om(e,t){let r,n,o,l,i=e.heap.size,s=mr(e.heap,t);for(;t*2+1<i&&(r=(n=2*t+1,o=n+1,l=n,o<i&&Kl(mr(e.heap,o),mr(e.heap,n))<0&&(l=o),l),!(Kl(s,mr(e.heap,r))<0));)Un(e.heap,t,mr(e.heap,r)),t=r;Un(e.heap,t,s)}function Wm(e,t){let r,n;for(n=e.heap.size,Cm(e.heap,t);n>0;){if(r=n,n=~~((n-1)/2),Kl(mr(e.heap,n),t)<=0)return Un(e.heap,r,t),!0;Un(e.heap,r,mr(e.heap,n))}return Un(e.heap,n,t),!0}function Qm(e){if(e.heap.size===0)return null;let t=mr(e.heap,0);return qm(e),t}function qm(e){let t=Pm(e.heap,e.heap.size-1);0<e.heap.size&&(Un(e.heap,0,t),Om(e,0))}function jm(e,t){return Im(e.heap,t)}function zf(e){this.heap=new Gm,this.cmp=e}st(239,1,{},zf);H.cmp=null;H.heap=null;var qs=Ef(\"java.lang.\",\"Object\",1,null),Cf=wf(\"[Ljava.lang.\",\"Object;\",356,qs),Km=Ef(\"cs.threephase.\",\"FullCube\",160,qs),Vm=wf(\"[Lcs.threephase.\",\"FullCube;\",381,Km),Mf,Pf=!1;function If(){Pf||(Pf=!0,bm(),Em(),Kg(),$g(),tm(),cm(),sm(),Lm(),ym(),Mf=new Bf)}function js(){If(),bf()}function Do(){return D(this,null,function*(){ct(),If();let e=z.fromString(wm(Mf,yield it()));return(yield Ln()).concat(e)})}var Hm=[[null,\"x\",\"x2\",\"x'\",\"z\",\"z'\"],[null,\"y\",\"y2\",\"y'\"]];function Gf(){return D(this,null,function*(){return nn(yield Do(),Hm)})}Hs();var Xm=2,_f=null;function Jm(){return D(this,null,function*(){return _f||(_f=(()=>D(this,null,function*(){let t=yield(yield Promise.resolve().then(()=>(Hs(),Tf))).cachedSGSDataMegaminx();return new _t(yield Jl(),t,[\"U\",\"R\",\"F\",\"L\",\"BR\",\"BL\",\"FR\",\"FL\",\"DR\",\"DL\",\"B\",\"D\"])}))())})}function Of(e){return D(this,null,function*(){ct();let t=yield Jm(),r=JSON.parse(JSON.stringify(e));return r.CENTERS.orientation=new Array(12).fill(0),yield t.solve(r,Xm,()=>5)})}rn();Xs();var ep=3,qf=null;function tp(){return D(this,null,function*(){return qf||(qf=(()=>D(this,null,function*(){let t=yield(yield Promise.resolve().then(()=>(Xs(),Qf))).sgsDataPyraminx();return new _t(yield kt.pyraminx.def(),t,\"RLUB\".split(\"\"))}))())})}function Js(e){return D(this,null,function*(){return ct(),yield(yield tp()).solve(e,ep,()=>3)})}function rp(){return D(this,null,function*(){return il(yield kt.pyraminx.def(),yield Zs())})}function jf(){return D(this,null,function*(){return Js(yield rp())})}ra();var lp=3,Hf=null;function ip(){return D(this,null,function*(){return Hf||(Hf=(()=>D(this,null,function*(){let e=yield Promise.resolve().then(()=>(ra(),Vf)),t=yield e.sgsDataSkewb();return new _t(yield e.skewbDefWithoutMOCached(),t,\"RLUB\".split(\"\"))}))())})}function sp(e){return{CORNERS:e.CORNERS,CENTERS:{permutation:e.CENTERS.permutation,orientation:new Array(6).fill(0)}}}function na(e){return D(this,null,function*(){return ct(),yield(yield ip()).solve(sp(e),lp,n=>n.family===\"y\"?4:3)})}function ap(){return D(this,null,function*(){return il(yield $l(),yield ta())})}function Yf(){return D(this,null,function*(){return na(yield ap())})}he();function up(e){switch(e){case 5:return 60;case 6:return 80;default:return 100}}var fp=[[\"U\",\"D\"],[\"L\",\"R\"],[\"F\",\"B\"]],Zf=new Map;function cp(e){let t=Zf.get(e);if(t)return t;let r=[];for(let n of fp){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 Zf.set(e,r),r}function Vt(e){return D(this,null,function*(){let t=yield it(),r=yield Tt(),n=r,o=cp(e),l=up(e),i=new at,s=0,u=new Set;for(;i.experimentalNumUnits()<l;){let a=t(3);a!==s&&u.clear(),s=a;let f=r(o[s]),c=f.toString();u.has(c)||(u.add(c),i.push(new d(f,n([1,2,-1]))))}return i.toAlg()})}var gp=[[null,\"3Rw\",\"3Rw2\",\"3Rw'\",\"3Fw\",\"3Fw'\"],[null,\"3Dw\",\"3Dw2\",\"3Dw'\"]];function Xf(){return D(this,null,function*(){return nn(yield Vt(5),gp)})}he();function mp(e,t){e.ul=t.ul,e.ur=t.ur,e.dl=t.dl,e.dr=t.dr,e.ml=t.ml}function Jf(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 pp(e){var t,r,n,o,l;for(n=0,e.arr[0]=Ct(e,0),o=1;o<24;++o)Ct(e,o)!=e.arr[n]&&(e.arr[++n]=Ct(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 dp(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,Fo(pp(e)<<24|n<<18|o<<12|t<<6|r)}function Lp(e,t){var r,n;for(r=0;r<8;++r)e.prm[r]=~~(~~Ct(e,r*3+1)>>1<<24)>>24;for(t.cornperm=So(e.prm),t.topEdgeFirst=Ct(e,0)==Ct(e,1),r=t.topEdgeFirst?2:0,n=0;n<4;r+=3,++n)e.prm[n]=~~(~~Ct(e,r)>>1<<24)>>24;for(t.botEdgeFirst=Ct(e,12)==Ct(e,13),r=t.botEdgeFirst?14:12;n<8;r+=3,++n)e.prm[n]=~~(~~Ct(e,r)>>1<<24)>>24;t.edgeperm=So(e.prm),t.ml=e.ml}function Ct(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 hp(){return D(this,null,function*(){let e=yield it();var t,r,n,o,l,i,s,u,a;for(t=new la,n=kn[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 Rp(){}var be=la.prototype=Rp.prototype;be.dl=10062778;be.dr=14536702;be.ml=0;be.ul=70195;be.ur=4544119;function Ap(e){var t,r,n,o,l,i;for(mp(e.Search_d,e.Search_c),n=0;n<e.Search_length1;++n)Jf(e.Search_d,e.Search_move[n]);for(Lp(e.Search_d,e.Search_sq),r=e.Search_sq.edgeperm,t=e.Search_sq.cornperm,l=e.Search_sq.ml,i=Math.max(ye[e.Search_sq.edgeperm<<1|l],ye[e.Search_sq.cornperm<<1|l]),n=i;n<e.Search_maxlen2;++n)if(ti(e,r,t,e.Search_sq.topEdgeFirst,e.Search_sq.botEdgeFirst,l,n,e.Search_length1,0)){for(o=0;o<n;++o)Jf(e.Search_d,e.Search_move[e.Search_length1+o]);return e.Search_sol_string=yp(e,n+e.Search_length1),!0}return!1}function yp(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&&Ap(e);if(l!=0&&(u=ri[t],s=Ee[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+=bo[u],u=~~i>>4,i&=15,!(i>=12||(s=Ee[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+=Bo[u],u=~~i>>4,i&=15,!(i>=6||(s=Ee[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,c,g,m,L,p;if(i==0&&!n&&o||u!=0&&n==o&&(c=vo[t],f=vo[r],ye[c<<1|1-l]<i&&ye[f<<1|1-l]<i&&(e.Search_move[s]=0,ti(e,c,f,n,o,1-l,i-1,s+1,0))))return!0;if(u<=0)for(p=!n,c=p?Pr[t]:t,f=p?r:Pr[r],g=p?1:2,m=ye[c<<1|l],L=ye[f<<1|l];g<12&&m<=i&&m<=i;){if(m<i&&L<i&&(e.Search_move[s]=g,ti(e,c,f,p,o,l,i-1,s+1,1)))return!0;p=!p,p?(c=Pr[c],m=ye[c<<1|l],g+=1):(f=Pr[f],L=ye[f<<1|l],g+=2)}if(u<=1)for(a=!o,c=a?Cr[t]:t,f=a?r:Cr[r],g=a?1:2,m=ye[c<<1|l],L=ye[f<<1|l];g<(i>3?6:12)&&m<=i&&m<=i;){if(m<i&&L<i&&(e.Search_move[s]=-g,ti(e,c,f,n,a,l,i-1,s+1,2)))return!0;a=!a,a?(c=Cr[c],m=ye[c<<1|l],g+=1):(f=Cr[f],L=ye[f<<1|l],g+=2)}return!1}function Dp(e,t){var r;for(e.Search_c=t,r=dp(t),e.Search_length1=Ee[r];e.Search_length1<100&&(e.Search_maxlen2=Math.min(31-e.Search_length1,17),!ei(e,r,Ee[r],e.Search_length1,0,-1));++e.Search_length1);return e.Search_sol_string}function $f(){this.Search_move=[],this.Search_d=new la,this.Search_sq=new n1}function Fp(){}be=$f.prototype=Fp.prototype;be.Search_c=null;be.Search_length1=0;be.Search_maxlen2=0;be.Search_sol_string=null;var e1=!1;function Bp(){e1||(e1=!0,xo=[0,3,6,12,15,24,27,30,48,51,54,60,63],kn=[],Ee=[],bo=[],Bo=[],ri=[],Sp())}function bp(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((Ir(e.bottom&63)&1)!=0);return(Ir(e.bottom)&2)==0&&(e.Shape_parity^=r),t}function ia(e){var t;return t=l1(kn,e.top<<12|e.bottom)<<1|e.Shape_parity,t}function sa(e,t){e.Shape_parity=t&1,e.top=kn[~~t>>1],e.bottom=e.top&4095,e.top>>=12}function xp(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((Ir(e.top&63)&1)!=0);return(Ir(e.top)&2)==0&&(e.Shape_parity^=r),t}function t1(){}function Fo(e){var t;return t=l1(kn,e&16777215)<<1|~~e>>24,t}function Sp(){var e,t,r,n,o,l,i,s,u,a,f,c,g,m,L,p;for(e=0,i=0;i<28561;++i)l=xo[i%13],r=xo[~~(i/13)%13],c=xo[~~(~~(i/13)/13)%13],f=xo[~~(~~(~~(i/13)/13)/13)],g=f<<18|c<<12|r<<6|l,Ir(g)==16&&(kn[e++]=g);for(a=new t1,i=0;i<7356;++i)sa(a,i),bo[i]=xp(a),bo[i]|=ia(a)<<4,sa(a,i),Bo[i]=bp(a),Bo[i]|=ia(a)<<4,sa(a,i),p=a.top&63,m=Ir(p),L=Ir(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)Ee[i]=-1;for(Ee[Fo(14378715)]=0,Ee[Fo(31157686)]=0,Ee[Fo(23967451)]=0,Ee[Fo(7191990)]=0,n=4,o=0,t=-1;n!=o;)for(o=n,++t,i=0;i<7536;++i)if(Ee[i]==t){u=0,s=i;do s=bo[s],u+=s&15,s>>=4,Ee[s]==-1&&(++n,Ee[s]=t+1);while(u!=12);u=0,s=i;do s=Bo[s],u+=s&15,s>>=4,Ee[s]==-1&&(++n,Ee[s]=t+1);while(u!=12);s=ri[i],Ee[s]==-1&&(++n,Ee[s]=t+1)}}function vp(){}be=t1.prototype=vp.prototype;be.bottom=0;be.Shape_parity=0;be.top=0;var Bo,kn,Ee,bo,ri,xo,r1=!1;function wp(){if(!r1){r1=!0,ye=[],vo=[],Pr=[],Cr=[],o1=[1,1,2,6,24,120,720,5040],Mr=[];for(var e=0;e<12;++e)Mr[e]=[];Ep()}}function n1(){}function So(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 Ep(){var e,t,r,n,o,l,i,s,u,a,f,c,g;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(c=[],o=0;o<40320;++o)aa(c,o),g=c[2],c[2]=c[4],c[4]=g,g=c[3],c[3]=c[5],c[5]=g,vo[o]=So(c),aa(c,o),g=c[0],c[0]=c[1],c[1]=c[2],c[2]=c[3],c[3]=g,Pr[o]=So(c),aa(c,o),g=c[4],c[4]=c[5],c[5]=c[6],c[6]=c[7],c[7]=g,Cr[o]=So(c);for(o=0;o<80640;++o)ye[o]=-1;for(ye[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(ye[o]==n){if(l=~~o>>1,f=o&1,i=vo[l]<<1|1-f,ye[i]==e&&(++r,ye[s?o:i]=~~(t<<24)>>24,s))continue e;for(i=l,a=0;a<4;++a)if(i=Pr[i],ye[i<<1|f]==e&&(++r,ye[s?o:i<<1|f]=~~(t<<24)>>24,s))continue e;for(a=0;a<4;++a)if(i=Cr[i],ye[i<<1|f]==e&&(++r,ye[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=o1[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 Up(){}be=n1.prototype=Up.prototype;be.botEdgeFirst=!1;be.cornperm=0;be.edgeperm=0;be.ml=0;be.topEdgeFirst=!1;var Cr,Mr,ye,Pr,vo,o1;function Ir(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 l1(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,kp=function(e,t,r){ua||(Bp(),wp()),r&&r(\"Done initializing Square-1.\"),ua=!0,e!=null&&e()},zp=function(){return D(this,null,function*(){return ua||kp(),hp()})},Cp=function(e){var t=new $f;return Dp(t,e)},Mp=function(){return D(this,null,function*(){var e=yield zp(),t=Cp(e);return{state:e,scramble_string:t}})};function i1(){return D(this,null,function*(){return(yield Mp()).scramble_string})}function s1(){return D(this,null,function*(){return z.fromString(yield i1())})}x2(!0);var a1=!0;function Pp(e){a1=e}function u1(){return(typeof performance==\"undefined\"?Date:performance).now()}function Oe(e,t){return D(this,null,function*(){if(!a1)return t();let r=u1(),n=t();(n==null?void 0:n.then)&&(yield n);let o=u1();return console.warn(`${e}: ${Math.round(o-r)}ms`),n})}var fa={initialize:e=>D(void 0,null,function*(){switch(e){case\"222\":return Oe(\"preInitialize222\",N2);case\"333\":case\"333oh\":case\"333ft\":return Oe(\"initialize333\",xu);case\"444\":return Oe(\"initialize444\",js);default:throw new Error(`unsupported event: ${e}`)}}),randomScrambleForEvent:e=>D(void 0,null,function*(){switch(e){case\"222\":return Oe(\"random222Scramble\",T2);case\"333\":case\"333oh\":case\"333ft\":return Oe(\"random333Scramble\",Ln);case\"333fm\":return Oe(\"random333FewestMovesScramble\",wu);case\"333bf\":case\"333mb\":return Oe(\"random333OrientedScramble\",Su);case\"444\":return Oe(\"random444Scramble\",Do);case\"444bf\":return Oe(\"random444OrientedScramble\",Gf);case\"555\":return Oe(\"bigCubeScramble(5)\",Vt.bind(Vt,5));case\"555bf\":return Oe(\"oriented555RandomMoves\",Xf);case\"666\":return Oe(\"bigCubeScramble(6)\",Vt.bind(Vt,6));case\"777\":return Oe(\"bigCubeScramble(7)\",Vt.bind(Vt,7));case\"skewb\":return Oe(\"randomSkewbFixedCornerScramble\",Yf);case\"pyram\":return Oe(\"randomPyraminxScrambleFixedOrientation\",jf);case\"sq1\":return Oe(\"getRandomSquare1Scramble\",s1);default:throw new Error(`unsupported event: ${e}`)}}),randomScrambleStringForEvent:e=>D(void 0,null,function*(){return(yield fa.randomScrambleForEvent(e)).toString()}),solve333ToString:e=>D(void 0,null,function*(){return(yield As(e)).toString()}),solve222ToString:e=>D(void 0,null,function*(){return(yield Yi(e)).toString()}),solveSkewbToString:e=>D(void 0,null,function*(){return(yield na(e)).toString()}),solvePyraminxToString:e=>D(void 0,null,function*(){return(yield Js(e)).toString()}),solveMegaminxToString:e=>D(void 0,null,function*(){return(yield Of(e)).toString()}),setDebugMeasurePerf:e=>D(void 0,null,function*(){Pp(e)})};ba(fa);\n";
|