{"version":3,"file":"js/editor~embed~fullscreen~player.js","sources":["webpack://GUI/./src/lib/backpack/sound-thumbnail.png","webpack://GUI/./src/components/action-menu/action-menu.css","webpack://GUI/./src/components/alerts/alert.css","webpack://GUI/./src/components/alerts/alerts.css","webpack://GUI/./src/components/alerts/inline-message.css","webpack://GUI/./src/components/asset-panel/asset-panel.css","webpack://GUI/./src/components/asset-panel/selector.css","webpack://GUI/./src/components/audio-trimmer/audio-trimmer.css","webpack://GUI/./src/components/backpack/backpack.css","webpack://GUI/./src/components/blocks/blocks.css","webpack://GUI/./src/components/box/box.css","webpack://GUI/./src/components/browser-modal/browser-modal.css","webpack://GUI/./src/components/button/button.css","webpack://GUI/./src/components/cards/card.css","webpack://GUI/./src/components/close-button/close-button.css","webpack://GUI/./src/components/coming-soon/coming-soon.css","webpack://GUI/./src/components/connection-modal/connection-modal.css","webpack://GUI/./src/components/context-menu/context-menu.css","webpack://GUI/./src/components/controls/controls.css","webpack://GUI/./src/components/crash-message/crash-message.css","webpack://GUI/./src/components/custom-procedures/custom-procedures.css","webpack://GUI/./src/components/delete-button/delete-button.css","webpack://GUI/./src/components/direction-picker/dial.css","webpack://GUI/./src/components/direction-picker/direction-picker.css","webpack://GUI/./src/components/divider/divider.css","webpack://GUI/./src/components/drag-layer/drag-layer.css","webpack://GUI/./src/components/filter/filter.css","webpack://GUI/./src/components/forms/input.css","webpack://GUI/./src/components/forms/label.css","webpack://GUI/./src/components/green-flag/green-flag.css","webpack://GUI/./src/components/gui/gui.css","webpack://GUI/./src/components/icon-button/icon-button.css","webpack://GUI/./src/components/language-selector/language-selector.css","webpack://GUI/./src/components/library-item/library-item.css","webpack://GUI/./src/components/library/library.css","webpack://GUI/./src/components/loader/loader.css","webpack://GUI/./src/components/loupe/loupe.css","webpack://GUI/./src/components/menu-bar/author-info.css","webpack://GUI/./src/components/menu-bar/community-button.css","webpack://GUI/./src/components/menu-bar/menu-bar.css","webpack://GUI/./src/components/menu-bar/project-title-input.css","webpack://GUI/./src/components/menu-bar/save-status.css","webpack://GUI/./src/components/menu-bar/share-button.css","webpack://GUI/./src/components/menu-bar/tw-see-inside.css","webpack://GUI/./src/components/menu-bar/user-avatar.css","webpack://GUI/./src/components/menu/menu.css","webpack://GUI/./src/components/meter/meter.css","webpack://GUI/./src/components/mic-indicator/mic-indicator.css","webpack://GUI/./src/components/modal/modal.css","webpack://GUI/./src/components/monitor-list/monitor-list.css","webpack://GUI/./src/components/monitor/monitor.css","webpack://GUI/./src/components/play-button/play-button.css","webpack://GUI/./src/components/prompt/prompt.css","webpack://GUI/./src/components/question/question.css","webpack://GUI/./src/components/record-modal/record-modal.css","webpack://GUI/./src/components/slider-prompt/slider-prompt.css","webpack://GUI/./src/components/sound-editor/sound-editor.css","webpack://GUI/./src/components/spinner/spinner.css","webpack://GUI/./src/components/sprite-info/sprite-info.css","webpack://GUI/./src/components/sprite-selector-item/sprite-selector-item.css","webpack://GUI/./src/components/sprite-selector/sprite-selector.css","webpack://GUI/./src/components/stage-header/stage-header.css","webpack://GUI/./src/components/stage-selector/stage-selector.css","webpack://GUI/./src/components/stage-wrapper/stage-wrapper.css","webpack://GUI/./src/components/stage/stage.css","webpack://GUI/./src/components/stop-all/stop-all.css","webpack://GUI/./src/components/tag-button/tag-button.css","webpack://GUI/./src/components/target-pane/target-pane.css","webpack://GUI/./src/components/telemetry-modal/telemetry-modal.css","webpack://GUI/./src/components/turbo-mode/turbo-mode.css","webpack://GUI/./src/components/tw-custom-extension-modal/custom-extension-modal.css","webpack://GUI/./src/components/tw-custom-extension-modal/file-input.css","webpack://GUI/./src/components/tw-extension-separator/separator.css","webpack://GUI/./src/components/tw-fancy-checkbox/checkbox.css","webpack://GUI/./src/components/tw-fonts-modal/fonts-modal.css","webpack://GUI/./src/components/tw-framerate-indicator/framerate-indicator.css","webpack://GUI/./src/components/tw-loading-spinner/spinner.css","webpack://GUI/./src/components/tw-restore-point-modal/restore-point-modal.css","webpack://GUI/./src/components/tw-security-manager-modal/data-url.css","webpack://GUI/./src/components/tw-security-manager-modal/load-extension.css","webpack://GUI/./src/components/tw-security-manager-modal/security-manager-modal.css","webpack://GUI/./src/components/tw-security-manager-modal/url.css","webpack://GUI/./src/components/tw-settings-modal/settings-modal.css","webpack://GUI/./src/components/tw-username-modal/username-modal.css","webpack://GUI/./src/components/watermark/watermark.css","webpack://GUI/./src/components/waveform/waveform.css","webpack://GUI/./src/components/webgl-modal/webgl-modal.css","webpack://GUI/./src/lib/normalize.css","webpack://GUI/./src/lib/default-project/cd21514d0531fdffb22204e0ec5ed84a.svg","webpack://GUI/./src/lib/default-project/dango.svg","webpack://GUI/./src/lib/tw-missing-project/c17163c6954e9422ac2405de4c9d68c8.svg","webpack://GUI/./src/addons/entry.js","webpack://GUI/./src/addons/hooks.js","webpack://GUI/./src/components/action-menu/action-menu.css?bdb9","webpack://GUI/./src/components/action-menu/action-menu.jsx","webpack://GUI/./src/components/action-menu/icon--backdrop.svg","webpack://GUI/./src/components/action-menu/icon--file-upload.svg","webpack://GUI/./src/components/action-menu/icon--paint.svg","webpack://GUI/./src/components/action-menu/icon--search.svg","webpack://GUI/./src/components/action-menu/icon--sprite.svg","webpack://GUI/./src/components/action-menu/icon--surprise.svg","webpack://GUI/./src/components/alerts/alert.css?d79a","webpack://GUI/./src/components/alerts/alert.jsx","webpack://GUI/./src/components/alerts/alerts.css?d97e","webpack://GUI/./src/components/alerts/alerts.jsx","webpack://GUI/./src/components/alerts/inline-message.css?7847","webpack://GUI/./src/components/alerts/inline-message.jsx","webpack://GUI/./src/components/asset-panel/asset-panel.css?b9e6","webpack://GUI/./src/components/asset-panel/asset-panel.jsx","webpack://GUI/./src/components/asset-panel/icon--add-backdrop-lib.svg","webpack://GUI/./src/components/asset-panel/icon--add-costume-lib.svg","webpack://GUI/./src/components/asset-panel/icon--add-sound-lib.svg","webpack://GUI/./src/components/asset-panel/icon--add-sound-record.svg","webpack://GUI/./src/components/asset-panel/icon--sound-rtl.svg","webpack://GUI/./src/components/asset-panel/icon--sound.svg","webpack://GUI/./src/components/asset-panel/selector.css?7bea","webpack://GUI/./src/components/asset-panel/selector.jsx","webpack://GUI/./src/components/asset-panel/sortable-asset.jsx","webpack://GUI/./src/components/audio-trimmer/audio-selector.jsx","webpack://GUI/./src/components/audio-trimmer/audio-trimmer.css?ece8","webpack://GUI/./src/components/audio-trimmer/audio-trimmer.jsx","webpack://GUI/./src/components/audio-trimmer/icon--handle.svg","webpack://GUI/./src/components/audio-trimmer/playhead.jsx","webpack://GUI/./src/components/audio-trimmer/selection-handle.jsx","webpack://GUI/./src/components/backpack/backpack.css?c811","webpack://GUI/./src/components/backpack/backpack.jsx","webpack://GUI/./src/components/blocks/blocks.css?cc3d","webpack://GUI/./src/components/blocks/blocks.jsx","webpack://GUI/./src/components/box/box.css?476f","webpack://GUI/./src/components/box/box.jsx","webpack://GUI/./src/components/browser-modal/browser-modal.css?e794","webpack://GUI/./src/components/browser-modal/browser-modal.jsx","webpack://GUI/./src/components/browser-modal/unsupported-browser.svg","webpack://GUI/./src/components/button/button.css?9cd9","webpack://GUI/./src/components/button/button.jsx","webpack://GUI/./src/components/cards/card.css?1463","webpack://GUI/./src/components/cards/cards.jsx","webpack://GUI/./src/components/cards/icon--close.svg","webpack://GUI/./src/components/cards/icon--expand.svg","webpack://GUI/./src/components/cards/icon--next.svg","webpack://GUI/./src/components/cards/icon--prev.svg","webpack://GUI/./src/components/cards/icon--shrink.svg","webpack://GUI/./src/components/close-button/close-button.css?ca11","webpack://GUI/./src/components/close-button/close-button.jsx","webpack://GUI/./src/components/close-button/icon--close-orange.svg","webpack://GUI/./src/components/close-button/icon--close.svg","webpack://GUI/./src/components/coming-soon/aww-cat.png","webpack://GUI/./src/components/coming-soon/coming-soon.css?6f03","webpack://GUI/./src/components/coming-soon/coming-soon.jsx","webpack://GUI/./src/components/coming-soon/cool-cat.png","webpack://GUI/./src/components/connection-modal/auto-scanning-step.jsx","webpack://GUI/./src/components/connection-modal/connected-step.jsx","webpack://GUI/./src/components/connection-modal/connecting-step.jsx","webpack://GUI/./src/components/connection-modal/connection-modal.css?b43b","webpack://GUI/./src/components/connection-modal/connection-modal.jsx","webpack://GUI/./src/components/connection-modal/dots.jsx","webpack://GUI/./src/components/connection-modal/error-step.jsx","webpack://GUI/./src/components/connection-modal/icons/back.svg","webpack://GUI/./src/components/connection-modal/icons/bluetooth-white.svg","webpack://GUI/./src/components/connection-modal/icons/bluetooth.svg","webpack://GUI/./src/components/connection-modal/icons/help.svg","webpack://GUI/./src/components/connection-modal/icons/refresh.svg","webpack://GUI/./src/components/connection-modal/icons/scratchlink.svg","webpack://GUI/./src/components/connection-modal/icons/searching.png","webpack://GUI/./src/components/connection-modal/peripheral-tile.jsx","webpack://GUI/./src/components/connection-modal/scanning-step.jsx","webpack://GUI/./src/components/connection-modal/unavailable-step.jsx","webpack://GUI/./src/components/context-menu/context-menu.css?e836","webpack://GUI/./src/components/context-menu/context-menu.jsx","webpack://GUI/./src/components/controls/controls.css?e8e1","webpack://GUI/./src/components/controls/controls.jsx","webpack://GUI/./src/components/crash-message/crash-message.css?bf1f","webpack://GUI/./src/components/crash-message/crash-message.jsx","webpack://GUI/./src/components/crash-message/reload.svg","webpack://GUI/./src/components/custom-procedures/custom-procedures.css?7a6f","webpack://GUI/./src/components/custom-procedures/custom-procedures.jsx","webpack://GUI/./src/components/custom-procedures/icon--boolean-input.svg","webpack://GUI/./src/components/custom-procedures/icon--label.svg","webpack://GUI/./src/components/custom-procedures/icon--text-input.svg","webpack://GUI/./src/components/delete-button/delete-button.css?d6f1","webpack://GUI/./src/components/delete-button/delete-button.jsx","webpack://GUI/./src/components/delete-button/icon--delete.svg","webpack://GUI/./src/components/direction-picker/dial.css?1d90","webpack://GUI/./src/components/direction-picker/dial.jsx","webpack://GUI/./src/components/direction-picker/direction-picker.css?36be","webpack://GUI/./src/components/direction-picker/direction-picker.jsx","webpack://GUI/./src/components/direction-picker/icon--all-around.svg","webpack://GUI/./src/components/direction-picker/icon--dial.svg","webpack://GUI/./src/components/direction-picker/icon--dont-rotate.svg","webpack://GUI/./src/components/direction-picker/icon--handle.svg","webpack://GUI/./src/components/direction-picker/icon--left-right.svg","webpack://GUI/./src/components/divider/divider.css?a745","webpack://GUI/./src/components/divider/divider.jsx","webpack://GUI/./src/components/drag-layer/drag-layer.css?3de6","webpack://GUI/./src/components/drag-layer/drag-layer.jsx","webpack://GUI/./src/components/filter/filter.css?78e6","webpack://GUI/./src/components/filter/filter.jsx","webpack://GUI/./src/components/filter/icon--filter.svg","webpack://GUI/./src/components/filter/icon--x.svg","webpack://GUI/./src/components/forms/buffered-input-hoc.jsx","webpack://GUI/./src/components/forms/input.css?97cf","webpack://GUI/./src/components/forms/input.jsx","webpack://GUI/./src/components/forms/label.css?d07d","webpack://GUI/./src/components/forms/label.jsx","webpack://GUI/./src/components/green-flag/green-flag.css?edb5","webpack://GUI/./src/components/green-flag/green-flag.jsx","webpack://GUI/./src/components/green-flag/icon--green-flag.svg","webpack://GUI/./src/components/gui/gui.css?7e88","webpack://GUI/./src/components/gui/gui.jsx","webpack://GUI/./src/components/gui/icon--code.svg","webpack://GUI/./src/components/gui/icon--costumes.svg","webpack://GUI/./src/components/gui/icon--extensions.svg","webpack://GUI/./src/components/gui/icon--sounds.svg","webpack://GUI/./src/components/icon-button/icon-button.css?df91","webpack://GUI/./src/components/icon-button/icon-button.jsx","webpack://GUI/./src/components/language-selector/language-icon.svg","webpack://GUI/./src/components/language-selector/language-selector.css?a1e1","webpack://GUI/./src/components/language-selector/language-selector.jsx","webpack://GUI/./src/components/library-item/bluetooth.svg","webpack://GUI/./src/components/library-item/favorite-active.svg","webpack://GUI/./src/components/library-item/favorite-inactive.svg","webpack://GUI/./src/components/library-item/internet-connection.svg","webpack://GUI/./src/components/library-item/lib-icon--sound-rtl.svg","webpack://GUI/./src/components/library-item/lib-icon--sound.svg","webpack://GUI/./src/components/library-item/library-item.css?f982","webpack://GUI/./src/components/library-item/library-item.jsx","webpack://GUI/./src/components/library/library.css?a5aa","webpack://GUI/./src/components/library/library.jsx","webpack://GUI/./src/components/loader/bottom-block.svg","webpack://GUI/./src/components/loader/loader.css?b840","webpack://GUI/./src/components/loader/loader.jsx","webpack://GUI/./src/components/loader/middle-block.svg","webpack://GUI/./src/components/loader/top-block.svg","webpack://GUI/./src/components/loader/tw-progress-monitor.js","webpack://GUI/./src/components/loupe/loupe.css?75a2","webpack://GUI/./src/components/loupe/loupe.jsx","webpack://GUI/./src/components/menu-bar/author-info.css?d741","webpack://GUI/./src/components/menu-bar/author-info.jsx","webpack://GUI/./src/components/menu-bar/community-button.css?1901","webpack://GUI/./src/components/menu-bar/community-button.jsx","webpack://GUI/./src/components/menu-bar/dropdown-caret.svg","webpack://GUI/./src/components/menu-bar/icon--about.svg","webpack://GUI/./src/components/menu-bar/icon--mystuff.png","webpack://GUI/./src/components/menu-bar/icon--profile.png","webpack://GUI/./src/components/menu-bar/icon--remix.svg","webpack://GUI/./src/components/menu-bar/icon--see-community.svg","webpack://GUI/./src/components/menu-bar/menu-bar-menu.jsx","webpack://GUI/./src/components/menu-bar/menu-bar.css?6d88","webpack://GUI/./src/components/menu-bar/menu-bar.jsx","webpack://GUI/./src/components/menu-bar/project-title-input.css?deeb","webpack://GUI/./src/components/menu-bar/project-title-input.jsx","webpack://GUI/./src/components/menu-bar/save-status.css?2a69","webpack://GUI/./src/components/menu-bar/scratch-logo.svg","webpack://GUI/./src/components/menu-bar/share-button.css?024b","webpack://GUI/./src/components/menu-bar/share-button.jsx","webpack://GUI/./src/components/menu-bar/tw-error.svg","webpack://GUI/./src/components/menu-bar/tw-moon.svg","webpack://GUI/./src/components/menu-bar/tw-save-status.jsx","webpack://GUI/./src/components/menu-bar/tw-see-inside.css?eed6","webpack://GUI/./src/components/menu-bar/tw-see-inside.jsx","webpack://GUI/./src/components/menu-bar/user-avatar.css?daa7","webpack://GUI/./src/components/menu-bar/user-avatar.jsx","webpack://GUI/./src/components/menu/menu.css?fded","webpack://GUI/./src/components/menu/menu.jsx","webpack://GUI/./src/components/meter/meter.css?8842","webpack://GUI/./src/components/meter/meter.jsx","webpack://GUI/./src/components/mic-indicator/mic-indicator.css?601e","webpack://GUI/./src/components/mic-indicator/mic-indicator.jsx","webpack://GUI/./src/components/mic-indicator/mic-indicator.svg","webpack://GUI/./src/components/modal/modal.css?6c48","webpack://GUI/./src/components/modal/modal.jsx","webpack://GUI/./src/components/monitor-list/monitor-list.css?51ed","webpack://GUI/./src/components/monitor-list/monitor-list.jsx","webpack://GUI/./src/components/monitor/default-monitor.jsx","webpack://GUI/./src/components/monitor/large-monitor.jsx","webpack://GUI/./src/components/monitor/list-monitor-scroller.jsx","webpack://GUI/./src/components/monitor/list-monitor.jsx","webpack://GUI/./src/components/monitor/monitor.css?e42e","webpack://GUI/./src/components/monitor/monitor.jsx","webpack://GUI/./src/components/monitor/slider-monitor.jsx","webpack://GUI/./src/components/play-button/icon--play.svg","webpack://GUI/./src/components/play-button/icon--stop.svg","webpack://GUI/./src/components/play-button/play-button.css?3af6","webpack://GUI/./src/components/play-button/play-button.jsx","webpack://GUI/./src/components/prompt/prompt.css?f64c","webpack://GUI/./src/components/prompt/prompt.jsx","webpack://GUI/./src/components/question/icon--enter.svg","webpack://GUI/./src/components/question/question.css?6320","webpack://GUI/./src/components/question/question.jsx","webpack://GUI/./src/components/record-modal/icon--back.svg","webpack://GUI/./src/components/record-modal/icon--play.svg","webpack://GUI/./src/components/record-modal/icon--stop-playback.svg","webpack://GUI/./src/components/record-modal/icon--stop-recording.svg","webpack://GUI/./src/components/record-modal/playback-step.jsx","webpack://GUI/./src/components/record-modal/record-modal.css?ac67","webpack://GUI/./src/components/record-modal/record-modal.jsx","webpack://GUI/./src/components/record-modal/recording-step.jsx","webpack://GUI/./src/components/slider-prompt/slider-prompt.css?1e1e","webpack://GUI/./src/components/slider-prompt/slider-prompt.jsx","webpack://GUI/./src/components/sound-editor/icon--copy-to-new.svg","webpack://GUI/./src/components/sound-editor/icon--copy.svg","webpack://GUI/./src/components/sound-editor/icon--delete.svg","webpack://GUI/./src/components/sound-editor/icon--echo.svg","webpack://GUI/./src/components/sound-editor/icon--fade-in.svg","webpack://GUI/./src/components/sound-editor/icon--fade-out.svg","webpack://GUI/./src/components/sound-editor/icon--faster.svg","webpack://GUI/./src/components/sound-editor/icon--louder.svg","webpack://GUI/./src/components/sound-editor/icon--mute.svg","webpack://GUI/./src/components/sound-editor/icon--paste.svg","webpack://GUI/./src/components/sound-editor/icon--play.svg","webpack://GUI/./src/components/sound-editor/icon--redo.svg","webpack://GUI/./src/components/sound-editor/icon--reverse.svg","webpack://GUI/./src/components/sound-editor/icon--robot.svg","webpack://GUI/./src/components/sound-editor/icon--slower.svg","webpack://GUI/./src/components/sound-editor/icon--softer.svg","webpack://GUI/./src/components/sound-editor/icon--stop.svg","webpack://GUI/./src/components/sound-editor/icon--undo.svg","webpack://GUI/./src/components/sound-editor/sound-editor.css?5a86","webpack://GUI/./src/components/sound-editor/sound-editor.jsx","webpack://GUI/./src/components/spinner/spinner.css?1a2a","webpack://GUI/./src/components/spinner/spinner.jsx","webpack://GUI/./src/components/sprite-info/icon--hide.svg","webpack://GUI/./src/components/sprite-info/icon--show.svg","webpack://GUI/./src/components/sprite-info/icon--x.svg","webpack://GUI/./src/components/sprite-info/icon--y.svg","webpack://GUI/./src/components/sprite-info/sprite-info.css?cb1e","webpack://GUI/./src/components/sprite-info/sprite-info.jsx","webpack://GUI/./src/components/sprite-selector-item/sprite-selector-item.css?eba5","webpack://GUI/./src/components/sprite-selector-item/sprite-selector-item.jsx","webpack://GUI/./src/components/sprite-selector/sprite-list.jsx","webpack://GUI/./src/components/sprite-selector/sprite-selector.css?2d9e","webpack://GUI/./src/components/sprite-selector/sprite-selector.jsx","webpack://GUI/./src/components/stage-header/icon--fullscreen.svg","webpack://GUI/./src/components/stage-header/icon--large-stage.svg","webpack://GUI/./src/components/stage-header/icon--settings.svg","webpack://GUI/./src/components/stage-header/icon--small-stage.svg","webpack://GUI/./src/components/stage-header/icon--unfullscreen.svg","webpack://GUI/./src/components/stage-header/stage-header.css?0f2f","webpack://GUI/./src/components/stage-header/stage-header.jsx","webpack://GUI/./src/components/stage-selector/stage-selector.css?eaeb","webpack://GUI/./src/components/stage-selector/stage-selector.jsx","webpack://GUI/./src/components/stage-wrapper/stage-wrapper.css?c1cb","webpack://GUI/./src/components/stage-wrapper/stage-wrapper.jsx","webpack://GUI/./src/components/stage/stage.css?84f0","webpack://GUI/./src/components/stage/stage.jsx","webpack://GUI/./src/components/stop-all/icon--stop-all.svg","webpack://GUI/./src/components/stop-all/stop-all.css?457f","webpack://GUI/./src/components/stop-all/stop-all.jsx","webpack://GUI/./src/components/tag-button/tag-button.css?c590","webpack://GUI/./src/components/tag-button/tag-button.jsx","webpack://GUI/./src/components/target-pane/target-pane.css?1197","webpack://GUI/./src/components/target-pane/target-pane.jsx","webpack://GUI/./src/components/telemetry-modal/telemetry-modal-header.png","webpack://GUI/./src/components/telemetry-modal/telemetry-modal.css?efde","webpack://GUI/./src/components/telemetry-modal/telemetry-modal.jsx","webpack://GUI/./src/components/turbo-mode/icon--turbo.svg","webpack://GUI/./src/components/turbo-mode/turbo-mode.css?82a6","webpack://GUI/./src/components/turbo-mode/turbo-mode.jsx","webpack://GUI/./src/components/tw-custom-extension-modal/custom-extension-modal.css?a2db","webpack://GUI/./src/components/tw-custom-extension-modal/custom-extension-modal.jsx","webpack://GUI/./src/components/tw-custom-extension-modal/file-input.css?8102","webpack://GUI/./src/components/tw-custom-extension-modal/file-input.jsx","webpack://GUI/./src/components/tw-documentation-link/documentation-link.jsx","webpack://GUI/./src/components/tw-extension-separator/separator.css?6204","webpack://GUI/./src/components/tw-extension-separator/separator.jsx","webpack://GUI/./src/components/tw-fancy-checkbox/checkbox.css?8bff","webpack://GUI/./src/components/tw-fancy-checkbox/checkbox.jsx","webpack://GUI/./src/components/tw-fancy-checkbox/checkbox.svg","webpack://GUI/./src/components/tw-fonts-modal/add-button.jsx","webpack://GUI/./src/components/tw-fonts-modal/add-custom-font.jsx","webpack://GUI/./src/components/tw-fonts-modal/add-system-font.jsx","webpack://GUI/./src/components/tw-fonts-modal/custom.svg","webpack://GUI/./src/components/tw-fonts-modal/delete.svg","webpack://GUI/./src/components/tw-fonts-modal/export.svg","webpack://GUI/./src/components/tw-fonts-modal/font-dropdown-item.jsx","webpack://GUI/./src/components/tw-fonts-modal/font-fallback.jsx","webpack://GUI/./src/components/tw-fonts-modal/font-name.jsx","webpack://GUI/./src/components/tw-fonts-modal/font-playground.jsx","webpack://GUI/./src/components/tw-fonts-modal/fonts-modal.css?3f80","webpack://GUI/./src/components/tw-fonts-modal/fonts-modal.jsx","webpack://GUI/./src/components/tw-fonts-modal/load-temporary-font.jsx","webpack://GUI/./src/components/tw-fonts-modal/manage-font.jsx","webpack://GUI/./src/components/tw-fonts-modal/system.svg","webpack://GUI/./src/components/tw-framerate-indicator/framerate-indicator.css?d5fd","webpack://GUI/./src/components/tw-framerate-indicator/framerate-indicator.jsx","webpack://GUI/./src/components/tw-loading-spinner/spinner.css?8ab5","webpack://GUI/./src/components/tw-loading-spinner/spinner.jsx","webpack://GUI/./src/components/tw-restore-point-modal/delete.svg","webpack://GUI/./src/components/tw-restore-point-modal/restore-point-modal.css?4031","webpack://GUI/./src/components/tw-restore-point-modal/restore-point-modal.jsx","webpack://GUI/./src/components/tw-restore-point-modal/restore-point.jsx","webpack://GUI/./src/components/tw-security-manager-modal/data-url.css?ab85","webpack://GUI/./src/components/tw-security-manager-modal/data-url.jsx","webpack://GUI/./src/components/tw-security-manager-modal/delayed-mount-property-hoc.jsx","webpack://GUI/./src/components/tw-security-manager-modal/embed.jsx","webpack://GUI/./src/components/tw-security-manager-modal/fetch.jsx","webpack://GUI/./src/components/tw-security-manager-modal/geolocate.jsx","webpack://GUI/./src/components/tw-security-manager-modal/load-extension.css?7e11","webpack://GUI/./src/components/tw-security-manager-modal/load-extension.jsx","webpack://GUI/./src/components/tw-security-manager-modal/notify.jsx","webpack://GUI/./src/components/tw-security-manager-modal/open-window.jsx","webpack://GUI/./src/components/tw-security-manager-modal/read-clipboard.jsx","webpack://GUI/./src/components/tw-security-manager-modal/record-audio.jsx","webpack://GUI/./src/components/tw-security-manager-modal/record-video.jsx","webpack://GUI/./src/components/tw-security-manager-modal/redirect.jsx","webpack://GUI/./src/components/tw-security-manager-modal/security-manager-modal.css?a0b2","webpack://GUI/./src/components/tw-security-manager-modal/security-manager-modal.jsx","webpack://GUI/./src/components/tw-security-manager-modal/url.css?3a52","webpack://GUI/./src/components/tw-security-manager-modal/url.jsx","webpack://GUI/./src/components/tw-settings-modal/help-black.svg","webpack://GUI/./src/components/tw-settings-modal/help-white.svg","webpack://GUI/./src/components/tw-settings-modal/settings-modal.css?8dab","webpack://GUI/./src/components/tw-settings-modal/settings-modal.jsx","webpack://GUI/./src/components/tw-username-modal/username-modal.css?e1c4","webpack://GUI/./src/components/tw-username-modal/username-modal.jsx","webpack://GUI/./src/components/watermark/watermark.css?5339","webpack://GUI/./src/components/watermark/watermark.jsx","webpack://GUI/./src/components/waveform/waveform.css?c57a","webpack://GUI/./src/components/waveform/waveform.jsx","webpack://GUI/./src/components/webgl-modal/unsupported.png","webpack://GUI/./src/components/webgl-modal/webgl-modal.css?2fac","webpack://GUI/./src/components/webgl-modal/webgl-modal.jsx","webpack://GUI/./src/containers/alert.jsx","webpack://GUI/./src/containers/alerts.jsx","webpack://GUI/./src/containers/audio-selector.jsx","webpack://GUI/./src/containers/audio-trimmer.jsx","webpack://GUI/./src/containers/auto-scanning-step.jsx","webpack://GUI/./src/containers/backdrop-library.jsx","webpack://GUI/./src/containers/backpack.jsx","webpack://GUI/./src/containers/blocks.jsx","webpack://GUI/./src/containers/cards.jsx","webpack://GUI/./src/containers/connection-modal.jsx","webpack://GUI/./src/containers/controls.jsx","webpack://GUI/./src/containers/costume-library.jsx","webpack://GUI/./src/containers/costume-tab.jsx","webpack://GUI/./src/containers/custom-procedures.jsx","webpack://GUI/./src/containers/deletion-restorer.jsx","webpack://GUI/./src/containers/direction-picker.jsx","webpack://GUI/./src/containers/dom-element-renderer.jsx","webpack://GUI/./src/containers/drag-layer.jsx","webpack://GUI/./src/containers/error-boundary.jsx","webpack://GUI/./src/containers/extension-library.jsx","webpack://GUI/./src/containers/green-flag-overlay.jsx","webpack://GUI/./src/containers/gui.jsx","webpack://GUI/./src/containers/inline-messages.jsx","webpack://GUI/./src/containers/language-selector.jsx","webpack://GUI/./src/containers/library-item.jsx","webpack://GUI/./src/containers/list-monitor.jsx","webpack://GUI/./src/containers/menu-bar-hoc.jsx","webpack://GUI/./src/containers/menu.jsx","webpack://GUI/./src/containers/modal.jsx","webpack://GUI/./src/containers/monitor-list.jsx","webpack://GUI/./src/containers/monitor.jsx","webpack://GUI/./src/containers/paint-editor-wrapper.jsx","webpack://GUI/./src/containers/play-button.jsx","webpack://GUI/./src/containers/playback-step.jsx","webpack://GUI/./src/containers/project-watcher.jsx","webpack://GUI/./src/containers/prompt.jsx","webpack://GUI/./src/containers/question.jsx","webpack://GUI/./src/containers/record-modal.jsx","webpack://GUI/./src/containers/recording-step.jsx","webpack://GUI/./src/containers/sb3-downloader.jsx","webpack://GUI/./src/containers/scanning-step.jsx","webpack://GUI/./src/containers/slider-monitor.jsx","webpack://GUI/./src/containers/slider-prompt.jsx","webpack://GUI/./src/containers/sound-editor.jsx","webpack://GUI/./src/containers/sound-library.jsx","webpack://GUI/./src/containers/sound-tab.jsx","webpack://GUI/./src/containers/sprite-info.jsx","webpack://GUI/./src/containers/sprite-library.jsx","webpack://GUI/./src/containers/sprite-selector-item.jsx","webpack://GUI/./src/containers/stage-header.jsx","webpack://GUI/./src/containers/stage-selector.jsx","webpack://GUI/./src/containers/stage-wrapper.jsx","webpack://GUI/./src/containers/stage.jsx","webpack://GUI/./src/containers/tag-button.jsx","webpack://GUI/./src/containers/target-highlight.jsx","webpack://GUI/./src/containers/target-pane.jsx","webpack://GUI/./src/containers/tips-library.jsx","webpack://GUI/./src/containers/turbo-mode.jsx","webpack://GUI/./src/containers/tw-change-username.jsx","webpack://GUI/./src/containers/tw-cloud-toggler.jsx","webpack://GUI/./src/containers/tw-custom-extension-modal.jsx","webpack://GUI/./src/containers/tw-fonts-modal.jsx","webpack://GUI/./src/containers/tw-framerate-changer.jsx","webpack://GUI/./src/containers/tw-restore-point-manager.jsx","webpack://GUI/./src/containers/tw-security-manager.jsx","webpack://GUI/./src/containers/tw-settings-modal.jsx","webpack://GUI/./src/containers/tw-username-modal.jsx","webpack://GUI/./src/containers/watermark.jsx","webpack://GUI/./src/containers/webgl-modal.jsx","webpack://GUI/./src/lib/alerts/index.jsx","webpack://GUI/./src/lib/analytics.js","webpack://GUI/./src/lib/app-state-hoc.jsx","webpack://GUI/./src/lib/assets/icon--back.svg","webpack://GUI/./src/lib/assets/icon--help.svg","webpack://GUI/./src/lib/assets/icon--success.svg","webpack://GUI/./src/lib/assets/icon--tutorials.svg","webpack://GUI/./src/lib/audio/audio-buffer-player.js","webpack://GUI/./src/lib/audio/audio-effects.js","webpack://GUI/./src/lib/audio/audio-recorder.js","webpack://GUI/./src/lib/audio/audio-util.js","webpack://GUI/./src/lib/audio/effects/echo-effect.js","webpack://GUI/./src/lib/audio/effects/fade-effect.js","webpack://GUI/./src/lib/audio/effects/mute-effect.js","webpack://GUI/./src/lib/audio/effects/robot-effect.js","webpack://GUI/./src/lib/audio/effects/volume-effect.js","webpack://GUI/./src/lib/audio/shared-audio-context.js","webpack://GUI/./src/lib/backpack-api.js","webpack://GUI/./src/lib/backpack/block-to-image.js","webpack://GUI/./src/lib/backpack/code-payload.js","webpack://GUI/./src/lib/backpack/costume-payload.js","webpack://GUI/./src/lib/backpack/sound-payload.js","webpack://GUI/./src/lib/backpack/sprite-payload.js","webpack://GUI/./src/lib/backpack/thumbnail.js","webpack://GUI/./src/lib/blocks.js","webpack://GUI/./src/lib/bmp-converter.js","webpack://GUI/./src/lib/brand.js","webpack://GUI/./src/lib/cloud-manager-hoc.jsx","webpack://GUI/./src/lib/cloud-provider.js","webpack://GUI/./src/lib/collect-metadata.js","webpack://GUI/./src/lib/connected-intl-provider.jsx","webpack://GUI/./src/lib/data-uri-to-blob.js","webpack://GUI/./src/lib/default-project/index.js","webpack://GUI/./src/lib/default-project/project-data.js","webpack://GUI/./src/lib/define-dynamic-block.js","webpack://GUI/./src/lib/detect-locale.js","webpack://GUI/./src/lib/download-blob.js","webpack://GUI/./src/lib/drag-constants.js","webpack://GUI/./src/lib/drag-recognizer.js","webpack://GUI/./src/lib/drag-utils.js","webpack://GUI/./src/lib/drop-area-hoc.jsx","webpack://GUI/./src/lib/empty-assets.js","webpack://GUI/./src/lib/error-boundary-hoc.jsx","webpack://GUI/./src/lib/file-uploader.js","webpack://GUI/./src/lib/font-loader-hoc.jsx","webpack://GUI/./src/lib/get-costume-url.js","webpack://GUI/./src/lib/gif-decoder.js","webpack://GUI/./src/lib/import-csv.js","webpack://GUI/./src/lib/isScratchDesktop.js","webpack://GUI/./src/lib/layout-constants.js","webpack://GUI/./src/lib/libraries/backdrop-tags.js","webpack://GUI/./src/lib/libraries/decks/index.jsx","webpack://GUI/./src/lib/libraries/decks/translate-image.js","webpack://GUI/./src/lib/libraries/decks/translate-video.js","webpack://GUI/./src/lib/libraries/extensions/boost/boost-button-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/boost/boost-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/boost/boost-small.svg","webpack://GUI/./src/lib/libraries/extensions/boost/boost.png","webpack://GUI/./src/lib/libraries/extensions/custom/custom.svg","webpack://GUI/./src/lib/libraries/extensions/custom/return.svg","webpack://GUI/./src/lib/libraries/extensions/ev3/ev3-hub-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/ev3/ev3-small.svg","webpack://GUI/./src/lib/libraries/extensions/ev3/ev3.png","webpack://GUI/./src/lib/libraries/extensions/gallery/gallery.svg","webpack://GUI/./src/lib/libraries/extensions/gdxfor/gdxfor-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/gdxfor/gdxfor-small.svg","webpack://GUI/./src/lib/libraries/extensions/gdxfor/gdxfor.png","webpack://GUI/./src/lib/libraries/extensions/index.jsx","webpack://GUI/./src/lib/libraries/extensions/makeymakey/makeymakey-small.svg","webpack://GUI/./src/lib/libraries/extensions/makeymakey/makeymakey.png","webpack://GUI/./src/lib/libraries/extensions/microbit/microbit-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/microbit/microbit-small.svg","webpack://GUI/./src/lib/libraries/extensions/microbit/microbit.png","webpack://GUI/./src/lib/libraries/extensions/music/music-small.svg","webpack://GUI/./src/lib/libraries/extensions/music/music.png","webpack://GUI/./src/lib/libraries/extensions/pen/pen-small.svg","webpack://GUI/./src/lib/libraries/extensions/pen/pen.png","webpack://GUI/./src/lib/libraries/extensions/text2speech/text2speech-small.svg","webpack://GUI/./src/lib/libraries/extensions/text2speech/text2speech.png","webpack://GUI/./src/lib/libraries/extensions/translate/translate-small.png","webpack://GUI/./src/lib/libraries/extensions/translate/translate.png","webpack://GUI/./src/lib/libraries/extensions/tw/tw.svg","webpack://GUI/./src/lib/libraries/extensions/videoSensing/video-sensing-small.svg","webpack://GUI/./src/lib/libraries/extensions/videoSensing/video-sensing.png","webpack://GUI/./src/lib/libraries/extensions/wedo2/wedo-button-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/wedo2/wedo-illustration.svg","webpack://GUI/./src/lib/libraries/extensions/wedo2/wedo-small.svg","webpack://GUI/./src/lib/libraries/extensions/wedo2/wedo.png","webpack://GUI/./src/lib/libraries/sound-tags.js","webpack://GUI/./src/lib/libraries/sprite-tags.js","webpack://GUI/./src/lib/libraries/tag-messages.js","webpack://GUI/./src/lib/libraries/tutorial-tags.js","webpack://GUI/./src/lib/libraries/tw-async-libraries.js","webpack://GUI/./src/lib/libraries/tw-extension-tags.js","webpack://GUI/./src/lib/locale-utils.js","webpack://GUI/./src/lib/localization-hoc.jsx","webpack://GUI/./src/lib/log.js","webpack://GUI/./src/lib/make-toolbox-xml.js","webpack://GUI/./src/lib/monitor-adapter.js","webpack://GUI/./src/lib/normalize.css?64f5","webpack://GUI/./src/lib/opcode-labels.js","webpack://GUI/./src/lib/project-fetcher-hoc.jsx","webpack://GUI/./src/lib/project-saver-hoc.jsx","webpack://GUI/./src/lib/query-parser-hoc.jsx","webpack://GUI/./src/lib/randomize-sprite-position.js","webpack://GUI/./src/lib/save-project-to-server.js","webpack://GUI/./src/lib/sb-file-uploader-hoc.jsx","webpack://GUI/./src/lib/screen-utils.js","webpack://GUI/./src/lib/shared-messages.js","webpack://GUI/./src/lib/sortable-hoc.jsx","webpack://GUI/./src/lib/storage.js","webpack://GUI/./src/lib/supported-browser.js","webpack://GUI/./src/lib/throttled-property-hoc.jsx","webpack://GUI/./src/lib/titled-hoc.jsx","webpack://GUI/./src/lib/touch-utils.js","webpack://GUI/./src/lib/tutorial-from-url.js","webpack://GUI/./src/lib/tw-base64-utils.js","webpack://GUI/./src/lib/tw-bytes-utils.js","webpack://GUI/./src/lib/tw-cloud-limits.js","webpack://GUI/./src/lib/tw-convert-audio-wav.js","webpack://GUI/./src/lib/tw-environment-support-prober.js","webpack://GUI/./src/lib/tw-filesystem-api.js","webpack://GUI/./src/lib/tw-fullscreen-api.js","webpack://GUI/./src/lib/tw-fullscreen-resizer-hoc.jsx","webpack://GUI/./src/lib/tw-lazy-scratch-blocks.js","webpack://GUI/./src/lib/tw-load-scratch-blocks-hoc.jsx","webpack://GUI/./src/lib/tw-local-backpack-api.js","webpack://GUI/./src/lib/tw-missing-project/index.js","webpack://GUI/./src/lib/tw-missing-project/project-data.js","webpack://GUI/./src/lib/tw-navigation-utils.js","webpack://GUI/./src/lib/tw-project-meta-fetcher-hoc.jsx","webpack://GUI/./src/lib/tw-restore-point-api.js","webpack://GUI/./src/lib/tw-scratch-paint.js","webpack://GUI/./src/lib/tw-scratch-render-fonts/Grand9K-Pixel.ttf","webpack://GUI/./src/lib/tw-scratch-render-fonts/Griffy-Regular.ttf","webpack://GUI/./src/lib/tw-scratch-render-fonts/Knewave.ttf","webpack://GUI/./src/lib/tw-scratch-render-fonts/NotoSans-Medium.ttf","webpack://GUI/./src/lib/tw-scratch-render-fonts/Scratch.ttf","webpack://GUI/./src/lib/tw-scratch-render-fonts/SourceSerifPro-Regular.otf","webpack://GUI/./src/lib/tw-scratch-render-fonts/handlee-regular.ttf","webpack://GUI/./src/lib/tw-scratch-render-fonts/index.js","webpack://GUI/./src/lib/tw-security-manager-constants.js","webpack://GUI/./src/lib/tw-state-manager-hoc.jsx","webpack://GUI/./src/lib/tw-svg-fixer.js","webpack://GUI/./src/lib/tw-text-encoder.js","webpack://GUI/./src/lib/tw-translations/index.js","webpack://GUI/./src/lib/tw-username.js","webpack://GUI/./src/lib/variable-utils.js","webpack://GUI/./src/lib/video/camera.js","webpack://GUI/./src/lib/video/video-provider.js","webpack://GUI/./src/lib/vm-listener-hoc.jsx","webpack://GUI/./src/lib/vm-manager-hoc.jsx","webpack://GUI/./src/playground/app-target.js","webpack://GUI/./src/playground/import-first.js","webpack://GUI/./src/playground/public-path.js","webpack://GUI/./src/playground/render-gui.jsx","webpack://GUI/./src/reducers/alerts.js","webpack://GUI/./src/reducers/asset-drag.js","webpack://GUI/./src/reducers/block-drag.js","webpack://GUI/./src/reducers/cards.js","webpack://GUI/./src/reducers/color-picker.js","webpack://GUI/./src/reducers/connection-modal.js","webpack://GUI/./src/reducers/custom-procedures.js","webpack://GUI/./src/reducers/custom-stage-size.js","webpack://GUI/./src/reducers/editor-tab.js","webpack://GUI/./src/reducers/fonts-loaded.js","webpack://GUI/./src/reducers/gui.js","webpack://GUI/./src/reducers/hovered-target.js","webpack://GUI/./src/reducers/locales.js","webpack://GUI/./src/reducers/menus.js","webpack://GUI/./src/reducers/mic-indicator.js","webpack://GUI/./src/reducers/modals.js","webpack://GUI/./src/reducers/mode.js","webpack://GUI/./src/reducers/monitor-layout.js","webpack://GUI/./src/reducers/monitors.js","webpack://GUI/./src/reducers/project-changed.js","webpack://GUI/./src/reducers/project-state.js","webpack://GUI/./src/reducers/project-title.js","webpack://GUI/./src/reducers/restore-deletion.js","webpack://GUI/./src/reducers/stage-size.js","webpack://GUI/./src/reducers/targets.js","webpack://GUI/./src/reducers/timeout.js","webpack://GUI/./src/reducers/toolbox.js","webpack://GUI/./src/reducers/tw.js","webpack://GUI/./src/reducers/vm-status.js","webpack://GUI/./src/reducers/vm.js","webpack://GUI/./src/reducers/workspace-metrics.js","webpack://GUI/../locale-data/index.js (ignored)","webpack://GUI/./lib/locales (ignored)","webpack://GUI/./lib/locales (ignored)?7fca","webpack://GUI/util (ignored)","webpack://GUI/util (ignored)?d323","webpack://GUI/readable-stream (ignored)","webpack://GUI/./node/self.js (ignored)","webpack://GUI/./node/extend.js (ignored)"],"sourcesContent":["module.exports = \"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAACXBIWXMAAAlyAAAJcgErz99GAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAYBQTFRF////AAAAgICAZmZmVVWASW1tYGCAVVVxTWaAVVWAW1ttWlp4VWNxUV55WVlzXFxwWGJ2VV5xW1t2WGFyWlpzWGB4VV10WmJ4V15yVVtzV110VWB3WV50V1x3VWB1V1x1VV9zWF12WF10VV50Vl91WFx1Vl9zVl52V191Vl13WWB1Vl11WF90V151WF92Vl91WF51Vl91WF50V192WF12V191Vl52WF10V151WF92V150V191WF11V152V150WF91WF51V111WF52WF11Vl51V151Vl50Vl11V151V150V111WF52V151V192V191V111V111V151V111V150V151Vl51V191V151V151Vl11Vl51V151WF51WF51V151WF51WF52V151V151V151V152V150V151V151V151V151Vl51V151Vl52V191Vl51V151V151V151V151V151V151V151V151V151V151V151V151V151V151V151V151V151ZcERRAAAAH90Uk5TAAECBQYHCAkKDA4REhMUGRobHB0fICEiJiosLS4vMDIzNDc5Oz0+QUZHSEpLTE5TV1laW11eX2NkZmdpa2xydHp+gIOFh4iOkJWZmpucn6GkpaytsLGys7W3vb7AxsfJzM/R2Nnb3t/g4ePk5ujp6+3u7/Dx9Pb3+Pn6+/z9/q0U6K8AAAHASURBVFjD7ZVXV8JAEEYDomAXEbuiggXBgr2jKNgLWLBiQcSOYEWU+esyG8WD7kYSXnzI95J7hsw9G7KZ5Tg5cuT8/1Q65nuyMugffQGAowKp7QonkCxI7Fet8f1wJa0/d+ezH14k9WtPICOB+QZYAqs/vKQS7laaNuPAEmjxzcwye1unXIveEKQkVdCNpecSenv+LlDCC5SGGgVeDaQ2RxdsA1NgCAIclyIdYC2STeuvA6ZA6Ufy4RrMpNhJE/SzBUU8duEGPUNapQmGBVZwQXAfb3MhnYoUcOME47oEtiG954kU5EQI25KP0yRSwHkIOxHvkSxiBTOElxGDSL1iBQ5I/vkBpAGxghXC5CMIsTaCkEBB1g0jCdS8IzVTBEMCAgvPtQk0EiqmCKwCAh9BP6Id6Zq2kTS3TEEhjxN42yHSFvVr7IiyBKo7pEt1AqvIsBmkf88NG2HGI/TFAJ7akdxYiwocFupym/v192usnrRX4FX3hrX1P2ZqmUd4pMUNf47lsRhDUI8lbxqD3fLIGOvOOAT06RwNjV9Hw8OPH/TGNA/silP4HkOSUkQGcLRFsoDLmT4P75k4OXLkyEkzH2pOgd/43vP4AAAAAElFTkSuQmCC\"","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ /*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/ /* Toolbox z-index: 40; set in scratch-blocks */ /* tooltips should go over add buttons if they overlap */ /* monitors go over add buttons */ /* \\\"ask\\\" block text input goes above monitors */ /* menu-bar should go over monitors, alerts and tutorials */ /* tw: show below menu bar normally */ /* Block drag z-index: 1000; default 50 is overriden in blocks.css */ /* so it is draggable into other panes */ /* in most interfaces, the context menu is always on top */ .action-menu_menu-container_3a6da {\\n display: flex;\\n flex-direction: column-reverse;\\n transition: 0.2s;\\n position: relative;\\n pointer-events: auto;\\n} .action-menu_button_1qbot {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n background: hsla(0, 100%, 65%, 1);\\n outline: none;\\n border: none;\\n transition: background-color 0.2s;\\n} button::-moz-focus-inner {\\n border: 0;\\n} .action-menu_button_1qbot:hover {\\n background: hsla(10, 85%, 65%, 1);\\n} .action-menu_button_1qbot:active {\\n padding: inherit;\\n} .action-menu_button_1qbot.action-menu_coming-soon_2URvV:hover {\\n background: hsla(30, 100%, 55%, 1);\\n} .action-menu_main-button_3ccfy {\\n border-radius: 100%;\\n width: 2.75rem;\\n height: 2.75rem;\\n box-shadow: 0 0 0 4px hsla(0, 100%, 65%, 0.35);\\n z-index: 46;\\n transition: transform, box-shadow 0.5s;\\n} .action-menu_main-button_3ccfy:hover {\\n transform: scale(1.1);\\n box-shadow: 0 0 0 6px hsla(0, 100%, 65%, 0.35);\\n} .action-menu_main-icon_1ktMc {\\n width: calc(2.75rem - 1rem);\\n height: calc(2.75rem - 1rem);\\n} [dir=\\\"rtl\\\"] .action-menu_main-icon_1ktMc {\\n transform: scaleX(-1);\\n} .action-menu_more-buttons-outer_3J9yZ {\\n /*\\n Need to use two divs to set different overflow x/y\\n which is needed to get animation to look right while\\n allowing the tooltips to be visible.\\n */\\n overflow-y: hidden;\\n\\n background: hsla(0, 60%, 50%, 1);\\n border-top-left-radius: 2.25rem;\\n border-top-right-radius: 2.25rem;\\n width: 2.25rem;\\n margin-left: calc((2.75rem - 2.25rem) / 2);\\n margin-right: calc((2.75rem - 2.25rem) / 2);\\n\\n position: absolute;\\n bottom: calc(2.75rem);\\n\\n margin-bottom: calc(2.75rem / -2);\\n padding-bottom: calc(2.75rem / 2);\\n} .action-menu_more-buttons_3Bjkq {\\n max-height: 0;\\n transition: max-height 1s;\\n overflow-x: visible;\\n display: flex;\\n flex-direction: column;\\n z-index: 10; /* @todo justify */\\n} .action-menu_file-input_2nOL7 {\\n display: none;\\n} .action-menu_expanded_JcMKp .action-menu_more-buttons_3Bjkq {\\n max-height: 1000px; /* Arbitrary, needs to be a value in order for animation to run */\\n} .action-menu_force-hidden_3SRnx .action-menu_more-buttons_3Bjkq {\\n display: none; /* This property does not animate */\\n} .action-menu_more-buttons_3Bjkq:first-child { /* Round off top button */\\n border-top-right-radius: 2.25rem;\\n border-top-left-radius: 2.25rem;\\n} .action-menu_more-button_1fMGZ {\\n width: 2.25rem;\\n height: 2.25rem;\\n background: hsla(0, 60%, 50%, 1);\\n} .action-menu_more-icon_TJUQ7 {\\n width: calc(2.25rem - 1rem);\\n height: calc(2.25rem - 1rem);\\n} .action-menu_coming-soon_2URvV .action-menu_more-icon_TJUQ7 {\\n opacity: 0.5;\\n} /*\\n @todo needs to be refactored with coming soon tooltip overrides.\\n The \\\"!important\\\"s are for the same reason as with coming soon, the library\\n is not very easy to style.\\n*/ .action-menu_tooltip_3Bkh5 {\\n background-color: hsla(10, 85%, 65%, 1) !important;\\n opacity: 1 !important;\\n border: 1px solid hsla(0, 0%, 0%, .1) !important;\\n box-shadow: 0 0 .5rem hsla(0, 0%, 0%, .25) !important;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif !important;\\n} .action-menu_tooltip_3Bkh5:after {\\n background-color: hsla(10, 85%, 65%, 1);\\n} .action-menu_coming-soon-tooltip_3jthM {\\n background-color: hsla(30, 100%, 55%, 1) !important;\\n} .action-menu_coming-soon-tooltip_3jthM:after {\\n background-color: hsla(30, 100%, 55%, 1) !important;\\n} .action-menu_tooltip_3Bkh5 {\\n border: 1px solid hsla(0, 0%, 0%, .1) !important;\\n border-radius: calc(0.5rem / 2) !important;\\n box-shadow: 0 0 .5rem hsla(0, 0%, 0%, .25) !important;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif !important;\\n z-index: 47 !important;\\n} .action-menu_tooltip_3Bkh5:after {\\n content: \\\"\\\";\\n border-top: 1px solid hsla(0, 0%, 0%, .1) !important;\\n border-left: 0 !important;\\n border-bottom: 0 !important;\\n border-right: 1px solid hsla(0, 0%, 0%, .1) !important;\\n border-radius: 0.125rem;\\n height: 0.5rem !important;\\n width: 0.5rem !important;\\n} .action-menu_tooltip_3Bkh5.place-left:after {\\n margin-top: -0.25rem !important;\\n right: -0.25rem !important;\\n transform: rotate(45deg) !important;\\n} .action-menu_tooltip_3Bkh5.place-right:after {\\n margin-top: -0.25rem !important;\\n left: -0.25rem !important;\\n transform: rotate(-135deg) !important;\\n} .action-menu_tooltip_3Bkh5.place-top:after {\\n margin-right: -0.25rem !important;\\n bottom: -0.25rem !important;\\n transform: rotate(135deg) !important;\\n} .action-menu_tooltip_3Bkh5.place-bottom:after {\\n margin-left: -0.25rem !important;\\n top: -0.25rem !important;\\n transform: rotate(-45deg) !important;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"menu-container\": \"action-menu_menu-container_3a6da\",\n\t\"menuContainer\": \"action-menu_menu-container_3a6da\",\n\t\"button\": \"action-menu_button_1qbot\",\n\t\"coming-soon\": \"action-menu_coming-soon_2URvV\",\n\t\"comingSoon\": \"action-menu_coming-soon_2URvV\",\n\t\"main-button\": \"action-menu_main-button_3ccfy\",\n\t\"mainButton\": \"action-menu_main-button_3ccfy\",\n\t\"main-icon\": \"action-menu_main-icon_1ktMc\",\n\t\"mainIcon\": \"action-menu_main-icon_1ktMc\",\n\t\"more-buttons-outer\": \"action-menu_more-buttons-outer_3J9yZ\",\n\t\"moreButtonsOuter\": \"action-menu_more-buttons-outer_3J9yZ\",\n\t\"more-buttons\": \"action-menu_more-buttons_3Bjkq\",\n\t\"moreButtons\": \"action-menu_more-buttons_3Bjkq\",\n\t\"file-input\": \"action-menu_file-input_2nOL7\",\n\t\"fileInput\": \"action-menu_file-input_2nOL7\",\n\t\"expanded\": \"action-menu_expanded_JcMKp\",\n\t\"force-hidden\": \"action-menu_force-hidden_3SRnx\",\n\t\"forceHidden\": \"action-menu_force-hidden_3SRnx\",\n\t\"more-button\": \"action-menu_more-button_1fMGZ\",\n\t\"moreButton\": \"action-menu_more-button_1fMGZ\",\n\t\"more-icon\": \"action-menu_more-icon_TJUQ7\",\n\t\"moreIcon\": \"action-menu_more-icon_TJUQ7\",\n\t\"tooltip\": \"action-menu_tooltip_3Bkh5\",\n\t\"coming-soon-tooltip\": \"action-menu_coming-soon-tooltip_3jthM\",\n\t\"comingSoonTooltip\": \"action-menu_coming-soon-tooltip_3jthM\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n/*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/\\n\\n/* Toolbox z-index: 40; set in scratch-blocks */\\n\\n/* tooltips should go over add buttons if they overlap */\\n\\n/* monitors go over add buttons */\\n\\n/* \\\"ask\\\" block text input goes above monitors */\\n\\n/* menu-bar should go over monitors, alerts and tutorials */\\n\\n/* tw: show below menu bar normally */\\n\\n/* Block drag z-index: 1000; default 50 is overriden in blocks.css */\\n\\n/* so it is draggable into other panes */\\n\\n/* in most interfaces, the context menu is always on top */\\n\\n.alert_alert_2Ou-m {\\n width: 100%;\\n display: flex;\\n flex-direction: row;\\n overflow: hidden;\\n justify-content: flex-start;\\n border-radius: 0.5rem;\\n padding-top: .875rem;\\n padding-bottom: .875rem;\\n padding-left: 1rem;\\n padding-right: 1rem;\\n margin-bottom: 7px;\\n min-height: 1.5rem;\\n pointer-events: all;\\n}\\n\\n.alert_alert_2Ou-m.alert_warn_2441l {\\n background: #FFF0DF;\\n border: 1px solid #FF8C1A;\\n box-shadow: 0px 0px 0px 2px rgba(255, 140, 26, 0.25);\\n}\\n\\n.alert_alert_2Ou-m.alert_success_1TbgT {\\n /* tw: hardcode these colors because we change extensions-* colors to be something that looks weird here */\\n background: hsla(163, 57%, 85%, 1);\\n border: 1px solid hsla(163, 85%, 30%, 1);\\n box-shadow: 0px 0px 0px 2px hsla(163, 57%, 85%, 1);\\n}\\n\\n.alert_alert-spinner_2JcbE {\\n self-align: center;\\n}\\n\\n.alert_icon-section_2DC1x {\\n min-width: 1.25rem;\\n min-height: 1.25rem;\\n display: flex;\\n padding-right: 1rem;\\n}\\n\\n.alert_alert-icon_3-jQB {\\n vertical-align: middle;\\n}\\n\\n.alert_alert-message_3dEDJ {\\n color: #555;\\n font-weight: bold;\\n font-size: .8125rem;\\n line-height: .875rem;\\n display: flex;\\n align-items: center;\\n padding-right: .5rem;\\n}\\n\\n.alert_alert-buttons_CZbh6 {\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.alert_alert-close-button_2ci8S {\\n outline-style:none;\\n}\\n\\n.alert_alert-close-button-container_2m64w {\\n outline-style: none;\\n width: 30px;\\n height: 30px;\\n align-self: center;\\n}\\n\\n.alert_alert-connection-button_ETbfk {\\n min-height: 2rem;\\n width: 6.5rem;\\n padding: 0.55rem 0.9rem;\\n border-radius: 0.35rem;\\n background: #FF8C1A;\\n color: white;\\n font-weight: 700;\\n font-size: 0.77rem;\\n border: none;\\n cursor: pointer;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n align-self: stretch;\\n outline-style:none;\\n}\\n\\n[dir=\\\"ltr\\\"] .alert_alert-connection-button_ETbfk {\\n margin-right: 13px;\\n}\\n\\n[dir=\\\"rtl\\\"] .alert_alert-connection-button_ETbfk {\\n margin-left: 13px;\\n}\\n\\n/* prevent last button in list from too much margin to edge of alert */\\n\\n.alert_alert-buttons_CZbh6 > :last-child {\\n margin-left: 0;\\n margin-right: 0;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"alert\": \"alert_alert_2Ou-m\",\n\t\"warn\": \"alert_warn_2441l\",\n\t\"success\": \"alert_success_1TbgT\",\n\t\"alert-spinner\": \"alert_alert-spinner_2JcbE\",\n\t\"alertSpinner\": \"alert_alert-spinner_2JcbE\",\n\t\"icon-section\": \"alert_icon-section_2DC1x\",\n\t\"iconSection\": \"alert_icon-section_2DC1x\",\n\t\"alert-icon\": \"alert_alert-icon_3-jQB\",\n\t\"alertIcon\": \"alert_alert-icon_3-jQB\",\n\t\"alert-message\": \"alert_alert-message_3dEDJ\",\n\t\"alertMessage\": \"alert_alert-message_3dEDJ\",\n\t\"alert-buttons\": \"alert_alert-buttons_CZbh6\",\n\t\"alertButtons\": \"alert_alert-buttons_CZbh6\",\n\t\"alert-close-button\": \"alert_alert-close-button_2ci8S\",\n\t\"alertCloseButton\": \"alert_alert-close-button_2ci8S\",\n\t\"alert-close-button-container\": \"alert_alert-close-button-container_2m64w\",\n\t\"alertCloseButtonContainer\": \"alert_alert-close-button-container_2m64w\",\n\t\"alert-connection-button\": \"alert_alert-connection-button_ETbfk\",\n\t\"alertConnectionButton\": \"alert_alert-connection-button_ETbfk\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".alerts_alerts-inner-container_1KTuF {\\n min-width: 200px;\\n max-width: 548px;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"alerts-inner-container\": \"alerts_alerts-inner-container_1KTuF\",\n\t\"alertsInnerContainer\": \"alerts_alerts-inner-container_1KTuF\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .inline-message_inline-message_2feS3 {\\n color: hsla(0, 100%, 100%, 1);\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n display: flex;\\n justify-content: flex-end;\\n align-items: center;\\n font-size: .8125rem;\\n} .inline-message_success_1jfE0 {\\n color: hsla(0, 100%, 100%, 0.75);\\n} .inline-message_info_E7dNO {\\n color: hsla(0, 100%, 100%, 1);\\n} .inline-message_warn_3DS5G {\\n color: hsla(30, 100%, 70%, 1);\\n} .inline-message_spinner_1vybW {\\n margin-right: 0.5rem;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"inline-message\": \"inline-message_inline-message_2feS3\",\n\t\"inlineMessage\": \"inline-message_inline-message_2feS3\",\n\t\"success\": \"inline-message_success_1jfE0\",\n\t\"info\": \"inline-message_info_E7dNO\",\n\t\"warn\": \"inline-message_warn_3DS5G\",\n\t\"spinner\": \"inline-message_spinner_1vybW\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n.asset-panel_wrapper_366X0 {\\n display: flex;\\n flex-grow: 1;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n background: white;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 0.85rem;\\n}\\n\\n[theme=\\\"dark\\\"] .asset-panel_wrapper_366X0 {\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n}\\n\\n[dir=\\\"ltr\\\"] .asset-panel_wrapper_366X0 {\\n border-top-right-radius: 0.5rem;\\n border-bottom-right-radius: 0.5rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .asset-panel_wrapper_366X0 {\\n border-top-left-radius: 0.5rem;\\n border-bottom-left-radius: 0.5rem;\\n}\\n\\n.asset-panel_detail-area_2KQhH {\\n display: flex;\\n flex-grow: 1;\\n flex-shrink: 1;\\n overflow: visible;\\n}\\n\\n[dir=\\\"ltr\\\"] .asset-panel_detail-area_2KQhH {\\n border-left: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\\n[dir=\\\"rtl\\\"] .asset-panel_detail-area_2KQhH {\\n border-right: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"wrapper\": \"asset-panel_wrapper_366X0\",\n\t\"detail-area\": \"asset-panel_detail-area_2KQhH\",\n\t\"detailArea\": \"asset-panel_detail-area_2KQhH\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .selector_wrapper_8_BHs {\\n width: 150px;\\n min-width: 150px; /* fixes width being ignored in the sound editor sometimes */\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n background: var(--ui-tertiary, hsla(215, 50%, 90%, 1));\\n} .selector_new-buttons_2qHDd {\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: space-around;\\n padding: 0.75rem 0;\\n color: hsla(0, 100%, 65%, 1);\\n text-align: center;\\n background: none;\\n pointer-events: none;\\n} .selector_new-buttons_2qHDd:before {\\n content: \\\"\\\";\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right:0;\\n background: linear-gradient(rgba(232,237,241, 0),rgba(232,237,241, 1));\\n height: 100px;\\n width: 100%;\\n pointer-events: none;\\n} [theme=\\\"dark\\\"] .selector_new-buttons_2qHDd:before {\\n background: linear-gradient(rgba(94, 96, 97, 0),rgb(59, 59, 59));\\n} .selector_new-buttons_2qHDd > button + button {\\n margin-top: 0.75rem;\\n} .selector_list-area_1Xbj_ {\\n /* Must have some height (recalculated by flex-grow) in order to scroll */\\n height: 0;\\n flex-grow: 1;\\n overflow-y: auto;\\n overflow-x: hidden;\\n display: flex;\\n flex-direction: column;\\n} .selector_list-area_1Xbj_:after {\\n /* Make sure there is room to scroll beyond the last tile */\\n content: '';\\n display: block;\\n height: 70px;\\n width: 100%;\\n flex-shrink: 0;\\n order: 99999999;\\n} .selector_list-item_3N_u7 {\\n width: 5rem;\\n height: 5rem;\\n margin: 0.5rem auto;\\n} @media only screen and (max-width: 1249px) {\\n .selector_wrapper_8_BHs {\\n width: 80px;\\n min-width: 80px;\\n }\\n\\n .selector_list-item_3N_u7 {\\n width: 4rem;\\n }\\n} .selector_list-item_3N_u7.selector_placeholder_2pqWG {\\n background: white;\\n filter: opacity(15%) brightness(0%);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"wrapper\": \"selector_wrapper_8_BHs\",\n\t\"new-buttons\": \"selector_new-buttons_2qHDd\",\n\t\"newButtons\": \"selector_new-buttons_2qHDd\",\n\t\"list-area\": \"selector_list-area_1Xbj_\",\n\t\"listArea\": \"selector_list-area_1Xbj_\",\n\t\"list-item\": \"selector_list-item_3N_u7\",\n\t\"listItem\": \"selector_list-item_3N_u7\",\n\t\"placeholder\": \"selector_placeholder_2pqWG\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .audio-trimmer_absolute_1x_Jq {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n\\n /* Force the browser to paint separately to avoid composite cost with waveform */\\n transform: translateZ(0);\\n} .audio-trimmer_selector_DDQ2- {\\n cursor: pointer;\\n} .audio-trimmer_trim-background_2VYXk {\\n cursor: pointer;\\n touch-action: none;\\n} .audio-trimmer_trim-background-mask_mmZgf {\\n border: 1px solid hsla(20, 100%, 45%, 1);\\n opacity: 0.5;\\n\\n background: repeating-linear-gradient(\\n 45deg,\\n hsla(20, 100%, 55%, 1),\\n hsla(20, 100%, 55%, 1) 10px,\\n hsla(20, 100%, 45%, 1) 10px,\\n hsla(20, 100%, 45%, 1) calc(2 * 10px)\\n );\\n} .audio-trimmer_selection-background_3LBuB {\\n background: hsla(0, 100%, 65%, 1);\\n opacity: 0.5;\\n} .audio-trimmer_start-trim-background_26IJ6 .audio-trimmer_trim-background-mask_mmZgf {\\n border-top-left-radius: 4px;\\n border-bottom-left-radius: 4px;\\n} .audio-trimmer_end-trim-background_1QrZm .audio-trimmer_trim-background-mask_mmZgf {\\n border-top-right-radius: 4px;\\n border-bottom-right-radius: 4px;\\n} .audio-trimmer_trim-line_2cpoE {\\n position: absolute;\\n top: 0;\\n width: 0px;\\n height: 100%;\\n border: 1px solid hsla(20, 100%, 45%, 1);\\n} .audio-trimmer_selector_DDQ2- .audio-trimmer_trim-line_2cpoE {\\n border: 1px solid hsla(0, 60%, 50%, 1);\\n} .audio-trimmer_playhead-container_3l7Ve {\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden;\\n} .audio-trimmer_playhead_3A0k9 {\\n /*\\n Even though playhead is just a line, it is 100% width (the width of the waveform)\\n so that we can use transform: translateX() using percentages.\\n */\\n width: 100%;\\n height: 100%;\\n border-left: 1px solid hsla(0, 100%, 65%, 1);\\n border-top: none;\\n border-bottom: none;\\n border-right: none;\\n} .audio-trimmer_right-handle_jMGnD {\\n transform: scaleX(-1);\\n} .audio-trimmer_selector_DDQ2- .audio-trimmer_left-handle_1Ure2 {\\n left: -1px\\n} .audio-trimmer_selector_DDQ2- .audio-trimmer_right-handle_jMGnD {\\n right: -1px\\n} .audio-trimmer_trimmer_3T33n .audio-trimmer_left-handle_1Ure2 {\\n right: -1px\\n} .audio-trimmer_trimmer_3T33n .audio-trimmer_right-handle_jMGnD {\\n left: -1px\\n} .audio-trimmer_trim-handle_1Obhp {\\n position: absolute;\\n width: 30px;\\n height: 30px;\\n right: 0;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n} .audio-trimmer_trimmer_3T33n .audio-trimmer_trim-handle_1Obhp {\\n filter: hue-rotate(150deg);\\n} .audio-trimmer_trim-handle_1Obhp img {\\n position: absolute;\\n width: 30px;\\n height: 30px;\\n left: calc(3px * 1.5);\\n\\n /* Make sure image dragging isn't triggered */\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n user-drag: none;\\n -webkit-user-drag: none; /* Autoprefixer doesn't seem to work for this */\\n\\n transition: 0.2s;\\n} .audio-trimmer_top-trim-handle_1oF2r {\\n top: calc(-30px + 3px);\\n} .audio-trimmer_bottom-trim-handle_2FNda {\\n bottom: calc(-30px + 3px);\\n} .audio-trimmer_top-trim-handle_1oF2r img {\\n transform: scaleY(-1);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"absolute\": \"audio-trimmer_absolute_1x_Jq\",\n\t\"selector\": \"audio-trimmer_selector_DDQ2-\",\n\t\"trim-background\": \"audio-trimmer_trim-background_2VYXk\",\n\t\"trimBackground\": \"audio-trimmer_trim-background_2VYXk\",\n\t\"trim-background-mask\": \"audio-trimmer_trim-background-mask_mmZgf\",\n\t\"trimBackgroundMask\": \"audio-trimmer_trim-background-mask_mmZgf\",\n\t\"selection-background\": \"audio-trimmer_selection-background_3LBuB\",\n\t\"selectionBackground\": \"audio-trimmer_selection-background_3LBuB\",\n\t\"start-trim-background\": \"audio-trimmer_start-trim-background_26IJ6\",\n\t\"startTrimBackground\": \"audio-trimmer_start-trim-background_26IJ6\",\n\t\"end-trim-background\": \"audio-trimmer_end-trim-background_1QrZm\",\n\t\"endTrimBackground\": \"audio-trimmer_end-trim-background_1QrZm\",\n\t\"trim-line\": \"audio-trimmer_trim-line_2cpoE\",\n\t\"trimLine\": \"audio-trimmer_trim-line_2cpoE\",\n\t\"playhead-container\": \"audio-trimmer_playhead-container_3l7Ve\",\n\t\"playheadContainer\": \"audio-trimmer_playhead-container_3l7Ve\",\n\t\"playhead\": \"audio-trimmer_playhead_3A0k9\",\n\t\"right-handle\": \"audio-trimmer_right-handle_jMGnD\",\n\t\"rightHandle\": \"audio-trimmer_right-handle_jMGnD\",\n\t\"left-handle\": \"audio-trimmer_left-handle_1Ure2\",\n\t\"leftHandle\": \"audio-trimmer_left-handle_1Ure2\",\n\t\"trimmer\": \"audio-trimmer_trimmer_3T33n\",\n\t\"trim-handle\": \"audio-trimmer_trim-handle_1Obhp\",\n\t\"trimHandle\": \"audio-trimmer_trim-handle_1Obhp\",\n\t\"top-trim-handle\": \"audio-trimmer_top-trim-handle_1oF2r\",\n\t\"topTrimHandle\": \"audio-trimmer_top-trim-handle_1oF2r\",\n\t\"bottom-trim-handle\": \"audio-trimmer_bottom-trim-handle_2FNda\",\n\t\"bottomTrimHandle\": \"audio-trimmer_bottom-trim-handle_2FNda\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n.backpack_backpack-container_2_wGr {\\n flex-shrink: 1;\\n position: relative;\\n}\\n\\n.backpack_backpack-header_6ltCS {\\n margin-top: 0.5rem;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n background: hsla(0, 100%, 100%, 1);\\n padding: 0.25rem;\\n text-align: center;\\n font-size: 0.85rem;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n transition: 0.2s;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n[theme=\\\"dark\\\"] .backpack_backpack-header_6ltCS {\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n}\\n\\n[dir=\\\"ltr\\\"] .backpack_backpack-header_6ltCS {\\n border-top-right-radius: 0.5rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .backpack_backpack-header_6ltCS {\\n border-top-left-radius: 0.5rem;\\n}\\n\\n.backpack_backpack-list_MOp5X {\\n position: relative;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n border-right: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n min-height: 5.5rem;\\n}\\n\\n/* Absolute position the inner list to allow scrolling inside flex sized container */\\n\\n.backpack_backpack-list-inner_10a2A {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n overflow-x: auto;\\n}\\n\\n.backpack_drag-over_3bBKD:after {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n opacity: 0.75;\\n background-color: hsla(0, 100%, 77%, 1);\\n transition: all 0.25s ease;\\n}\\n\\n.backpack_status-message_3kt5s {\\n width: 100%;\\n text-align: center;\\n font-size: 0.85rem;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n}\\n\\n.backpack_error-message_2JoTP {\\n font-family: monospace;\\n}\\n\\n.backpack_backpack-item_hwqzQ {\\n width: 4rem;\\n height: 4.5rem;\\n margin: 0 0.25rem;\\n flex-shrink: 0;\\n\\n /* Need to hide overflow because of background setting below */\\n overflow: hidden;\\n}\\n\\n.backpack_backpack-item_hwqzQ > div {\\n /* Need to set the background to get blend-mode below to work */\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n}\\n\\n.backpack_backpack-item_hwqzQ img {\\n mix-blend-mode: multiply; /* Make white transparent for thumnbnails */\\n}\\n\\n[theme=\\\"dark\\\"] .backpack_backpack-item_hwqzQ img {\\n mix-blend-mode: normal;\\n}\\n\\n.backpack_more_j3LFZ {\\n background: hsla(0, 100%, 65%, 1);\\n color: hsla(0, 100%, 100%, 1);\\n border: none;\\n outline: none;\\n font-weight: bold;\\n border-radius: 0.5rem;\\n font-size: 0.85rem;\\n padding: 0.5rem;\\n margin: 0.5rem;\\n cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"backpack-container\": \"backpack_backpack-container_2_wGr\",\n\t\"backpackContainer\": \"backpack_backpack-container_2_wGr\",\n\t\"backpack-header\": \"backpack_backpack-header_6ltCS\",\n\t\"backpackHeader\": \"backpack_backpack-header_6ltCS\",\n\t\"backpack-list\": \"backpack_backpack-list_MOp5X\",\n\t\"backpackList\": \"backpack_backpack-list_MOp5X\",\n\t\"backpack-list-inner\": \"backpack_backpack-list-inner_10a2A\",\n\t\"backpackListInner\": \"backpack_backpack-list-inner_10a2A\",\n\t\"drag-over\": \"backpack_drag-over_3bBKD\",\n\t\"dragOver\": \"backpack_drag-over_3bBKD\",\n\t\"status-message\": \"backpack_status-message_3kt5s\",\n\t\"statusMessage\": \"backpack_status-message_3kt5s\",\n\t\"error-message\": \"backpack_error-message_2JoTP\",\n\t\"errorMessage\": \"backpack_error-message_2JoTP\",\n\t\"backpack-item\": \"backpack_backpack-item_hwqzQ\",\n\t\"backpackItem\": \"backpack_backpack-item_hwqzQ\",\n\t\"more\": \"backpack_more_j3LFZ\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n/*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/\\n\\n/* Toolbox z-index: 40; set in scratch-blocks */\\n\\n/* tooltips should go over add buttons if they overlap */\\n\\n/* monitors go over add buttons */\\n\\n/* \\\"ask\\\" block text input goes above monitors */\\n\\n/* menu-bar should go over monitors, alerts and tutorials */\\n\\n/* tw: show below menu bar normally */\\n\\n/* Block drag z-index: 1000; default 50 is overriden in blocks.css */\\n\\n/* so it is draggable into other panes */\\n\\n/* in most interfaces, the context menu is always on top */\\n\\n.blocks_blocks_C530M {\\n height: 100%;\\n}\\n\\n.blocks_drag-over_2btTP:after {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n opacity: 0.75;\\n background-color: hsla(0, 100%, 77%, 1);\\n transition: all 0.25s ease;\\n}\\n\\n.blocks_blocks_C530M .injectionDiv{\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-top-right-radius: 0.5rem;\\n border-bottom-right-radius: 0.5rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .blocks_blocks_C530M .injectionDiv {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n border-top-left-radius: 0.5rem;\\n border-bottom-left-radius: 0.5rem;\\n}\\n\\n.blocks_blocks_C530M .blocklyMainBackground {\\n stroke: none;\\n}\\n\\n.blocks_blocks_C530M .blocklyToolboxDiv {\\n border-right: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-bottom: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n box-sizing: content-box;\\n height: calc(100% - 3.25rem) !important;\\n overflow-x: hidden;\\n\\n /*\\n For now, the layout cannot support scrollbars in the category menu.\\n The line below works for Edge, the `::-webkit-scrollbar` line\\n below that is for webkit browsers. It isn't possible to do the\\n same for Firefox, so a different solution may be needed for them.\\n */\\n -ms-overflow-style: none;\\n}\\n\\n[dir=\\\"rtl\\\"] .blocks_blocks_C530M .blocklyToolboxDiv {\\n border-right: none;\\n border-left: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\\n.blocks_blocks_C530M .blocklyToolboxDiv::-webkit-scrollbar {\\n display: none;\\n}\\n\\n.blocks_blocks_C530M .blocklyFlyout {\\n border-right: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n box-sizing: content-box;\\n}\\n\\n[dir=\\\"rtl\\\"] .blocks_blocks_C530M .blocklyFlyout {\\n border-right: none;\\n border-left: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\\n.blocks_blocks_C530M .blocklyBlockDragSurface {\\n /*\\n Fix an issue where the drag surface was preventing hover events for sharing blocks.\\n This does not prevent user interaction on the blocks themselves.\\n */\\n pointer-events: none;\\n z-index: 1000; /* make blocks match gui drag layer */\\n}\\n\\n/*\\n Shrink category font to fit \\\"My Blocks\\\" for now.\\n Probably will need different solutions for language support later, so\\n make the change here instead of in scratch-blocks.\\n*/\\n\\n.blocks_blocks_C530M .scratchCategoryMenuItemLabel {\\n font-size: 0.65rem;\\n}\\n\\n.blocks_blocks_C530M .blocklyMinimalBody {\\n min-width: auto;\\n min-height: auto;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"blocks\": \"blocks_blocks_C530M\",\n\t\"drag-over\": \"blocks_drag-over_2btTP\",\n\t\"dragOver\": \"blocks_drag-over_2btTP\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".box_box_2jjDp {\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"box\": \"box_box_2jjDp\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ body {\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n} h2 {\\n font-size: 1.5rem;\\n font-weight: bold;\\n} p {\\n font-size: 1rem;\\n line-height: 1.5em;\\n} /*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/ /* Toolbox z-index: 40; set in scratch-blocks */ /* tooltips should go over add buttons if they overlap */ /* monitors go over add buttons */ /* \\\"ask\\\" block text input goes above monitors */ /* menu-bar should go over monitors, alerts and tutorials */ /* tw: show below menu bar normally */ /* Block drag z-index: 1000; default 50 is overriden in blocks.css */ /* so it is draggable into other panes */ /* in most interfaces, the context menu is always on top */ .browser-modal_modal-overlay_3TDyF {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 510;\\n background-color: var(--ui-modal-overlay, hsla(0, 100%, 65%, 0.9));\\n} .browser-modal_modal-content_3iHow {\\n margin: 100px auto;\\n outline: none;\\n border: .25rem solid hsla(0, 100%, 100%, 0.25);\\n padding: 0;\\n border-radius: 0.5rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n width: 500px;\\n\\n color: hsla(225, 15%, 40%, 1);\\n overflow: hidden;\\n} .browser-modal_illustration_1qhRy {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n height: 100px;\\n background-color: hsla(38, 100%, 55%, 1);\\n} [dir=\\\"rtl\\\"] .browser-modal_illustration_1qhRy {\\n transform: scaleX(-1);\\n} .browser-modal_illustration_1qhRy img {\\n height: 80%;\\n width: auto;\\n} .browser-modal_body_1pvBQ {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n text-align: center;\\n} /* Confirmation buttons at the bottom of the modal */ .browser-modal_button-row_15bbH {\\n margin: 1.5rem 0;\\n font-weight: bolder;\\n text-align: right;\\n display: flex;\\n justify-content: center;\\n} .browser-modal_button-row_15bbH button {\\n border: 1px solid hsla(0, 100%, 65%, 1);\\n border-radius: 0.25rem;\\n padding: 0.5rem 2rem;\\n background: hsla(0, 100%, 65%, 1);\\n color: white;\\n font-weight: bold;\\n font-size: 0.875rem;\\n cursor: pointer;\\n} .browser-modal_faq-link-text_1e8bS {\\n margin: 2rem 0 .5rem 0;\\n font-size: .875rem;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n} .browser-modal_faq-link_3leDC {\\n color: hsla(0, 100%, 65%, 1);\\n text-decoration: none;\\n} .browser-modal_body_1pvBQ p {\\n margin-bottom: 1em;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-overlay\": \"browser-modal_modal-overlay_3TDyF\",\n\t\"modalOverlay\": \"browser-modal_modal-overlay_3TDyF\",\n\t\"modal-content\": \"browser-modal_modal-content_3iHow\",\n\t\"modalContent\": \"browser-modal_modal-content_3iHow\",\n\t\"illustration\": \"browser-modal_illustration_1qhRy\",\n\t\"body\": \"browser-modal_body_1pvBQ\",\n\t\"button-row\": \"browser-modal_button-row_15bbH\",\n\t\"buttonRow\": \"browser-modal_button-row_15bbH\",\n\t\"faq-link-text\": \"browser-modal_faq-link-text_1e8bS\",\n\t\"faqLinkText\": \"browser-modal_faq-link-text_1e8bS\",\n\t\"faq-link\": \"browser-modal_faq-link_3leDC\",\n\t\"faqLink\": \"browser-modal_faq-link_3leDC\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n.button_outlined-button_1bS__ {\\n cursor: pointer;\\n border-radius: calc(0.5rem / 2);\\n font-weight: bold;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n padding-left: .75rem;\\n padding-right: .75rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n.button_icon_77d8G {\\n height: 1.5rem;\\n}\\n\\n[dir=\\\"ltr\\\"] .button_icon_77d8G {\\n margin-right: .5rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .button_icon_77d8G {\\n margin-left: .5rem;\\n}\\n\\n.button_content_3jdgj {\\n white-space: nowrap;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"outlined-button\": \"button_outlined-button_1bS__\",\n\t\"outlinedButton\": \"button_outlined-button_1bS__\",\n\t\"icon\": \"button_icon_77d8G\",\n\t\"content\": \"button_content_3jdgj\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n/*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/\\n\\n/* Toolbox z-index: 40; set in scratch-blocks */\\n\\n/* tooltips should go over add buttons if they overlap */\\n\\n/* monitors go over add buttons */\\n\\n/* \\\"ask\\\" block text input goes above monitors */\\n\\n/* menu-bar should go over monitors, alerts and tutorials */\\n\\n/* tw: show below menu bar normally */\\n\\n/* Block drag z-index: 1000; default 50 is overriden in blocks.css */\\n\\n/* so it is draggable into other panes */\\n\\n/* in most interfaces, the context menu is always on top */\\n\\n.card_card-container-overlay_gnjBL {\\n position: fixed;\\n pointer-events: none;\\n z-index: 480;\\n}\\n\\n.card_card-container_3_Sbc {\\n position:absolute;\\n pointer-events: auto;\\n z-index: 480;\\n margin: 0.5rem 2rem;\\n min-width: 468px;\\n}\\n\\n.card_left-card_1KpEh, .card_right-card_3IrbD {\\n height: 90%;\\n position: absolute;\\n top: 5%;\\n background: hsla(0, 100%, 100%, 1);\\n border: 1px solid var(--ui-tertiary, hsla(215, 50%, 90%, 1));\\n width: .75rem;\\n z-index: 10;\\n opacity: 0.9;\\n overflow: hidden;\\n}\\n\\n.card_left-card_1KpEh {\\n left: -.75rem;\\n border-right: 0;\\n border-top-left-radius: 0.75rem;\\n border-bottom-left-radius: 0.75rem;\\n}\\n\\n.card_right-card_3IrbD {\\n right: -.75rem;\\n border-left: 0;\\n border-top-right-radius: 0.75rem;\\n border-bottom-right-radius: 0.75rem;\\n}\\n\\n.card_left-card_1KpEh::after, .card_right-card_3IrbD::after {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 2.5rem;\\n width: 100%;\\n background: hsla(10, 85%, 65%, 1);\\n}\\n\\n.card_left-button_2IXDY, .card_right-button_3Py4m {\\n position: absolute;\\n top: 50%;\\n margin-top: -15px;\\n z-index: 20;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n cursor: pointer;\\n background: hsla(10, 85%, 65%, 1);\\n box-shadow: 0 0 0 4px hsla(10, 85%, 65%, 0.35);\\n height: 44px;\\n width: 44px;\\n border-radius: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n transition: all 0.25s ease;\\n}\\n\\n.card_left-button_2IXDY:hover, .card_right-button_3Py4m:hover {\\n box-shadow: 0 0 0 6px hsla(10, 85%, 65%, 0.35);\\n transform: scale(1.125);\\n}\\n\\n.card_left-button_2IXDY img, .card_right-button_3Py4m img{\\n width: 1.75rem;\\n}\\n\\n.card_left-button_2IXDY {\\n left: -27px;\\n}\\n\\n.card_right-button_3Py4m {\\n right: -27px;\\n}\\n\\n.card_card_3GG7C {\\n border: 1px solid var(--ui-tertiary, hsla(215, 50%, 90%, 1));\\n border-radius: 0.75rem;\\n display: flex;\\n flex-direction: column;\\n cursor: move;\\n z-index: 20;\\n overflow: hidden;\\n box-shadow: 0px 5px 25px 5px hsla(0, 0%, 0%, 0.15);\\n align-items: center;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n}\\n\\n.card_header-buttons_3Yq16 {\\n width: 100%;\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n align-items: center;\\n background: hsla(10, 85%, 65%, 1);\\n border-bottom: 1px solid hsla(10, 85%, 40%, 1);\\n font-size: 0.625rem;\\n font-weight: bold;\\n}\\n\\n.card_header-buttons-hidden_3y5Bd {\\n border-bottom: 0px;\\n}\\n\\n.card_header-buttons-right_2bzRm {\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.card_header-buttons_3Yq16 img {\\n margin-bottom: 2px;\\n}\\n\\n.card_shrink-expand-button_vbegz {\\n cursor: pointer;\\n color: white;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n padding: 0.75rem;\\n}\\n\\n.card_shrink-expand-button_vbegz:hover, .card_all-button_15rrQ:hover {\\n background-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\\n.card_remove-button_1F8SI, .card_all-button_15rrQ {\\n cursor: pointer;\\n color: white;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n padding: 0.75rem;\\n}\\n\\n.card_remove-button_1F8SI:hover, .card_all-button_15rrQ:hover {\\n background-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\\n.card_step-title_13--3 {\\n font-size: 0.9rem;\\n margin: 0.9rem;\\n text-align: center;\\n font-weight: bold;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n}\\n\\n.card_step-body_2bFkf {\\n width: 100%;\\n background: hsla(0, 100%, 100%, 1);\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n position: relative;\\n text-align: center;\\n\\n /* Min height prevents layout changing when images change */\\n min-height: 256px;\\n}\\n\\n.card_step-video_3qH9J {\\n height: 256px;\\n}\\n\\n.card_step-image_2_jUv {\\n max-width: 450px;\\n max-height: 200px;\\n object-fit: contain;\\n background: #F9F9F9;\\n border: 1px solid #ddd;\\n border-radius: 0.5rem;\\n overflow: hidden;\\n margin: 0 0.5rem 0.5rem;\\n}\\n\\n.card_decks_1oD6G {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-around;\\n padding: 0 1rem 0.5rem;\\n}\\n\\n.card_deck_2NtVa {\\n display: flex;\\n flex-direction: column;\\n margin: 0 8px 8px;\\n cursor: pointer;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0.25rem;\\n overflow: hidden;\\n}\\n\\n.card_deck-image_1V3q9 {\\n width: 200px;\\n height: 100px;\\n object-fit: cover;\\n}\\n\\n.card_deck-name_1SJhM {\\n color: hsla(0, 100%, 65%, 1);\\n font-weight: bold;\\n font-size: 0.85rem;\\n margin: .625rem 0px;\\n text-align: center;\\n font-weight: bold;\\n text-align: center;\\n max-width: 200px;\\n}\\n\\n.card_help-icon_1iyk7 {\\n height: 1.25rem;\\n}\\n\\n.card_close-icon_1FYf5 {\\n height: 1.25rem;\\n margin: .125rem 0; /* To offset the .25rem difference in icon size */\\n}\\n\\n[dir=\\\"ltr\\\"] .card_help-icon_1iyk7 {\\n margin-right: 0.25rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .card_help-icon_1iyk7 {\\n margin-left: 0.25rem;\\n}\\n\\n[dir=\\\"ltr\\\"] .card_close-icon_1FYf5 {\\n margin-left: 0.25rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .card_close-icon_1FYf5 {\\n margin-right: 0.25rem;\\n}\\n\\n.card_see-all_1_E8D {\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n width: 100%;\\n padding: 0.5rem;\\n}\\n\\n.card_see-all-button_3o4U8 {\\n cursor: pointer;\\n padding: 0.5rem 1rem;\\n background-color: hsla(0, 100%, 65%, 1);\\n color: white;\\n font-weight: bold;\\n border-radius: 0.25rem;\\n display: flex;\\n align-items: center;\\n color: hsla(0, 100%, 100%, 1);\\n font-size: .75rem;\\n font-weight: bold;\\n line-height: 1rem;\\n text-align: center;\\n}\\n\\n[dir=\\\"ltr\\\"] .card_see-all-button_3o4U8 img {\\n margin-left: 0.5rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .card_see-all-button_3o4U8 img {\\n margin-right: 0.5rem;\\n}\\n\\n.card_steps-list_22Q1P {\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.card_active-step-pip_I0bxo, .card_inactiveStepPip_2lVp2 {\\n width: 0.5rem;\\n height: 0.5rem;\\n margin: 0 0.25rem;\\n border-radius: 100%;\\n background: hsla(0, 100%, 100%, 0.25);\\n}\\n\\n.card_active-step-pip_I0bxo {\\n background: hsla(0, 100%, 100%, 1);\\n box-shadow: 0px 0px 0px 2px hsla(0, 0%, 0%, 0.15);\\n}\\n\\n.card_hidden_Jk77J {\\n display: none;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"card-container-overlay\": \"card_card-container-overlay_gnjBL\",\n\t\"cardContainerOverlay\": \"card_card-container-overlay_gnjBL\",\n\t\"card-container\": \"card_card-container_3_Sbc\",\n\t\"cardContainer\": \"card_card-container_3_Sbc\",\n\t\"left-card\": \"card_left-card_1KpEh\",\n\t\"leftCard\": \"card_left-card_1KpEh\",\n\t\"right-card\": \"card_right-card_3IrbD\",\n\t\"rightCard\": \"card_right-card_3IrbD\",\n\t\"left-button\": \"card_left-button_2IXDY\",\n\t\"leftButton\": \"card_left-button_2IXDY\",\n\t\"right-button\": \"card_right-button_3Py4m\",\n\t\"rightButton\": \"card_right-button_3Py4m\",\n\t\"card\": \"card_card_3GG7C\",\n\t\"header-buttons\": \"card_header-buttons_3Yq16\",\n\t\"headerButtons\": \"card_header-buttons_3Yq16\",\n\t\"header-buttons-hidden\": \"card_header-buttons-hidden_3y5Bd\",\n\t\"headerButtonsHidden\": \"card_header-buttons-hidden_3y5Bd\",\n\t\"header-buttons-right\": \"card_header-buttons-right_2bzRm\",\n\t\"headerButtonsRight\": \"card_header-buttons-right_2bzRm\",\n\t\"shrink-expand-button\": \"card_shrink-expand-button_vbegz\",\n\t\"shrinkExpandButton\": \"card_shrink-expand-button_vbegz\",\n\t\"all-button\": \"card_all-button_15rrQ\",\n\t\"allButton\": \"card_all-button_15rrQ\",\n\t\"remove-button\": \"card_remove-button_1F8SI\",\n\t\"removeButton\": \"card_remove-button_1F8SI\",\n\t\"step-title\": \"card_step-title_13--3\",\n\t\"stepTitle\": \"card_step-title_13--3\",\n\t\"step-body\": \"card_step-body_2bFkf\",\n\t\"stepBody\": \"card_step-body_2bFkf\",\n\t\"step-video\": \"card_step-video_3qH9J\",\n\t\"stepVideo\": \"card_step-video_3qH9J\",\n\t\"step-image\": \"card_step-image_2_jUv\",\n\t\"stepImage\": \"card_step-image_2_jUv\",\n\t\"decks\": \"card_decks_1oD6G\",\n\t\"deck\": \"card_deck_2NtVa\",\n\t\"deck-image\": \"card_deck-image_1V3q9\",\n\t\"deckImage\": \"card_deck-image_1V3q9\",\n\t\"deck-name\": \"card_deck-name_1SJhM\",\n\t\"deckName\": \"card_deck-name_1SJhM\",\n\t\"help-icon\": \"card_help-icon_1iyk7\",\n\t\"helpIcon\": \"card_help-icon_1iyk7\",\n\t\"close-icon\": \"card_close-icon_1FYf5\",\n\t\"closeIcon\": \"card_close-icon_1FYf5\",\n\t\"see-all\": \"card_see-all_1_E8D\",\n\t\"seeAll\": \"card_see-all_1_E8D\",\n\t\"see-all-button\": \"card_see-all-button_3o4U8\",\n\t\"seeAllButton\": \"card_see-all-button_3o4U8\",\n\t\"steps-list\": \"card_steps-list_22Q1P\",\n\t\"stepsList\": \"card_steps-list_22Q1P\",\n\t\"active-step-pip\": \"card_active-step-pip_I0bxo\",\n\t\"activeStepPip\": \"card_active-step-pip_I0bxo\",\n\t\"inactiveStepPip\": \"card_inactiveStepPip_2lVp2\",\n\t\"hidden\": \"card_hidden_Jk77J\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .close-button_close-button_lOp2G {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n\\n overflow: hidden; /* Mask the icon animation */\\n background-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 50%;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n cursor: pointer;\\n transition: all 0.15s ease-out;\\n} .close-button_close-button_lOp2G.close-button_large_2oadS:hover {\\n transform: scale(1.1, 1.1);\\n box-shadow: 0 0 0 4px var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} .close-button_close-button_lOp2G.close-button_large_2oadS.close-button_orange_3I0rs:hover {\\n transform: scale(1.1, 1.1);\\n box-shadow: 0px 0px 0px 4px hsla(29, 100%, 54%, 0.2);\\n} .close-button_small_3BsRW {\\n width: 0.825rem;\\n height: 0.825rem;\\n background-color: hsla(0, 100%, 65%, 1);\\n color: hsla(0, 100%, 100%, 1);\\n} .close-button_large_2oadS {\\n width: 1.75rem;\\n height: 1.75rem;\\n box-shadow: 0 0 0 2px var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} .close-button_large_2oadS.close-button_orange_3I0rs {\\n background-color: hsla(29, 100%, 54%, 0.2);\\n box-shadow: 0px 0px 0px 2px hsla(29, 100%, 54%, 0.2);\\n} .close-button_close-icon_HBCuO {\\n position: relative;\\n margin: 0.25rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n transform-origin: 50%;\\n transform: rotate(45deg);\\n} .close-button_close-icon_HBCuO.close-button_orange_3I0rs {\\n transform: rotate(45deg);\\n transform: scale(1.4);\\n} .close-button_small_3BsRW .close-button_close-icon_HBCuO {\\n width: 50%;\\n} .close-button_large_2oadS .close-button_close-icon_HBCuO {\\n width: 0.75rem;\\n height: 0.75rem;\\n} .close-button_back-icon_tlcJm {\\n position: relative;\\n margin: 0.25rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n} .close-button_small_3BsRW .close-button_back-icon_tlcJm {\\n width: 50%;\\n} .close-button_large_2oadS .close-button_back-icon_tlcJm {\\n width: 2rem;\\n height: 2rem;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"close-button\": \"close-button_close-button_lOp2G\",\n\t\"closeButton\": \"close-button_close-button_lOp2G\",\n\t\"large\": \"close-button_large_2oadS\",\n\t\"orange\": \"close-button_orange_3I0rs\",\n\t\"small\": \"close-button_small_3BsRW\",\n\t\"close-icon\": \"close-button_close-icon_HBCuO\",\n\t\"closeIcon\": \"close-button_close-icon_HBCuO\",\n\t\"back-icon\": \"close-button_back-icon_tlcJm\",\n\t\"backIcon\": \"close-button_back-icon_tlcJm\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/*\\n * NOTE: the copious use of `important` is needed to overwrite\\n * the default tooltip styling, and is required by the 3rd party\\n * library being used, `react-tooltip`\\n */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/\\n\\n/* Toolbox z-index: 40; set in scratch-blocks */\\n\\n/* tooltips should go over add buttons if they overlap */\\n\\n/* monitors go over add buttons */\\n\\n/* \\\"ask\\\" block text input goes above monitors */\\n\\n/* menu-bar should go over monitors, alerts and tutorials */\\n\\n/* tw: show below menu bar normally */\\n\\n/* Block drag z-index: 1000; default 50 is overriden in blocks.css */\\n\\n/* so it is draggable into other panes */\\n\\n/* in most interfaces, the context menu is always on top */\\n\\n.coming-soon_coming-soon_3x7RD {\\n background-color: hsla(30, 100%, 55%, 1) !important;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15)) !important;\\n border-radius: calc(0.5rem / 2) !important;\\n box-shadow: 0 0 .5rem hsla(0, 0%, 0%, 0.15) !important;\\n padding: .75rem 1rem !important;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif !important;\\n font-size: 1rem !important;\\n line-height: 1.25rem !important;\\n z-index: 47 !important;\\n}\\n\\n.coming-soon_coming-soon_3x7RD:after {\\n content: \\\"\\\";\\n border-top: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15)) !important;\\n border-left: 0 !important;\\n border-bottom: 0 !important;\\n border-right: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15)) !important;\\n border-radius: calc(0.5rem / 2);\\n background-color: hsla(30, 100%, 55%, 1) !important;\\n height: 1rem !important;\\n width: 1rem !important;\\n}\\n\\n.coming-soon_show_1Kszm,\\n.coming-soon_show_1Kszm:before,\\n.coming-soon_show_1Kszm:after {\\n opacity: 1 !important;\\n}\\n\\n.coming-soon_left_O4X9A:after {\\n margin-top: -.5rem !important;\\n right: -.5rem !important;\\n transform: rotate(45deg) !important;\\n}\\n\\n.coming-soon_right_1PkI6:after {\\n margin-top: -.5rem !important;\\n left: -.5rem !important;\\n transform: rotate(-135deg) !important;\\n}\\n\\n.coming-soon_top_13j8p:after {\\n margin-right: -.5rem !important;\\n bottom: -.5rem !important;\\n transform: rotate(135deg) !important;\\n}\\n\\n.coming-soon_bottom_2raz4:after {\\n margin-left: -.5rem !important;\\n top: -.5rem !important;\\n transform: rotate(-45deg) !important;\\n}\\n\\n.coming-soon_coming-soon-image_255bz {\\n width: 1.25rem;\\n height: 1.25rem;\\n vertical-align: middle;\\n}\\n\\n[dir=\\\"ltr\\\"] .coming-soon_coming-soon-image_255bz {\\n margin-left: .125rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .coming-soon_coming-soon-image_255bz {\\n margin-right: .125rem;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"coming-soon\": \"coming-soon_coming-soon_3x7RD\",\n\t\"comingSoon\": \"coming-soon_coming-soon_3x7RD\",\n\t\"show\": \"coming-soon_show_1Kszm\",\n\t\"left\": \"coming-soon_left_O4X9A\",\n\t\"right\": \"coming-soon_right_1PkI6\",\n\t\"top\": \"coming-soon_top_13j8p\",\n\t\"bottom\": \"coming-soon_bottom_2raz4\",\n\t\"coming-soon-image\": \"coming-soon_coming-soon-image_255bz\",\n\t\"comingSoonImage\": \"coming-soon_coming-soon-image_255bz\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .connection-modal_modal-content_2Xr41 {\\n width: 480px;\\n} .connection-modal_header_3Sf5c {\\n background-color: hsla(163, 85%, 40%, 1);\\n} .connection-modal_body_3YO9j {\\n background: hsla(0, 100%, 100%, 1);\\n} .connection-modal_label_2ci_1 {\\n font-weight: 500;\\n margin: 0 0 0.75rem;\\n} .connection-modal_centered-row_LqTYH {\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n} .connection-modal_peripheral-tile-pane_2pquH {\\n overflow-y: auto;\\n width: 100%;\\n height: 100%;\\n} .connection-modal_peripheral-tile_3IZvY {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n align-items: center;\\n\\n background-color: hsla(0, 100%, 100%, 1);\\n border-radius: 0.25rem;\\n padding: 10px;\\n width: 100%;\\n height: 55px;\\n margin-bottom: 0.5rem;\\n} .connection-modal_peripheral-tile-name_3-1ov {\\n display: flex;\\n align-items: center;\\n} [dir=\\\"ltr\\\"] .connection-modal_peripheral-tile-image_2HAYt {\\n margin-right: 0.5rem;\\n} [dir=\\\"rtl\\\"] .connection-modal_peripheral-tile-image_2HAYt {\\n margin-left: 0.5rem;\\n} .connection-modal_peripheral-tile-name-wrapper_LIgB5 {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: flex-start;\\n} .connection-modal_peripheral-tile-name-label_Mhn3z {\\n font-weight: bold;\\n font-size: 0.625rem;\\n} .connection-modal_peripheral-tile-name-text_3Gqj9 {\\n font-size: 0.875rem;\\n} .connection-modal_peripheral-tile_3IZvY button {\\n padding: 0.6rem 0.75rem;\\n border: none;\\n border-radius: 0.25rem;\\n font-weight: 600;\\n font-size: 0.85rem;\\n background: hsla(0, 100%, 65%, 1);\\n border: hsla(0, 100%, 65%, 1);\\n color: white;\\n cursor: pointer;\\n} .connection-modal_signal-strength-meter_17QSz {\\n display: flex;\\n justify-content: space-between;\\n align-items: flex-end;\\n width: 22px;\\n height: 16px;\\n} [dir=\\\"ltr\\\"] .connection-modal_signal-strength-meter_17QSz {\\n margin-right: 1rem;\\n} [dir=\\\"rtl\\\"] .connection-modal_signal-strength-meter_17QSz {\\n margin-left: 1rem;\\n} .connection-modal_signal-bar_3KRPL {\\n width: 4px;\\n border-radius: 4px;\\n background-color: #DBDBDB;\\n} .connection-modal_signal-bar_3KRPL:nth-of-type(1) { height: 25%; } .connection-modal_signal-bar_3KRPL:nth-of-type(2) { height: 50%; } .connection-modal_signal-bar_3KRPL:nth-of-type(3) { height: 75%; } .connection-modal_signal-bar_3KRPL:nth-of-type(4) { height: 100%; } .connection-modal_green-bar_2DtgQ {\\n background-color: hsla(163, 85%, 40%, 1);\\n} .connection-modal_radar-small_2Zlc3 {\\n width: 40px;\\n height: 40px;\\n} [dir=\\\"ltr\\\"] .connection-modal_radar-small_2Zlc3 {\\n margin-right: 0.5rem;\\n} [dir=\\\"rtl\\\"] .connection-modal_radar-small_2Zlc3 {\\n margin-left: 0.5rem;\\n} .connection-modal_radar-big_1ZqZR {\\n width: 120px;\\n height: 120px;\\n} .connection-modal_radar-spin_XTY3A {\\n animation: connection-modal_spin_2AmoW 4s linear infinite;\\n} [dir=\\\"ltr\\\"] .connection-modal_radar_1q6t4 {\\n margin-right: .5rem;\\n} [dir=\\\"rtl\\\"] .connection-modal_radar_1q6t4 {\\n margin-left: .5rem;\\n} @keyframes connection-modal_spin_2AmoW {\\n 100% {\\n transform: rotate(360deg);\\n }\\n} .connection-modal_peripheral-activity_1iEPn {\\n position: relative;\\n} .connection-modal_peripheral-activity-icon_2yzrQ {\\n /* width: 80px;\\n height: 80px; */\\n} .connection-modal_connection-tip-icon_1OYH1 {\\n position: absolute;\\n} .connection-modal_bluetooth-connecting-icon_2WC-p {\\n position: absolute;\\n top: -5px;\\n right: -15px;\\n left: -15px;\\n padding: 5px 5px;\\n background-color: hsla(0, 100%, 65%, 1);\\n border-radius: 100%;\\n box-shadow: 0px 0px 0px 4px hsla(0, 100%, 65%, 0.35);\\n /* animation: pulse-blue-ring 1s infinite ease-in-out alternate; */\\n animation: connection-modal_wiggle_3PIQs 0.5s infinite ease-in-out alternate;\\n\\n} @keyframes connection-modal_pulse-blue-ring_Bst8a {\\n 100% {\\n box-shadow: 0px 0px 0px 8px hsla(0, 100%, 65%, 0.15);\\n }\\n} .connection-modal_bluetooth-connected-icon_2z3Cp {\\n position: absolute;\\n top: -5px;\\n right: -15px;\\n left: -15px;\\n padding: 5px 5px;\\n background-color: hsla(163, 85%, 40%, 1);\\n border-radius: 100%;\\n box-shadow: 0px 0px 0px 4px hsla(163, 85%, 40%, 0.25);\\n} @keyframes connection-modal_wiggle_3PIQs {\\n 0% {transform: rotate(3deg) scale(1.05);}\\n 25% {transform: rotate(-3deg) scale(1.05);}\\n 50% {transform: rotate(5deg) scale(1.05);}\\n 75% {transform: rotate(-2deg) scale(1.05);}\\n 100% {transform: rotate(0deg) scale(1.05);}\\n} .connection-modal_bluetooth-centered-icon_2sUnm {\\n position: absolute;\\n padding: 5px 5px;\\n background-color: hsla(0, 100%, 65%, 1);\\n border-radius: 100%;\\n box-shadow: 0px 0px 0px 2px hsla(0, 100%, 65%, 0.35);\\n} .connection-modal_peripheral-tile-widgets_2czb9 {\\n display: flex;\\n align-items: center;\\n} .connection-modal_activityArea_2nx-Z {\\n height: 165px;\\n background-color: hsla(0, 100%, 65%, 0.15);\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n padding: .5rem;\\n} .connection-modal_scratch-link-help_1v8tL {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-around;\\n height: 100%;\\n padding-top: .5rem;\\n padding-bottom: .5rem;\\n} .connection-modal_scratch-link-help-step_bWMuI {\\n display: flex;\\n flex-direction: row;\\n justify-content: flex-start;\\n align-items: center;\\n} [dir=\\\"ltr\\\"] .connection-modal_scratch-link-help-step_bWMuI {\\n margin-left: 2.5rem;\\n} [dir=\\\"rtl\\\"] .connection-modal_scratch-link-help-step_bWMuI {\\n margin-right: 2.5rem;\\n} .connection-modal_scratch-link-icon_dnIoA {\\n max-width: 50px;\\n} [dir=\\\"ltr\\\"] .connection-modal_help-step-image_h76rv {\\n margin-right: 0.5rem;\\n} [dir=\\\"rtl\\\"] .connection-modal_help-step-image_h76rv {\\n margin-left: 0.5rem;\\n} .connection-modal_help-step-number_2tyWJ {\\n background: hsla(163, 85%, 40%, 1);\\n border-radius: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n color: hsla(0, 100%, 100%, 1);\\n font-weight: bold;\\n min-width: 2rem;\\n height: 2rem;\\n} [dir=\\\"ltr\\\"] .connection-modal_help-step-number_2tyWJ {\\n margin-right: 0.5rem;\\n} [dir=\\\"rtl\\\"] .connection-modal_help-step-number_2tyWJ {\\n margin-left: 0.5rem;\\n} .connection-modal_button-row_2RA0A {\\n font-weight: bolder;\\n text-align: center;\\n display: flex;\\n} .connection-modal_abort-connecting-icon_1KMRE {\\n width: 10px;\\n transform: rotate(45deg);\\n} .connection-modal_connection-button_1paxF {\\n padding: 0.6rem 0.75rem;\\n border-radius: 0.5rem;\\n background: hsla(0, 100%, 65%, 1);\\n color: white;\\n font-weight: 600;\\n font-size: 0.85rem;\\n margin: 0.25rem;\\n border: none;\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n} .connection-modal_connection-button_1paxF:disabled {\\n background: hsla(0, 100%, 65%, 0.35);\\n} .connection-modal_segmented-button_XNf80 {\\n display: flex;\\n} .connection-modal_segmented-button_XNf80 .connection-modal_connection-button_1paxF:first-of-type {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n margin-right: 0;\\n} .connection-modal_segmented-button_XNf80 .connection-modal_connection-button_1paxF:last-of-type {\\n margin-left: 1px;\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n} [dir=\\\"ltr\\\"] .connection-modal_button-icon-right_1CANn {\\n margin-left: 0.5rem;\\n} [dir=\\\"rtl\\\"] .connection-modal_button-icon-right_1CANn {\\n margin-right: 0.5rem;\\n} [dir=\\\"ltr\\\"] .connection-modal_button-icon-left_2Ys4V {\\n margin-right: 0.5rem;\\n} [dir=\\\"rtl\\\"] .connection-modal_button-icon-left_2Ys4V {\\n margin-left: 0.5rem;\\n} /* reverse back arrow icon for RTL, don't reverse other connection icons */ [dir=\\\"rtl\\\"] .connection-modal_button-icon-back_3voGy {\\n transform: scaleX(-1);\\n} .connection-modal_red-button_MpXr- {\\n background: hsla(20, 100%, 55%, 1);\\n} .connection-modal_corner-buttons_2ciJI {\\n display: flex;\\n justify-content: space-between;\\n width: 100%;\\n padding: 0 1rem;\\n} .connection-modal_bottom-area_AHeQ3 {\\n background-color: hsla(0, 100%, 100%, 1);\\n text-align: center;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n padding-top: 1rem;\\n padding-bottom: .75rem;\\n padding-left: .75rem;\\n padding-right: .75rem;\\n} .connection-modal_bottom-area_AHeQ3 .connection-modal_bottom-area-item_YR2oh+.connection-modal_bottom-area-item_YR2oh {\\n margin-top: 1rem;\\n} .connection-modal_instructions_1CxAa {\\n text-align: center;\\n} .connection-modal_dots-row_39YWr {\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n} .connection-modal_dots-holder_2kY6c {\\n display: flex;\\n padding: 0.25rem 0.1rem;\\n border-radius: 1rem;\\n background: hsla(0, 100%, 65%, 0.15);\\n} .connection-modal_dots-holder-success_20EtT {\\n background: hsla(163, 85%, 40%, 0.25);\\n} .connection-modal_dots-holder-error_3iK2w {\\n background: hsla(30, 100%, 55%, 0.25);\\n} .connection-modal_dot_2GsnJ {\\n width: 0.5rem;\\n height: 0.5rem;\\n margin: 0 0.3rem;\\n border-radius: 100%;\\n} .connection-modal_inactive-step-dot_1x6LP {\\n background: hsla(0, 100%, 65%, 0.35);\\n} .connection-modal_active-step-dot_yLC0o {\\n background: hsla(0, 100%, 65%, 1);\\n} .connection-modal_success-dot_30FlH {\\n background: hsla(163, 85%, 40%, 1);\\n} .connection-modal_error-dot_1NdiS {\\n background: hsla(30, 100%, 55%, 1);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-content\": \"connection-modal_modal-content_2Xr41\",\n\t\"modalContent\": \"connection-modal_modal-content_2Xr41\",\n\t\"header\": \"connection-modal_header_3Sf5c\",\n\t\"body\": \"connection-modal_body_3YO9j\",\n\t\"label\": \"connection-modal_label_2ci_1\",\n\t\"centered-row\": \"connection-modal_centered-row_LqTYH\",\n\t\"centeredRow\": \"connection-modal_centered-row_LqTYH\",\n\t\"peripheral-tile-pane\": \"connection-modal_peripheral-tile-pane_2pquH\",\n\t\"peripheralTilePane\": \"connection-modal_peripheral-tile-pane_2pquH\",\n\t\"peripheral-tile\": \"connection-modal_peripheral-tile_3IZvY\",\n\t\"peripheralTile\": \"connection-modal_peripheral-tile_3IZvY\",\n\t\"peripheral-tile-name\": \"connection-modal_peripheral-tile-name_3-1ov\",\n\t\"peripheralTileName\": \"connection-modal_peripheral-tile-name_3-1ov\",\n\t\"peripheral-tile-image\": \"connection-modal_peripheral-tile-image_2HAYt\",\n\t\"peripheralTileImage\": \"connection-modal_peripheral-tile-image_2HAYt\",\n\t\"peripheral-tile-name-wrapper\": \"connection-modal_peripheral-tile-name-wrapper_LIgB5\",\n\t\"peripheralTileNameWrapper\": \"connection-modal_peripheral-tile-name-wrapper_LIgB5\",\n\t\"peripheral-tile-name-label\": \"connection-modal_peripheral-tile-name-label_Mhn3z\",\n\t\"peripheralTileNameLabel\": \"connection-modal_peripheral-tile-name-label_Mhn3z\",\n\t\"peripheral-tile-name-text\": \"connection-modal_peripheral-tile-name-text_3Gqj9\",\n\t\"peripheralTileNameText\": \"connection-modal_peripheral-tile-name-text_3Gqj9\",\n\t\"signal-strength-meter\": \"connection-modal_signal-strength-meter_17QSz\",\n\t\"signalStrengthMeter\": \"connection-modal_signal-strength-meter_17QSz\",\n\t\"signal-bar\": \"connection-modal_signal-bar_3KRPL\",\n\t\"signalBar\": \"connection-modal_signal-bar_3KRPL\",\n\t\"green-bar\": \"connection-modal_green-bar_2DtgQ\",\n\t\"greenBar\": \"connection-modal_green-bar_2DtgQ\",\n\t\"radar-small\": \"connection-modal_radar-small_2Zlc3\",\n\t\"radarSmall\": \"connection-modal_radar-small_2Zlc3\",\n\t\"radar-big\": \"connection-modal_radar-big_1ZqZR\",\n\t\"radarBig\": \"connection-modal_radar-big_1ZqZR\",\n\t\"radar-spin\": \"connection-modal_radar-spin_XTY3A\",\n\t\"radarSpin\": \"connection-modal_radar-spin_XTY3A\",\n\t\"spin\": \"connection-modal_spin_2AmoW\",\n\t\"radar\": \"connection-modal_radar_1q6t4\",\n\t\"peripheral-activity\": \"connection-modal_peripheral-activity_1iEPn\",\n\t\"peripheralActivity\": \"connection-modal_peripheral-activity_1iEPn\",\n\t\"peripheral-activity-icon\": \"connection-modal_peripheral-activity-icon_2yzrQ\",\n\t\"peripheralActivityIcon\": \"connection-modal_peripheral-activity-icon_2yzrQ\",\n\t\"connection-tip-icon\": \"connection-modal_connection-tip-icon_1OYH1\",\n\t\"connectionTipIcon\": \"connection-modal_connection-tip-icon_1OYH1\",\n\t\"bluetooth-connecting-icon\": \"connection-modal_bluetooth-connecting-icon_2WC-p\",\n\t\"bluetoothConnectingIcon\": \"connection-modal_bluetooth-connecting-icon_2WC-p\",\n\t\"wiggle\": \"connection-modal_wiggle_3PIQs\",\n\t\"bluetooth-connected-icon\": \"connection-modal_bluetooth-connected-icon_2z3Cp\",\n\t\"bluetoothConnectedIcon\": \"connection-modal_bluetooth-connected-icon_2z3Cp\",\n\t\"bluetooth-centered-icon\": \"connection-modal_bluetooth-centered-icon_2sUnm\",\n\t\"bluetoothCenteredIcon\": \"connection-modal_bluetooth-centered-icon_2sUnm\",\n\t\"peripheral-tile-widgets\": \"connection-modal_peripheral-tile-widgets_2czb9\",\n\t\"peripheralTileWidgets\": \"connection-modal_peripheral-tile-widgets_2czb9\",\n\t\"activityArea\": \"connection-modal_activityArea_2nx-Z\",\n\t\"scratch-link-help\": \"connection-modal_scratch-link-help_1v8tL\",\n\t\"scratchLinkHelp\": \"connection-modal_scratch-link-help_1v8tL\",\n\t\"scratch-link-help-step\": \"connection-modal_scratch-link-help-step_bWMuI\",\n\t\"scratchLinkHelpStep\": \"connection-modal_scratch-link-help-step_bWMuI\",\n\t\"scratch-link-icon\": \"connection-modal_scratch-link-icon_dnIoA\",\n\t\"scratchLinkIcon\": \"connection-modal_scratch-link-icon_dnIoA\",\n\t\"help-step-image\": \"connection-modal_help-step-image_h76rv\",\n\t\"helpStepImage\": \"connection-modal_help-step-image_h76rv\",\n\t\"help-step-number\": \"connection-modal_help-step-number_2tyWJ\",\n\t\"helpStepNumber\": \"connection-modal_help-step-number_2tyWJ\",\n\t\"button-row\": \"connection-modal_button-row_2RA0A\",\n\t\"buttonRow\": \"connection-modal_button-row_2RA0A\",\n\t\"abort-connecting-icon\": \"connection-modal_abort-connecting-icon_1KMRE\",\n\t\"abortConnectingIcon\": \"connection-modal_abort-connecting-icon_1KMRE\",\n\t\"connection-button\": \"connection-modal_connection-button_1paxF\",\n\t\"connectionButton\": \"connection-modal_connection-button_1paxF\",\n\t\"segmented-button\": \"connection-modal_segmented-button_XNf80\",\n\t\"segmentedButton\": \"connection-modal_segmented-button_XNf80\",\n\t\"button-icon-right\": \"connection-modal_button-icon-right_1CANn\",\n\t\"buttonIconRight\": \"connection-modal_button-icon-right_1CANn\",\n\t\"button-icon-left\": \"connection-modal_button-icon-left_2Ys4V\",\n\t\"buttonIconLeft\": \"connection-modal_button-icon-left_2Ys4V\",\n\t\"button-icon-back\": \"connection-modal_button-icon-back_3voGy\",\n\t\"buttonIconBack\": \"connection-modal_button-icon-back_3voGy\",\n\t\"red-button\": \"connection-modal_red-button_MpXr-\",\n\t\"redButton\": \"connection-modal_red-button_MpXr-\",\n\t\"corner-buttons\": \"connection-modal_corner-buttons_2ciJI\",\n\t\"cornerButtons\": \"connection-modal_corner-buttons_2ciJI\",\n\t\"bottom-area\": \"connection-modal_bottom-area_AHeQ3\",\n\t\"bottomArea\": \"connection-modal_bottom-area_AHeQ3\",\n\t\"bottom-area-item\": \"connection-modal_bottom-area-item_YR2oh\",\n\t\"bottomAreaItem\": \"connection-modal_bottom-area-item_YR2oh\",\n\t\"instructions\": \"connection-modal_instructions_1CxAa\",\n\t\"dots-row\": \"connection-modal_dots-row_39YWr\",\n\t\"dotsRow\": \"connection-modal_dots-row_39YWr\",\n\t\"dots-holder\": \"connection-modal_dots-holder_2kY6c\",\n\t\"dotsHolder\": \"connection-modal_dots-holder_2kY6c\",\n\t\"dots-holder-success\": \"connection-modal_dots-holder-success_20EtT\",\n\t\"dotsHolderSuccess\": \"connection-modal_dots-holder-success_20EtT\",\n\t\"dots-holder-error\": \"connection-modal_dots-holder-error_3iK2w\",\n\t\"dotsHolderError\": \"connection-modal_dots-holder-error_3iK2w\",\n\t\"dot\": \"connection-modal_dot_2GsnJ\",\n\t\"inactive-step-dot\": \"connection-modal_inactive-step-dot_1x6LP\",\n\t\"inactiveStepDot\": \"connection-modal_inactive-step-dot_1x6LP\",\n\t\"active-step-dot\": \"connection-modal_active-step-dot_yLC0o\",\n\t\"activeStepDot\": \"connection-modal_active-step-dot_yLC0o\",\n\t\"success-dot\": \"connection-modal_success-dot_30FlH\",\n\t\"successDot\": \"connection-modal_success-dot_30FlH\",\n\t\"error-dot\": \"connection-modal_error-dot_1NdiS\",\n\t\"errorDot\": \"connection-modal_error-dot_1NdiS\",\n\t\"pulse-blue-ring\": \"connection-modal_pulse-blue-ring_Bst8a\",\n\t\"pulseBlueRing\": \"connection-modal_pulse-blue-ring_Bst8a\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ /*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/ /* Toolbox z-index: 40; set in scratch-blocks */ /* tooltips should go over add buttons if they overlap */ /* monitors go over add buttons */ /* \\\"ask\\\" block text input goes above monitors */ /* menu-bar should go over monitors, alerts and tutorials */ /* tw: show below menu bar normally */ /* Block drag z-index: 1000; default 50 is overriden in blocks.css */ /* so it is draggable into other panes */ /* in most interfaces, the context menu is always on top */ .context-menu_context-menu_2SJM- {\\n min-width: 130px;\\n padding: 5px 0; /* The white strip at the top and bottom of the menu */\\n margin: 2px 0 0; /* To keep the menu below the cursor comfortably */\\n font-size: 0.85rem;\\n text-align: left;\\n background-color: hsla(0, 100%, 100%, 1);\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: calc(0.5rem / 2);\\n box-shadow: 0px 0px 5px 1px hsla(0, 0%, 0%, 0.15);\\n pointer-events: none;\\n transition: opacity 0.2s ease;\\n z-index: 10000;\\n} [theme=\\\"dark\\\"] .context-menu_context-menu_2SJM- {\\n background-color: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} .context-menu_menu-item_3cioN {\\n padding: 8px 12px;\\n white-space: nowrap;\\n cursor: pointer;\\n transition: 0.1s ease;\\n} .context-menu_menu-item_3cioN:hover {\\n background: hsla(0, 100%, 65%, 1);\\n color: white;\\n} .context-menu_menu-item-bordered_29CJG {\\n border-top: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} [theme=\\\"dark\\\"] .context-menu_menu-item-bordered_29CJG {\\n border-color: var(--ui-tertiary, hsla(215, 50%, 90%, 1));\\n} .context-menu_menu-item-danger_1tJg0:hover {\\n background: hsla(30, 100%, 55%, 1);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"context-menu\": \"context-menu_context-menu_2SJM-\",\n\t\"contextMenu\": \"context-menu_context-menu_2SJM-\",\n\t\"menu-item\": \"context-menu_menu-item_3cioN\",\n\t\"menuItem\": \"context-menu_menu-item_3cioN\",\n\t\"menu-item-bordered\": \"context-menu_menu-item-bordered_29CJG\",\n\t\"menuItemBordered\": \"context-menu_menu-item-bordered_29CJG\",\n\t\"menu-item-danger\": \"context-menu_menu-item-danger_1tJg0\",\n\t\"menuItemDanger\": \"context-menu_menu-item-danger_1tJg0\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".controls_controls-container_2xinB {\\n display: flex;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"controls-container\": \"controls_controls-container_2xinB\",\n\t\"controlsContainer\": \"controls_controls-container_2xinB\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ body {\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n} h2 {\\n font-size: 1.5rem;\\n font-weight: bold;\\n} p {\\n font-size: 1rem;\\n line-height: 1.5em;\\n} .crash-message_crash-wrapper_25B61 {\\n background-color: hsla(0, 100%, 65%, 1);\\n width: 100%;\\n height: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n} [theme=\\\"dark\\\"] .crash-message_crash-wrapper_25B61 {\\n background-color: #333;\\n} .crash-message_body_1q0lu {\\n width: 50%;\\n color: white;\\n text-align: center;\\n} .crash-message_reloadButton_FoS7x {\\n border: 1px solid hsla(0, 100%, 65%, 1);\\n border-radius: 0.25rem;\\n padding: 0.5rem 2rem;\\n background: white;\\n color: hsla(0, 100%, 65%, 1);\\n font-weight: bold;\\n font-size: 0.875rem;\\n cursor: pointer;\\n} .crash-message_header_1tEXc {\\n font-size: 1.5em;\\n font-weight: bold;\\n} .crash-message_error-message_1pX4X {\\n font-family: monospace;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"crash-wrapper\": \"crash-message_crash-wrapper_25B61\",\n\t\"crashWrapper\": \"crash-message_crash-wrapper_25B61\",\n\t\"body\": \"crash-message_body_1q0lu\",\n\t\"reloadButton\": \"crash-message_reloadButton_FoS7x\",\n\t\"header\": \"crash-message_header_1tEXc\",\n\t\"error-message\": \"crash-message_error-message_1pX4X\",\n\t\"errorMessage\": \"crash-message_error-message_1pX4X\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .custom-procedures_modal-content_Zjko5 {\\n width: 700px;\\n margin: 50px auto; /* This modal is taller than most, reduce top margin */\\n} .custom-procedures_body_SQBv6 {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n} [theme=\\\"dark\\\"] .custom-procedures_body_SQBv6 {\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n background: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n} .custom-procedures_body_SQBv6 input[type=\\\"checkbox\\\"],\\n.custom-procedures_body_SQBv6 input[type=\\\"radio\\\"] {\\n margin: 3px;\\n} /* Blocks workspace for custom procedure declaration editor */ .custom-procedures_workspace_1d2uW {\\n min-height: 200px;\\n position: relative;\\n} .custom-procedures_workspace_1d2uW .injectionDiv{\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n} .custom-procedures_workspace_1d2uW .blocklySvg {\\n background-color: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} /* Row of \\\"card\\\" buttons for modifying custom procedures */ .custom-procedures_options-row_1PqLE {\\n display: flex;\\n justify-content: space-between;\\n} .custom-procedures_option-card_BtHt3 {\\n background: white;\\n border: 2px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0.5rem;\\n padding: calc(0.5rem * 2);\\n text-align: center;\\n flex-grow: 1;\\n cursor: pointer;\\n transition: all 0.2s;\\n flex-basis: 100px;\\n} [theme=\\\"dark\\\"] .custom-procedures_option-card_BtHt3 {\\n background: var(--ui-tertiary, hsla(215, 50%, 90%, 1));\\n} .custom-procedures_option-card_BtHt3:hover {\\n border: 2px solid hsla(0, 100%, 65%, 1);\\n box-shadow: 0px 0px 0px 4px hsla(0, 100%, 65%, 0.35);\\n} .custom-procedures_option-card_BtHt3 + .custom-procedures_option-card_BtHt3 {\\n margin-left: 1rem;\\n} .custom-procedures_option-icon_2y7hh {\\n max-height: 48px;\\n margin-bottom: 0.5rem;\\n} .custom-procedures_option-title_3v6va {\\n font-weight: bold;\\n} /* \\\"Run without screen refresh\\\" row */ .custom-procedures_checkbox-row_rPP8j {\\n margin-top: 1rem;\\n} /* Confirmation buttons at the bottom of the modal */ .custom-procedures_button-row_2jBu3 {\\n margin-top: 1rem;\\n font-weight: bolder;\\n text-align: right;\\n} .custom-procedures_button-row_2jBu3 button {\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0.25rem;\\n padding: 0.75rem 1rem;\\n background: white;\\n font-weight: bold;\\n font-size: 0.85rem;\\n} .custom-procedures_button-row_2jBu3 button.custom-procedures_ok-button_2X0Vj {\\n background: hsla(0, 100%, 65%, 1);\\n border: hsla(0, 100%, 65%, 1);\\n color: white;\\n} [dir=\\\"ltr\\\"] .custom-procedures_button-row_2jBu3 button + button {\\n margin-left: 0.5rem;\\n} [dir=\\\"rtl\\\"] .custom-procedures_button-row_2jBu3 button + button {\\n margin-right: 0.5rem;\\n} .custom-procedures_cancel-button_wlEX9 {\\n color: black;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-content\": \"custom-procedures_modal-content_Zjko5\",\n\t\"modalContent\": \"custom-procedures_modal-content_Zjko5\",\n\t\"body\": \"custom-procedures_body_SQBv6\",\n\t\"workspace\": \"custom-procedures_workspace_1d2uW\",\n\t\"options-row\": \"custom-procedures_options-row_1PqLE\",\n\t\"optionsRow\": \"custom-procedures_options-row_1PqLE\",\n\t\"option-card\": \"custom-procedures_option-card_BtHt3\",\n\t\"optionCard\": \"custom-procedures_option-card_BtHt3\",\n\t\"option-icon\": \"custom-procedures_option-icon_2y7hh\",\n\t\"optionIcon\": \"custom-procedures_option-icon_2y7hh\",\n\t\"option-title\": \"custom-procedures_option-title_3v6va\",\n\t\"optionTitle\": \"custom-procedures_option-title_3v6va\",\n\t\"checkbox-row\": \"custom-procedures_checkbox-row_rPP8j\",\n\t\"checkboxRow\": \"custom-procedures_checkbox-row_rPP8j\",\n\t\"button-row\": \"custom-procedures_button-row_2jBu3\",\n\t\"buttonRow\": \"custom-procedures_button-row_2jBu3\",\n\t\"ok-button\": \"custom-procedures_ok-button_2X0Vj\",\n\t\"okButton\": \"custom-procedures_ok-button_2X0Vj\",\n\t\"cancel-button\": \"custom-procedures_cancel-button_wlEX9\",\n\t\"cancelButton\": \"custom-procedures_cancel-button_wlEX9\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ /* wrapper to allow for touch slop if we decide to add it */ .delete-button_delete-button_2Nzko {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n cursor: pointer;\\n transition: all 0.15s ease-out;\\n} .delete-button_delete-button-visible_kym6v {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden; /* Mask the icon animation */\\n width: 1.75rem;\\n height: 1.75rem;\\n box-shadow: 0px 0px 0px 2px hsla(0, 100%, 65%, 0.35);\\n background-color: hsla(0, 100%, 65%, 1);\\n color: hsla(0, 100%, 100%, 1);\\n border-radius: 50%;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n cursor: pointer;\\n transition: all 0.15s ease-out;\\n} .delete-button_delete-icon_3b8wH {\\n position: relative;\\n margin: 0.25rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n transform-origin: 50%;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"delete-button\": \"delete-button_delete-button_2Nzko\",\n\t\"deleteButton\": \"delete-button_delete-button_2Nzko\",\n\t\"delete-button-visible\": \"delete-button_delete-button-visible_kym6v\",\n\t\"deleteButtonVisible\": \"delete-button_delete-button-visible_kym6v\",\n\t\"delete-icon\": \"delete-button_delete-icon_3b8wH\",\n\t\"deleteIcon\": \"delete-button_delete-icon_3b8wH\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .dial_container_3hox- {\\n padding: 1rem;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n} .dial_dial-container_ktOnA {\\n position: relative;\\n} .dial_dial-face_3NuSA, .dial_dial-handle_1tfZT, .dial_gauge_3g5NZ {\\n position: absolute;\\n top: 0;\\n left: 0;\\n overflow: visible;\\n} .dial_dial-face_3NuSA {\\n width: 100%;\\n} .dial_dial-handle_1tfZT {\\n cursor: pointer;\\n width: 40px;\\n height: 40px;\\n /* Use margin to make positioning via top/left easier */\\n margin-left: calc(40px / -2);\\n margin-top: calc(40px / -2);\\n} .dial_gauge-path_1WoJ6 {\\n fill: hsla(0, 100%, 65%, 0.35);\\n stroke: hsla(0, 100%, 65%, 1);\\n stroke-width: 1px;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"container\": \"dial_container_3hox-\",\n\t\"dial-container\": \"dial_dial-container_ktOnA\",\n\t\"dialContainer\": \"dial_dial-container_ktOnA\",\n\t\"dial-face\": \"dial_dial-face_3NuSA\",\n\t\"dialFace\": \"dial_dial-face_3NuSA\",\n\t\"dial-handle\": \"dial_dial-handle_1tfZT\",\n\t\"dialHandle\": \"dial_dial-handle_1tfZT\",\n\t\"gauge\": \"dial_gauge_3g5NZ\",\n\t\"gauge-path\": \"dial_gauge-path_1WoJ6\",\n\t\"gaugePath\": \"dial_gauge-path_1WoJ6\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* Copied from scratch-paint color-picker.css. */ .Popover-body {\\n background: white;\\n border: 1px solid #ddd;\\n padding: 4px;\\n border-radius: 4px;\\n padding: 4px;\\n box-shadow: 0px 0px 8px 1px rgba(0, 0, 0, .3);\\n} .Popover-tipShape {\\n fill: white;\\n stroke: #ddd;\\n} .direction-picker_button-row_1DF8U {\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n\\n} .direction-picker_icon-button_1y9Rd {\\n margin: 0.25rem;\\n border: none;\\n background: none;\\n outline: none;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n} .direction-picker_icon-button_1y9Rd:active > img {\\n width: 20px;\\n height: 20px;\\n transform: scale(1.15);\\n} .direction-picker_icon-button_1y9Rd > img {\\n transition: transform 0.1s;\\n filter: grayscale(100%);\\n} .direction-picker_icon-button_1y9Rd.direction-picker_active_10_kJ > img {\\n filter: none;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"button-row\": \"direction-picker_button-row_1DF8U\",\n\t\"buttonRow\": \"direction-picker_button-row_1DF8U\",\n\t\"icon-button\": \"direction-picker_icon-button_1y9Rd\",\n\t\"iconButton\": \"direction-picker_icon-button_1y9Rd\",\n\t\"active\": \"direction-picker_active_10_kJ\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .divider_divider_1_Adi {\\n border-right: 1px dashed var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"divider\": \"divider_divider_1_Adi\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n/*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/\\n\\n/* Toolbox z-index: 40; set in scratch-blocks */\\n\\n/* tooltips should go over add buttons if they overlap */\\n\\n/* monitors go over add buttons */\\n\\n/* \\\"ask\\\" block text input goes above monitors */\\n\\n/* menu-bar should go over monitors, alerts and tutorials */\\n\\n/* tw: show below menu bar normally */\\n\\n/* Block drag z-index: 1000; default 50 is overriden in blocks.css */\\n\\n/* so it is draggable into other panes */\\n\\n/* in most interfaces, the context menu is always on top */\\n\\n.drag-layer_drag-layer_3Xec- {\\n position: fixed;\\n pointer-events: none;\\n z-index: 1000;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n direction: ltr;\\n}\\n\\n.drag-layer_image-wrapper_2iRP3 {\\n /* Absolute allows wrapper to snuggly fit image */\\n position: absolute;\\n}\\n\\n.drag-layer_image_1inbS {\\n max-width: 80px;\\n max-height: 80px;\\n min-width: 50px;\\n min-height: 50px;\\n\\n /* Center the dragging image on the given position */\\n margin-left: -50%;\\n margin-top: -50%;\\n\\n padding: 0.25rem;\\n border: 2px solid hsla(0, 100%, 65%, 1);\\n background: hsla(0, 100%, 100%, 1);\\n border-radius: 0.5rem;\\n\\n /* Use the same drop shadow as stage dragging */\\n box-shadow: 5px 5px 5px hsla(0, 0%, 0%, 0.15);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"drag-layer\": \"drag-layer_drag-layer_3Xec-\",\n\t\"dragLayer\": \"drag-layer_drag-layer_3Xec-\",\n\t\"image-wrapper\": \"drag-layer_image-wrapper_2iRP3\",\n\t\"imageWrapper\": \"drag-layer_image-wrapper_2iRP3\",\n\t\"image\": \"drag-layer_image_1inbS\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n.filter_filter_1JFal {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n flex-grow: 1;\\n\\n background: hsla(0, 100%, 100%, 1);\\n border-radius: 10rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n height: 2.5rem;\\n\\n position: relative;\\n}\\n\\n[theme=\\\"dark\\\"] .filter_filter_1JFal {\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n}\\n\\n.filter_filter-icon_3Pfaw {\\n position: absolute;\\n top: 0;\\n\\n height: 1rem;\\n width: 1rem;\\n}\\n\\n[dir=\\\"ltr\\\"] .filter_filter-icon_3Pfaw {\\n left: 0;\\n margin: 0.75rem 0.75rem 0.75rem 1rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .filter_filter-icon_3Pfaw {\\n right: 0;\\n margin: 0.75rem 1rem 0.75rem 0.75rem;\\n transform: scaleX(-1);\\n}\\n\\n.filter_filter_1JFal:focus-within {\\n box-shadow: 0 0 0 .25rem hsla(0, 100%, 65%, 0.35);\\n}\\n\\n/*\\n Hidden state\\n*/\\n\\n.filter_x-icon-wrapper_1rP2w {\\n opacity: 0;\\n position: absolute;\\n top: 0;\\n\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\\n overflow: hidden; /* Mask the icon animation */\\n height: 1.25rem;\\n width: 1.25rem;\\n margin: 0.625rem;\\n\\n border-radius: 50%;\\n pointer-events: none;\\n cursor: default;\\n transition: opacity 0.05s linear;\\n}\\n\\n[dir=\\\"ltr\\\"] .filter_x-icon-wrapper_1rP2w {\\n right: 0;\\n}\\n\\n[dir=\\\"rtl\\\"] .filter_x-icon-wrapper_1rP2w {\\n left: 0;\\n}\\n\\n/*\\n Shown state\\n*/\\n\\n.filter_filter_1JFal.filter_is-active_3PvfA .filter_x-icon-wrapper_1rP2w {\\n pointer-events: auto;\\n cursor: pointer;\\n opacity: 1;\\n transition: opacity 0.05s linear;\\n}\\n\\n.filter_filter_1JFal.filter_is-active_3PvfA .filter_x-icon-wrapper_1rP2w:hover {\\n transform: scale(1.2, 1.2);\\n}\\n\\n/*\\n Hidden state\\n*/\\n\\n.filter_x-icon_zjpOg {\\n position: relative;\\n margin: 0.25rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n transform: translateX(0.5rem);\\n transition: transform 0.085s cubic-bezier(0.78, 1, 1, 1);\\n}\\n\\n/*\\n Shown state\\n*/\\n\\n.filter_filter_1JFal.filter_is-active_3PvfA .filter_x-icon-wrapper_1rP2w .filter_x-icon_zjpOg {\\n transform: translateX(0);\\n}\\n\\n.filter_filter-input_1iiEt {\\n flex-grow: 1;\\n height: 2.5rem;\\n background-color: transparent;\\n -webkit-appearance: none;\\n outline: none;\\n border: 0;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n font-size: 0.75rem;\\n letter-spacing: 0.15px;\\n cursor: text;\\n}\\n\\n[dir=\\\"ltr\\\"] .filter_filter-input_1iiEt {\\n padding: .625rem 2rem .625rem 3rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .filter_filter-input_1iiEt {\\n padding: .625rem 3rem .625rem 2rem;\\n}\\n\\n.filter_filter-input_1iiEt::-ms-input-placeholder {\\n opacity: .5;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n font-size: 0.875rem;\\n letter-spacing: 0.15px;\\n}\\n\\n.filter_filter-input_1iiEt::placeholder {\\n opacity: .5;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n font-size: 0.875rem;\\n letter-spacing: 0.15px;\\n}\\n\\n[dir=\\\"ltr\\\"] .filter_filter-input_1iiEt::-ms-input-placeholder {\\n padding: 0 0 0 0.25rem;\\n}\\n\\n[dir=\\\"ltr\\\"] .filter_filter-input_1iiEt::placeholder {\\n padding: 0 0 0 0.25rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .filter_filter-input_1iiEt::-ms-input-placeholder {\\n padding: 0 0.25rem 0 0;\\n}\\n\\n[dir=\\\"rtl\\\"] .filter_filter-input_1iiEt::placeholder {\\n padding: 0 0.25rem 0 0;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"filter\": \"filter_filter_1JFal\",\n\t\"filter-icon\": \"filter_filter-icon_3Pfaw\",\n\t\"filterIcon\": \"filter_filter-icon_3Pfaw\",\n\t\"x-icon-wrapper\": \"filter_x-icon-wrapper_1rP2w\",\n\t\"xIconWrapper\": \"filter_x-icon-wrapper_1rP2w\",\n\t\"is-active\": \"filter_is-active_3PvfA\",\n\t\"isActive\": \"filter_is-active_3PvfA\",\n\t\"x-icon\": \"filter_x-icon_zjpOg\",\n\t\"xIcon\": \"filter_x-icon_zjpOg\",\n\t\"filter-input\": \"filter_filter-input_1iiEt\",\n\t\"filterInput\": \"filter_filter-input_1iiEt\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n.input_input-form_l9eYg {\\n height: 2rem;\\n padding: 0 0.75rem;\\n\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 0.625rem;\\n font-weight: bold;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n\\n border-width: 1px;\\n border-style: solid;\\n border-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 2rem;\\n\\n outline: none;\\n cursor: text;\\n transition: 0.25s ease-out; /* @todo: standardize with var */\\n box-shadow: none;\\n\\n /*\\n For truncating overflowing text gracefully\\n Min-width is for a bug: https://css-tricks.com/flexbox-truncated-text\\n @todo: move this out into a mixin or a helper component\\n */\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-width: 0;\\n}\\n\\n[theme=\\\"dark\\\"] .input_input-form_l9eYg {\\n background-color: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n}\\n\\n.input_input-form_l9eYg:hover {\\n border-color: hsla(0, 100%, 65%, 1);\\n}\\n\\n[theme=\\\"dark\\\"] .input_input-form_l9eYg:hover {\\n border-color: #333;\\n}\\n\\n.input_input-form_l9eYg:focus {\\n border-color: hsla(0, 100%, 65%, 1);\\n box-shadow: 0 0 0 0.25rem hsla(0, 100%, 65%, 0.35);\\n}\\n\\n[theme=\\\"dark\\\"] .input_input-form_l9eYg:focus {\\n border-color: #333;\\n}\\n\\n.input_input-small_2qj1C {\\n width: 3rem;\\n padding: 0 0.5rem;\\n text-overflow: clip;\\n text-align: center;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"input-form\": \"input_input-form_l9eYg\",\n\t\"inputForm\": \"input_input-form_l9eYg\",\n\t\"input-small\": \"input_input-small_2qj1C\",\n\t\"inputSmall\": \"input_input-small_2qj1C\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n.label_input-group_2vTky {\\n display: inline-flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.label_input-group-column_22FuU {\\n display: inline-flex;\\n flex-direction: column;\\n align-items: flex-start;\\n}\\n\\n.label_input-group-column_22FuU span {\\n margin-bottom: .25rem;\\n}\\n\\n.label_input-label_3KjCa, .label_input-label-secondary_3QDNV {\\n font-size: 0.625rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n cursor: default;\\n\\n white-space: nowrap;\\n}\\n\\n[dir=\\\"ltr\\\"] .label_input-label_3KjCa, [dir=\\\"ltr\\\"] .label_input-label-secondary_3QDNV {\\n margin-right: .5rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .label_input-label_3KjCa, [dir=\\\"rtl\\\"] .label_input-label-secondary_3QDNV {\\n margin-left: .5rem;\\n}\\n\\n.label_input-label_3KjCa {\\n font-weight: bold;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"input-group\": \"label_input-group_2vTky\",\n\t\"inputGroup\": \"label_input-group_2vTky\",\n\t\"input-group-column\": \"label_input-group-column_22FuU\",\n\t\"inputGroupColumn\": \"label_input-group-column_22FuU\",\n\t\"input-label\": \"label_input-label_3KjCa\",\n\t\"inputLabel\": \"label_input-label_3KjCa\",\n\t\"input-label-secondary\": \"label_input-label-secondary_3QDNV\",\n\t\"inputLabelSecondary\": \"label_input-label-secondary_3QDNV\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .green-flag_green-flag_1kiAo {\\n width: 2rem;\\n height: 2rem;\\n padding: 0.375rem;\\n border-radius: 0.25rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n user-drag: none;\\n cursor: pointer;\\n} .green-flag_green-flag_1kiAo:hover {\\n background-color: hsla(0, 100%, 65%, 0.15);\\n} .green-flag_green-flag_1kiAo.green-flag_is-active_2oExT {\\n background-color: hsla(0, 100%, 65%, 0.35);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"green-flag\": \"green-flag_green-flag_1kiAo\",\n\t\"greenFlag\": \"green-flag_green-flag_1kiAo\",\n\t\"is-active\": \"green-flag_is-active_2oExT\",\n\t\"isActive\": \"green-flag_is-active_2oExT\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n/*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/\\n\\n/* Toolbox z-index: 40; set in scratch-blocks */\\n\\n/* tooltips should go over add buttons if they overlap */\\n\\n/* monitors go over add buttons */\\n\\n/* \\\"ask\\\" block text input goes above monitors */\\n\\n/* menu-bar should go over monitors, alerts and tutorials */\\n\\n/* tw: show below menu bar normally */\\n\\n/* Block drag z-index: 1000; default 50 is overriden in blocks.css */\\n\\n/* so it is draggable into other panes */\\n\\n/* in most interfaces, the context menu is always on top */\\n\\n.gui_page-wrapper_1cgy0 {\\n height: 100%;\\n}\\n\\n.gui_body-wrapper_-N0sA {\\n height: calc(100% - 3rem);\\n background-color: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n}\\n\\n.gui_body-wrapper_-N0sA * {\\n box-sizing: border-box;\\n}\\n\\n.gui_flex-wrapper_uXHkj {\\n display: flex;\\n\\n /*\\n Make 2 columns:\\n a) for the blocks + workspace panes, and\\n b) for combined stage menu + stage + sprite/stage selectors\\n */\\n flex-direction: row;\\n height: 100%;\\n\\n /*\\n Stop scrollbar popping in and out from scratch-blocks border issue\\n https://github.com/LLK/scratch-gui/issues/318\\n */\\n overflow: hidden;\\n}\\n\\n.gui_editor-wrapper_2DYcj {\\n /*\\n This is carefully balanced-- the minimum width at which the GUI will be displayed is 1024px.\\n At that size, the stage pane is 408px wide, with $space of padding to each side.\\n However, we must also add the border width to the stage pane. All-in-all, the stage pane's final width is\\n 408px + ($space + $stage-standard-border-width * 2) (one border & padding per left/right side).\\n\\n @todo This is in place to prevent \\\"doubling up\\\" of horizontal scrollbars in narrow windows, but there are likely\\n much better ways to solve that (e.g. undo #2124, remove this flex-basis entirely). However, they run their own\\n risks of breaking things, so let's just leave this as-is for the time being.\\n */\\n flex-basis: calc(1024px - 408px - ((0.5rem + 0.0625rem) * 2));\\n flex-grow: 1;\\n flex-shrink: 0;\\n position: relative;\\n\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.gui_tab-list_87TYM {\\n height: 2.75rem;\\n width: 250px; /* Match width of the toolbox */\\n display: flex;\\n align-items: flex-end;\\n flex-shrink: 0;\\n\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-weight: 500;\\n font-size: 0.80rem;\\n\\n /* Overrides for react-tabs styling */\\n margin: 0 !important;\\n border-bottom: 0 !important;\\n}\\n\\n.gui_tab_27Unf {\\n flex-grow: 1;\\n height: 80%;\\n margin-bottom: 0;\\n\\n border-radius: 1rem 1rem 0 0;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n\\n padding: 0.125rem 1.25rem 0;\\n font-size: 0.75rem;\\n\\n background-color: var(--ui-tertiary, hsla(215, 50%, 90%, 1));\\n color: hsla(225, 15%, 40%, 0.75);\\n\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\\n -webkit-user-select: none;\\n\\n -moz-user-select: none;\\n\\n -ms-user-select: none;\\n\\n user-select: none;\\n white-space: nowrap;\\n}\\n\\n[theme=\\\"dark\\\"] .gui_tab_27Unf {\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n}\\n\\n[dir=\\\"ltr\\\"] .gui_tab_27Unf {\\n margin-left: -0.5rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .gui_tab_27Unf {\\n margin-right: -0.5rem;\\n}\\n\\n[dir=\\\"ltr\\\"] .gui_tab_27Unf:nth-of-type(1) {\\n margin-left: 0;\\n}\\n\\n[dir=\\\"rtl\\\"] .gui_tab_27Unf:nth-of-type(1) {\\n margin-right: 0;\\n}\\n\\n/* Use z-indices to force left-on-top for tabs */\\n\\n.gui_tab_27Unf:nth-of-type(1) {\\n z-index: 3;\\n}\\n\\n.gui_tab_27Unf:nth-of-type(2) {\\n z-index: 2;\\n}\\n\\n.gui_tab_27Unf:nth-of-type(3) {\\n z-index: 1;\\n}\\n\\n.gui_tab_27Unf:hover {\\n background-color: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n}\\n\\n[theme=\\\"dark\\\"] .gui_tab_27Unf:hover {\\n background-color: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n}\\n\\n.gui_tab_27Unf.gui_is-selected_sHAiu {\\n height: 90%;\\n color: hsla(0, 100%, 65%, 1);\\n background-color: hsla(0, 100%, 100%, 1);\\n z-index: 4; /* Make sure selected is always above */\\n}\\n\\n[theme=\\\"dark\\\"] .gui_tab_27Unf.gui_is-selected_sHAiu {\\n background-color: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n}\\n\\n.gui_tab_27Unf img {\\n width: 1.375rem;\\n filter: grayscale(100%);\\n}\\n\\n[dir=\\\"ltr\\\"] .gui_tab_27Unf img {\\n margin-right: 0.125rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .gui_tab_27Unf img {\\n margin-left: 0.125rem;\\n}\\n\\n/* mirror blocks and sound tab icons */\\n\\n[dir=\\\"rtl\\\"] .gui_tab_27Unf:nth-of-type(1) img {\\n transform: scaleX(-1);\\n}\\n\\n[dir=\\\"rtl\\\"] .gui_tab_27Unf:nth-of-type(3) img {\\n transform: scaleX(-1);\\n}\\n\\n.gui_tab_27Unf.gui_is-selected_sHAiu img {\\n filter: none;\\n}\\n\\n/* Tab style overrides from react-tabs */\\n\\n.gui_tab_27Unf.gui_is-selected_sHAiu:after {\\n display: none;\\n}\\n\\n.gui_tab_27Unf.gui_is-selected_sHAiu:focus {\\n outline: none;\\n box-shadow: none;\\n border-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\\n.gui_tab_27Unf.gui_is-selected_sHAiu:focus:after {\\n display: none;\\n}\\n\\n/* Body of the tabs */\\n\\n.gui_tabs_AgmuP {\\n position: relative;\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.gui_tab-panel_22sLx {\\n position: relative;\\n flex-grow: 1;\\n display: none;\\n}\\n\\n.gui_tab-panel_22sLx.gui_is-selected_sHAiu {\\n display: flex;\\n}\\n\\n.gui_blocks-wrapper_1ccgf {\\n flex-grow: 1;\\n position: relative;\\n}\\n\\n.gui_stage-and-target-wrapper_69KBf {\\n /*\\n Makes rows for children:\\n 1) stage menu\\n 2) stage\\n 3) sprite/stage selectors\\n Only reason we need this, is so .targetWrapper, which holds the selectors,\\n goes to full vertical height of the window\\n */\\n display: flex;\\n flex-direction: column;\\n /* pad entire wrapper to the left and right; allow children to fill width */\\n padding-left: 0.5rem;\\n padding-right: 0.5rem;\\n\\n /* this will only ever be as wide as the stage */\\n flex-basis: 0;\\n}\\n\\n.gui_target-wrapper_36Gbz {\\n display: flex;\\n flex-grow: 1;\\n flex-basis: 0;\\n\\n padding-top: 0.5rem;\\n min-height: 0; /* this makes it work in Firefox */\\n\\n /*\\n For making the sprite-selector a scrollable pane\\n @todo: Not working in Safari\\n */\\n /* TODO this also breaks the thermometer menu */\\n /* overflow: hidden; */\\n}\\n\\n.gui_extension-button-container_b4rCs {\\n width: 3.75rem;\\n height: 3.25rem;\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 42;\\n background: hsla(0, 100%, 65%, 1);\\n\\n border: 1px solid hsla(0, 100%, 65%, 1);\\n box-sizing: content-box; /* To match scratch-block vertical toolbox borders */\\n}\\n\\n.gui_extension-button-container_b4rCs:before {\\n content: \\\"\\\";\\n position: absolute;\\n top: calc(calc(-1 * 15px) - 1px);\\n left: -1px;\\n background: linear-gradient(rgba(0, 0, 0, 0),rgba(0, 0, 0, 0.15));\\n height: 15px;\\n width: calc(100% + 0.5px);\\n}\\n\\n.gui_extension-button_2T7PA {\\n background: none;\\n border: none;\\n outline: none;\\n width: 100%;\\n height: 100%;\\n cursor: pointer;\\n}\\n\\n.gui_extension-button-icon_S4gDk {\\n width: 1.75rem;\\n height: 1.75rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .gui_extension-button-icon_S4gDk {\\n transform: scaleX(-1);\\n}\\n\\n.gui_extension-button_2T7PA > div {\\n margin-top: 0;\\n}\\n\\n/* Sprite Selection Watermark */\\n\\n.gui_watermark_3vBYb {\\n position: absolute;\\n top: 1.25rem;\\n pointer-events: none;\\n}\\n\\n[dir=\\\"ltr\\\"] .gui_watermark_3vBYb {\\n right: 1.25rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .gui_watermark_3vBYb {\\n left: 1.25rem;\\n}\\n\\n/* Menu */\\n\\n.gui_menu-bar-position_3U1T0 {\\n position: relative;\\n z-index: 491;\\n}\\n\\n/* Alerts */\\n\\n.gui_alerts-container_15BWp {\\n display: flex;\\n justify-content: center;\\n width: 100%;\\n z-index: 490;\\n position: absolute;\\n margin-top: 53px;\\n pointer-events: none;\\n}\\n\\n/*\\n Make the (background) page not scrollable when modals are open\\n This CSS class is automatically added to the body when react-modal is open\\n*/\\n\\n.ReactModal__Body--open {\\n overflow: hidden;\\n}\\n\\n/* tw: tw: when window is fullscreen, put a solid white background behind the stage */\\n\\n.gui_fullscreen-background_3g8mV {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n /* if the user-specified background color can't be understood by the browser, default to white */\\n background-color: white;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"page-wrapper\": \"gui_page-wrapper_1cgy0\",\n\t\"pageWrapper\": \"gui_page-wrapper_1cgy0\",\n\t\"body-wrapper\": \"gui_body-wrapper_-N0sA\",\n\t\"bodyWrapper\": \"gui_body-wrapper_-N0sA\",\n\t\"flex-wrapper\": \"gui_flex-wrapper_uXHkj\",\n\t\"flexWrapper\": \"gui_flex-wrapper_uXHkj\",\n\t\"editor-wrapper\": \"gui_editor-wrapper_2DYcj\",\n\t\"editorWrapper\": \"gui_editor-wrapper_2DYcj\",\n\t\"tab-list\": \"gui_tab-list_87TYM\",\n\t\"tabList\": \"gui_tab-list_87TYM\",\n\t\"tab\": \"gui_tab_27Unf\",\n\t\"is-selected\": \"gui_is-selected_sHAiu\",\n\t\"isSelected\": \"gui_is-selected_sHAiu\",\n\t\"tabs\": \"gui_tabs_AgmuP\",\n\t\"tab-panel\": \"gui_tab-panel_22sLx\",\n\t\"tabPanel\": \"gui_tab-panel_22sLx\",\n\t\"blocks-wrapper\": \"gui_blocks-wrapper_1ccgf\",\n\t\"blocksWrapper\": \"gui_blocks-wrapper_1ccgf\",\n\t\"stage-and-target-wrapper\": \"gui_stage-and-target-wrapper_69KBf\",\n\t\"stageAndTargetWrapper\": \"gui_stage-and-target-wrapper_69KBf\",\n\t\"target-wrapper\": \"gui_target-wrapper_36Gbz\",\n\t\"targetWrapper\": \"gui_target-wrapper_36Gbz\",\n\t\"extension-button-container\": \"gui_extension-button-container_b4rCs\",\n\t\"extensionButtonContainer\": \"gui_extension-button-container_b4rCs\",\n\t\"extension-button\": \"gui_extension-button_2T7PA\",\n\t\"extensionButton\": \"gui_extension-button_2T7PA\",\n\t\"extension-button-icon\": \"gui_extension-button-icon_S4gDk\",\n\t\"extensionButtonIcon\": \"gui_extension-button-icon_S4gDk\",\n\t\"watermark\": \"gui_watermark_3vBYb\",\n\t\"menu-bar-position\": \"gui_menu-bar-position_3U1T0\",\n\t\"menuBarPosition\": \"gui_menu-bar-position_3U1T0\",\n\t\"alerts-container\": \"gui_alerts-container_15BWp\",\n\t\"alertsContainer\": \"gui_alerts-container_15BWp\",\n\t\"fullscreen-background\": \"gui_fullscreen-background_3g8mV\",\n\t\"fullscreenBackground\": \"gui_fullscreen-background_3g8mV\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .icon-button_container_278u5 {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n cursor: pointer;\\n font-size: 0.75rem;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n color: hsla(0, 100%, 65%, 1);\\n border-radius: 0.5rem;\\n} .icon-button_container_278u5 + .icon-button_container_278u5 {\\n margin-top: 1.25rem;\\n} .icon-button_title_36ChS {\\n margin-top: 0.5rem;\\n text-align: center;\\n} .icon-button_disabled_2HD_J {\\n opacity: 0.5;\\n pointer-events: none;\\n} .icon-button_container_278u5:active {\\n background-color: hsla(0, 100%, 65%, 0.15);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"container\": \"icon-button_container_278u5\",\n\t\"title\": \"icon-button_title_36ChS\",\n\t\"disabled\": \"icon-button_disabled_2HD_J\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ /* Position the language select over the language icon, and make it transparent */ .language-selector_language-select_8Vfnm {\\n position: absolute;\\n width: 3rem;\\n height: 3rem;\\n opacity: 0;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: .875rem;\\n color: hsla(225, 15%, 40%, 1);\\n background: hsla(0, 100%, 100%, 1);\\n} [theme=\\\"dark\\\"] .language-selector_language-select_8Vfnm {\\n color: hsla(0, 100%, 100%, 1);\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} [dir=\\\"ltr\\\"] .language-selector_language-select_8Vfnm {\\n right: 0;\\n} [dir=\\\"rtl\\\"] .language-selector_language-select_8Vfnm {\\n left: 0;\\n} .language-selector_language-select_8Vfnm option {\\n opacity: 1;\\n} .language-selector_language-select_8Vfnm:focus {\\n border: 1px solid white;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"language-select\": \"language-selector_language-select_8Vfnm\",\n\t\"languageSelect\": \"language-selector_language-select_8Vfnm\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .library-item_library-item_1DcMO {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: flex-start;\\n flex-basis: 160px;\\n position: relative;\\n height: 160px;\\n max-width: 160px;\\n margin: 0.5rem;\\n padding: 1rem 1rem 0 1rem;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n background: white;\\n border-width: 2px;\\n border-style: solid;\\n border-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0.5rem;\\n text-align: center;\\n cursor: pointer;\\n} [theme=\\\"dark\\\"] .library-item_library-item_1DcMO {\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} .library-item_library-item-extension_3xus9 {\\n align-self: stretch;\\n} .library-item_library-item_1DcMO:hover {\\n border-width: 2px;\\n border-color: hsla(0, 100%, 65%, 1);\\n} .library-item_hidden_1ILc7 {\\n display: none;\\n} .library-item_disabled_1-aDH {\\n opacity: .5;\\n cursor: auto;\\n} .library-item_disabled_1-aDH:hover {\\n border-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} .library-item_library-item-image-container-wrapper_x4EWB {\\n height: 100px;\\n width: 100%;\\n position: relative;\\n} .library-item_library-item-image-container_3dqjX {\\n position: absolute;\\n height: 100px;\\n width: 100%;\\n} .library-item_library-item-inset-image-container_3PLJ1 {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin-top: -2.5rem;\\n align-self: flex-start;\\n background-color: hsla(163, 85%, 40%, 1);\\n width: 3.5rem;\\n height: 3.5rem;\\n border-radius: 0.5rem;\\n border: 0.25rem solid hsla(0, 100%, 100%, 1);\\n} [dir=\\\"ltr\\\"] .library-item_library-item-inset-image-container_3PLJ1 {\\n margin-left: 1rem;\\n} [dir=\\\"rtl\\\"] .library-item_library-item-inset-image-container_3PLJ1 {\\n margin-right: 1rem;\\n} .library-item_library-item-image_2bORn {\\n max-width: 100%;\\n max-height: 100%;\\n} .library-item_library-item-inset-image_17Tmt {\\n width: 2.5rem;\\n} .library-item_library-item-name_2qMXu {\\n width: 80%;\\n margin: 0.25rem 0;\\n text-align: center;\\n\\n /*\\n For truncating overflowing text gracefully\\n Min-width is for a bug: https://css-tricks.com/flexbox-truncated-text\\n */\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-width: 0;\\n} .library-item_featured-item_3V2-t {\\n flex-basis: 300px;\\n max-width: 300px;\\n height: auto;\\n overflow: hidden;\\n padding: 0;\\n} .library-item_featured-image-container_1KIHG {\\n position: relative;\\n width: 100%;\\n} .library-item_featured-image_2gwZ6 {\\n width: 100%;\\n aspect-ratio: 2;\\n} .library-item_featured-text_2KFel {\\n font-weight: bold;\\n padding: 10px;\\n /* height: 140px; */\\n width: 300px;\\n} [dir=\\\"ltr\\\"] .library-item_featured-extension-text_22A1k {\\n text-align: left;\\n padding-left: 1.25rem;\\n} [dir=\\\"rtl\\\"] .library-item_featured-extension-text_22A1k {\\n text-align: right;\\n padding-right: 1.25rem;\\n} .library-item_featured-description_MjIJw {\\n display: block;\\n font-weight: normal;\\n line-height: 1.375rem;\\n padding-top: .3125rem;\\n padding-bottom: .25rem;\\n} .library-item_featured-extension-metadata_3D8E8 {\\n width: 100%;\\n padding: 0 1.25rem 1rem 1.25rem;\\n display: flex;\\n flex-direction: row;\\n align-items: flex-start;\\n font-size: 12px;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n opacity: 0.75;\\n} [dir=\\\"ltr\\\"] .library-item_featured-extension-metadata_3D8E8 {\\n text-align: left;\\n} [dir=\\\"rtl\\\"] .library-item_featured-extension-metadata_3D8E8 {\\n text-align: right;\\n} .library-item_featured-extension-requirement_2u2IO {\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n} .library-item_featured-extension-collaboration_2dGS9 {\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n} .library-item_featured-extension-metadata-detail_1M9BV {\\n height: 100%;\\n padding-top: 0.4rem;\\n font-weight: bold;\\n} .library-item_featured-extension-metadata-detail_1M9BV img {\\n margin-right: 0.25rem;\\n width: 20px;\\n height: 20px;\\n} .library-item_extension-links_3wgib {\\n width: 300px;\\n padding: 0 1.25rem 1rem 1.25rem;\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n opacity: 0.75;\\n text-align: left;\\n} .library-item_extension-links_3wgib a {\\n color: inherit !important;\\n text-decoration: underline;\\n} .library-item_coming-soon-text_30OPh {\\n position: absolute;\\n background-color: hsla(30, 100%, 55%, 1);\\n border-radius: 1rem;\\n box-shadow: 0 0 .5rem hsla(0, 0%, 0%, .25);\\n padding: .5rem 1rem;\\n font-size: .875rem;\\n font-weight: bold;\\n color: hsla(0, 100%, 100%, 1);\\n} [dir=\\\"ltr\\\"] .library-item_coming-soon-text_30OPh {\\n transform: translate(calc(2 * 0.5rem), calc(2 * 0.5rem));\\n} [dir=\\\"rtl\\\"] .library-item_coming-soon-text_30OPh {\\n transform: translate(calc(-2 * 0.5rem), calc(2 * 0.5rem));\\n} .library-item_favorite-container_2M2ay {\\n display: none;\\n background: none;\\n border: none;\\n padding: 0;\\n margin: 0;\\n position: absolute;\\n top: 0.5rem;\\n left: 0.5rem;\\n} .library-item_favorite-icon_1ENdX {\\n width: 32px;\\n height: 32px;\\n} .library-item_favorite-container_2M2ay.library-item_active_2mL0e,\\n.library-item_library-item_1DcMO:hover .library-item_favorite-container_2M2ay {\\n display: block;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"library-item\": \"library-item_library-item_1DcMO\",\n\t\"libraryItem\": \"library-item_library-item_1DcMO\",\n\t\"library-item-extension\": \"library-item_library-item-extension_3xus9\",\n\t\"libraryItemExtension\": \"library-item_library-item-extension_3xus9\",\n\t\"hidden\": \"library-item_hidden_1ILc7\",\n\t\"disabled\": \"library-item_disabled_1-aDH\",\n\t\"library-item-image-container-wrapper\": \"library-item_library-item-image-container-wrapper_x4EWB\",\n\t\"libraryItemImageContainerWrapper\": \"library-item_library-item-image-container-wrapper_x4EWB\",\n\t\"library-item-image-container\": \"library-item_library-item-image-container_3dqjX\",\n\t\"libraryItemImageContainer\": \"library-item_library-item-image-container_3dqjX\",\n\t\"library-item-inset-image-container\": \"library-item_library-item-inset-image-container_3PLJ1\",\n\t\"libraryItemInsetImageContainer\": \"library-item_library-item-inset-image-container_3PLJ1\",\n\t\"library-item-image\": \"library-item_library-item-image_2bORn\",\n\t\"libraryItemImage\": \"library-item_library-item-image_2bORn\",\n\t\"library-item-inset-image\": \"library-item_library-item-inset-image_17Tmt\",\n\t\"libraryItemInsetImage\": \"library-item_library-item-inset-image_17Tmt\",\n\t\"library-item-name\": \"library-item_library-item-name_2qMXu\",\n\t\"libraryItemName\": \"library-item_library-item-name_2qMXu\",\n\t\"featured-item\": \"library-item_featured-item_3V2-t\",\n\t\"featuredItem\": \"library-item_featured-item_3V2-t\",\n\t\"featured-image-container\": \"library-item_featured-image-container_1KIHG\",\n\t\"featuredImageContainer\": \"library-item_featured-image-container_1KIHG\",\n\t\"featured-image\": \"library-item_featured-image_2gwZ6\",\n\t\"featuredImage\": \"library-item_featured-image_2gwZ6\",\n\t\"featured-text\": \"library-item_featured-text_2KFel\",\n\t\"featuredText\": \"library-item_featured-text_2KFel\",\n\t\"featured-extension-text\": \"library-item_featured-extension-text_22A1k\",\n\t\"featuredExtensionText\": \"library-item_featured-extension-text_22A1k\",\n\t\"featured-description\": \"library-item_featured-description_MjIJw\",\n\t\"featuredDescription\": \"library-item_featured-description_MjIJw\",\n\t\"featured-extension-metadata\": \"library-item_featured-extension-metadata_3D8E8\",\n\t\"featuredExtensionMetadata\": \"library-item_featured-extension-metadata_3D8E8\",\n\t\"featured-extension-requirement\": \"library-item_featured-extension-requirement_2u2IO\",\n\t\"featuredExtensionRequirement\": \"library-item_featured-extension-requirement_2u2IO\",\n\t\"featured-extension-collaboration\": \"library-item_featured-extension-collaboration_2dGS9\",\n\t\"featuredExtensionCollaboration\": \"library-item_featured-extension-collaboration_2dGS9\",\n\t\"featured-extension-metadata-detail\": \"library-item_featured-extension-metadata-detail_1M9BV\",\n\t\"featuredExtensionMetadataDetail\": \"library-item_featured-extension-metadata-detail_1M9BV\",\n\t\"extension-links\": \"library-item_extension-links_3wgib\",\n\t\"extensionLinks\": \"library-item_extension-links_3wgib\",\n\t\"coming-soon-text\": \"library-item_coming-soon-text_30OPh\",\n\t\"comingSoonText\": \"library-item_coming-soon-text_30OPh\",\n\t\"favorite-container\": \"library-item_favorite-container_2M2ay\",\n\t\"favoriteContainer\": \"library-item_favorite-container_2M2ay\",\n\t\"favorite-icon\": \"library-item_favorite-icon_1ENdX\",\n\t\"favoriteIcon\": \"library-item_favorite-icon_1ENdX\",\n\t\"active\": \"library-item_active_2mL0e\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n.library_library-scroll-grid_1jyXm {\\n display: flex;\\n justify-content: flex-start;\\n align-content: flex-start;\\n align-items: flex-start;\\n background: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n flex-grow: 1;\\n flex-wrap: wrap;\\n overflow-y: auto;\\n height: auto;\\n padding: 0.5rem;\\n height: calc(100% - 3.125rem);\\n}\\n\\n.library_library-scroll-grid_1jyXm.library_withFilterBar_26Opm {\\n height: calc(100% - 3.125rem - 2.5rem - 2rem);\\n}\\n\\n.library_filter-bar_1W0DW {\\n display: flex;\\n flex-direction: row;\\n justify-content: flex-start;\\n align-items: center;\\n height: calc(2.5rem + 2rem); /* padding */\\n background-color: hsla(0, 100%, 65%, 0.35);\\n padding: 0 1rem;\\n font-size: .875rem;\\n}\\n\\n.library_filter-bar-item_99aoX {\\n margin-right: .75rem;\\n}\\n\\n.library_filter_2k-oj {\\n flex-grow: 0;\\n}\\n\\n.library_filter-input_6w2X2 {\\n width: 11.5rem;\\n transition: .2s;\\n}\\n\\n.library_filter-input_6w2X2:focus,\\n.library_filter-input_6w2X2:not([value=\\\"\\\"]) {\\n width: 18.75rem;\\n}\\n\\n.library_divider_2xD3D {\\n transform: scaleY(1.39);\\n height: 2.5rem;\\n}\\n\\n.library_tag-wrapper_2-QEQ {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n height: 2.5rem;\\n overflow: hidden;\\n}\\n\\n.library_spinner-wrapper_1C8Ew {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"library-scroll-grid\": \"library_library-scroll-grid_1jyXm\",\n\t\"libraryScrollGrid\": \"library_library-scroll-grid_1jyXm\",\n\t\"withFilterBar\": \"library_withFilterBar_26Opm\",\n\t\"filter-bar\": \"library_filter-bar_1W0DW\",\n\t\"filterBar\": \"library_filter-bar_1W0DW\",\n\t\"filter-bar-item\": \"library_filter-bar-item_99aoX\",\n\t\"filterBarItem\": \"library_filter-bar-item_99aoX\",\n\t\"filter\": \"library_filter_2k-oj\",\n\t\"filter-input\": \"library_filter-input_6w2X2\",\n\t\"filterInput\": \"library_filter-input_6w2X2\",\n\t\"divider\": \"library_divider_2xD3D\",\n\t\"tag-wrapper\": \"library_tag-wrapper_2-QEQ\",\n\t\"tagWrapper\": \"library_tag-wrapper_2-QEQ\",\n\t\"spinner-wrapper\": \"library_spinner-wrapper_1C8Ew\",\n\t\"spinnerWrapper\": \"library_spinner-wrapper_1C8Ew\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/ /* Toolbox z-index: 40; set in scratch-blocks */ /* tooltips should go over add buttons if they overlap */ /* monitors go over add buttons */ /* \\\"ask\\\" block text input goes above monitors */ /* menu-bar should go over monitors, alerts and tutorials */ /* tw: show below menu bar normally */ /* Block drag z-index: 1000; default 50 is overriden in blocks.css */ /* so it is draggable into other panes */ /* in most interfaces, the context menu is always on top */ .loader_background_2DPrW {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 490;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n background-color: hsla(0, 100%, 65%, 1);\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n text-align: center;\\n color: white;\\n} [theme=\\\"dark\\\"] .loader_background_2DPrW {\\n background-color: #333;\\n} .loader_fullscreen_29EhP {\\n /* Break out of the layout using position: fixed to cover the whole screen */\\n position: fixed;\\n /* Use the fullscreen stage z-index to allow covering full-screen mode */\\n z-index: 500;\\n} .loader_block-animation_12MqO {\\n width: 125px;\\n height: 150px;\\n margin: 50px auto 0px;\\n} .loader_block-animation_12MqO img {\\n display: block;\\n position: relative;\\n height: 30%;\\n margin-top: -4px;\\n} .loader_top-block_3P7pK {\\n animation: loader_top-slide-in_8ngR8 1.5s ease infinite;\\n} .loader_middle-block_CKcTg {\\n animation: loader_middle-slide-in_In2DU 1.5s ease infinite;\\n} .loader_bottom-block_1-3rO {\\n animation: loader_bottom-slide-in_2DZ1B 1.5s ease infinite;\\n} [dir=\\\"rtl\\\"] .loader_top-block_3P7pK {\\n animation: loader_top-slide-in-rtl_1vHi4 1.5s ease infinite;\\n} [dir=\\\"rtl\\\"] .loader_middle-block_CKcTg {\\n animation: loader_middle-slide-in-rtl_21ALw 1.5s ease infinite;\\n} [dir=\\\"rtl\\\"] .loader_bottom-block_1-3rO {\\n animation: loader_bottom-slide-in-rtl_3kdB0 1.5s ease infinite;\\n} @keyframes loader_top-slide-in_8ngR8 {\\n 0% {\\n transform: translateY(50px);\\n opacity: 0;\\n }\\n\\n 33% {\\n transform: translateY(0px);\\n opacity: 1;\\n }\\n} @keyframes loader_middle-slide-in_In2DU {\\n 0% {\\n transform: translateY(50px);\\n opacity: 0;\\n }\\n\\n 33% {\\n transform: translateY(50px);\\n opacity: 0;\\n }\\n\\n 66% {\\n transform: translateY(0px);\\n opacity: 1;\\n }\\n} @keyframes loader_bottom-slide-in_2DZ1B {\\n 0% {\\n transform: translateY(50px);\\n opacity: 0;\\n }\\n\\n 66% {\\n transform: translateY(50px);\\n opacity: 0;\\n }\\n\\n 100% {\\n transform: translateY(0px);\\n opacity: 1;\\n }\\n} @keyframes loader_top-slide-in-rtl_1vHi4 {\\n 0% {\\n transform: translateY(50px) scaleX(-1);\\n opacity: 0;\\n }\\n\\n 33% {\\n transform: translateY(0px) scaleX(-1);\\n opacity: 1;\\n }\\n 100% {\\n transform: translateY(0px) scaleX(-1);\\n opacity: 1;\\n }\\n} @keyframes loader_middle-slide-in-rtl_21ALw {\\n 0% {\\n transform: translateY(50px) scaleX(-1);\\n opacity: 0;\\n }\\n\\n 33% {\\n transform: translateY(50px) scaleX(-1);\\n opacity: 0;\\n }\\n\\n 66% {\\n transform: translateY(0px) scaleX(-1);\\n opacity: 1;\\n }\\n 100% {\\n transform: translateY(0px) scaleX(-1);\\n opacity: 1;\\n }\\n} @keyframes loader_bottom-slide-in-rtl_3kdB0 {\\n 0% {\\n transform: translateY(50px) scaleX(-1);\\n opacity: 0;\\n }\\n\\n 66% {\\n transform: translateY(50px) scaleX(-1);\\n opacity: 0;\\n }\\n\\n 100% {\\n transform: translateY(0px) scaleX(-1);\\n opacity: 1;\\n }\\n} .loader_title_1tlje {\\n font-size: 2rem;\\n font-weight: bold;\\n margin: 0.75rem 0;\\n} .loader_message-container-outer_3oT0S {\\n height: 30px;\\n overflow: hidden;\\n} .loader_message-container-inner_1L7LX {\\n transition: transform 0.5s;\\n} .loader_message_3yQvj {\\n height: 20px;\\n margin: 5px 0;\\n} .loader_tw-progress-outer_2BGnX {\\n position: relative;\\n width: 250px;\\n height: 5px;\\n border: 1px solid white;\\n margin: auto;\\n} .loader_tw-progress-inner_3hE3h {\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 0;\\n background-color: white;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"background\": \"loader_background_2DPrW\",\n\t\"fullscreen\": \"loader_fullscreen_29EhP\",\n\t\"block-animation\": \"loader_block-animation_12MqO\",\n\t\"blockAnimation\": \"loader_block-animation_12MqO\",\n\t\"top-block\": \"loader_top-block_3P7pK\",\n\t\"topBlock\": \"loader_top-block_3P7pK\",\n\t\"top-slide-in\": \"loader_top-slide-in_8ngR8\",\n\t\"topSlideIn\": \"loader_top-slide-in_8ngR8\",\n\t\"middle-block\": \"loader_middle-block_CKcTg\",\n\t\"middleBlock\": \"loader_middle-block_CKcTg\",\n\t\"middle-slide-in\": \"loader_middle-slide-in_In2DU\",\n\t\"middleSlideIn\": \"loader_middle-slide-in_In2DU\",\n\t\"bottom-block\": \"loader_bottom-block_1-3rO\",\n\t\"bottomBlock\": \"loader_bottom-block_1-3rO\",\n\t\"bottom-slide-in\": \"loader_bottom-slide-in_2DZ1B\",\n\t\"bottomSlideIn\": \"loader_bottom-slide-in_2DZ1B\",\n\t\"top-slide-in-rtl\": \"loader_top-slide-in-rtl_1vHi4\",\n\t\"topSlideInRtl\": \"loader_top-slide-in-rtl_1vHi4\",\n\t\"middle-slide-in-rtl\": \"loader_middle-slide-in-rtl_21ALw\",\n\t\"middleSlideInRtl\": \"loader_middle-slide-in-rtl_21ALw\",\n\t\"bottom-slide-in-rtl\": \"loader_bottom-slide-in-rtl_3kdB0\",\n\t\"bottomSlideInRtl\": \"loader_bottom-slide-in-rtl_3kdB0\",\n\t\"title\": \"loader_title_1tlje\",\n\t\"message-container-outer\": \"loader_message-container-outer_3oT0S\",\n\t\"messageContainerOuter\": \"loader_message-container-outer_3oT0S\",\n\t\"message-container-inner\": \"loader_message-container-inner_1L7LX\",\n\t\"messageContainerInner\": \"loader_message-container-inner_1L7LX\",\n\t\"message\": \"loader_message_3yQvj\",\n\t\"tw-progress-outer\": \"loader_tw-progress-outer_2BGnX\",\n\t\"twProgressOuter\": \"loader_tw-progress-outer_2BGnX\",\n\t\"tw-progress-inner\": \"loader_tw-progress-inner_3hE3h\",\n\t\"twProgressInner\": \"loader_tw-progress-inner_3hE3h\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .loupe_color-picker_1OaU- {\\n position: absolute;\\n top: 0;\\n left: 0;\\n border-radius: 100%;\\n border: 4px solid hsla(0, 0%, 0%, 0.15);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"color-picker\": \"loupe_color-picker_1OaU-\",\n\t\"colorPicker\": \"loupe_color-picker_1OaU-\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .author-info_author-info_2Pliw {\\n color: hsla(0, 100%, 100%, 1);\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n display: flex;\\n justify-content: flex-start;\\n align-items: center;\\n cursor: default;\\n} .author-info_avatar_31Mo8 {\\n margin-right: .5625rem;\\n} .author-info_project-title_h7Gcj {\\n max-width: 12rem;\\n display: block;\\n overflow: hidden;\\n font-size: 0.875rem;\\n font-weight: bold;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n margin: 0;\\n padding: 0;\\n} .author-info_username-line_18E8B {\\n max-width: 12rem;\\n font-size: 0.75rem;\\n display: block;\\n overflow: hidden;\\n font-weight: normal;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n} .author-info_username_2Ov2- {\\n font-weight: bold;\\n} .author-info_link_3EUX3 {\\n text-decoration: none;\\n color: hsla(0, 100%, 100%, 1) !important;\\n} .author-info_link_3EUX3:hover {\\n text-decoration: underline;\\n} .author-info_link_3EUX3 .author-info_author-info_2Pliw {\\n cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"author-info\": \"author-info_author-info_2Pliw\",\n\t\"authorInfo\": \"author-info_author-info_2Pliw\",\n\t\"avatar\": \"author-info_avatar_31Mo8\",\n\t\"project-title\": \"author-info_project-title_h7Gcj\",\n\t\"projectTitle\": \"author-info_project-title_h7Gcj\",\n\t\"username-line\": \"author-info_username-line_18E8B\",\n\t\"usernameLine\": \"author-info_username-line_18E8B\",\n\t\"username\": \"author-info_username_2Ov2-\",\n\t\"link\": \"author-info_link_3EUX3\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .community-button_community-button_2Lo_g {\\n box-shadow: 0 0 0 1px var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} .community-button_community-button-icon_1IFvv {\\n height: 1.25rem;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"community-button\": \"community-button_community-button_2Lo_g\",\n\t\"communityButton\": \"community-button_community-button_2Lo_g\",\n\t\"community-button-icon\": \"community-button_community-button-icon_1IFvv\",\n\t\"communityButtonIcon\": \"community-button_community-button-icon_1IFvv\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ /*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/ /* Toolbox z-index: 40; set in scratch-blocks */ /* tooltips should go over add buttons if they overlap */ /* monitors go over add buttons */ /* \\\"ask\\\" block text input goes above monitors */ /* menu-bar should go over monitors, alerts and tutorials */ /* tw: show below menu bar normally */ /* Block drag z-index: 1000; default 50 is overriden in blocks.css */ /* so it is draggable into other panes */ /* in most interfaces, the context menu is always on top */ .menu-bar_menu-bar_JcuHF {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n flex-wrap: nowrap;\\n\\n /*\\n For most things, we shouldn't explicitly set height, and let the\\n content push the element to whatever fits. Using a fixed height\\n instead, will help us subtract the value we assign from the body,\\n adding up to a perfect 100%. This means we don't need to set\\n overflow: hidden, which makes it hard to debug. border-box\\n simplifies by all of this by removing padding from the equation.\\n */\\n box-sizing: border-box;\\n height: 3rem;\\n\\n /*\\n @todo: This adds ~20px in Chrome, when scrolling to the right,\\n but fixes [FFx + Safari] [resize window down + scroll to the right] bug.\\n width: 100%;\\n */\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 0.75rem;\\n font-weight: bold;\\n background-color: hsla(0, 100%, 65%, 1);\\n color: hsla(0, 100%, 100%, 1);\\n} [theme=\\\"dark\\\"] .menu-bar_menu-bar_JcuHF {\\n background-color: #333;\\n} .menu-bar_main-menu_3wjWH {\\n display: flex;\\n flex-direction: row;\\n justify-content: flex-start;\\n flex-wrap: nowrap;\\n align-items: center;\\n flex-grow: 1;\\n} .menu-bar_scratch-logo_2uReV {\\n height: 1.6rem;\\n vertical-align: middle;\\n} .menu-bar_scratch-logo_2uReV.menu-bar_clickable_1g3uo {\\n cursor: pointer;\\n} .menu-bar_language-icon_2DZV7 {\\n height: 1.5rem;\\n vertical-align: middle;\\n} .menu-bar_language-caret_16tau {\\n margin: 0 .125rem;\\n} .menu-bar_language-menu_2JEDx {\\n box-sizing: border-box;\\n display: inline-flex;\\n width: 3rem;\\n} .menu-bar_menu-bar-item_oLDa- {\\n display: flex;\\n padding: 0 0.25rem;\\n text-decoration: none;\\n color: hsla(0, 100%, 100%, 1);\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n align-self: center;\\n position: relative;\\n align-items: center;\\n white-space: nowrap;\\n height: 3rem;\\n} .menu-bar_menu-bar-item_oLDa-.menu-bar_hoverable_c6WFB {\\n cursor: pointer;\\n} .menu-bar_menu-bar-item_oLDa-.menu-bar_active_2Lfqh,\\n.menu-bar_menu-bar-item_oLDa-.menu-bar_hoverable_c6WFB:hover {\\n background-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} .menu-bar_menu-bar-item_oLDa-.menu-bar_growable_1sHWN {\\n max-width: 12rem;\\n flex: 1;\\n} .menu-bar_title-field-growable_3qr4G {\\n flex-grow: 1;\\n width: 2rem;\\n} .menu-bar_file-group_1_CHX {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n} .menu-bar_file-group_1_CHX .menu-bar_menu-bar-item_oLDa- {\\n padding: 0 0.75rem;\\n} .menu-bar_menu-bar-item_oLDa-.menu-bar_language-menu_2JEDx {\\n padding: 0 0.5rem;\\n} .menu-bar_menu-bar-menu_239MD {\\n margin-top: 3rem;\\n z-index: 491;\\n} .menu-bar_feedback-link_1BnAR {\\n color: hsla(0, 100%, 65%, 1) !important;\\n text-decoration: none;\\n} [theme=\\\"dark\\\"] .menu-bar_feedback-link_1BnAR {\\n color: #333 !important;\\n} .menu-bar_feedback-button_2rEcj {\\n background-color: hsla(0, 100%, 100%, 1);\\n height: 34px;\\n} .menu-bar_divider_2VFCm {\\n margin: 0 .5rem;\\n height: 34px;\\n} .menu-bar_author-info_22Nub {\\n margin-left: .25rem;\\n margin-right: .6875rem;\\n} .menu-bar_menu-bar-button_3IDN0 {\\n height: 2rem;\\n} .menu-bar_remix-button_2LQQc {\\n background-color: hsla(163, 85%, 40%, 1)\\n} .menu-bar_remix-button-icon_2E93U {\\n height: 1.25rem;\\n} .menu-bar_coming-soon_3yU1L >:not(.menu-bar_coming-soon-tooltip_20GhI) {\\n opacity: 0.5;\\n} .menu-bar_account-info-group_MeJZP {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n} .menu-bar_account-info-group_MeJZP .menu-bar_menu-bar-item_oLDa- {\\n padding: 0 0.75rem;\\n} .menu-bar_mystuff-icon_3DtcD {\\n margin: 0 .25rem;\\n height: 1rem;\\n} .menu-bar_help-icon_3Xtrt {\\n margin-right: 0.35rem;\\n} .menu-bar_account-nav-menu_3uu9p, .menu-bar_mystuff-button_16jPf {\\n padding: 0 .25rem;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n} .menu-bar_profile-icon_2bJkI {\\n margin: 0 .25rem;\\n width: 2rem;\\n border-radius: calc(0.5rem / 2);\\n} .menu-bar_dropdown-caret-icon_FkdUe {\\n width: 0.5rem;\\n height: 0.5rem;\\n} [dir=\\\"ltr\\\"] .menu-bar_dropdown-caret-icon_FkdUe {\\n margin-left: .5rem;\\n} [dir=\\\"rtl\\\"] .menu-bar_dropdown-caret-icon_FkdUe {\\n margin-right: .5rem;\\n} .menu-bar_disabled_3x5sy {\\n opacity: 0.5;\\n} .menu-bar_mystuff_3RiSb > a {\\n background-repeat: no-repeat;\\n background-position: center center;\\n background-size: 45%;\\n padding-right: 10px;\\n padding-left: 10px;\\n width: 30px;\\n overflow: hidden;\\n text-indent: 50px;\\n white-space: nowrap;\\n} .menu-bar_mystuff_3RiSb > a:hover {\\n background-size: 50%;\\n} .menu-bar_mystuff_3RiSb > a {\\n /* background-image: url(\\\"/images/mystuff.png\\\"); */\\n} .menu-bar_about-icon_dZI7K {\\n height: 1.25rem;\\n margin: 0.5rem;\\n vertical-align: middle;\\n} /* tw: styles to override styles */ .menu-bar_menu-item-link_20T0- {\\n color: hsla(0, 100%, 100%, 1) !important;\\n text-decoration: none;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"menu-bar\": \"menu-bar_menu-bar_JcuHF\",\n\t\"menuBar\": \"menu-bar_menu-bar_JcuHF\",\n\t\"main-menu\": \"menu-bar_main-menu_3wjWH\",\n\t\"mainMenu\": \"menu-bar_main-menu_3wjWH\",\n\t\"scratch-logo\": \"menu-bar_scratch-logo_2uReV\",\n\t\"scratchLogo\": \"menu-bar_scratch-logo_2uReV\",\n\t\"clickable\": \"menu-bar_clickable_1g3uo\",\n\t\"language-icon\": \"menu-bar_language-icon_2DZV7\",\n\t\"languageIcon\": \"menu-bar_language-icon_2DZV7\",\n\t\"language-caret\": \"menu-bar_language-caret_16tau\",\n\t\"languageCaret\": \"menu-bar_language-caret_16tau\",\n\t\"language-menu\": \"menu-bar_language-menu_2JEDx\",\n\t\"languageMenu\": \"menu-bar_language-menu_2JEDx\",\n\t\"menu-bar-item\": \"menu-bar_menu-bar-item_oLDa-\",\n\t\"menuBarItem\": \"menu-bar_menu-bar-item_oLDa-\",\n\t\"hoverable\": \"menu-bar_hoverable_c6WFB\",\n\t\"active\": \"menu-bar_active_2Lfqh\",\n\t\"growable\": \"menu-bar_growable_1sHWN\",\n\t\"title-field-growable\": \"menu-bar_title-field-growable_3qr4G\",\n\t\"titleFieldGrowable\": \"menu-bar_title-field-growable_3qr4G\",\n\t\"file-group\": \"menu-bar_file-group_1_CHX\",\n\t\"fileGroup\": \"menu-bar_file-group_1_CHX\",\n\t\"menu-bar-menu\": \"menu-bar_menu-bar-menu_239MD\",\n\t\"menuBarMenu\": \"menu-bar_menu-bar-menu_239MD\",\n\t\"feedback-link\": \"menu-bar_feedback-link_1BnAR\",\n\t\"feedbackLink\": \"menu-bar_feedback-link_1BnAR\",\n\t\"feedback-button\": \"menu-bar_feedback-button_2rEcj\",\n\t\"feedbackButton\": \"menu-bar_feedback-button_2rEcj\",\n\t\"divider\": \"menu-bar_divider_2VFCm\",\n\t\"author-info\": \"menu-bar_author-info_22Nub\",\n\t\"authorInfo\": \"menu-bar_author-info_22Nub\",\n\t\"menu-bar-button\": \"menu-bar_menu-bar-button_3IDN0\",\n\t\"menuBarButton\": \"menu-bar_menu-bar-button_3IDN0\",\n\t\"remix-button\": \"menu-bar_remix-button_2LQQc\",\n\t\"remixButton\": \"menu-bar_remix-button_2LQQc\",\n\t\"remix-button-icon\": \"menu-bar_remix-button-icon_2E93U\",\n\t\"remixButtonIcon\": \"menu-bar_remix-button-icon_2E93U\",\n\t\"coming-soon\": \"menu-bar_coming-soon_3yU1L\",\n\t\"comingSoon\": \"menu-bar_coming-soon_3yU1L\",\n\t\"coming-soon-tooltip\": \"menu-bar_coming-soon-tooltip_20GhI\",\n\t\"comingSoonTooltip\": \"menu-bar_coming-soon-tooltip_20GhI\",\n\t\"account-info-group\": \"menu-bar_account-info-group_MeJZP\",\n\t\"accountInfoGroup\": \"menu-bar_account-info-group_MeJZP\",\n\t\"mystuff-icon\": \"menu-bar_mystuff-icon_3DtcD\",\n\t\"mystuffIcon\": \"menu-bar_mystuff-icon_3DtcD\",\n\t\"help-icon\": \"menu-bar_help-icon_3Xtrt\",\n\t\"helpIcon\": \"menu-bar_help-icon_3Xtrt\",\n\t\"account-nav-menu\": \"menu-bar_account-nav-menu_3uu9p\",\n\t\"accountNavMenu\": \"menu-bar_account-nav-menu_3uu9p\",\n\t\"mystuff-button\": \"menu-bar_mystuff-button_16jPf\",\n\t\"mystuffButton\": \"menu-bar_mystuff-button_16jPf\",\n\t\"profile-icon\": \"menu-bar_profile-icon_2bJkI\",\n\t\"profileIcon\": \"menu-bar_profile-icon_2bJkI\",\n\t\"dropdown-caret-icon\": \"menu-bar_dropdown-caret-icon_FkdUe\",\n\t\"dropdownCaretIcon\": \"menu-bar_dropdown-caret-icon_FkdUe\",\n\t\"disabled\": \"menu-bar_disabled_3x5sy\",\n\t\"mystuff\": \"menu-bar_mystuff_3RiSb\",\n\t\"about-icon\": \"menu-bar_about-icon_dZI7K\",\n\t\"aboutIcon\": \"menu-bar_about-icon_dZI7K\",\n\t\"menu-item-link\": \"menu-bar_menu-item-link_20T0-\",\n\t\"menuItemLink\": \"menu-bar_menu-item-link_20T0-\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ /*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/ /* Toolbox z-index: 40; set in scratch-blocks */ /* tooltips should go over add buttons if they overlap */ /* monitors go over add buttons */ /* \\\"ask\\\" block text input goes above monitors */ /* menu-bar should go over monitors, alerts and tutorials */ /* tw: show below menu bar normally */ /* Block drag z-index: 1000; default 50 is overriden in blocks.css */ /* so it is draggable into other panes */ /* in most interfaces, the context menu is always on top */ /*\\nIf project-title-input.jsx is part of a menu bar say menu-bar.jsx, it can have additional css classes that\\ncan set a width for example or what it should do in a flex box (eg. grow).\\n*/ .project-title-input_title-field_en5Gd {\\n border: 1px dashed var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: calc(0.5rem / 2);\\n -webkit-border-radius: calc(0.5rem / 2);\\n -moz-border-radius: calc(0.5rem / 2);\\n background-color: hsla(0, 100%, 100%, 0.25);\\n background-clip: padding-box;\\n -webkit-background-clip: padding-box;\\n height: auto;\\n padding: .5rem;\\n} .project-title-input_title-field_en5Gd {\\n color: hsla(0, 100%, 100%, 1);\\n font-weight: bold;\\n font-size: .8rem;\\n} .project-title-input_title-field_en5Gd::-ms-input-placeholder {\\n color: hsla(0, 100%, 100%, 1);\\n font-weight: normal;\\n font-size: .8rem;\\n font-style: italic;\\n} .project-title-input_title-field_en5Gd::placeholder {\\n color: hsla(0, 100%, 100%, 1);\\n font-weight: normal;\\n font-size: .8rem;\\n font-style: italic;\\n} .project-title-input_title-field_en5Gd:hover {\\n background-color: hsla(0, 100%, 100%, 0.5);\\n} [theme=\\\"dark\\\"] .project-title-input_title-field_en5Gd:hover {\\n background-color: rgba(0, 0, 0, 0.5);\\n} .project-title-input_title-field_en5Gd:focus {\\n outline:none;\\n border: 1px solid hsla(0, 100%, 100%, 0);\\n box-shadow: 0 0 0 calc(0.5rem * .5) hsla(0, 100%, 100%, 0.25);\\n background-color: hsla(0, 100%, 100%, 1);\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n} [theme=\\\"dark\\\"] .project-title-input_title-field_en5Gd:focus {\\n background-color: rgba(0, 0, 0, 0.3);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"title-field\": \"project-title-input_title-field_en5Gd\",\n\t\"titleField\": \"project-title-input_title-field_en5Gd\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".save-status_save-now_2shdk {\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"save-now\": \"save-status_save-now_2shdk\",\n\t\"saveNow\": \"save-status_save-now_2shdk\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .share-button_share-button_Nxxf0 {\\n background: hsla(30, 100%, 55%, 1);\\n} .share-button_share-button-is-shared_1tjKq {\\n background: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n cursor: default;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"share-button\": \"share-button_share-button_Nxxf0\",\n\t\"shareButton\": \"share-button_share-button_Nxxf0\",\n\t\"share-button-is-shared\": \"share-button_share-button-is-shared_1tjKq\",\n\t\"shareButtonIsShared\": \"share-button_share-button-is-shared_1tjKq\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* this class must contain \\\"see-inside-button\\\" somewhere for the s3 dev tools to be able to reinject itself */ /* https://github.com/griffpatch/Scratch3-Dev-Tools/blob/0.2.4/inject3.js#L1804-L1807 */ .tw-see-inside_see-inside-button_3ecsR {\\n box-shadow: 0 0 0 1px var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} .tw-see-inside_see-inside-button-icon_1fQvM {\\n height: 1.25rem;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"see-inside-button\": \"tw-see-inside_see-inside-button_3ecsR\",\n\t\"seeInsideButton\": \"tw-see-inside_see-inside-button_3ecsR\",\n\t\"see-inside-button-icon\": \"tw-see-inside_see-inside-button-icon_1fQvM\",\n\t\"seeInsideButtonIcon\": \"tw-see-inside_see-inside-button-icon_1fQvM\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .user-avatar_user-thumbnail_jSYS1 {\\n width: 2rem;\\n height: 2rem;\\n border-radius: calc(0.5rem / 2);\\n vertical-align: middle;\\n box-shadow: 0 0 0 1px var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"user-thumbnail\": \"user-avatar_user-thumbnail_jSYS1\",\n\t\"userThumbnail\": \"user-avatar_user-thumbnail_jSYS1\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .menu_menu_3k7QT {\\n position: absolute;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0 0 8px 8px;\\n background-color: hsla(0, 100%, 65%, 1);\\n padding: 0;\\n margin: 0;\\n min-width: 186px;\\n /* tw: no max width */\\n /* max-width: 260px; */\\n overflow: visible;\\n color: hsla(0, 100%, 100%, 1);\\n box-shadow: 0 8px 8px 0 hsla(0, 0%, 0%, 0.15);\\n} [theme=\\\"dark\\\"] .menu_menu_3k7QT {\\n background-color: #333;\\n} .menu_menu_3k7QT.menu_left_dujsV {\\n right: 0;\\n} .menu_menu_3k7QT.menu_right_3PQ4S {\\n left: 0;\\n} .menu_menu-item_3EwYA {\\n display: block;\\n line-height: 34px;\\n white-space: nowrap;\\n padding: 0 10px;\\n font-size: .75rem;\\n margin: 0;\\n font-weight: bold;\\n} .menu_menu-item_3EwYA.menu_active_ebXO6,\\n.menu_menu-item_3EwYA:hover {\\n background-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} .menu_menu-item_3EwYA.menu_hoverable_3u9dt {\\n cursor: pointer;\\n} .menu_menu-section_2U-v6 {\\n border-top: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"menu\": \"menu_menu_3k7QT\",\n\t\"left\": \"menu_left_dujsV\",\n\t\"right\": \"menu_right_3PQ4S\",\n\t\"menu-item\": \"menu_menu-item_3EwYA\",\n\t\"menuItem\": \"menu_menu-item_3EwYA\",\n\t\"active\": \"menu_active_ebXO6\",\n\t\"hoverable\": \"menu_hoverable_3u9dt\",\n\t\"menu-section\": \"menu_menu-section_2U-v6\",\n\t\"menuSection\": \"menu_menu-section_2U-v6\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .meter_green_oUPv2 {\\n fill: rgb(171, 220, 170);\\n stroke: rgb(174, 211, 168);\\n} .meter_yellow_3uz-j {\\n fill: rgb(251, 219, 130);\\n stroke: rgb(239, 212, 134);\\n} .meter_red_1aMUm {\\n fill: rgb(251, 194, 142);\\n stroke: rgb(235, 189, 142);\\n} .meter_mask-container_11m_n {\\n position: relative;\\n} .meter_mask_B-cd7 {\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%;\\n transform-origin: top;\\n will-change: transform;\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n opacity: 0.75;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"green\": \"meter_green_oUPv2\",\n\t\"yellow\": \"meter_yellow_3uz-j\",\n\t\"red\": \"meter_red_1aMUm\",\n\t\"mask-container\": \"meter_mask-container_11m_n\",\n\t\"maskContainer\": \"meter_mask-container_11m_n\",\n\t\"mask\": \"meter_mask_B-cd7\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"@keyframes mic-indicator_popIn_2A2Un {\\n from {transform: scale(0.5)}\\n to {transform: scale(1)}\\n}\\n\\n.mic-indicator_mic-img_Su3yZ {\\n margin: 10px;\\n transform-origin: center;\\n animation: mic-indicator_popIn_2A2Un 0.1s ease-in-out;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"mic-img\": \"mic-indicator_mic-img_Su3yZ\",\n\t\"micImg\": \"mic-indicator_mic-img_Su3yZ\",\n\t\"popIn\": \"mic-indicator_popIn_2A2Un\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ /*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/ /* Toolbox z-index: 40; set in scratch-blocks */ /* tooltips should go over add buttons if they overlap */ /* monitors go over add buttons */ /* \\\"ask\\\" block text input goes above monitors */ /* menu-bar should go over monitors, alerts and tutorials */ /* tw: show below menu bar normally */ /* Block drag z-index: 1000; default 50 is overriden in blocks.css */ /* so it is draggable into other panes */ /* in most interfaces, the context menu is always on top */ .modal_modal-overlay_1Lcbx {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 510;\\n background-color: var(--ui-modal-overlay, hsla(0, 100%, 65%, 0.9));\\n} .modal_modal-content_1h3ll * {\\n box-sizing: border-box;\\n} .modal_modal-content_1h3ll {\\n margin: 100px auto;\\n outline: none;\\n border: 4px solid hsla(0, 100%, 100%, 0.25);\\n padding: 0;\\n border-radius: 0.5rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n color: hsla(225, 15%, 40%, 1);\\n overflow: hidden;\\n} .modal_modal-content_1h3ll.modal_full-screen_FA4cr {\\n position: absolute;\\n\\n display: flex;\\n height: 100%;\\n width: 100%;\\n\\n overflow-y: auto;\\n -webkit-overflow-scrolling: 'touch';\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n\\n background-color: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n\\n /* Default modal resets */\\n margin: 0;\\n border: none;\\n border-radius: 0;\\n} /*\\n Modal header has 3 items:\\n |filter title x|\\n\\n Use the same width for both side item containers,\\n so that title remains centered\\n*/ .modal_header_1h7ps {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n height: 3.125rem;\\n\\n box-sizing: border-box;\\n width: 100%;\\n background-color: hsla(0, 100%, 65%, 1);\\n \\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 1rem;\\n font-weight: normal;\\n} [theme=\\\"dark\\\"] .modal_header_1h7ps {\\n background-color: #333;\\n} [theme=\\\"dark\\\"] .modal_full-screen_FA4cr .modal_header_1h7ps {\\n background-color: hsla(0, 100%, 65%, 1);\\n} .modal_header-item_2zQTd {\\n display: flex;\\n align-items: center;\\n padding: 1rem;\\n text-decoration: none;\\n color: hsla(0, 100%, 100%, 1);\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n} [dir=\\\"ltr\\\"] .modal_header-image_2KMDd {\\n margin-right: 0.5rem;\\n} [dir=\\\"rtl\\\"] .modal_header-image_2KMDd {\\n margin-left: 0.5rem;\\n} .modal_header-item-filter_3W-ah {\\n display: flex;\\n flex-basis: 20rem;\\n justify-content: flex-start;\\n} .modal_header-item-title_tLOU5 {\\n flex-grow: 1;\\n flex-shrink: 0;\\n justify-content: center;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n letter-spacing: 0.4px;\\n cursor: default;\\n} [dir=\\\"ltr\\\"] .modal_header-item-title_tLOU5 {\\n margin: 0 -20rem 0 0;\\n} [dir=\\\"rtl\\\"] .modal_header-item-title_tLOU5 {\\n margin: 0 0 0 -20rem;\\n} .modal_full-screen_FA4cr [dir=\\\"ltr\\\"] .modal_header-item-title_tLOU5 {\\n margin: 0 0 0 -20rem;\\n} .modal_full-screen_FA4cr [dir=\\\"rtl\\\"] .modal_header-item-title_tLOU5 {\\n margin: 0 -20rem 0 0;\\n} .modal_header-item-close_2XDeL {\\n flex-basis: 20rem;\\n justify-content: flex-end;\\n z-index: 1;\\n} .modal_full-screen_FA4cr .modal_header-item-close_2XDeL {\\n order: -1;\\n justify-content: flex-start;\\n} .modal_back-button_2ej6v {\\n font-weight: normal;\\n padding-right: 0;\\n padding-left: 0;\\n} [dir=\\\"rtl\\\"] .modal_back-button_2ej6v img {\\n transform: scaleX(-1);\\n} .modal_header-item-help_UZFrJ {\\n padding: 0;\\n z-index: 1;\\n} [dir=\\\"ltr\\\"] .modal_header-item-help_UZFrJ {\\n margin-right: -4.75rem;\\n} [dir=\\\"rtl\\\"] .modal_header-item-help_UZFrJ {\\n margin-left: -4.75rem;\\n} .modal_help-button_dLhZu {\\n font-weight: normal;\\n font-size: 0.75rem;\\n} [dir=\\\"ltr\\\"] .modal_help-button_dLhZu {\\n padding-right: 0;\\n} [dir=\\\"rtl\\\"] .modal_help-button_dLhZu {\\n padding-left: 0;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-overlay\": \"modal_modal-overlay_1Lcbx\",\n\t\"modalOverlay\": \"modal_modal-overlay_1Lcbx\",\n\t\"modal-content\": \"modal_modal-content_1h3ll\",\n\t\"modalContent\": \"modal_modal-content_1h3ll\",\n\t\"full-screen\": \"modal_full-screen_FA4cr\",\n\t\"fullScreen\": \"modal_full-screen_FA4cr\",\n\t\"header\": \"modal_header_1h7ps\",\n\t\"header-item\": \"modal_header-item_2zQTd\",\n\t\"headerItem\": \"modal_header-item_2zQTd\",\n\t\"header-image\": \"modal_header-image_2KMDd\",\n\t\"headerImage\": \"modal_header-image_2KMDd\",\n\t\"header-item-filter\": \"modal_header-item-filter_3W-ah\",\n\t\"headerItemFilter\": \"modal_header-item-filter_3W-ah\",\n\t\"header-item-title\": \"modal_header-item-title_tLOU5\",\n\t\"headerItemTitle\": \"modal_header-item-title_tLOU5\",\n\t\"header-item-close\": \"modal_header-item-close_2XDeL\",\n\t\"headerItemClose\": \"modal_header-item-close_2XDeL\",\n\t\"back-button\": \"modal_back-button_2ej6v\",\n\t\"backButton\": \"modal_back-button_2ej6v\",\n\t\"header-item-help\": \"modal_header-item-help_UZFrJ\",\n\t\"headerItemHelp\": \"modal_header-item-help_UZFrJ\",\n\t\"help-button\": \"modal_help-button_dLhZu\",\n\t\"helpButton\": \"modal_help-button_dLhZu\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".monitor-list_monitor-list_20k-y {\\n /* Width/height are set by the component, margin: auto centers in fullscreen */\\n margin: auto;\\n pointer-events: none;\\n overflow: hidden;\\n}\\n\\n.monitor-list_monitor-list-scaler_143tA {\\n /* Scaling for monitors should happen from the top left */\\n transform-origin: left top;\\n}\\n\\n::-ms-clear { display: none; }\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"monitor-list\": \"monitor-list_monitor-list_20k-y\",\n\t\"monitorList\": \"monitor-list_monitor-list_20k-y\",\n\t\"monitor-list-scaler\": \"monitor-list_monitor-list-scaler_143tA\",\n\t\"monitorListScaler\": \"monitor-list_monitor-list-scaler_143tA\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n/*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/\\n\\n/* Toolbox z-index: 40; set in scratch-blocks */\\n\\n/* tooltips should go over add buttons if they overlap */\\n\\n/* monitors go over add buttons */\\n\\n/* \\\"ask\\\" block text input goes above monitors */\\n\\n/* menu-bar should go over monitors, alerts and tutorials */\\n\\n/* tw: show below menu bar normally */\\n\\n/* Block drag z-index: 1000; default 50 is overriden in blocks.css */\\n\\n/* so it is draggable into other panes */\\n\\n/* in most interfaces, the context menu is always on top */\\n\\n.monitor_monitor-container_2J9gl {\\n position: absolute;\\n background: hsla(215, 100%, 95%, 1); /* tw: do not look different in dark mode */\\n z-index: 48;\\n border: 1px solid hsla(0, 0%, 0%, 0.15);\\n border-radius: calc(0.5rem / 2);\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 0.75rem;\\n transition: box-shadow 0.2s;\\n pointer-events: all;\\n overflow: hidden;\\n color: #575e75; /* tw: explicitly set color to match Scratch */\\n}\\n\\n.monitor_monitor_11Vhm:hover {\\n cursor: pointer;\\n}\\n\\n.monitor_dragging_2ZN-P {\\n z-index: 1010;\\n box-shadow: 3px 3px 5px #888888;\\n}\\n\\n.monitor_default-monitor_2vCcZ {\\n display: flex;\\n flex-direction: column;\\n padding: 3px;\\n}\\n\\n.monitor_label_ci1ok {\\n font-weight: bold;\\n text-align: center;\\n margin: 0 5px;\\n}\\n\\n.monitor_value_3Yexa {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n min-width: 40px;\\n text-align: center;\\n color: white;\\n margin: 0 5px;\\n border-radius: calc(0.5rem / 2);\\n padding: 0 2px;\\n white-space: pre-wrap;\\n transform: translateZ(0); /* Fixes flickering in Safari */\\n}\\n\\n.monitor_large-value_P-rAm {\\n min-height: 1.4rem;\\n min-width: 3rem;\\n padding: 0.1rem 0.25rem;\\n text-align: center;\\n color: white;\\n font-size: 1rem;\\n white-space: pre-wrap;\\n transform: translateZ(0); /* Fixes flickering in Safari */\\n}\\n\\n.monitor_row_2y_kM {\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.monitor_slider_1CHwk {\\n width: 100%;\\n transform: translateZ(0); /* Fixes flickering in Safari */\\n}\\n\\n.monitor_list-monitor_1FdIj {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.monitor_list-header_-cp0o {\\n background: hsla(0, 100%, 100%, 1);\\n border-bottom: 1px solid hsla(0, 0%, 0%, 0.15);\\n text-align: center;\\n padding: 3px;\\n font-size: 0.75rem;\\n font-weight: bold;\\n color: hsla(225, 15%, 40%, 1); /* tw: do not look different in dark mode */\\n width: 100%;\\n}\\n\\n.monitor_list-body_2OFZ6 {\\n background: hsla(215, 100%, 95%, 1); /* tw: do not look different in dark mode */\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n overflow-x: hidden;\\n flex-grow: 1;\\n}\\n\\n.monitor_list-row_okCNn {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-around;\\n align-items: center;\\n padding: 2px;\\n flex-shrink: 0;\\n transform: translateZ(0); /* Keep sharp when scaled */\\n}\\n\\n.monitor_list-index_7tKdl {\\n font-weight: bold;\\n color: hsla(225, 15%, 40%, 1); /* tw: do not look different in dark mode */\\n margin: 0 3px;\\n}\\n\\n.monitor_list-value_1zGfI {\\n min-width: 40px;\\n text-align: left;\\n color: white;\\n margin: 0 3px;\\n border-radius: calc(0.5rem / 2);\\n border: 1px solid hsla(0, 0%, 0%, 0.15);\\n flex-grow: 1;\\n height: 22px;\\n}\\n\\n.monitor_list-footer_2HyG8 {\\n background: hsla(0, 100%, 100%, 1);\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n padding: 3px;\\n font-size: 0.75rem;\\n font-weight: bold;\\n border-top: 1px solid hsla(0, 0%, 0%, 0.15);\\n color: hsla(225, 15%, 40%, 1); /* tw: do not look different in dark mode */\\n}\\n\\n.monitor_list-empty_1UKsB {\\n text-align: center;\\n width: 100%;\\n padding: 5px;\\n}\\n\\n.monitor_input-wrapper_2yExa {\\n position: relative;\\n overflow: hidden;\\n display: flex;\\n align-items: center;\\n background: rgba(0, 0, 0, 0.1);\\n}\\n\\n.monitor_value-inner_3E9Ou {\\n padding: 3px 5px;\\n min-height: 22px;\\n overflow: hidden; /* Don't let long values escape container */\\n text-overflow: ellipsis;\\n -webkit-user-select: text;\\n -moz-user-select: text;\\n -ms-user-select: text;\\n user-select: text; /* Allow selecting list values for 2.0 compatibility, only relevant in player */\\n white-space: pre;\\n}\\n\\n.monitor_list-input_3kw5o {\\n padding: 3px 5px;\\n border: 0;\\n background: none;\\n color: hsla(0, 100%, 100%, 1);\\n outline: none;\\n font-size: 0.75rem;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n /* Workaround for Firefox */\\n width: 0;\\n flex: 1 1 auto;\\n}\\n\\n.monitor_remove-button_AhlwG {\\n padding: 0;\\n padding-right: 5px;\\n cursor: pointer;\\n color: hsla(0, 100%, 100%, 1);\\n}\\n\\n.monitor_add-button_2lmvI {\\n cursor: pointer;\\n margin-right: 3px;\\n}\\n\\n.monitor_resize-handle_3WWBV {\\n cursor: nwse-resize;\\n margin-left: 3px;\\n}\\n\\n.monitor_footer-length_2_QAb {\\n text-align: center;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"monitor-container\": \"monitor_monitor-container_2J9gl\",\n\t\"monitorContainer\": \"monitor_monitor-container_2J9gl\",\n\t\"monitor\": \"monitor_monitor_11Vhm\",\n\t\"dragging\": \"monitor_dragging_2ZN-P\",\n\t\"default-monitor\": \"monitor_default-monitor_2vCcZ\",\n\t\"defaultMonitor\": \"monitor_default-monitor_2vCcZ\",\n\t\"label\": \"monitor_label_ci1ok\",\n\t\"value\": \"monitor_value_3Yexa\",\n\t\"large-value\": \"monitor_large-value_P-rAm\",\n\t\"largeValue\": \"monitor_large-value_P-rAm\",\n\t\"row\": \"monitor_row_2y_kM\",\n\t\"slider\": \"monitor_slider_1CHwk\",\n\t\"list-monitor\": \"monitor_list-monitor_1FdIj\",\n\t\"listMonitor\": \"monitor_list-monitor_1FdIj\",\n\t\"list-header\": \"monitor_list-header_-cp0o\",\n\t\"listHeader\": \"monitor_list-header_-cp0o\",\n\t\"list-body\": \"monitor_list-body_2OFZ6\",\n\t\"listBody\": \"monitor_list-body_2OFZ6\",\n\t\"list-row\": \"monitor_list-row_okCNn\",\n\t\"listRow\": \"monitor_list-row_okCNn\",\n\t\"list-index\": \"monitor_list-index_7tKdl\",\n\t\"listIndex\": \"monitor_list-index_7tKdl\",\n\t\"list-value\": \"monitor_list-value_1zGfI\",\n\t\"listValue\": \"monitor_list-value_1zGfI\",\n\t\"list-footer\": \"monitor_list-footer_2HyG8\",\n\t\"listFooter\": \"monitor_list-footer_2HyG8\",\n\t\"list-empty\": \"monitor_list-empty_1UKsB\",\n\t\"listEmpty\": \"monitor_list-empty_1UKsB\",\n\t\"input-wrapper\": \"monitor_input-wrapper_2yExa\",\n\t\"inputWrapper\": \"monitor_input-wrapper_2yExa\",\n\t\"value-inner\": \"monitor_value-inner_3E9Ou\",\n\t\"valueInner\": \"monitor_value-inner_3E9Ou\",\n\t\"list-input\": \"monitor_list-input_3kw5o\",\n\t\"listInput\": \"monitor_list-input_3kw5o\",\n\t\"remove-button\": \"monitor_remove-button_AhlwG\",\n\t\"removeButton\": \"monitor_remove-button_AhlwG\",\n\t\"add-button\": \"monitor_add-button_2lmvI\",\n\t\"addButton\": \"monitor_add-button_2lmvI\",\n\t\"resize-handle\": \"monitor_resize-handle_3WWBV\",\n\t\"resizeHandle\": \"monitor_resize-handle_3WWBV\",\n\t\"footer-length\": \"monitor_footer-length_2_QAb\",\n\t\"footerLength\": \"monitor_footer-length_2_QAb\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .play-button_play-button_3MkN- {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n\\n overflow: hidden; /* Mask the icon animation */\\n width: 2.5rem;\\n height: 2.5rem;\\n background-color: hsla(300, 53%, 60%, 1);\\n color: hsla(0, 100%, 100%, 1);\\n border-radius: 50%;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n cursor: pointer;\\n transition: all 0.15s ease-out;\\n} .play-button_play-button_3MkN- {\\n position: absolute;\\n top: .5rem;\\n z-index: auto;\\n} .play-button_play-button_3MkN-:focus {\\n outline: none;\\n} .play-button_play-icon_CX5nH {\\n width: 50%;\\n} [dir=\\\"ltr\\\"] .play-button_play-button_3MkN- {\\n right: .5rem;\\n} [dir=\\\"rtl\\\"] .play-button_play-button_3MkN- {\\n left: .5rem;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"play-button\": \"play-button_play-button_3MkN-\",\n\t\"playButton\": \"play-button_play-button_3MkN-\",\n\t\"play-icon\": \"play-button_play-icon_CX5nH\",\n\t\"playIcon\": \"play-button_play-icon_CX5nH\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .prompt_modal-content_1BfWj {\\n width: 360px;\\n} .prompt_body_18Z-I {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n} [theme=\\\"dark\\\"] .prompt_body_18Z-I {\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} .prompt_body_18Z-I input[type=\\\"checkbox\\\"],\\n.prompt_body_18Z-I input[type=\\\"radio\\\"] {\\n margin: 3px;\\n} .prompt_label_tWjYZ {\\n font-weight: 500;\\n margin: 0 0 0.75rem;\\n} .prompt_disabled-label_3Y-7h {\\n opacity: 0.5;\\n} .prompt_variable-name-text-input_1iu8- {\\n margin-bottom: 1.5rem;\\n width: 100%;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 5px;\\n padding: 0 1rem;\\n height: 3rem;\\n color: hsla(225, 15%, 40%, 0.75);\\n font-size: .875rem;\\n} [theme=\\\"dark\\\"] .prompt_variable-name-text-input_1iu8- {\\n background: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n color: white;\\n} .prompt_info-message_-WcQL {\\n font-weight: normal;\\n font-size: .875rem;\\n margin-bottom: 1.5rem;\\n text-align: center;\\n} .prompt_options-row_36JmB {\\n display: flex;\\n font-weight: normal;\\n justify-content: space-between;\\n margin-bottom: 1.5rem;\\n} .prompt_button-row_3Wc5Z {\\n font-weight: bolder;\\n text-align: right;\\n} .prompt_button-row_3Wc5Z button {\\n padding: 0.75rem 1rem;\\n border-radius: 0.25rem;\\n background: white;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n font-weight: 600;\\n font-size: 0.85rem;\\n} .prompt_button-row_3Wc5Z button.prompt_ok-button_3QFdD {\\n background: hsla(0, 100%, 65%, 1);\\n border: hsla(0, 100%, 65%, 1);\\n color: white;\\n} [dir=\\\"ltr\\\"] .prompt_button-row_3Wc5Z button + button {\\n margin-left: 0.5rem;\\n} [dir=\\\"rtl\\\"] .prompt_button-row_3Wc5Z button + button {\\n margin-right: 0.5rem;\\n} .prompt_cloud-option_1jjSa {\\n display:flex;\\n border-top: 1px dashed hsla(0, 0%, 0%, .25);\\n overflow: visible;\\n padding: 1rem 0;\\n text-align: center;\\n width: 100%;\\n margin: 0 auto;\\n} [theme=\\\"dark\\\"] .prompt_cloud-option_1jjSa {\\n border-color: rgba(255, 255, 255, .25);\\n} .prompt_cloud-option-text_P1r8J {\\n opacity: .5;\\n} .prompt_cancel-button_36cPC {\\n color: black;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-content\": \"prompt_modal-content_1BfWj\",\n\t\"modalContent\": \"prompt_modal-content_1BfWj\",\n\t\"body\": \"prompt_body_18Z-I\",\n\t\"label\": \"prompt_label_tWjYZ\",\n\t\"disabled-label\": \"prompt_disabled-label_3Y-7h\",\n\t\"disabledLabel\": \"prompt_disabled-label_3Y-7h\",\n\t\"variable-name-text-input\": \"prompt_variable-name-text-input_1iu8-\",\n\t\"variableNameTextInput\": \"prompt_variable-name-text-input_1iu8-\",\n\t\"info-message\": \"prompt_info-message_-WcQL\",\n\t\"infoMessage\": \"prompt_info-message_-WcQL\",\n\t\"options-row\": \"prompt_options-row_36JmB\",\n\t\"optionsRow\": \"prompt_options-row_36JmB\",\n\t\"button-row\": \"prompt_button-row_3Wc5Z\",\n\t\"buttonRow\": \"prompt_button-row_3Wc5Z\",\n\t\"ok-button\": \"prompt_ok-button_3QFdD\",\n\t\"okButton\": \"prompt_ok-button_3QFdD\",\n\t\"cloud-option\": \"prompt_cloud-option_1jjSa\",\n\t\"cloudOption\": \"prompt_cloud-option_1jjSa\",\n\t\"cloud-option-text\": \"prompt_cloud-option-text_P1r8J\",\n\t\"cloudOptionText\": \"prompt_cloud-option-text_P1r8J\",\n\t\"cancel-button\": \"prompt_cancel-button_36cPC\",\n\t\"cancelButton\": \"prompt_cancel-button_36cPC\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n.question_question-container_OuJwy {\\n margin: 0.5rem;\\n border: 1px solid hsla(0, 0%, 0%, 0.15);\\n border-radius: 0.5rem;\\n border-width: 2px;\\n padding: 1rem;\\n background: white;\\n}\\n\\n.question_question-label_1tRo2 {\\n font-size: 0.75rem;\\n font-weight: bold;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n color: hsla(225, 15%, 40%, 1);\\n padding-bottom: 0.5rem;\\n}\\n\\n.question_question-input_1oAB7 {\\n display: flex; /* Keeps the input from going outside this container */\\n position: relative;\\n}\\n\\n/* tw: input should not look different in dark mode */\\n\\n[theme=\\\"dark\\\"] .question_question-input_1oAB7 input {\\n color: hsla(225, 15%, 40%, 1);\\n background: hsla(215, 75%, 95%, 1);\\n border-color: hsla(215, 50%, 90%, 1);\\n}\\n\\n[theme=\\\"dark\\\"] .question_question-input_1oAB7 input:hover,\\n[theme=\\\"dark\\\"] .question_question-input_1oAB7 input:focus {\\n border-color: hsla(0, 100%, 65%, 1);\\n}\\n\\n.question_question-submit-button_3nYah {\\n position: absolute;\\n top: calc(0.5rem / 2);\\n\\n width: calc(2rem - 0.5rem);\\n height: calc(2rem - 0.5rem);\\n\\n border: none;\\n border-radius: 100%;\\n\\n color: white;\\n background: hsla(0, 100%, 65%, 1);\\n}\\n\\n[dir=\\\"ltr\\\"] .question_question-submit-button_3nYah {\\n right: calc(0.5rem / 2);\\n}\\n\\n[dir=\\\"rtl\\\"] .question_question-submit-button_3nYah {\\n left: calc(0.5rem / 2);\\n}\\n\\n/* Input overrides: width, font-weight, focus outline and padding */\\n\\n.question_question-input_1oAB7 > input {\\n width: 100%;\\n font-weight: normal;\\n}\\n\\n[dir=\\\"ltr\\\"] .question_question-input_1oAB7 > input {\\n padding: 0 2rem 0 .75rem; /* To make room for the submit button */\\n}\\n\\n[dir=\\\"rtl\\\"] .question_question-input_1oAB7 > input {\\n padding: 0 .75rem 0 2rem; /* To make room for the submit button */\\n}\\n\\n.question_question-input_1oAB7 > input:focus {\\n box-shadow: 0px 0px 0px 3px hsla(0, 100%, 65%, 0.35);\\n}\\n\\n.question_question-submit-button-icon_upm57 {\\n width: calc(2rem - 0.5rem);\\n height: calc(2rem - 0.5rem);\\n position: relative;\\n right: -7px;\\n left: -7px;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"question-container\": \"question_question-container_OuJwy\",\n\t\"questionContainer\": \"question_question-container_OuJwy\",\n\t\"question-label\": \"question_question-label_1tRo2\",\n\t\"questionLabel\": \"question_question-label_1tRo2\",\n\t\"question-input\": \"question_question-input_1oAB7\",\n\t\"questionInput\": \"question_question-input_1oAB7\",\n\t\"question-submit-button\": \"question_question-submit-button_3nYah\",\n\t\"questionSubmitButton\": \"question_question-submit-button_3nYah\",\n\t\"question-submit-button-icon\": \"question_question-submit-button-icon_upm57\",\n\t\"questionSubmitButtonIcon\": \"question_question-submit-button-icon_upm57\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .record-modal_modal-content_2N7lD {\\n width: 600px;\\n} .record-modal_body_2VO4l {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n} [theme=\\\"dark\\\"] .record-modal_body_2VO4l {\\n background: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n} .record-modal_visualization-container_1joZn {\\n display: flex;\\n justify-content: space-around;\\n} .record-modal_meter-container_3OqCJ, .record-modal_waveform-container__ay3Q {\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 5px;\\n padding: 3px;\\n /* Force these to be on their own render layer because they update often */\\n transform: translateZ(0);\\n} .record-modal_meter-container_3OqCJ {\\n margin-right: 5px;\\n height: 180px;\\n} .record-modal_waveform-container__ay3Q {\\n display: flex;\\n justify-content: space-around;\\n align-items: center;\\n width: 100%;\\n height: 180px;\\n position: relative;\\n} .record-modal_help-text_Jevsk {\\n margin: 10px auto 0;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n color: rgb(167, 170, 181);\\n font-size: 0.95rem;\\n font-weight: 500;\\n} .record-modal_playing-text_1tknI {\\n color: hsla(0, 100%, 65%, 1);\\n} .record-modal_recording-text_2LS7_ {\\n color: hsla(20, 100%, 55%, 1);\\n} .record-modal_main-button-row_37Zjz {\\n display: flex;\\n justify-content: space-around;\\n margin-top: 15px;\\n} .record-modal_main-button-row_37Zjz button {\\n padding: 0.5rem 0.75rem;\\n border-radius: 0.25rem;\\n background: transparent;\\n border: none;\\n} .record-modal_main-button-row_37Zjz button:disabled {\\n opacity: 0.25;\\n} .record-modal_main-button-row_37Zjz button:active, .record-modal_main-button-row_37Zjz button:focus {\\n outline: none;\\n} .record-modal_button-row_1hdGe {\\n font-weight: bolder;\\n text-align: right;\\n display: flex;\\n justify-content: space-between;\\n} .record-modal_button-row_1hdGe button {\\n padding: 0.75rem 1rem;\\n border-radius: 0.25rem;\\n background: white;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n font-weight: 600;\\n font-size: 0.85rem;\\n color: hsla(0, 100%, 65%, 1);\\n} .record-modal_button-row_1hdGe button.record-modal_ok-button_3pudV {\\n background: hsla(0, 100%, 65%, 1);\\n border: hsla(0, 100%, 65%, 1);\\n color: white;\\n} .record-modal_button-row_1hdGe button + button {\\n margin-left: 0.5rem;\\n} .record-modal_main-button_36gPw {\\n text-align: center;\\n} .record-modal_record-button_3mcC8 {\\n overflow: visible;\\n} .record-modal_record-button-circle_kXioI {\\n fill: hsla(20, 100%, 55%, 1);\\n stroke: hsla(20, 100%, 45%, 1);\\n} .record-modal_record-button-circle-outline_1ycFu {\\n fill: hsla(20, 100%, 55%, 1);\\n opacity: 0.2;\\n transition: 0.1s;\\n} [dir=\\\"rtl\\\"] .record-modal_rerecord-button_jgsi_ img {\\n transform: scaleX(-1);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-content\": \"record-modal_modal-content_2N7lD\",\n\t\"modalContent\": \"record-modal_modal-content_2N7lD\",\n\t\"body\": \"record-modal_body_2VO4l\",\n\t\"visualization-container\": \"record-modal_visualization-container_1joZn\",\n\t\"visualizationContainer\": \"record-modal_visualization-container_1joZn\",\n\t\"meter-container\": \"record-modal_meter-container_3OqCJ\",\n\t\"meterContainer\": \"record-modal_meter-container_3OqCJ\",\n\t\"waveform-container\": \"record-modal_waveform-container__ay3Q\",\n\t\"waveformContainer\": \"record-modal_waveform-container__ay3Q\",\n\t\"help-text\": \"record-modal_help-text_Jevsk\",\n\t\"helpText\": \"record-modal_help-text_Jevsk\",\n\t\"playing-text\": \"record-modal_playing-text_1tknI\",\n\t\"playingText\": \"record-modal_playing-text_1tknI\",\n\t\"recording-text\": \"record-modal_recording-text_2LS7_\",\n\t\"recordingText\": \"record-modal_recording-text_2LS7_\",\n\t\"main-button-row\": \"record-modal_main-button-row_37Zjz\",\n\t\"mainButtonRow\": \"record-modal_main-button-row_37Zjz\",\n\t\"button-row\": \"record-modal_button-row_1hdGe\",\n\t\"buttonRow\": \"record-modal_button-row_1hdGe\",\n\t\"ok-button\": \"record-modal_ok-button_3pudV\",\n\t\"okButton\": \"record-modal_ok-button_3pudV\",\n\t\"main-button\": \"record-modal_main-button_36gPw\",\n\t\"mainButton\": \"record-modal_main-button_36gPw\",\n\t\"record-button\": \"record-modal_record-button_3mcC8\",\n\t\"recordButton\": \"record-modal_record-button_3mcC8\",\n\t\"record-button-circle\": \"record-modal_record-button-circle_kXioI\",\n\t\"recordButtonCircle\": \"record-modal_record-button-circle_kXioI\",\n\t\"record-button-circle-outline\": \"record-modal_record-button-circle-outline_1ycFu\",\n\t\"recordButtonCircleOutline\": \"record-modal_record-button-circle-outline_1ycFu\",\n\t\"rerecord-button\": \"record-modal_rerecord-button_jgsi_\",\n\t\"rerecordButton\": \"record-modal_rerecord-button_jgsi_\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .slider-prompt_modal-content_2vVm4 {\\n width: 360px;\\n} .slider-prompt_body_2ZkXL {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n} [theme=\\\"dark\\\"] .slider-prompt_body_2ZkXL {\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} .slider-prompt_label_cYsiu {\\n font-weight: 500;\\n margin: 0 0 0.75rem;\\n} .slider-prompt_min-input_1IxXX, .slider-prompt_max-input_1Nwbv {\\n margin-bottom: 1.5rem;\\n width: 100%;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 5px;\\n padding: 0 1rem;\\n height: 3rem;\\n color: hsla(225, 15%, 40%, 0.75);\\n font-size: .875rem;\\n} [theme=\\\"dark\\\"] .slider-prompt_min-input_1IxXX, [theme=\\\"dark\\\"] .slider-prompt_max-input_1Nwbv {\\n background: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n color: white;\\n} .slider-prompt_button-row_32aCX {\\n font-weight: bolder;\\n text-align: right;\\n} .slider-prompt_button-row_32aCX button {\\n padding: 0.75rem 1rem;\\n border-radius: 0.25rem;\\n background: white;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n font-weight: 600;\\n font-size: 0.85rem;\\n} .slider-prompt_button-row_32aCX button.slider-prompt_ok-button_vLj7c {\\n background: hsla(0, 100%, 65%, 1);\\n border: hsla(0, 100%, 65%, 1);\\n color: white;\\n} [dir=\\\"ltr\\\"] .slider-prompt_button-row_32aCX button + button {\\n margin-left: 0.5rem;\\n} [dir=\\\"rtl\\\"] .slider-prompt_button-row_32aCX button + button {\\n margin-right: 0.5rem;\\n} .slider-prompt_cancel-button_RuYHK {\\n color: black;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-content\": \"slider-prompt_modal-content_2vVm4\",\n\t\"modalContent\": \"slider-prompt_modal-content_2vVm4\",\n\t\"body\": \"slider-prompt_body_2ZkXL\",\n\t\"label\": \"slider-prompt_label_cYsiu\",\n\t\"min-input\": \"slider-prompt_min-input_1IxXX\",\n\t\"minInput\": \"slider-prompt_min-input_1IxXX\",\n\t\"max-input\": \"slider-prompt_max-input_1Nwbv\",\n\t\"maxInput\": \"slider-prompt_max-input_1Nwbv\",\n\t\"button-row\": \"slider-prompt_button-row_32aCX\",\n\t\"buttonRow\": \"slider-prompt_button-row_32aCX\",\n\t\"ok-button\": \"slider-prompt_ok-button_vLj7c\",\n\t\"okButton\": \"slider-prompt_ok-button_vLj7c\",\n\t\"cancel-button\": \"slider-prompt_cancel-button_RuYHK\",\n\t\"cancelButton\": \"slider-prompt_cancel-button_RuYHK\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .sound-editor_editor-container_iUSW- {\\n display: flex;\\n flex-direction: column;\\n flex-grow: 1;\\n padding: calc(2 * 0.5rem);\\n} .sound-editor_row_3iFzH {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n} [dir=\\\"rtl\\\"] .sound-editor_row-reverse_1qAAx {\\n flex-direction: row-reverse;\\n} .sound-editor_row_3iFzH + .sound-editor_row_3iFzH {\\n margin-top: calc(2 * 0.5rem);\\n} .sound-editor_input-group_2hWiH {\\n display: flex;\\n flex-direction: row;\\n} [dir=\\\"ltr\\\"] .sound-editor_input-group_2hWiH + .sound-editor_input-group_2hWiH {\\n margin-left: calc(2 * 0.5rem);\\n} [dir=\\\"rtl\\\"] .sound-editor_input-group_2hWiH + .sound-editor_input-group_2hWiH {\\n margin-right: calc(2 * 0.5rem);\\n} [dir=\\\"ltr\\\"] .sound-editor_input-group_2hWiH {\\n padding-right: calc(2 * 0.5rem);\\n border-right: 1px dashed var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} [dir=\\\"rtl\\\"] .sound-editor_input-group_2hWiH {\\n padding-left: calc(2 * 0.5rem);\\n border-left: 1px dashed var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} [dir=\\\"rtl\\\"] .sound-editor_row-reverse_1qAAx > .sound-editor_input-group_2hWiH {\\n padding-left: 0;\\n padding-right: calc(2 * 0.5rem);\\n border-left: none;\\n border-right: 1px dashed var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} .sound-editor_name-input_2Msmq {\\n width: 100%;\\n} .sound-editor_waveform-container_1x_b1 {\\n display: flex;\\n justify-content: space-around;\\n align-items: center;\\n width: 100%;\\n\\n position: relative;\\n\\n background: hsla(300, 53%, 60%, 0.15);\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 5px;\\n\\n margin-top: 20px;\\n margin-bottom: 20px;\\n} .sound-editor_button_1_6Li {\\n height: 2rem;\\n padding: 0.35rem;\\n outline: none;\\n background: white;\\n border-radius: 0.25rem;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n cursor: pointer;\\n font-size: 0.85rem;\\n transition: 0.2s;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n margin: 0px;\\n} [theme=\\\"dark\\\"] .sound-editor_button_1_6Li {\\n background-color: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} .sound-editor_button_1_6Li > img {\\n flex-grow: 1;\\n max-width: 100%;\\n max-height: 100%;\\n min-width: 1.25rem;\\n} .sound-editor_round-button-outer_2hM-8 {\\n display: flex;\\n align-items: center;\\n height: 100%;\\n} .sound-editor_round-button_3NLcW {\\n height: 3rem;\\n width: 3rem;\\n outline: none;\\n background: hsla(0, 100%, 65%, 1);\\n border-radius: 100%;\\n border: 4px solid hsla(0, 100%, 100%, 0.75);\\n cursor: pointer;\\n padding: 0.75rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n} [theme=\\\"dark\\\"] .sound-editor_round-button_3NLcW {\\n border-color: transparent;\\n} .sound-editor_round-button_3NLcW > img {\\n flex-grow: 1;\\n max-width: 100%;\\n max-height: 100%;\\n /*min-width: 1.5rem;*/\\n} [dir=\\\"rtl\\\"] .sound-editor_undo-icon_So0sO, [dir=\\\"rtl\\\"] .sound-editor_redo-icon_XGcr5 {\\n transform: scaleX(-1);\\n} .sound-editor_trim-button_lSENI {\\n display: flex;\\n align-items: center;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n font-size: 0.625rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n\\n} [dir=\\\"ltr\\\"] .sound-editor_trim-button_lSENI {\\n margin-left: 1rem;\\n} [dir=\\\"rtl\\\"] .sound-editor_trim-button_lSENI {\\n margin-right: 1rem;\\n} .sound-editor_trim-button_lSENI > img {\\n width: 1.25rem;\\n} .sound-editor_effects_ywFdO {\\n display: flex;\\n flex-wrap: wrap;\\n width: 100%;\\n} .sound-editor_effect-button_2zuzT {\\n flex-basis: 60px;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n font-size: 0.625rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n padding: 0.25rem 0;\\n} .sound-editor_effect-button_2zuzT + .sound-editor_effect-button_2zuzT {\\n margin: 0;\\n} .sound-editor_effect-button_2zuzT img {\\n width: 1.25rem;\\n height: 1.25rem;\\n margin-bottom: -0.375rem;\\n} .sound-editor_tool-button_2iNn9 {\\n flex-basis: 60px;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n font-size: 0.625rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n padding: 0.25rem 0;\\n} .sound-editor_tool-button_2iNn9 + .sound-editor_tool-button_2iNn9 {\\n margin: 0;\\n} .sound-editor_tool-button_2iNn9 img {\\n width: 4rem;\\n height: 1.5rem;\\n margin-bottom: -0.375rem;\\n} [dir=\\\"rtl\\\"] .sound-editor_flip-in-rtl_3eOfH img {\\n transform: scaleX(-1);\\n} [dir=\\\"ltr\\\"] .sound-editor_button-group_SFPoV {\\n margin-left: 1rem;\\n} [dir=\\\"rtl\\\"] .sound-editor_button-group_SFPoV {\\n margin-right: 1rem;\\n} .sound-editor_button-group_SFPoV {\\n display: flex;\\n} .sound-editor_button-group_SFPoV .sound-editor_button_1_6Li {\\n border-radius: 0;\\n} [dir=\\\"ltr\\\"] .sound-editor_button-group_SFPoV .sound-editor_button_1_6Li {\\n border-left: none;\\n} [dir=\\\"rtl\\\"] .sound-editor_button-group_SFPoV .sound-editor_button_1_6Li {\\n border-right: none;\\n} [dir=\\\"ltr\\\"] .sound-editor_button-group_SFPoV .sound-editor_button_1_6Li:last-of-type {\\n border-top-right-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem;\\n} [dir=\\\"ltr\\\"] .sound-editor_button-group_SFPoV .sound-editor_button_1_6Li:first-of-type {\\n border-left: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-top-left-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n} [dir=\\\"rtl\\\"] .sound-editor_button-group_SFPoV .sound-editor_button_1_6Li:last-of-type {\\n border-top-left-radius: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n} [dir=\\\"rtl\\\"] .sound-editor_button-group_SFPoV .sound-editor_button_1_6Li:first-of-type {\\n border-right: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-top-right-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem;\\n} .sound-editor_button_1_6Li:disabled > img {\\n opacity: 0.25;\\n} .sound-editor_info-row_33dW3 {\\n display: flex;\\n justify-content: space-between;\\n margin-top: calc(2 * 0.5rem);\\n} .sound-editor_duration_Iq75P {\\n font-weight: bold;\\n} .sound-editor_advanced-info_IEJgw {\\n\\n} .sound-editor_alert_DhPBO {\\n margin-top: calc(2 * 0.5rem);\\n border-radius: 5px;\\n padding: 0.5rem;\\n display: flex;\\n align-items: center;\\n border-width: 1px;\\n border-style: solid;\\n} .sound-editor_stereo_1cklI {\\n background-color: rgba(145, 145, 255, 0.3);\\n border-color: rgb(145, 145, 255)\\n} .sound-editor_too-large_2e10L {\\n background-color: rgba(255, 119, 0, 0.3);\\n border-color: rgb(255, 119, 0);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"editor-container\": \"sound-editor_editor-container_iUSW-\",\n\t\"editorContainer\": \"sound-editor_editor-container_iUSW-\",\n\t\"row\": \"sound-editor_row_3iFzH\",\n\t\"row-reverse\": \"sound-editor_row-reverse_1qAAx\",\n\t\"rowReverse\": \"sound-editor_row-reverse_1qAAx\",\n\t\"input-group\": \"sound-editor_input-group_2hWiH\",\n\t\"inputGroup\": \"sound-editor_input-group_2hWiH\",\n\t\"name-input\": \"sound-editor_name-input_2Msmq\",\n\t\"nameInput\": \"sound-editor_name-input_2Msmq\",\n\t\"waveform-container\": \"sound-editor_waveform-container_1x_b1\",\n\t\"waveformContainer\": \"sound-editor_waveform-container_1x_b1\",\n\t\"button\": \"sound-editor_button_1_6Li\",\n\t\"round-button-outer\": \"sound-editor_round-button-outer_2hM-8\",\n\t\"roundButtonOuter\": \"sound-editor_round-button-outer_2hM-8\",\n\t\"round-button\": \"sound-editor_round-button_3NLcW\",\n\t\"roundButton\": \"sound-editor_round-button_3NLcW\",\n\t\"undo-icon\": \"sound-editor_undo-icon_So0sO\",\n\t\"undoIcon\": \"sound-editor_undo-icon_So0sO\",\n\t\"redo-icon\": \"sound-editor_redo-icon_XGcr5\",\n\t\"redoIcon\": \"sound-editor_redo-icon_XGcr5\",\n\t\"trim-button\": \"sound-editor_trim-button_lSENI\",\n\t\"trimButton\": \"sound-editor_trim-button_lSENI\",\n\t\"effects\": \"sound-editor_effects_ywFdO\",\n\t\"effect-button\": \"sound-editor_effect-button_2zuzT\",\n\t\"effectButton\": \"sound-editor_effect-button_2zuzT\",\n\t\"tool-button\": \"sound-editor_tool-button_2iNn9\",\n\t\"toolButton\": \"sound-editor_tool-button_2iNn9\",\n\t\"flip-in-rtl\": \"sound-editor_flip-in-rtl_3eOfH\",\n\t\"flipInRtl\": \"sound-editor_flip-in-rtl_3eOfH\",\n\t\"button-group\": \"sound-editor_button-group_SFPoV\",\n\t\"buttonGroup\": \"sound-editor_button-group_SFPoV\",\n\t\"info-row\": \"sound-editor_info-row_33dW3\",\n\t\"infoRow\": \"sound-editor_info-row_33dW3\",\n\t\"duration\": \"sound-editor_duration_Iq75P\",\n\t\"advanced-info\": \"sound-editor_advanced-info_IEJgw\",\n\t\"advancedInfo\": \"sound-editor_advanced-info_IEJgw\",\n\t\"alert\": \"sound-editor_alert_DhPBO\",\n\t\"stereo\": \"sound-editor_stereo_1cklI\",\n\t\"too-large\": \"sound-editor_too-large_2e10L\",\n\t\"tooLarge\": \"sound-editor_too-large_2e10L\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .spinner_spinner_2Op8D {\\n width: 1.25rem;\\n height: 1.25rem;\\n display: inline-block;\\n position: relative;\\n border-radius: 50%;\\n border-width: .1875rem;\\n border-style: solid;\\n border-color: hsla(0, 100%, 100%, 0.25);\\n box-sizing: content-box;\\n} .spinner_spinner_2Op8D::before, .spinner_spinner_2Op8D::after {\\n width: 1.25rem;\\n height: 1.25rem;\\n content: '';\\n border-radius: 50%;\\n display: block;\\n} .spinner_spinner_2Op8D::after {\\n position: absolute;\\n top: -.1875rem;\\n left: -.1875rem;\\n border: .1875rem solid transparent;\\n border-top-color: hsla(0, 100%, 100%, 1);\\n animation: spinner_spin_1ge20 1.5s cubic-bezier(0.4, 0.1, 0.4, 1) infinite;\\n} .spinner_small_1RsxO {\\n width: .5rem;\\n height: .5rem;\\n} .spinner_small_1RsxO::before, .spinner_small_1RsxO::after {\\n width: .5rem;\\n height: .5rem;\\n} .spinner_large_M0-Ov {\\n width: 2.5rem;\\n height: 2.5rem;\\n} .spinner_large_M0-Ov::before, .spinner_large_M0-Ov::after {\\n width: 2.5rem;\\n height: 2.5rem;\\n} @keyframes spinner_spin_1ge20 {\\n 0% {\\n transform: rotate(0deg);\\n }\\n\\n 100% {\\n transform: rotate(360deg);\\n }\\n} .spinner_spinner_2Op8D.spinner_success_2bEvy {\\n border-color: hsla(10, 85%, 65%, 0.35);\\n} .spinner_spinner_2Op8D.spinner_success_2bEvy::after {\\n border-top-color: hsla(10, 85%, 65%, 1);\\n} .spinner_spinner_2Op8D.spinner_warn_3KZAv {\\n border-color: hsla(30, 100%, 55%, 0.25);\\n} .spinner_spinner_2Op8D.spinner_warn_3KZAv::after {\\n border-top-color: hsla(30, 100%, 55%, 1);\\n} .spinner_spinner_2Op8D.spinner_info_2g2-l {\\n border-color: hsla(0, 100%, 100%, 0.25);\\n} .spinner_spinner_2Op8D.spinner_info_2g2-l::after {\\n border-top-color: hsla(0, 100%, 100%, 1);\\n} .spinner_spinner_2Op8D.spinner_primary_32PLs {\\n border-color: hsla(0, 100%, 65%, 0.35);\\n} .spinner_spinner_2Op8D.spinner_primary_32PLs::after {\\n border-top-color: hsla(0, 100%, 65%, 1);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"spinner\": \"spinner_spinner_2Op8D\",\n\t\"spin\": \"spinner_spin_1ge20\",\n\t\"small\": \"spinner_small_1RsxO\",\n\t\"large\": \"spinner_large_M0-Ov\",\n\t\"success\": \"spinner_success_2bEvy\",\n\t\"warn\": \"spinner_warn_3KZAv\",\n\t\"info\": \"spinner_info_2g2-l\",\n\t\"primary\": \"spinner_primary_32PLs\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n.sprite-info_sprite-info_3EyZh {\\n padding: 0.75rem;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n background-color: white;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n border-top-left-radius: 0.5rem;\\n border-top-right-radius: 0.5rem;\\n border-bottom: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\\n[theme=\\\"dark\\\"] .sprite-info_sprite-info_3EyZh {\\n background-color: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n}\\n\\n.sprite-info_row_1om5V {\\n display: flex;\\n justify-content: space-between;\\n}\\n\\n.sprite-info_row-primary_10JrS {\\n margin-bottom: 0.5rem;\\n}\\n\\n.sprite-info_label_258mm { opacity: 0.8; }\\n\\n.sprite-info_group_14-B_ {\\n display: inline-flex;\\n flex-direction: row; /* makes columns, for each label/form group */\\n align-items: center;\\n}\\n\\n.sprite-info_column_EFIdF {\\n display: inline-flex;\\n flex-direction: column; /* put label above input */\\n align-items: flex-start;\\n}\\n\\n.sprite-info_column_EFIdF span {\\n margin-bottom: .25rem;\\n}\\n\\n.sprite-info_icon-wrapper_3Wbqq {\\n display: inline-block;\\n width: calc(2rem + 2px);\\n height: calc(2rem + 2px);\\n padding: 0.5rem;\\n outline: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n.sprite-info_icon_1iZ_9 {\\n width: 100%;\\n height: 100%;\\n}\\n\\n/* @todo: refactor radio divs to input */\\n\\n.sprite-info_radio-wrapper_1OHDS {\\n white-space: nowrap; /* make sure visibilty buttons don't wrap */\\n}\\n\\n.sprite-info_radio_v-fgn {\\n filter: saturate(0);\\n cursor: pointer;\\n}\\n\\n.sprite-info_radio_v-fgn.sprite-info_is-active_ewF6e {\\n filter: none;\\n}\\n\\n.sprite-info_radio_v-fgn.sprite-info_is-disabled_1_MCi {\\n cursor: default;\\n}\\n\\n.sprite-info_radio-first_3xgJB {\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\\n[dir=\\\"ltr\\\"] .sprite-info_radio-first_3xgJB {\\n border-top-left-radius: calc(0.5rem / 2);\\n border-bottom-left-radius: calc(0.5rem / 2);\\n}\\n\\n[dir=\\\"rtl\\\"] .sprite-info_radio-first_3xgJB {\\n border-top-right-radius: calc(0.5rem / 2);\\n border-bottom-right-radius: calc(0.5rem / 2);\\n}\\n\\n.sprite-info_radio-first_3xgJB:focus {\\n border-color: hsla(0, 100%, 65%, 1);\\n box-shadow: inset 0 0 0 -2px var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\\n.sprite-info_radio-last_3Ps65 {\\n border-bottom: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-top: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\\n[dir=\\\"ltr\\\"] .sprite-info_radio-last_3Ps65 {\\n border-right: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-left: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-top-right-radius: calc(0.5rem / 2);\\n border-bottom-right-radius: calc(0.5rem / 2);\\n}\\n\\n[dir=\\\"rtl\\\"] .sprite-info_radio-last_3Ps65 {\\n border-left: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-right: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-top-left-radius: calc(0.5rem / 2);\\n border-bottom-left-radius: calc(0.5rem / 2);\\n}\\n\\n.sprite-info_radio-last_3Ps65:focus {\\n border-color: hsla(0, 100%, 65%, 1);\\n box-shadow: inset 0 0 0 -2px var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n}\\n\\n.sprite-info_icon_1iZ_9 {\\n width: 100%;\\n height: 100%;\\n pointer-events: none;\\n}\\n\\n.sprite-info_rotation-select_17OlD {\\n width: 100%;\\n height: 1.85rem;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n outline: none;\\n}\\n\\n.sprite-info_rotation-select_17OlD:focus {\\n border-color: hsla(0, 100%, 65%, 1);\\n box-shadow: inset 0 0 0 1px var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15)));\\n}\\n\\n.sprite-info_larger-input_1UEs0 input {\\n width: 4rem;\\n}\\n\\n.sprite-info_sprite-input_17wjb {\\n width: 8rem;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"sprite-info\": \"sprite-info_sprite-info_3EyZh\",\n\t\"spriteInfo\": \"sprite-info_sprite-info_3EyZh\",\n\t\"row\": \"sprite-info_row_1om5V\",\n\t\"row-primary\": \"sprite-info_row-primary_10JrS\",\n\t\"rowPrimary\": \"sprite-info_row-primary_10JrS\",\n\t\"label\": \"sprite-info_label_258mm\",\n\t\"group\": \"sprite-info_group_14-B_\",\n\t\"column\": \"sprite-info_column_EFIdF\",\n\t\"icon-wrapper\": \"sprite-info_icon-wrapper_3Wbqq\",\n\t\"iconWrapper\": \"sprite-info_icon-wrapper_3Wbqq\",\n\t\"icon\": \"sprite-info_icon_1iZ_9\",\n\t\"radio-wrapper\": \"sprite-info_radio-wrapper_1OHDS\",\n\t\"radioWrapper\": \"sprite-info_radio-wrapper_1OHDS\",\n\t\"radio\": \"sprite-info_radio_v-fgn\",\n\t\"is-active\": \"sprite-info_is-active_ewF6e\",\n\t\"isActive\": \"sprite-info_is-active_ewF6e\",\n\t\"is-disabled\": \"sprite-info_is-disabled_1_MCi\",\n\t\"isDisabled\": \"sprite-info_is-disabled_1_MCi\",\n\t\"radio-first\": \"sprite-info_radio-first_3xgJB\",\n\t\"radioFirst\": \"sprite-info_radio-first_3xgJB\",\n\t\"radio-last\": \"sprite-info_radio-last_3Ps65\",\n\t\"radioLast\": \"sprite-info_radio-last_3Ps65\",\n\t\"rotation-select\": \"sprite-info_rotation-select_17OlD\",\n\t\"rotationSelect\": \"sprite-info_rotation-select_17OlD\",\n\t\"larger-input\": \"sprite-info_larger-input_1UEs0\",\n\t\"largerInput\": \"sprite-info_larger-input_1UEs0\",\n\t\"sprite-input\": \"sprite-info_sprite-input_17wjb\",\n\t\"spriteInput\": \"sprite-info_sprite-input_17wjb\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n/* @todo: refactor this class name, and component: `sprite-selector` to `sprite` */\\n\\n.sprite-selector-item_sprite-selector-item_kQm-i {\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n position: relative;\\n\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 0.8rem;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n border-width: 2px;\\n border-style: solid;\\n border-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0.5rem;\\n\\n text-align: center;\\n cursor: pointer;\\n\\n -webkit-user-select: none;\\n\\n -moz-user-select: none;\\n\\n -ms-user-select: none;\\n\\n user-select: none;\\n}\\n\\n.sprite-selector-item_sprite-selector-item_kQm-i.sprite-selector-item_is-selected_24tQj {\\n box-shadow: 0px 0px 0px 4px hsla(0, 100%, 65%, 0.35);\\n border: 2px solid hsla(0, 100%, 65%, 1);\\n background: hsla(0, 100%, 100%, 1);\\n}\\n\\n[theme=\\\"dark\\\"] .sprite-selector-item_sprite-selector-item_kQm-i.sprite-selector-item_is-selected_24tQj {\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n}\\n\\n.sprite-selector-item_sprite-selector-item_kQm-i:hover {\\n border: 2px solid hsla(0, 100%, 65%, 1);\\n background: hsla(0, 100%, 100%, 1);\\n}\\n\\n[theme=\\\"dark\\\"] .sprite-selector-item_sprite-selector-item_kQm-i:hover {\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n}\\n\\n.sprite-selector-item_sprite-selector-item_kQm-i:hover .sprite-selector-item_sprite-image_2QWuK, .sprite-selector-item_is-selected_24tQj .sprite-selector-item_sprite-image_2QWuK {\\n filter: drop-shadow(0px 0px 2px var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15)));\\n}\\n\\n/* Outer/Inner chicanery is to prevent layouts when sprite image changes */\\n\\n.sprite-selector-item_sprite-image-outer_Xs0wN {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n transform: translateZ(0);\\n}\\n\\n.sprite-selector-item_sprite-image-inner_3oSwi {\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.sprite-selector-item_sprite-image_2QWuK {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n pointer-events: none;\\n max-width: 32px;\\n max-height: 32px;\\n}\\n\\n.sprite-selector-item_sprite-info_-I0i_ {\\n padding: 0.25rem;\\n border-bottom-left-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem;\\n\\n font-size: 0.625rem;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n.sprite-selector-item_sprite-name_1PXjh, .sprite-selector-item_sprite-details_2UVpA {\\n /*\\n For truncating overflowing text gracefully\\n Min-width is for a bug: https://css-tricks.com/flexbox-truncated-text\\n */\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n min-width: 0;\\n}\\n\\n.sprite-selector-item_sprite-details_2UVpA {\\n margin-top: 0.125rem;\\n font-size: 0.5rem;\\n}\\n\\n.sprite-selector-item_is-selected_24tQj .sprite-selector-item_sprite-info_-I0i_ {\\n background: hsla(0, 100%, 65%, 1);\\n color: hsla(0, 100%, 100%, 1);\\n}\\n\\n.sprite-selector-item_delete-button_1rkFW {\\n position: absolute;\\n top: -.625rem;\\n z-index: auto;\\n}\\n\\n[dir=\\\"ltr\\\"] .sprite-selector-item_delete-button_1rkFW {\\n right: -.625rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .sprite-selector-item_delete-button_1rkFW {\\n left: -.625rem;\\n}\\n\\n.sprite-selector-item_number_AnXUk {\\n position: absolute;\\n top: 0.15rem;\\n font-size: 0.625rem;\\n font-weight: bold;\\n z-index: 2;\\n}\\n\\n[dir=\\\"ltr\\\"] .sprite-selector-item_number_AnXUk {\\n left: 0.15rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .sprite-selector-item_number_AnXUk {\\n right: 0.15rem;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"sprite-selector-item\": \"sprite-selector-item_sprite-selector-item_kQm-i\",\n\t\"spriteSelectorItem\": \"sprite-selector-item_sprite-selector-item_kQm-i\",\n\t\"is-selected\": \"sprite-selector-item_is-selected_24tQj\",\n\t\"isSelected\": \"sprite-selector-item_is-selected_24tQj\",\n\t\"sprite-image\": \"sprite-selector-item_sprite-image_2QWuK\",\n\t\"spriteImage\": \"sprite-selector-item_sprite-image_2QWuK\",\n\t\"sprite-image-outer\": \"sprite-selector-item_sprite-image-outer_Xs0wN\",\n\t\"spriteImageOuter\": \"sprite-selector-item_sprite-image-outer_Xs0wN\",\n\t\"sprite-image-inner\": \"sprite-selector-item_sprite-image-inner_3oSwi\",\n\t\"spriteImageInner\": \"sprite-selector-item_sprite-image-inner_3oSwi\",\n\t\"sprite-info\": \"sprite-selector-item_sprite-info_-I0i_\",\n\t\"spriteInfo\": \"sprite-selector-item_sprite-info_-I0i_\",\n\t\"sprite-name\": \"sprite-selector-item_sprite-name_1PXjh\",\n\t\"spriteName\": \"sprite-selector-item_sprite-name_1PXjh\",\n\t\"sprite-details\": \"sprite-selector-item_sprite-details_2UVpA\",\n\t\"spriteDetails\": \"sprite-selector-item_sprite-details_2UVpA\",\n\t\"delete-button\": \"sprite-selector-item_delete-button_1rkFW\",\n\t\"deleteButton\": \"sprite-selector-item_delete-button_1rkFW\",\n\t\"number\": \"sprite-selector-item_number_AnXUk\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ /*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/ /* Toolbox z-index: 40; set in scratch-blocks */ /* tooltips should go over add buttons if they overlap */ /* monitors go over add buttons */ /* \\\"ask\\\" block text input goes above monitors */ /* menu-bar should go over monitors, alerts and tutorials */ /* tw: show below menu bar normally */ /* Block drag z-index: 1000; default 50 is overriden in blocks.css */ /* so it is draggable into other panes */ /* in most interfaces, the context menu is always on top */ .sprite-selector_sprite-selector_2KgCX {\\n flex-grow: 1;\\n position: relative;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n margin-right: calc(0.5rem / 2);\\n background-color: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n border-top-right-radius: 0.5rem;\\n border-top-left-radius: 0.5rem;\\n border-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-width: 1px;\\n border-style: solid;\\n border-bottom: 0;\\n} .sprite-selector_sprite-wrapper_1C5Mq {\\n /*\\n Our goal is to fit sprites evenly in a row without leftover space.\\n Flexbox's `space between` property gets us close, but doesn't flow\\n well when the # of items per row > 1 and less than the max per row.\\n\\n Solving by explicitly calc'ing the width of each sprite. Setting\\n `border-box` simplifies things, because content, padding and\\n border-width all are included in the width, leaving us only to subtract\\n the left + right margins.\\n\\n @todo: make room for the scrollbar\\n */\\n box-sizing: border-box;\\n width: calc((100% / 5 ) - 0.5rem);\\n max-width: 6rem;\\n min-width: 4rem;\\n min-height: 4rem; /* @todo: calc height same as width */\\n margin: calc(0.5rem / 2);\\n} .sprite-selector_sprite_21WnR {\\n height: 100%;\\n} .sprite-selector_scroll-wrapper_3NNnc {\\n /*\\n Sets the sprite-selector items as a scrollable pane\\n\\n @todo: Safari: pane doesn't stretch to fill height;\\n @todo: Adding `position: relative` still doesn't fix Safari scrolling pane, and\\n also introduces a new bug in Chrome when vertically resizing window down,\\n then back up, introduces white space in the outside the page container.\\n */\\n height: calc(100% - 6rem);\\n overflow-y: auto;\\n} .sprite-selector_scroll-wrapper-dragging_2QZJG {\\n background-color: hsla(0, 100%, 77%, 1);\\n} .sprite-selector_items-wrapper_4bcOj {\\n display: flex;\\n flex-wrap: wrap;\\n flex-direction: row;\\n\\n padding-top: calc(0.5rem / 2);\\n padding-left: calc(0.5rem / 2);\\n padding-right: calc(0.5rem / 2);\\n padding-bottom: 0.5rem;\\n\\n overflow: hidden;\\n} .sprite-selector_add-button_1XCwG {\\n position: absolute;\\n bottom: 0.75rem;\\n} [dir=\\\"ltr\\\"] .sprite-selector_add-button_1XCwG {\\n right: 1rem;\\n} [dir=\\\"rtl\\\"] .sprite-selector_add-button_1XCwG {\\n left: 1rem;\\n} .sprite-selector_raised_1fkrL {\\n background-color: hsla(0, 100%, 77%, 1);\\n transition: all 0.25s ease;\\n} .sprite-selector_raised_1fkrL:hover {\\n background-color: hsla(0, 100%, 77%, 1);\\n transform: scale(1.05);\\n} .sprite-selector_raised_1fkrL:hover {\\n animation-name: sprite-selector_wiggle__tLSA;\\n animation-duration: 500ms;\\n animation-iteration-count: 1;\\n animation-timing-function: ease-in-out;\\n background-color: hsla(0, 100%, 77%, 1);\\n} @keyframes sprite-selector_wiggle__tLSA {\\n 0% {transform: rotate(3deg) scale(1.05);}\\n 25% {transform: rotate(-3deg) scale(1.05);}\\n 50% {transform: rotate(5deg) scale(1.05);}\\n 75% {transform: rotate(-2deg) scale(1.05);}\\n 100% {transform: rotate(0deg) scale(1.05);}\\n} .sprite-selector_receivedBlocks_24JkN {\\n animation: sprite-selector_glowing_3IS0u 250ms;\\n} @keyframes sprite-selector_glowing_3IS0u {\\n 10% { box-shadow: 0 0 10px #7fff1e; }\\n 90% { box-shadow: 0 0 10px #7fff1e; }\\n 100% { box-shadow: none; }\\n} .sprite-selector_placeholder_2v7G4 > .sprite-selector_sprite_21WnR {\\n background: black;\\n filter: opacity(15%) brightness(0%);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"sprite-selector\": \"sprite-selector_sprite-selector_2KgCX\",\n\t\"spriteSelector\": \"sprite-selector_sprite-selector_2KgCX\",\n\t\"sprite-wrapper\": \"sprite-selector_sprite-wrapper_1C5Mq\",\n\t\"spriteWrapper\": \"sprite-selector_sprite-wrapper_1C5Mq\",\n\t\"sprite\": \"sprite-selector_sprite_21WnR\",\n\t\"scroll-wrapper\": \"sprite-selector_scroll-wrapper_3NNnc\",\n\t\"scrollWrapper\": \"sprite-selector_scroll-wrapper_3NNnc\",\n\t\"scroll-wrapper-dragging\": \"sprite-selector_scroll-wrapper-dragging_2QZJG\",\n\t\"scrollWrapperDragging\": \"sprite-selector_scroll-wrapper-dragging_2QZJG\",\n\t\"items-wrapper\": \"sprite-selector_items-wrapper_4bcOj\",\n\t\"itemsWrapper\": \"sprite-selector_items-wrapper_4bcOj\",\n\t\"add-button\": \"sprite-selector_add-button_1XCwG\",\n\t\"addButton\": \"sprite-selector_add-button_1XCwG\",\n\t\"raised\": \"sprite-selector_raised_1fkrL\",\n\t\"wiggle\": \"sprite-selector_wiggle__tLSA\",\n\t\"receivedBlocks\": \"sprite-selector_receivedBlocks_24JkN\",\n\t\"glowing\": \"sprite-selector_glowing_3IS0u\",\n\t\"placeholder\": \"sprite-selector_placeholder_2v7G4\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n/*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/\\n\\n/* Toolbox z-index: 40; set in scratch-blocks */\\n\\n/* tooltips should go over add buttons if they overlap */\\n\\n/* monitors go over add buttons */\\n\\n/* \\\"ask\\\" block text input goes above monitors */\\n\\n/* menu-bar should go over monitors, alerts and tutorials */\\n\\n/* tw: show below menu bar normally */\\n\\n/* Block drag z-index: 1000; default 50 is overriden in blocks.css */\\n\\n/* so it is draggable into other panes */\\n\\n/* in most interfaces, the context menu is always on top */\\n\\n.stage-header_stage-header-wrapper_1F4gT {\\n position: relative;\\n}\\n\\n.stage-header_stage-header-wrapper-overlay_5vfJa {\\n position: fixed;\\n background-color: rgb(232, 237, 241);\\n top: 0;\\n left: 0;\\n right: 0;\\n z-index: 500;\\n}\\n\\n/* tw: support dark mode */\\n\\n[theme=\\\"dark\\\"] .stage-header_stage-header-wrapper-overlay_5vfJa {\\n background-color: #111;\\n}\\n\\n/* tw: do not show color in header when embedded */\\n\\n.stage-header_embedded_nhDjw {\\n background-color: transparent;\\n}\\n\\n.stage-header_stage-menu-wrapper_15JJt {\\n display: flex;\\n margin: auto;\\n justify-content: space-between;\\n flex-shrink: 0;\\n align-items: center;\\n height: 2.75rem;\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem;\\n}\\n\\n.stage-header_embed-scratch-logo_2K5GA img {\\n height: 1.6rem;\\n vertical-align: middle;\\n opacity: .6;\\n}\\n\\n.stage-header_stage-size-row_14N65 {\\n display: flex;\\n}\\n\\n.stage-header_stage-size-toggle-group_17LtK {\\n display: flex;\\n}\\n\\n[dir=\\\"ltr\\\"] .stage-header_stage-size-toggle-group_17LtK {\\n margin-right: .2rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .stage-header_stage-size-toggle-group_17LtK {\\n margin-left: .2rem;\\n}\\n\\n.stage-header_stage-button_hkl9B {\\n display: block;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: calc(0.5rem / 2);\\n width: calc(2rem + 2px);\\n height: calc(2rem + 2px);\\n background: hsla(0, 100%, 100%, 1);\\n padding: 0.375rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n cursor: pointer;\\n}\\n\\n[theme=\\\"dark\\\"] .stage-header_stage-button_hkl9B {\\n background: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n}\\n\\n.stage-header_stage-button-icon_3zzFK {\\n width: 100%;\\n height: 100%;\\n}\\n\\n[dir=\\\"rtl\\\"] .stage-header_stage-button-icon_3zzFK {\\n transform: scaleX(-1);\\n}\\n\\n[dir=\\\"ltr\\\"] .stage-header_stage-button-first_y_CLF {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n[dir=\\\"ltr\\\"] .stage-header_stage-button-last_eeKZ4 {\\n border-left: none;\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n[dir=\\\"rtl\\\"] .stage-header_stage-button-first_y_CLF {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n[dir=\\\"rtl\\\"] .stage-header_stage-button-last_eeKZ4 {\\n border-right: none;\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.stage-header_stage-button-toggled-off_AJ8yG {\\n filter: saturate(0);\\n}\\n\\n[theme=\\\"dark\\\"] .stage-header_stage-button-toggled-off_AJ8yG img,\\n\\n[theme=\\\"dark\\\"] .stage-header_stage-button_hkl9B:not(.stage-header_stage-button-first_y_CLF):not(.stage-header_stage-button-last_eeKZ4) img {\\n filter: brightness(0) invert(1);\\n opacity: 0.8;\\n}\\n\\n.stage-header_embed-buttons_2Q7nj {\\n display: flex;\\n}\\n\\n[dir=\\\"ltr\\\"] .stage-header_embed-buttons_2Q7nj > *:not(:last-child) {\\n margin-right: .2rem;\\n}\\n\\n[dir=\\\"rtl\\\"] .stage-header_embed-buttons_2Q7nj > *:not(:last-child) {\\n margin-left: .2rem;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"stage-header-wrapper\": \"stage-header_stage-header-wrapper_1F4gT\",\n\t\"stageHeaderWrapper\": \"stage-header_stage-header-wrapper_1F4gT\",\n\t\"stage-header-wrapper-overlay\": \"stage-header_stage-header-wrapper-overlay_5vfJa\",\n\t\"stageHeaderWrapperOverlay\": \"stage-header_stage-header-wrapper-overlay_5vfJa\",\n\t\"embedded\": \"stage-header_embedded_nhDjw\",\n\t\"stage-menu-wrapper\": \"stage-header_stage-menu-wrapper_15JJt\",\n\t\"stageMenuWrapper\": \"stage-header_stage-menu-wrapper_15JJt\",\n\t\"embed-scratch-logo\": \"stage-header_embed-scratch-logo_2K5GA\",\n\t\"embedScratchLogo\": \"stage-header_embed-scratch-logo_2K5GA\",\n\t\"stage-size-row\": \"stage-header_stage-size-row_14N65\",\n\t\"stageSizeRow\": \"stage-header_stage-size-row_14N65\",\n\t\"stage-size-toggle-group\": \"stage-header_stage-size-toggle-group_17LtK\",\n\t\"stageSizeToggleGroup\": \"stage-header_stage-size-toggle-group_17LtK\",\n\t\"stage-button\": \"stage-header_stage-button_hkl9B\",\n\t\"stageButton\": \"stage-header_stage-button_hkl9B\",\n\t\"stage-button-icon\": \"stage-header_stage-button-icon_3zzFK\",\n\t\"stageButtonIcon\": \"stage-header_stage-button-icon_3zzFK\",\n\t\"stage-button-first\": \"stage-header_stage-button-first_y_CLF\",\n\t\"stageButtonFirst\": \"stage-header_stage-button-first_y_CLF\",\n\t\"stage-button-last\": \"stage-header_stage-button-last_eeKZ4\",\n\t\"stageButtonLast\": \"stage-header_stage-button-last_eeKZ4\",\n\t\"stage-button-toggled-off\": \"stage-header_stage-button-toggled-off_AJ8yG\",\n\t\"stageButtonToggledOff\": \"stage-header_stage-button-toggled-off_AJ8yG\",\n\t\"embed-buttons\": \"stage-header_embed-buttons_2Q7nj\",\n\t\"embedButtons\": \"stage-header_embed-buttons_2Q7nj\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n.stage-selector_stage-selector_3oWOr {\\n background-clip: padding-box;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n position: relative; /* For the add backdrop button */\\n flex-grow: 1;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n background-color: hsla(0, 100%, 100%, 1);\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n border-top-left-radius: 0.5rem;\\n border-top-right-radius: 0.5rem;\\n border-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-width: 1px;\\n border-style: solid;\\n border-bottom: 0;\\n cursor: pointer;\\n transition: all 0.25s ease;\\n}\\n\\n[theme=\\\"dark\\\"] .stage-selector_stage-selector_3oWOr {\\n background-color: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n}\\n\\n.stage-selector_stage-selector_3oWOr.stage-selector_is-selected_2x2r_ {\\n border-top-left-radius: .625rem;\\n border-top-right-radius: .625rem;\\n border-color: hsla(0, 100%, 65%, 1);\\n box-shadow: 0px 0px 0px 4px hsla(0, 100%, 65%, 0.35);\\n}\\n\\n.stage-selector_stage-selector_3oWOr:hover {\\n border-color: hsla(0, 100%, 65%, 1);\\n}\\n\\n.stage-selector_header_2GVr1 {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n height: calc(2.75rem - 2px);\\n background-color: white;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n border-top-left-radius: 0.5rem;\\n border-top-right-radius: 0.5rem;\\n border-bottom: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n width: 100%;\\n transition: background-color 0.25s ease;\\n}\\n\\n[theme=\\\"dark\\\"] .stage-selector_header_2GVr1 {\\n background-color: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n}\\n\\n.stage-selector_header-title_33xCt {\\n font-size: 0.625rem;\\n font-weight: bold;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n\\n /* @todo: make this a mixin for all UI text labels */\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n transition: color 0.25s ease;\\n}\\n\\n.stage-selector_stage-selector_3oWOr.stage-selector_is-selected_2x2r_ .stage-selector_header_2GVr1 {\\n background-color: hsla(0, 100%, 65%, 1);\\n}\\n\\n.stage-selector_stage-selector_3oWOr.stage-selector_is-selected_2x2r_ .stage-selector_header-title_33xCt {\\n color: hsla(0, 100%, 100%, 1);\\n}\\n\\n.stage-selector_count_2QK7D {\\n padding: 0.3rem 0.75rem;\\n font-size: 0.625rem;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n.stage-selector_label_1MCfr {\\n margin: 0.75rem 0 0.25rem;\\n font-size: 0.6rem;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n text-align: center;\\n}\\n\\n.stage-selector_costume-canvas_2L_6h {\\n display: block;\\n margin-top: .25rem;\\n width: 100%;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: .25rem;\\n box-shadow: inset 0 0 4px hsla(0, 0%, 0%, 0.15);\\n max-width: 64px;\\n max-height: 48px;\\n}\\n\\n.stage-selector_add-button_1sKuU {\\n position: absolute;\\n bottom: 0.75rem;\\n}\\n\\n.stage-selector_stage-selector_3oWOr.stage-selector_raised_9i1gL, .stage-selector_stage-selector_3oWOr.stage-selector_raised_9i1gL .stage-selector_header_2GVr1 {\\n background-color: hsla(0, 100%, 77%, 1);\\n transition: all 0.25s ease;\\n}\\n\\n.stage-selector_raised_9i1gL:hover {\\n transform: scale(1.05);\\n}\\n\\n.stage-selector_receivedBlocks_2zr7v {\\n animation: stage-selector_glowing_2YPqi 250ms;\\n}\\n\\n@keyframes stage-selector_glowing_2YPqi {\\n 10% { box-shadow: 0 0 10px #7fff1e; }\\n 90% { box-shadow: 0 0 10px #7fff1e; }\\n 100% { box-shadow: none; }\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"stage-selector\": \"stage-selector_stage-selector_3oWOr\",\n\t\"stageSelector\": \"stage-selector_stage-selector_3oWOr\",\n\t\"is-selected\": \"stage-selector_is-selected_2x2r_\",\n\t\"isSelected\": \"stage-selector_is-selected_2x2r_\",\n\t\"header\": \"stage-selector_header_2GVr1\",\n\t\"header-title\": \"stage-selector_header-title_33xCt\",\n\t\"headerTitle\": \"stage-selector_header-title_33xCt\",\n\t\"count\": \"stage-selector_count_2QK7D\",\n\t\"label\": \"stage-selector_label_1MCfr\",\n\t\"costume-canvas\": \"stage-selector_costume-canvas_2L_6h\",\n\t\"costumeCanvas\": \"stage-selector_costume-canvas_2L_6h\",\n\t\"add-button\": \"stage-selector_add-button_1sKuU\",\n\t\"addButton\": \"stage-selector_add-button_1sKuU\",\n\t\"raised\": \"stage-selector_raised_9i1gL\",\n\t\"receivedBlocks\": \"stage-selector_receivedBlocks_2zr7v\",\n\t\"glowing\": \"stage-selector_glowing_2YPqi\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n/*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/\\n\\n/* Toolbox z-index: 40; set in scratch-blocks */\\n\\n/* tooltips should go over add buttons if they overlap */\\n\\n/* monitors go over add buttons */\\n\\n/* \\\"ask\\\" block text input goes above monitors */\\n\\n/* menu-bar should go over monitors, alerts and tutorials */\\n\\n/* tw: show below menu bar normally */\\n\\n/* Block drag z-index: 1000; default 50 is overriden in blocks.css */\\n\\n/* so it is draggable into other panes */\\n\\n/* in most interfaces, the context menu is always on top */\\n\\n/* tw: this changes the loading screen to be contained to the stage */\\n\\n.stage-wrapper_stage-wrapper_2bejr {\\n position: relative;\\n}\\n\\n.stage-wrapper_stage-wrapper_2bejr * {\\n box-sizing: border-box;\\n}\\n\\n.stage-wrapper_stage-canvas-wrapper_3ewmd {\\n /* Hides negative space between edge of rounded corners + container, when selected */\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n.stage-wrapper_stage-wrapper_2bejr.stage-wrapper_full-screen_2hjMb {\\n position: fixed;\\n top: 2.75rem;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 500;\\n background-color: hsla(0, 100%, 100%, 1);\\n /* spacing between stage and control bar (on the top), or between\\n stage and window edges (on left/right/bottom) */\\n padding: 0.1875rem;\\n\\n /* this centers the stage */\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n}\\n\\n/* tw: support dark mode */\\n\\n[theme=\\\"dark\\\"] .stage-wrapper_stage-wrapper_2bejr.stage-wrapper_full-screen_2hjMb {\\n background-color: #111;\\n}\\n\\n/* tw: do not show color in embeds */\\n\\n.stage-wrapper_stage-wrapper_2bejr.stage-wrapper_embedded_10ZS6 {\\n background-color: transparent;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"stage-wrapper\": \"stage-wrapper_stage-wrapper_2bejr\",\n\t\"stageWrapper\": \"stage-wrapper_stage-wrapper_2bejr\",\n\t\"stage-canvas-wrapper\": \"stage-wrapper_stage-canvas-wrapper_3ewmd\",\n\t\"stageCanvasWrapper\": \"stage-wrapper_stage-canvas-wrapper_3ewmd\",\n\t\"full-screen\": \"stage-wrapper_full-screen_2hjMb\",\n\t\"fullScreen\": \"stage-wrapper_full-screen_2hjMb\",\n\t\"embedded\": \"stage-wrapper_embedded_10ZS6\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n/* #E5F0FF */\\n\\n/* #E9F1FC */\\n\\n/* #D9E3F2 */\\n\\n/* 90% transparent version of motion-primary */\\n\\n/* #FFFFFF */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 25% transparent version of ui-white */\\n\\n/* 15% transparent version of black */\\n\\n/* #575E75 */\\n\\n/* 35% transparent version of motion-primary */\\n\\n/* 15% transparent version of motion-primary */\\n\\n/* opt-in theme overrides */\\n\\n/* #FF661A */\\n\\n/* #E64D00 */\\n\\n/* #CF63CF */\\n\\n/* #BD42BD */\\n\\n/* #FFAB19 */\\n\\n/* #FF8C1A */\\n\\n/* #0FBD8C */\\n\\n/* #0FBD8C */\\n\\n/* #FF8C1A */\\n\\n/* #FFB366 */\\n\\n/* #FF8C1A */\\n\\n/* 35% transparent version of extensions-primary */\\n\\n/* opaque version of extensions-transparent, on white bg */\\n\\n/* lighter than motion-primary */\\n\\n/*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/\\n\\n/* Toolbox z-index: 40; set in scratch-blocks */\\n\\n/* tooltips should go over add buttons if they overlap */\\n\\n/* monitors go over add buttons */\\n\\n/* \\\"ask\\\" block text input goes above monitors */\\n\\n/* menu-bar should go over monitors, alerts and tutorials */\\n\\n/* tw: show below menu bar normally */\\n\\n/* Block drag z-index: 1000; default 50 is overriden in blocks.css */\\n\\n/* so it is draggable into other panes */\\n\\n/* in most interfaces, the context menu is always on top */\\n\\n.stage_stage_1fD7k {\\n /*\\n Fixes a few extra pixels of margin/padding, that adds on to the bottom\\n of the element, which messes up the chrome padding consistency\\n */\\n display: block;\\n\\n border-radius: 0.5rem;\\n border: 0.0625rem solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n overflow: hidden;\\n\\n /* @todo: This is for overriding the value being set somewhere. Where is it being set? */\\n background-color: transparent;\\n\\n /* Allow custom touch handling to prevent scrolling on Edge */\\n touch-action: none;\\n\\n /* Make sure border is not included in size calculation */\\n box-sizing: content-box !important;\\n\\n /* enforce overflow + reset position of absolutely-positioned children */\\n position: relative;\\n\\n /* anything in the stage such as monitor scrollbars should always use light theme */\\n color-scheme: light;\\n}\\n\\n.stage_stage_1fD7k.stage_full-screen_ZO7xi {\\n /* tw: remove fullscreen border */\\n}\\n\\n.stage_with-color-picker_1lNd5 {\\n cursor: none;\\n z-index: 2010;\\n}\\n\\n.stage_color-picker-background_2wCVq {\\n position: fixed;\\n width: 100%;\\n height: 100%;\\n background-color: rgba(0, 0, 0, 0.55);\\n display: block;\\n z-index: 2000;\\n top: 0;\\n left: 0;\\n}\\n\\n.stage_stage-wrapper_eRRuk {\\n position: relative;\\n}\\n\\n/* we want stage overlays to all be positioned in the same spot as the stage, but can't put them inside the border\\nbecause we want their overflow to be visible, and the bordered element must have overflow: hidden set so that the\\nstage doesn't \\\"spill\\\" out from under its rounded corners. instead, shift these over by the border width. */\\n\\n.stage_stage-overlays_eE14L {\\n position: absolute;\\n top: 0.0625rem;\\n left: 0.0625rem;\\n\\n /* the overlay itself should not capture pointer events; only its child elements can do that */\\n pointer-events: none;\\n}\\n\\n.stage_stage-overlays_eE14L.stage_full-screen_ZO7xi {\\n top: 0.1875rem;\\n left: 0.1875rem;\\n}\\n\\n.stage_monitor-wrapper_2w6m8,\\n.stage_frame-wrapper_1JaS_,\\n.stage_green-flag-overlay-wrapper_2hUi_ {\\n position: absolute;\\n top: 0;\\n left: 0;\\n pointer-events: none;\\n}\\n\\n.stage_custom-overlays_ONYEZ {\\n position: absolute;\\n top: 0;\\n left: 0;\\n}\\n\\n.stage_dragging-sprite_pxcJj {\\n position: absolute;\\n top: 0;\\n left: 0;\\n z-index: 1020;\\n filter: drop-shadow(5px 5px 5px hsla(0, 0%, 0%, 0.15));\\n}\\n\\n.stage_stage-bottom-wrapper_KIBfo {\\n position: absolute;\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-end;\\n top: 0;\\n left: 0;\\n overflow: hidden;\\n pointer-events: none;\\n}\\n\\n.stage_mic-indicator_3AvN8 {\\n transform-origin: bottom right;\\n z-index: 45;\\n pointer-events: none;\\n align-self: flex-end;\\n}\\n\\n.stage_question-wrapper_3ukB4 {\\n z-index: 49;\\n pointer-events: auto;\\n}\\n\\n.stage_frame_OVq5G {\\n background: hsla(0, 100%, 65%, 0.35);\\n border: 2px solid hsla(0, 100%, 65%, 1);\\n border-radius: 0.5rem;\\n animation-name: stage_flash_iuAnU;\\n animation-duration: 0.75s;\\n animation-fill-mode: forwards; /* Leave at 0 opacity after animation */\\n}\\n\\n.stage_green-flag-overlay-wrapper_2hUi_ {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n background: rgba(0,0,0,0.25);\\n border-radius: 0.5rem;\\n pointer-events: all;\\n cursor: pointer;\\n}\\n\\n.stage_green-flag-overlay_gNXnv {\\n padding: 1rem;\\n border-radius: 100%;\\n background: rgba(255,255,255,0.75);\\n border: 3px solid hsla(0, 100%, 100%, 1);\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n box-sizing: border-box;\\n width: 5rem;\\n height: 5rem;\\n}\\n\\n.stage_green-flag-overlay_gNXnv > img {\\n width: 100%;\\n object-fit: contain;\\n}\\n\\n@keyframes stage_flash_iuAnU {\\n 0% { opacity: 1; }\\n 100% { opacity: 0; }\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"stage\": \"stage_stage_1fD7k\",\n\t\"full-screen\": \"stage_full-screen_ZO7xi\",\n\t\"fullScreen\": \"stage_full-screen_ZO7xi\",\n\t\"with-color-picker\": \"stage_with-color-picker_1lNd5\",\n\t\"withColorPicker\": \"stage_with-color-picker_1lNd5\",\n\t\"color-picker-background\": \"stage_color-picker-background_2wCVq\",\n\t\"colorPickerBackground\": \"stage_color-picker-background_2wCVq\",\n\t\"stage-wrapper\": \"stage_stage-wrapper_eRRuk\",\n\t\"stageWrapper\": \"stage_stage-wrapper_eRRuk\",\n\t\"stage-overlays\": \"stage_stage-overlays_eE14L\",\n\t\"stageOverlays\": \"stage_stage-overlays_eE14L\",\n\t\"monitor-wrapper\": \"stage_monitor-wrapper_2w6m8\",\n\t\"monitorWrapper\": \"stage_monitor-wrapper_2w6m8\",\n\t\"frame-wrapper\": \"stage_frame-wrapper_1JaS_\",\n\t\"frameWrapper\": \"stage_frame-wrapper_1JaS_\",\n\t\"green-flag-overlay-wrapper\": \"stage_green-flag-overlay-wrapper_2hUi_\",\n\t\"greenFlagOverlayWrapper\": \"stage_green-flag-overlay-wrapper_2hUi_\",\n\t\"custom-overlays\": \"stage_custom-overlays_ONYEZ\",\n\t\"customOverlays\": \"stage_custom-overlays_ONYEZ\",\n\t\"dragging-sprite\": \"stage_dragging-sprite_pxcJj\",\n\t\"draggingSprite\": \"stage_dragging-sprite_pxcJj\",\n\t\"stage-bottom-wrapper\": \"stage_stage-bottom-wrapper_KIBfo\",\n\t\"stageBottomWrapper\": \"stage_stage-bottom-wrapper_KIBfo\",\n\t\"mic-indicator\": \"stage_mic-indicator_3AvN8\",\n\t\"micIndicator\": \"stage_mic-indicator_3AvN8\",\n\t\"question-wrapper\": \"stage_question-wrapper_3ukB4\",\n\t\"questionWrapper\": \"stage_question-wrapper_3ukB4\",\n\t\"frame\": \"stage_frame_OVq5G\",\n\t\"flash\": \"stage_flash_iuAnU\",\n\t\"green-flag-overlay\": \"stage_green-flag-overlay_gNXnv\",\n\t\"greenFlagOverlay\": \"stage_green-flag-overlay_gNXnv\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .stop-all_stop-all_1Y8P9 {\\n width: 2rem;\\n height: 2rem;\\n padding: 0.375rem;\\n border-radius: 0.25rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n cursor: pointer;\\n} .stop-all_stop-all_1Y8P9:hover {\\n background-color: hsla(0, 100%, 65%, 0.15);\\n} .stop-all_stop-all_1Y8P9 {\\n opacity: 0.5;\\n} .stop-all_stop-all_1Y8P9.stop-all_is-active_3nog0 {\\n opacity: 1;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"stop-all\": \"stop-all_stop-all_1Y8P9\",\n\t\"stopAll\": \"stop-all_stop-all_1Y8P9\",\n\t\"is-active\": \"stop-all_is-active_3nog0\",\n\t\"isActive\": \"stop-all_is-active_3nog0\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ .tag-button_tag-button_nBLRM {\\n padding: .625rem 1rem;\\n background: hsla(0, 100%, 65%, 1);\\n border-radius: 1.375rem;\\n color: hsla(0, 100%, 100%, 1);\\n height: 2.5rem;\\n} .tag-button_tag-button-icon_26hvC {\\n max-width: 1rem;\\n max-height: 1rem;\\n} .tag-button_active_2stEz {\\n background: hsla(30, 100%, 55%, 1);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"tag-button\": \"tag-button_tag-button_nBLRM\",\n\t\"tagButton\": \"tag-button_tag-button_nBLRM\",\n\t\"tag-button-icon\": \"tag-button_tag-button-icon_26hvC\",\n\t\"tagButtonIcon\": \"tag-button_tag-button-icon_26hvC\",\n\t\"active\": \"tag-button_active_2stEz\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */\\n\\n/* layout contants from `layout-constants.js` */\\n\\n.target-pane_target-pane_3S5E6 {\\n /* Makes columns for the sprite library selector + and the stage selector */\\n display: flex;\\n flex-direction: row;\\n flex-grow: 1;\\n}\\n\\n.target-pane_stage-selector-wrapper_qekSW {\\n display: flex;\\n flex-basis: 72px;\\n flex-shrink: 0;\\n}\\n\\n[dir=\\\"ltr\\\"] .target-pane_stage-selector-wrapper_qekSW {\\n margin-left: calc(0.5rem / 2);\\n}\\n\\n[dir=\\\"rtl\\\"] .target-pane_stage-selector-wrapper_qekSW {\\n margin-right: calc(0.5rem / 2);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"target-pane\": \"target-pane_target-pane_3S5E6\",\n\t\"targetPane\": \"target-pane_target-pane_3S5E6\",\n\t\"stage-selector-wrapper\": \"target-pane_stage-selector-wrapper_qekSW\",\n\t\"stageSelectorWrapper\": \"target-pane_stage-selector-wrapper_qekSW\"\n};","var escape = require(\"../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ body {\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n} h2 {\\n font-size: 1.5rem;\\n font-weight: bold;\\n} p {\\n font-size: 1rem;\\n line-height: 1.5em;\\n} /*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/ /* Toolbox z-index: 40; set in scratch-blocks */ /* tooltips should go over add buttons if they overlap */ /* monitors go over add buttons */ /* \\\"ask\\\" block text input goes above monitors */ /* menu-bar should go over monitors, alerts and tutorials */ /* tw: show below menu bar normally */ /* Block drag z-index: 1000; default 50 is overriden in blocks.css */ /* so it is draggable into other panes */ /* in most interfaces, the context menu is always on top */ /* from scratch-www */ .telemetry-modal_modal-overlay_3R9Qg {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 510;\\n background-color: var(--ui-modal-overlay, hsla(0, 100%, 65%, 0.9));\\n} .telemetry-modal_modal-content_nALrs {\\n margin: 100px auto;\\n outline: none;\\n border: .25rem solid hsla(0, 100%, 100%, 0.25);\\n padding: 0;\\n border-radius: 0.5rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n width: 640px;\\n\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n overflow: hidden;\\n} .telemetry-modal_illustration_2xM6I {\\n width: 100%;\\n height: 123px;\\n background-color: hsla(0, 100%, 65%, 1);\\n background-image: url(\" + escape(require(\"./telemetry-modal-header.png\")) + \");\\n background-size: cover;\\n} .telemetry-modal_body_1ZKWV {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n} .telemetry-modal_privacy-policy-link_3wFww {\\n color: hsla(0, 100%, 65%, 1);\\n text-decoration: none;\\n} /* stack the radio buttons vertically, not horizontally */ .telemetry-modal_radio-buttons_8ArWg label {\\n display: block;\\n margin: 0.5rem;\\n transition: all .125s ease;\\n background-color: hsla(0, 0%, 95%, 1);\\n border-radius: .5rem;\\n margin: 0 auto 0.375rem;\\n align-items: center;\\n padding: 1rem 0;\\n vertical-align: middle;\\n} .telemetry-modal_radio-buttons_8ArWg label:hover {\\n background-color: hsla(215, 100%, 65%, .1);\\n} .telemetry-modal_radio-buttons_8ArWg label.telemetry-modal_label-selected_2jFaa,\\n.telemetry-modal_radio-buttons_8ArWg label.telemetry-modal_label-selected_2jFaa:hover {\\n background-color: hsla(215, 100%, 65%, .25);\\n} .telemetry-modal_radio-buttons_8ArWg input[type=\\\"radio\\\"] {\\n margin: -1px 0.75rem 1px;\\n border: 1px solid hsla(0, 0%, 0%, .1);\\n border-radius: 50%;\\n width: 1rem;\\n height: 1rem;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n background-color: hsla(0, 100%, 100%, 1);\\n vertical-align: middle;\\n} .telemetry-modal_radio-buttons_8ArWg input[type=\\\"radio\\\"]:checked,\\n.telemetry-modal_radio-buttons_8ArWg input[type=\\\"radio\\\"]:focus {\\n box-shadow: 0 0 0 2px hsla(215, 100%, 65%, .25);\\n outline: none;\\n} .telemetry-modal_radio-buttons_8ArWg input[type=\\\"radio\\\"]:checked {\\n transition: all .25s ease;\\n background-color: hsla(0, 100%, 100%, 1);\\n border: 1px solid hsla(0, 100%, 65%, 1);\\n} .telemetry-modal_radio-buttons_8ArWg input[type=\\\"radio\\\"]:checked::after {\\n display: block;\\n margin: 0.125rem;\\n border-radius: 50%;\\n background-color: hsla(0, 100%, 65%, 1);\\n width: .625rem;\\n height: .625rem;\\n content: \\\"\\\";\\n} /* Confirmation buttons at the bottom of the modal */ .telemetry-modal_button-row_2rE_o {\\n display: flex;\\n flex-flow: row nowrap;\\n justify-content: space-between;\\n align-items: baseline;\\n\\n margin: 1.5rem 0;\\n font-weight: bolder;\\n} @keyframes telemetry-modal_fade-out_36Osg {\\n 0% {opacity: 1}\\n 100% {opacity: 0}\\n} .telemetry-modal_setting-was-updated_1l6nc {\\n animation: telemetry-modal_fade-out_36Osg 3s ease-out;\\n color: hsla(10, 85%, 65%, 1);\\n} .telemetry-modal_button-row_2rE_o button {\\n border: 1px solid hsla(0, 100%, 65%, 1);\\n border-radius: 0.25rem;\\n padding: 0.5rem 1.5rem;\\n color: white;\\n background: hsla(0, 100%, 65%, 1);\\n font-weight: bold;\\n font-size: .875rem;\\n cursor: pointer;\\n} .telemetry-modal_button-row_2rE_o button:hover {\\n background: hsla(10, 85%, 65%, 1);\\n box-shadow: 0 0 0 6px hsla(0, 100%, 65%, 0.35);\\n} .telemetry-modal_button-row_2rE_o button:disabled {\\n background: var(--text-primary, hsla(225, 15%, 40%, 1));\\n border-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n box-shadow: none;\\n opacity: 0.25;\\n} @media screen and (max-height: 660px) {\\n .telemetry-modal_modal-content_nALrs {\\n margin: 5vh auto;\\n width: 90%;\\n }\\n} @media screen and (max-height: 540px) {\\n .telemetry-modal_illustration_2xM6I {\\n display: none;\\n }\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-overlay\": \"telemetry-modal_modal-overlay_3R9Qg\",\n\t\"modalOverlay\": \"telemetry-modal_modal-overlay_3R9Qg\",\n\t\"modal-content\": \"telemetry-modal_modal-content_nALrs\",\n\t\"modalContent\": \"telemetry-modal_modal-content_nALrs\",\n\t\"illustration\": \"telemetry-modal_illustration_2xM6I\",\n\t\"body\": \"telemetry-modal_body_1ZKWV\",\n\t\"privacy-policy-link\": \"telemetry-modal_privacy-policy-link_3wFww\",\n\t\"privacyPolicyLink\": \"telemetry-modal_privacy-policy-link_3wFww\",\n\t\"radio-buttons\": \"telemetry-modal_radio-buttons_8ArWg\",\n\t\"radioButtons\": \"telemetry-modal_radio-buttons_8ArWg\",\n\t\"label-selected\": \"telemetry-modal_label-selected_2jFaa\",\n\t\"labelSelected\": \"telemetry-modal_label-selected_2jFaa\",\n\t\"button-row\": \"telemetry-modal_button-row_2rE_o\",\n\t\"buttonRow\": \"telemetry-modal_button-row_2rE_o\",\n\t\"setting-was-updated\": \"telemetry-modal_setting-was-updated_1l6nc\",\n\t\"settingWasUpdated\": \"telemetry-modal_setting-was-updated_1l6nc\",\n\t\"fade-out\": \"telemetry-modal_fade-out_36Osg\",\n\t\"fadeOut\": \"telemetry-modal_fade-out_36Osg\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .turbo-mode_turbo-container_2ZNcq {\\n display: flex;\\n align-items: center;\\n padding: 0.25rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n} .turbo-mode_turbo-icon_fjr8U {\\n margin: 0.25rem;\\n} .turbo-mode_turbo-label_-1oMs {\\n font-size: 0.625rem;\\n font-weight: bold;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n color: hsla(38, 100%, 55%, 1);\\n white-space: nowrap;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"turbo-container\": \"turbo-mode_turbo-container_2ZNcq\",\n\t\"turboContainer\": \"turbo-mode_turbo-container_2ZNcq\",\n\t\"turbo-icon\": \"turbo-mode_turbo-icon_fjr8U\",\n\t\"turboIcon\": \"turbo-mode_turbo-icon_fjr8U\",\n\t\"turbo-label\": \"turbo-mode_turbo-label_-1oMs\",\n\t\"turboLabel\": \"turbo-mode_turbo-label_-1oMs\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .custom-extension-modal_modal-content_3DjW0 {\\n max-width: 550px;\\n margin-top: 50px;\\n} .custom-extension-modal_body_2iQF3 {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n} [theme=\\\"dark\\\"] .custom-extension-modal_body_2iQF3 {\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} .custom-extension-modal_body_2iQF3 p,\\n.custom-extension-modal_unsandboxed-container_8juVd,\\n.custom-extension-modal_url-input_3NAsR,\\n.custom-extension-modal_text-code-input_2xKjS {\\n margin: 1rem 0;\\n display: block;\\n} .custom-extension-modal_type-selector-container_2Fag3 {\\n display: flex;\\n justify-content: space-around;\\n} .custom-extension-modal_type-selector-button_1r2YN {\\n width: 100%;\\n cursor: pointer;\\n border-bottom: 0.25rem solid var(--ui-tertiary, hsla(215, 50%, 90%, 1));\\n margin: 0 1rem;\\n padding: 0.5rem 0;\\n text-align: center;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n} .custom-extension-modal_type-selector-button_1r2YN[data-active=\\\"true\\\"] {\\n border-color: hsla(0, 100%, 65%, 1);\\n} .custom-extension-modal_type-selector-button_1r2YN:active {\\n border-color: hsla(0, 100%, 65%, 0.35);\\n} .custom-extension-modal_url-input_3NAsR,\\n.custom-extension-modal_text-code-input_2xKjS {\\n width: 100%;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0.25rem;\\n padding: 0.5rem;\\n font-size: inherit;\\n} [theme=\\\"dark\\\"] .custom-extension-modal_url-input_3NAsR,\\n[theme=\\\"dark\\\"] .custom-extension-modal_text-code-input_2xKjS {\\n background: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n color: white;\\n} .custom-extension-modal_url-input_3NAsR {\\n height: 3rem;\\n} .custom-extension-modal_text-code-input_2xKjS {\\n min-height: 3rem;\\n height: 8rem;\\n min-width: 100%;\\n max-width: 100%;\\n font-family: monospace;\\n} .custom-extension-modal_unsandboxed-container_8juVd {\\n display: flex;\\n align-items: center;\\n} .custom-extension-modal_unsandboxed-checkbox_HkBFl {\\n margin-right: 0.5rem;\\n} .custom-extension-modal_trusted-extension_1WNO9,\\n.custom-extension-modal_unsandboxed-warning_1BmMu {\\n padding: 0.5rem;\\n border-radius: 0.25rem;\\n} .custom-extension-modal_trusted-extension_1WNO9 {\\n background-color: rgba(94, 255, 94, 0.25);\\n border: 1px solid green;\\n} .custom-extension-modal_unsandboxed-warning_1BmMu {\\n background-color: rgba(255, 81, 81, 0.25);\\n border: 1px solid red;\\n} .custom-extension-modal_unsandboxed-warning_1BmMu > *:not(:last-child) {\\n display: block;\\n margin-bottom: 4px;\\n} .custom-extension-modal_button-row_3dv8g {\\n display: flex;\\n justify-content: flex-end;\\n} .custom-extension-modal_load-button_WGJAt {\\n font: inherit;\\n color: inherit;\\n padding: 0.75rem 1rem;\\n border-radius: 0.25rem;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n font-weight: 600;\\n font-size: 0.85rem;\\n color: hsla(0, 100%, 100%, 1);\\n background: hsla(0, 100%, 65%, 1);\\n} .custom-extension-modal_load-button_WGJAt:disabled {\\n opacity: 0.8;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-content\": \"custom-extension-modal_modal-content_3DjW0\",\n\t\"modalContent\": \"custom-extension-modal_modal-content_3DjW0\",\n\t\"body\": \"custom-extension-modal_body_2iQF3\",\n\t\"unsandboxed-container\": \"custom-extension-modal_unsandboxed-container_8juVd\",\n\t\"unsandboxedContainer\": \"custom-extension-modal_unsandboxed-container_8juVd\",\n\t\"url-input\": \"custom-extension-modal_url-input_3NAsR\",\n\t\"urlInput\": \"custom-extension-modal_url-input_3NAsR\",\n\t\"text-code-input\": \"custom-extension-modal_text-code-input_2xKjS\",\n\t\"textCodeInput\": \"custom-extension-modal_text-code-input_2xKjS\",\n\t\"type-selector-container\": \"custom-extension-modal_type-selector-container_2Fag3\",\n\t\"typeSelectorContainer\": \"custom-extension-modal_type-selector-container_2Fag3\",\n\t\"type-selector-button\": \"custom-extension-modal_type-selector-button_1r2YN\",\n\t\"typeSelectorButton\": \"custom-extension-modal_type-selector-button_1r2YN\",\n\t\"unsandboxed-checkbox\": \"custom-extension-modal_unsandboxed-checkbox_HkBFl\",\n\t\"unsandboxedCheckbox\": \"custom-extension-modal_unsandboxed-checkbox_HkBFl\",\n\t\"trusted-extension\": \"custom-extension-modal_trusted-extension_1WNO9\",\n\t\"trustedExtension\": \"custom-extension-modal_trusted-extension_1WNO9\",\n\t\"unsandboxed-warning\": \"custom-extension-modal_unsandboxed-warning_1BmMu\",\n\t\"unsandboxedWarning\": \"custom-extension-modal_unsandboxed-warning_1BmMu\",\n\t\"button-row\": \"custom-extension-modal_button-row_3dv8g\",\n\t\"buttonRow\": \"custom-extension-modal_button-row_3dv8g\",\n\t\"load-button\": \"custom-extension-modal_load-button_WGJAt\",\n\t\"loadButton\": \"custom-extension-modal_load-button_WGJAt\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .file-input_container_1c4jE {\\n display: block;\\n position: relative;\\n padding: 1rem;\\n margin: 1rem 0;\\n text-align: center;\\n border: 4px dashed var(--ui-tertiary, hsla(215, 50%, 90%, 1));\\n border-radius: 5px;\\n cursor: pointer;\\n background: none;\\n width: 100%;\\n} .file-input_container_1c4jE:focus-within {\\n border-color: hsla(0, 100%, 65%, 1);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"container\": \"file-input_container_1c4jE\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .separator_separator_2qoYo {\\n width: 100%;\\n border: none;\\n border-top: 2px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n margin: 0.5rem 0;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"separator\": \"separator_separator_2qoYo\"\n};","var escape = require(\"../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .checkbox_checkbox_2QbUl {\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n width: 18px;\\n height: 18px;\\n border-radius: 4px;\\n transition: .2s;\\n background-color: white;\\n transition-property: background-color;\\n background-size: 100%;\\n border: 1px solid rgb(92, 92, 92);\\n outline: none;\\n} .checkbox_checkbox_2QbUl:hover, .checkbox_checkbox_2QbUl:focus, .checkbox_checkbox_2QbUl:active, .checkbox_checkbox_2QbUl:checked {\\n border-color: hsla(0, 100%, 65%, 1);\\n} .checkbox_checkbox_2QbUl:focus, .checkbox_checkbox_2QbUl:active {\\n box-shadow: 0 0 0 3px hsla(0, 100%, 65%, 0.35);\\n} .checkbox_checkbox_2QbUl:checked {\\n background-color: hsla(0, 100%, 65%, 1);\\n background-image: url(\" + escape(require(\"./checkbox.svg\")) + \");\\n} [theme=\\\"dark\\\"] .checkbox_checkbox_2QbUl {\\n border-color: transparent;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"checkbox\": \"checkbox_checkbox_2QbUl\"\n};","var escape = require(\"../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/ /* Toolbox z-index: 40; set in scratch-blocks */ /* tooltips should go over add buttons if they overlap */ /* monitors go over add buttons */ /* \\\"ask\\\" block text input goes above monitors */ /* menu-bar should go over monitors, alerts and tutorials */ /* tw: show below menu bar normally */ /* Block drag z-index: 1000; default 50 is overriden in blocks.css */ /* so it is draggable into other panes */ /* in most interfaces, the context menu is always on top */ .fonts-modal_modal-content_36LbI {\\n max-width: 550px;\\n margin-top: 50px;\\n} .fonts-modal_body_yf5mP {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n max-height: calc(100vh - 150px);\\n overflow: auto;\\n display: flex;\\n flex-direction: column;\\n gap: 1rem;\\n} [theme=\\\"dark\\\"] .fonts-modal_body_yf5mP {\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} .fonts-modal_open-buttons_OdA4k {\\n display: flex;\\n gap: 1rem;\\n} .fonts-modal_open-button_3skjP {\\n display: flex;\\n flex-direction: column;\\n gap: 0.5rem;\\n width: 100%;\\n align-items: center;\\n background: none;\\n padding: 0.5rem;\\n margin: 0;\\n border: 2px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0.5rem;\\n} .fonts-modal_open-button_3skjP:hover {\\n color: hsla(0, 100%, 65%, 1);\\n border-color: hsla(0, 100%, 65%, 1);\\n} .fonts-modal_open-button-image_19kgq {\\n width: 64px;\\n height: 64px;\\n background-color: currentColor;\\n -webkit-mask-size: cover;\\n mask-size: cover;\\n -webkit-mask-repeat: no-repeat;\\n mask-repeat: no-repeat;\\n} .fonts-modal_system-image_p0UST {\\n -webkit-mask-image: url(\" + escape(require(\"./system.svg\")) + \");\\n mask-image: url(\" + escape(require(\"./system.svg\")) + \");\\n} .fonts-modal_custom-image_3B90x {\\n -webkit-mask-image: url(\" + escape(require(\"./custom.svg\")) + \");\\n mask-image: url(\" + escape(require(\"./custom.svg\")) + \");\\n} .fonts-modal_open-button-text_1JUnw {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n} .fonts-modal_open-button-text-main_1QWic {\\n font-weight: bold;\\n} .fonts-modal_open-button-text-sub_2yVxF {\\n\\n} .fonts-modal_font-input-outer_OtzL0 {\\n\\n} .fonts-modal_font-input_jygEL {\\n width: 100%;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0.25rem;\\n padding: 0 1rem;\\n height: 3rem;\\n font: inherit;\\n} .fonts-modal_font-dropdown-outer_2kOi5 {\\n position: absolute;\\n z-index: 510;\\n background-color: white;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n border-radius: 0.25rem;\\n overflow: auto;\\n max-height: 300px;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n box-sizing: border-box;\\n box-shadow: 0px 0px 8px 1px rgba(0, 0, 0, .3);\\n} [theme=\\\"dark\\\"] .fonts-modal_font-dropdown-outer_2kOi5 {\\n background-color: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n} .fonts-modal_font-dropdown-item_1NsNq {\\n display: flex;\\n align-items: center;\\n padding: 0.5rem 0.75rem;\\n height: 1.5rem;\\n cursor: pointer;\\n transition: .1s ease;\\n} .fonts-modal_font-dropdown-item_1NsNq:hover {\\n background-color: hsla(0, 100%, 65%, 1);\\n color: #ffffff;\\n} .fonts-modal_font-playground_3vAYw {\\n background: none;\\n border: none;\\n padding: 0.5rem;\\n margin: 0;\\n resize: none;\\n width: 100%;\\n height: 100px;\\n font-size: 1.5rem;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0.25rem;\\n} .fonts-modal_button_1htQ- {\\n font: inherit;\\n font-weight: bold;\\n padding: 0.75rem 1rem;\\n border-radius: 0.25rem;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n background-color: hsla(0, 100%, 65%, 1);\\n color: hsla(0, 100%, 100%, 1);\\n} .fonts-modal_button_1htQ-:disabled {\\n opacity: 0.8;\\n} .fonts-modal_fallback-container_3JsVp {\\n display: flex;\\n flex-direction: column;\\n} .fonts-modal_fallback-label_3lhWz {\\n margin-bottom: 0.5rem;\\n} .fonts-modal_fallback-list_dMIkJ {\\n display: grid;\\n grid-template-columns: 1fr 1fr 1fr;\\n gap: 0.25rem\\n} .fonts-modal_fallback-button_11k4q {\\n background: none;\\n padding: 0;\\n border: 0;\\n border-radius: 0.25rem;\\n height: 30px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n} .fonts-modal_fallback-button_11k4q:hover {\\n color: hsla(0, 100%, 65%, 1);\\n} .fonts-modal_fallback-container_3JsVp .fonts-modal_fallback-button-selected_8XTtQ {\\n background-color: hsla(0, 100%, 65%, 1);\\n color: white;\\n} .fonts-modal_fonts-outer_2gPPS {\\n border-top: 2px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n padding-top: 1rem;\\n} .fonts-modal_fonts-outer_2gPPS p {\\n margin-bottom: 0.5rem;\\n} .fonts-modal_fonts_2IVM- {\\n display: flex;\\n flex-direction: column;\\n gap: 0.5rem;\\n} .fonts-modal_manage-font_leTBp {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n border: 2px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0.5rem;\\n padding: 0.5rem;\\n gap: 0.5rem;\\n} .fonts-modal_manage-font-name_2FEQm {\\n font-size: 2rem;\\n margin-bottom: 0.5rem;\\n overflow-wrap: anywhere;\\n} .fonts-modal_manage-font-buttons_1irfe {\\n margin-left: auto;\\n flex-shrink: 0;\\n display: flex;\\n flex-direction: row;\\n gap: 0.5rem;\\n} .fonts-modal_manage-font-button_1Ezz0 {\\n background: none;\\n border: none;\\n border-radius: 100%;\\n width: 2rem;\\n height: 2rem;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n} .fonts-modal_manage-font-button_1Ezz0:hover {\\n background-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} .fonts-modal_manage-font-button_1Ezz0 img {\\n display: block;\\n width: 100%;\\n height: 100%;\\n} [theme=\\\"dark\\\"] .fonts-modal_manage-font-button_1Ezz0 img {\\n filter: invert(100%);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-content\": \"fonts-modal_modal-content_36LbI\",\n\t\"modalContent\": \"fonts-modal_modal-content_36LbI\",\n\t\"body\": \"fonts-modal_body_yf5mP\",\n\t\"open-buttons\": \"fonts-modal_open-buttons_OdA4k\",\n\t\"openButtons\": \"fonts-modal_open-buttons_OdA4k\",\n\t\"open-button\": \"fonts-modal_open-button_3skjP\",\n\t\"openButton\": \"fonts-modal_open-button_3skjP\",\n\t\"open-button-image\": \"fonts-modal_open-button-image_19kgq\",\n\t\"openButtonImage\": \"fonts-modal_open-button-image_19kgq\",\n\t\"system-image\": \"fonts-modal_system-image_p0UST\",\n\t\"systemImage\": \"fonts-modal_system-image_p0UST\",\n\t\"custom-image\": \"fonts-modal_custom-image_3B90x\",\n\t\"customImage\": \"fonts-modal_custom-image_3B90x\",\n\t\"open-button-text\": \"fonts-modal_open-button-text_1JUnw\",\n\t\"openButtonText\": \"fonts-modal_open-button-text_1JUnw\",\n\t\"open-button-text-main\": \"fonts-modal_open-button-text-main_1QWic\",\n\t\"openButtonTextMain\": \"fonts-modal_open-button-text-main_1QWic\",\n\t\"open-button-text-sub\": \"fonts-modal_open-button-text-sub_2yVxF\",\n\t\"openButtonTextSub\": \"fonts-modal_open-button-text-sub_2yVxF\",\n\t\"font-input-outer\": \"fonts-modal_font-input-outer_OtzL0\",\n\t\"fontInputOuter\": \"fonts-modal_font-input-outer_OtzL0\",\n\t\"font-input\": \"fonts-modal_font-input_jygEL\",\n\t\"fontInput\": \"fonts-modal_font-input_jygEL\",\n\t\"font-dropdown-outer\": \"fonts-modal_font-dropdown-outer_2kOi5\",\n\t\"fontDropdownOuter\": \"fonts-modal_font-dropdown-outer_2kOi5\",\n\t\"font-dropdown-item\": \"fonts-modal_font-dropdown-item_1NsNq\",\n\t\"fontDropdownItem\": \"fonts-modal_font-dropdown-item_1NsNq\",\n\t\"font-playground\": \"fonts-modal_font-playground_3vAYw\",\n\t\"fontPlayground\": \"fonts-modal_font-playground_3vAYw\",\n\t\"button\": \"fonts-modal_button_1htQ-\",\n\t\"fallback-container\": \"fonts-modal_fallback-container_3JsVp\",\n\t\"fallbackContainer\": \"fonts-modal_fallback-container_3JsVp\",\n\t\"fallback-label\": \"fonts-modal_fallback-label_3lhWz\",\n\t\"fallbackLabel\": \"fonts-modal_fallback-label_3lhWz\",\n\t\"fallback-list\": \"fonts-modal_fallback-list_dMIkJ\",\n\t\"fallbackList\": \"fonts-modal_fallback-list_dMIkJ\",\n\t\"fallback-button\": \"fonts-modal_fallback-button_11k4q\",\n\t\"fallbackButton\": \"fonts-modal_fallback-button_11k4q\",\n\t\"fallback-button-selected\": \"fonts-modal_fallback-button-selected_8XTtQ\",\n\t\"fallbackButtonSelected\": \"fonts-modal_fallback-button-selected_8XTtQ\",\n\t\"fonts-outer\": \"fonts-modal_fonts-outer_2gPPS\",\n\t\"fontsOuter\": \"fonts-modal_fonts-outer_2gPPS\",\n\t\"fonts\": \"fonts-modal_fonts_2IVM-\",\n\t\"manage-font\": \"fonts-modal_manage-font_leTBp\",\n\t\"manageFont\": \"fonts-modal_manage-font_leTBp\",\n\t\"manage-font-name\": \"fonts-modal_manage-font-name_2FEQm\",\n\t\"manageFontName\": \"fonts-modal_manage-font-name_2FEQm\",\n\t\"manage-font-buttons\": \"fonts-modal_manage-font-buttons_1irfe\",\n\t\"manageFontButtons\": \"fonts-modal_manage-font-buttons_1irfe\",\n\t\"manage-font-button\": \"fonts-modal_manage-font-button_1Ezz0\",\n\t\"manageFontButton\": \"fonts-modal_manage-font-button_1Ezz0\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .framerate-indicator_framerate-container_NtFdv {\\n display: flex;\\n align-items: center;\\n padding: 0.25rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n} .framerate-indicator_framerate-label_2VeIK {\\n font-size: 0.625rem;\\n font-weight: bold;\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n color: hsla(38, 100%, 55%, 1);\\n white-space: nowrap;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"framerate-container\": \"framerate-indicator_framerate-container_NtFdv\",\n\t\"framerateContainer\": \"framerate-indicator_framerate-container_NtFdv\",\n\t\"framerate-label\": \"framerate-indicator_framerate-label_2VeIK\",\n\t\"framerateLabel\": \"framerate-indicator_framerate-label_2VeIK\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .spinner_container_2gp3A {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n align-items: center;\\n justify-content: center;\\n} .spinner_spinner_3_DJ6 {\\n width: 64px;\\n height: 64px;\\n border-radius: 50%;\\n border: 6px solid;\\n border-color: hsla(0, 100%, 65%, 1) transparent hsla(0, 100%, 65%, 1) transparent;\\n animation: spinner_spinner_3_DJ6 1.2s linear infinite;\\n} [theme=\\\"dark\\\"] .spinner_spinner_3_DJ6 {\\n border-color: #fff transparent #fff transparent;\\n} @keyframes spinner_spinner_3_DJ6 {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"container\": \"spinner_container_2gp3A\",\n\t\"spinner\": \"spinner_spinner_3_DJ6\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .restore-point-modal_modal-content_MhWVL {\\n max-width: 550px;\\n margin-top: 50px;\\n} .restore-point-modal_body_2MCxE {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n max-height: calc(100vh - 150px);\\n overflow: auto;\\n display: flex;\\n flex-direction: column;\\n gap: 1rem;\\n} [theme=\\\"dark\\\"] .restore-point-modal_body_2MCxE {\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} .restore-point-modal_extra-container_1h-QF {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n} .restore-point-modal_total-size_2aFad {\\n\\n} .restore-point-modal_total-size-description_2spx- {\\n font-size: small;\\n} .restore-point-modal_button_3fhkL {\\n font: inherit;\\n color: inherit;\\n padding: 0.75rem 1rem;\\n border-radius: 0.25rem;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n font-weight: 600;\\n font-size: 0.85rem;\\n color: hsla(0, 100%, 100%, 1);\\n} .restore-point-modal_button_3fhkL:disabled {\\n opacity: 0.8;\\n} .restore-point-modal_delete-all-button_3uoFz {\\n margin-left: 1rem;\\n background-color: hsla(30, 100%, 55%, 1);\\n white-space: nowrap;\\n} .restore-point-modal_error-message_2jcrY {\\n font-family: monospace;\\n -webkit-user-select: text;\\n -moz-user-select: text;\\n -ms-user-select: text;\\n user-select: text;\\n} .restore-point-modal_restore-point-container_FtGHo {\\n display: grid;\\n grid-template-columns: 1fr;\\n gap: 0.5rem;\\n} .restore-point-modal_restore-point_2yeHY {\\n width: 100%;\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n border: 2px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n padding: 0.5rem;\\n border-radius: 0.5rem;\\n gap: 0.5rem;\\n} .restore-point-modal_restore-point_2yeHY:hover {\\n border-color: hsla(0, 100%, 65%, 1);\\n} .restore-point-modal_restore-point-title_311jA {\\n font-weight: bold;\\n} .restore-point-modal_thumbnail-container_2BRX1 {\\n flex-shrink: 0;\\n /* 4:3 */\\n width: 100px;\\n height: 75px;\\n} .restore-point-modal_thumbnail-image_2HLfd {\\n display: block;\\n border-radius: 0.25rem;\\n width: 100%;\\n height: 100%;\\n} .restore-point-modal_thumbnail-placeholder_3BxpD {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n font-size: 2em;\\n} .restore-point-modal_delete-button_FU0Oj {\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n background: none;\\n border: none;\\n border-radius: 100%;\\n width: 2rem;\\n height: 2rem;\\n margin-left: auto;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n} .restore-point-modal_delete-button_FU0Oj img {\\n display: block;\\n width: 75%;\\n height: 75%;\\n} [theme=\\\"dark\\\"] .restore-point-modal_delete-button_FU0Oj img {\\n filter: invert(100%);\\n} .restore-point-modal_delete-button_FU0Oj:hover {\\n background-color: var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n} .restore-point-modal_disabled_2fYZv {\\n padding: 0.5rem;\\n border-radius: 0.5rem;\\n background-color: rgba(255, 0, 0, 0.18);\\n border: 2px solid rgba(255, 0, 0, 0.568);\\n font-weight: bold;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-content\": \"restore-point-modal_modal-content_MhWVL\",\n\t\"modalContent\": \"restore-point-modal_modal-content_MhWVL\",\n\t\"body\": \"restore-point-modal_body_2MCxE\",\n\t\"extra-container\": \"restore-point-modal_extra-container_1h-QF\",\n\t\"extraContainer\": \"restore-point-modal_extra-container_1h-QF\",\n\t\"total-size\": \"restore-point-modal_total-size_2aFad\",\n\t\"totalSize\": \"restore-point-modal_total-size_2aFad\",\n\t\"total-size-description\": \"restore-point-modal_total-size-description_2spx-\",\n\t\"totalSizeDescription\": \"restore-point-modal_total-size-description_2spx-\",\n\t\"button\": \"restore-point-modal_button_3fhkL\",\n\t\"delete-all-button\": \"restore-point-modal_delete-all-button_3uoFz\",\n\t\"deleteAllButton\": \"restore-point-modal_delete-all-button_3uoFz\",\n\t\"error-message\": \"restore-point-modal_error-message_2jcrY\",\n\t\"errorMessage\": \"restore-point-modal_error-message_2jcrY\",\n\t\"restore-point-container\": \"restore-point-modal_restore-point-container_FtGHo\",\n\t\"restorePointContainer\": \"restore-point-modal_restore-point-container_FtGHo\",\n\t\"restore-point\": \"restore-point-modal_restore-point_2yeHY\",\n\t\"restorePoint\": \"restore-point-modal_restore-point_2yeHY\",\n\t\"restore-point-title\": \"restore-point-modal_restore-point-title_311jA\",\n\t\"restorePointTitle\": \"restore-point-modal_restore-point-title_311jA\",\n\t\"thumbnail-container\": \"restore-point-modal_thumbnail-container_2BRX1\",\n\t\"thumbnailContainer\": \"restore-point-modal_thumbnail-container_2BRX1\",\n\t\"thumbnail-image\": \"restore-point-modal_thumbnail-image_2HLfd\",\n\t\"thumbnailImage\": \"restore-point-modal_thumbnail-image_2HLfd\",\n\t\"thumbnail-placeholder\": \"restore-point-modal_thumbnail-placeholder_3BxpD\",\n\t\"thumbnailPlaceholder\": \"restore-point-modal_thumbnail-placeholder_3BxpD\",\n\t\"delete-button\": \"restore-point-modal_delete-button_FU0Oj\",\n\t\"deleteButton\": \"restore-point-modal_delete-button_FU0Oj\",\n\t\"disabled\": \"restore-point-modal_disabled_2fYZv\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .data-url_code_1o8oS {\\n display: block;\\n width: 100%;\\n max-width: 100%;\\n min-width: 100%;\\n height: 5rem;\\n min-height: 3rem;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 0.25rem;\\n padding: 0.25rem;\\n font-size: 0.875rem;\\n font-family: monospace;\\n margin: 0.5rem 0;\\n} [theme=\\\"dark\\\"] .data-url_code_1o8oS {\\n background: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n color: white;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"code\": \"data-url_code_1o8oS\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .load-extension_code_2UsqN,\\n.load-extension_unsandboxed-container_3_M9P,\\n.load-extension_unsandboxed-warning_2iFhK,\\n.load-extension_sandboxed_3ynzH {\\n margin: 8px 0;\\n} .load-extension_unsandboxed-container_3_M9P {\\n display: flex;\\n align-items: center;\\n} .load-extension_unsandboxed-checkbox_1tSmf {\\n margin-right: 8px;\\n} .load-extension_unsandboxed-warning_2iFhK {\\n padding: 0.5rem;\\n border-radius: 0.25rem;\\n background-color: rgba(255, 81, 81, 0.25);\\n border: 1px solid red;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"code\": \"load-extension_code_2UsqN\",\n\t\"unsandboxed-container\": \"load-extension_unsandboxed-container_3_M9P\",\n\t\"unsandboxedContainer\": \"load-extension_unsandboxed-container_3_M9P\",\n\t\"unsandboxed-warning\": \"load-extension_unsandboxed-warning_2iFhK\",\n\t\"unsandboxedWarning\": \"load-extension_unsandboxed-warning_2iFhK\",\n\t\"sandboxed\": \"load-extension_sandboxed_3ynzH\",\n\t\"unsandboxed-checkbox\": \"load-extension_unsandboxed-checkbox_1tSmf\",\n\t\"unsandboxedCheckbox\": \"load-extension_unsandboxed-checkbox_1tSmf\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .security-manager-modal_modal-content_3qWwH {\\n width: 440px;\\n margin-top: 25px;\\n} .security-manager-modal_body_Pn7qy {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1rem 1.5rem;\\n} [theme=\\\"dark\\\"] .security-manager-modal_body_Pn7qy {\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} .security-manager-modal_body_Pn7qy p {\\n margin: 8px 0;\\n} .security-manager-modal_buttons_1LSKA {\\n display: flex;\\n} .security-manager-modal_buttons_1LSKA :disabled {\\n opacity: 0.8;\\n} .security-manager-modal_deny-button_3Vd-R, .security-manager-modal_allow-button_3tcXk {\\n flex-grow: 1;\\n font: inherit;\\n color: inherit;\\n padding: 0.75rem 1rem;\\n border-radius: 0.25rem;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n font-weight: 600;\\n font-size: 0.85rem;\\n} .security-manager-modal_deny-button_3Vd-R {\\n background-color: rgb(255, 92, 92);\\n color: white;\\n margin-right: 8px;\\n} .security-manager-modal_allow-button_3tcXk {\\n background-color: #24cd11;\\n color: black;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-content\": \"security-manager-modal_modal-content_3qWwH\",\n\t\"modalContent\": \"security-manager-modal_modal-content_3qWwH\",\n\t\"body\": \"security-manager-modal_body_Pn7qy\",\n\t\"buttons\": \"security-manager-modal_buttons_1LSKA\",\n\t\"deny-button\": \"security-manager-modal_deny-button_3Vd-R\",\n\t\"denyButton\": \"security-manager-modal_deny-button_3Vd-R\",\n\t\"allow-button\": \"security-manager-modal_allow-button_3tcXk\",\n\t\"allowButton\": \"security-manager-modal_allow-button_3tcXk\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".url_url_3Y61f {\\n font-family: monospace;\\n -webkit-user-select: text;\\n -moz-user-select: text;\\n -ms-user-select: text;\\n user-select: text;\\n word-wrap: break-word;\\n}\\n.url_url_3Y61f::before {\\n content: '\\\"';\\n}\\n.url_url_3Y61f::after {\\n content: '\\\"';\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"url\": \"url_url_3Y61f\"\n};","var escape = require(\"../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .settings-modal_modal-content_2bE7f {\\n max-width: 750px;\\n} .settings-modal_body_cAUJ0 {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n min-height: 150px;\\n max-height: calc(100vh - 250px);\\n overflow-y: auto;\\n} [theme=\\\"dark\\\"] .settings-modal_body_cAUJ0 {\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} /* For small screens, such as in the embed */ @media (max-height: 600px) {\\n .settings-modal_modal-content_2bE7f {\\n margin: 50px auto;\\n }\\n .settings-modal_body_cAUJ0 {\\n max-height: calc(100vh - 150px);\\n }\\n} .settings-modal_setting_PxhNM {\\n display: flex;\\n flex-direction: column;\\n padding: 0.5rem 1rem;\\n margin: 0.25rem 0;\\n border-radius: 4px;\\n} .settings-modal_setting_PxhNM.settings-modal_active_1McfX {\\n background: #dbebff;\\n} .settings-modal_setting_PxhNM:hover,\\n.settings-modal_setting_PxhNM:focus-within {\\n background: #cadef5;\\n} [theme=\\\"dark\\\"] .settings-modal_setting_PxhNM.settings-modal_active_1McfX {\\n background: #16202c;\\n} [theme=\\\"dark\\\"] .settings-modal_setting_PxhNM:hover,\\n[theme=\\\"dark\\\"] .settings-modal_setting_PxhNM:focus-within {\\n background: #202f41;\\n} .settings-modal_label_2Phuq {\\n height: 32px;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n} .settings-modal_setting_PxhNM table {\\n border-collapse: collapse;\\n} .settings-modal_setting_PxhNM tr,\\n.settings-modal_setting_PxhNM td,\\n.settings-modal_setting_PxhNM th {\\n padding: 0;\\n margin: 0;\\n border: 1px solid var(--ui-tertiary, hsla(215, 50%, 90%, 1));\\n} .settings-modal_checkbox_1dXwG {\\n margin-right: 0.5rem;\\n} .settings-modal_help-icon_2FTix {\\n border: 0;\\n background-color: transparent;\\n background-image: url(\" + escape(require(\"./help-black.svg\")) + \");\\n width: 20px;\\n height: 20px;\\n background-size: 100%;\\n margin-left: 0.5rem;\\n cursor: pointer;\\n} [theme=\\\"dark\\\"] .settings-modal_help-icon_2FTix {\\n background-image: url(\" + escape(require(\"./help-white.svg\")) + \");\\n} .settings-modal_custom-stage-size_3I0AA > * {\\n margin-right: 0.5rem;\\n} .settings-modal_custom-stage-size-input_2ivQT {\\n width: 80px;\\n} .settings-modal_info_1a5yx {\\n margin-bottom: 0.25rem;\\n} .settings-modal_header_3lDNd {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin: 0.5rem 0 0 0;\\n font-weight: bold;\\n} .settings-modal_divider_7euKA {\\n flex-grow: 1;\\n margin-left: 1rem;\\n border-top: 1px dashed var(--ui-tertiary, hsla(215, 50%, 90%, 1));\\n} .settings-modal_button_15QCA {\\n font-family: inherit;\\n font-size: 14px;\\n background-color: hsla(0, 100%, 65%, 1);\\n color: white;\\n border: none;\\n padding: 0.5rem 1rem;\\n margin: 0;\\n border-radius: 4px;\\n cursor: pointer;\\n font-family: inherit;\\n font-weight: bold;\\n} .settings-modal_button_15QCA:active, .settings-modal_button_15QCA:focus-within {\\n box-shadow: 0 0 0 3px hsla(0, 100%, 65%, 0.35);\\n} .settings-modal_warning_2xSC8 {\\n padding: 0.5rem 1rem;\\n margin: 0.25rem 0;\\n border-radius: 4px;\\n background: rgb(233, 233, 53);\\n} [theme=\\\"dark\\\"] .settings-modal_warning_2xSC8 {\\n background: rgb(114, 102, 0);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-content\": \"settings-modal_modal-content_2bE7f\",\n\t\"modalContent\": \"settings-modal_modal-content_2bE7f\",\n\t\"body\": \"settings-modal_body_cAUJ0\",\n\t\"setting\": \"settings-modal_setting_PxhNM\",\n\t\"active\": \"settings-modal_active_1McfX\",\n\t\"label\": \"settings-modal_label_2Phuq\",\n\t\"checkbox\": \"settings-modal_checkbox_1dXwG\",\n\t\"help-icon\": \"settings-modal_help-icon_2FTix\",\n\t\"helpIcon\": \"settings-modal_help-icon_2FTix\",\n\t\"custom-stage-size\": \"settings-modal_custom-stage-size_3I0AA\",\n\t\"customStageSize\": \"settings-modal_custom-stage-size_3I0AA\",\n\t\"custom-stage-size-input\": \"settings-modal_custom-stage-size-input_2ivQT\",\n\t\"customStageSizeInput\": \"settings-modal_custom-stage-size-input_2ivQT\",\n\t\"info\": \"settings-modal_info_1a5yx\",\n\t\"header\": \"settings-modal_header_3lDNd\",\n\t\"divider\": \"settings-modal_divider_7euKA\",\n\t\"button\": \"settings-modal_button_15QCA\",\n\t\"warning\": \"settings-modal_warning_2xSC8\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .username-modal_modal-content_2pKC4 {\\n width: 400px;\\n} .username-modal_body_UaL6e {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n} [theme=\\\"dark\\\"] .username-modal_body_UaL6e {\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} .username-modal_body_UaL6e input[type=\\\"checkbox\\\"],\\n.username-modal_body_UaL6e input[type=\\\"radio\\\"] {\\n margin: 3px;\\n} .username-modal_text-input_3z1ni {\\n margin-bottom: 1rem;\\n width: 100%;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n border-radius: 5px;\\n padding: 0 1rem;\\n height: 3rem;\\n color: hsla(225, 15%, 40%, 0.75);\\n font-size: .875rem;\\n} [theme=\\\"dark\\\"] .username-modal_text-input_3z1ni {\\n background: var(--ui-secondary, hsla(215, 75%, 95%, 1));\\n color: white;\\n} .username-modal_button-row_2amuh {\\n font-weight: bolder;\\n text-align: right;\\n} .username-modal_button-row_2amuh button {\\n padding: 0.75rem 1rem;\\n border-radius: 0.25rem;\\n background: white;\\n border: 1px solid var(--ui-black-transparent, hsla(0, 0%, 0%, 0.15));\\n font-weight: 600;\\n font-size: 0.85rem;\\n} .username-modal_button-row_2amuh button[disabled] {\\n opacity: 0.5;\\n} [dir=\\\"ltr\\\"] .username-modal_button-row_2amuh button + button {\\n margin-left: 0.5rem;\\n} [dir=\\\"rtl\\\"] .username-modal_button-row_2amuh button + button {\\n margin-right: 0.5rem;\\n} .username-modal_button-row_2amuh button.username-modal_ok-button_UEZfz {\\n background: hsla(0, 100%, 65%, 1);\\n border: hsla(0, 100%, 65%, 1);\\n color: white;\\n} .username-modal_button-row_2amuh button.username-modal_cancel-button_3bs7j {\\n color: black;\\n} .username-modal_help-text_3dN2- {\\n margin-bottom: 1rem;\\n} .username-modal_must-change_1uhS8 {\\n font-weight: bold;\\n} .username-modal_reset-link_2djuz {\\n cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-content\": \"username-modal_modal-content_2pKC4\",\n\t\"modalContent\": \"username-modal_modal-content_2pKC4\",\n\t\"body\": \"username-modal_body_UaL6e\",\n\t\"text-input\": \"username-modal_text-input_3z1ni\",\n\t\"textInput\": \"username-modal_text-input_3z1ni\",\n\t\"button-row\": \"username-modal_button-row_2amuh\",\n\t\"buttonRow\": \"username-modal_button-row_2amuh\",\n\t\"ok-button\": \"username-modal_ok-button_UEZfz\",\n\t\"okButton\": \"username-modal_ok-button_UEZfz\",\n\t\"cancel-button\": \"username-modal_cancel-button_3bs7j\",\n\t\"cancelButton\": \"username-modal_cancel-button_3bs7j\",\n\t\"help-text\": \"username-modal_help-text_3dN2-\",\n\t\"helpText\": \"username-modal_help-text_3dN2-\",\n\t\"must-change\": \"username-modal_must-change_1uhS8\",\n\t\"mustChange\": \"username-modal_must-change_1uhS8\",\n\t\"reset-link\": \"username-modal_reset-link_2djuz\",\n\t\"resetLink\": \"username-modal_reset-link_2djuz\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.watermark_sprite-image_3ywoR {\\n margin: auto;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n max-width: 48px;\\n max-height: 48px;\\n opacity: 0.35;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"sprite-image\": \"watermark_sprite-image_3ywoR\",\n\t\"spriteImage\": \"watermark_sprite-image_3ywoR\"\n};","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ .waveform_container_2K9Om {\\n width: 100%;\\n} .waveform_waveform-path_TskyB {\\n /*\\n This color is lighter than sound-primary, but\\n cannot use alpha because of overlapping elements.\\n */\\n fill: hsl(300, 54%, 72%);\\n stroke: hsla(300, 48%, 50%, 1);\\n} .waveform_baseline_2J5dw {\\n stroke: hsla(300, 48%, 50%, 1);\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"container\": \"waveform_container_2K9Om\",\n\t\"waveform-path\": \"waveform_waveform-path_TskyB\",\n\t\"waveformPath\": \"waveform_waveform-path_TskyB\",\n\t\"baseline\": \"waveform_baseline_2J5dw\"\n};","var escape = require(\"../../../node_modules/css-loader/lib/url/escape.js\");\nexports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/* #E5F0FF */ /* #E9F1FC */ /* #D9E3F2 */ /* 90% transparent version of motion-primary */ /* #FFFFFF */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 25% transparent version of ui-white */ /* 15% transparent version of black */ /* #575E75 */ /* 35% transparent version of motion-primary */ /* 15% transparent version of motion-primary */ /* opt-in theme overrides */ /* #FF661A */ /* #E64D00 */ /* #CF63CF */ /* #BD42BD */ /* #FFAB19 */ /* #FF8C1A */ /* #0FBD8C */ /* #0FBD8C */ /* #FF8C1A */ /* #FFB366 */ /* #FF8C1A */ /* 35% transparent version of extensions-primary */ /* opaque version of extensions-transparent, on white bg */ /* lighter than motion-primary */ /* make sure to keep these in sync with other constants,\\ne.g. STAGE_DIMENSION_DEFAULTS in lib/screen-utils.js */ /* layout contants from `layout-constants.js` */ body {\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n} h2 {\\n font-size: 1.5rem;\\n font-weight: bold;\\n} p {\\n font-size: 1rem;\\n line-height: 1.5em;\\n} /*\\n Contains constants for the z-index values of elements that are part of the global stack context.\\n In other words, z-index values that are \\\"inside\\\" a component are not added here.\\n This prevents conflicts between identical z-index values in different components.\\n*/ /* Toolbox z-index: 40; set in scratch-blocks */ /* tooltips should go over add buttons if they overlap */ /* monitors go over add buttons */ /* \\\"ask\\\" block text input goes above monitors */ /* menu-bar should go over monitors, alerts and tutorials */ /* tw: show below menu bar normally */ /* Block drag z-index: 1000; default 50 is overriden in blocks.css */ /* so it is draggable into other panes */ /* in most interfaces, the context menu is always on top */ .webgl-modal_modal-overlay_2yidY {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 510;\\n background-color: var(--ui-modal-overlay, hsla(0, 100%, 65%, 0.9));\\n} .webgl-modal_modal-content_rn15F {\\n margin: 100px auto;\\n outline: none;\\n border: .25rem solid hsla(0, 100%, 100%, 0.25);\\n padding: 0;\\n border-radius: 0.5rem;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n width: 500px;\\n\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n overflow: hidden;\\n} .webgl-modal_illustration_2ReF1 {\\n width: 100%;\\n height: 208px;\\n background-color: hsla(0, 100%, 65%, 1);\\n background-image: url(\" + escape(require(\"./unsupported.png\")) + \");\\n background-size: cover;\\n} [dir=\\\"rtl\\\"] .webgl-modal_illustration_2ReF1 {\\n transform: scaleX(-1);\\n} .webgl-modal_body_4eA8i {\\n background: hsla(0, 100%, 100%, 1);\\n padding: 1.5rem 2.25rem;\\n text-align: center;\\n} [theme=\\\"dark\\\"] .webgl-modal_body_4eA8i {\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n background: var(--ui-primary, hsla(215, 100%, 95%, 1));\\n} /* Confirmation buttons at the bottom of the modal */ .webgl-modal_button-row_btS-j {\\n margin: 1.5rem 0;\\n font-weight: bolder;\\n text-align: right;\\n display: flex;\\n justify-content: center;\\n} .webgl-modal_button-row_btS-j button {\\n border: 1px solid hsla(0, 100%, 65%, 1);\\n border-radius: 0.25rem;\\n padding: 0.5rem 2rem;\\n background: hsla(0, 100%, 65%, 1);\\n color: white;\\n font-weight: bold;\\n font-size: 0.875rem;\\n} .webgl-modal_faq-link-text_YThHx {\\n margin: 2rem 0 .5rem 0;\\n font-size: .875rem;\\n color: var(--text-primary, hsla(225, 15%, 40%, 1));\\n} .webgl-modal_faq-link_Fj6Lw {\\n color: hsla(0, 100%, 65%, 1);\\n text-decoration: none;\\n}\\n\", \"\"]);\n\n// exports\nexports.locals = {\n\t\"modal-overlay\": \"webgl-modal_modal-overlay_2yidY\",\n\t\"modalOverlay\": \"webgl-modal_modal-overlay_2yidY\",\n\t\"modal-content\": \"webgl-modal_modal-content_rn15F\",\n\t\"modalContent\": \"webgl-modal_modal-content_rn15F\",\n\t\"illustration\": \"webgl-modal_illustration_2ReF1\",\n\t\"body\": \"webgl-modal_body_4eA8i\",\n\t\"button-row\": \"webgl-modal_button-row_btS-j\",\n\t\"buttonRow\": \"webgl-modal_button-row_btS-j\",\n\t\"faq-link-text\": \"webgl-modal_faq-link-text_YThHx\",\n\t\"faqLinkText\": \"webgl-modal_faq-link-text_YThHx\",\n\t\"faq-link\": \"webgl-modal_faq-link_Fj6Lw\",\n\t\"faqLink\": \"webgl-modal_faq-link_Fj6Lw\"\n};","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\\nhtml{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}\\nbody{margin:0}\\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}\\naudio,canvas,progress,video{display:inline-block;vertical-align:baseline}\\naudio:not([controls]){display:none;height:0}\\n[hidden],template{display:none}\\na{background-color:transparent}\\na:active,a:hover{outline:0}\\nabbr[title]{border-bottom:1px dotted}\\nb,strong{font-weight:bold}\\ndfn{font-style:italic}\\nh1{font-size:2em;margin:.67em 0}\\nmark{background:#ff0;color:#000}\\nsmall{font-size:80%}\\nsub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}\\nsup{top:-0.5em}\\nsub{bottom:-0.25em}\\nimg{border:0}\\nsvg:not(:root){overflow:hidden}\\nfigure{margin:1em 40px}\\nhr{box-sizing:content-box;height:0}\\npre{overflow:auto}\\ncode,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}\\nbutton,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}\\nbutton{overflow:visible}\\nbutton,select{text-transform:none}\\nbutton,html input[type=\\\"button\\\"],input[type=\\\"reset\\\"],input[type=\\\"submit\\\"]{-webkit-appearance:button;cursor:pointer}\\nbutton[disabled],html input[disabled]{cursor:default}\\nbutton::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}\\ninput{line-height:normal}\\ninput[type=\\\"checkbox\\\"],input[type=\\\"radio\\\"]{box-sizing:border-box;padding:0}\\ninput[type=\\\"number\\\"]::-webkit-inner-spin-button,input[type=\\\"number\\\"]::-webkit-outer-spin-button{height:auto}\\ninput[type=\\\"search\\\"]{-webkit-appearance:textfield;box-sizing:content-box}\\ninput[type=\\\"search\\\"]::-webkit-search-cancel-button,input[type=\\\"search\\\"]::-webkit-search-decoration{-webkit-appearance:none}\\nfieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}\\nlegend{border:0;padding:0}\\ntextarea{overflow:auto}\\noptgroup{font-weight:bold}\\ntable{border-collapse:collapse;border-spacing:0}\\ntd,th{padding:0}\\n\", \"\"]);\n\n// exports\n","module.exports = \"\\n \\n\"","module.exports = \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\"","module.exports = \"The project you tried to load does not exist.\"","const runAddons = () => {\n import(/* webpackChunkName: \"addons\" */ './api');\n};\n\nexport default runAddons;\n","const AddonHooks = {\n appStateReducer: () => {},\n appStateStore: null,\n blockly: null,\n blocklyCallbacks: []\n};\n\nexport default AddonHooks;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./action-menu.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./action-menu.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./action-menu.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport bindAll from 'lodash.bindall';\nimport ReactTooltip from 'react-tooltip';\n\nimport styles from './action-menu.css';\n\nconst CLOSE_DELAY = 300; // ms\n\nclass ActionMenu extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'clickDelayer',\n 'handleClosePopover',\n 'handleToggleOpenState',\n 'handleTouchStart',\n 'handleTouchOutside',\n 'setButtonRef',\n 'setContainerRef'\n ]);\n this.state = {\n isOpen: false,\n forceHide: false\n };\n this.mainTooltipId = `tooltip-${Math.random()}`;\n }\n componentDidMount () {\n // Touch start on the main button is caught to trigger open and not click\n this.buttonRef.addEventListener('touchstart', this.handleTouchStart);\n // Touch start on document is used to trigger close if it is outside\n document.addEventListener('touchstart', this.handleTouchOutside);\n }\n shouldComponentUpdate (newProps, newState) {\n // This check prevents re-rendering while the project is updating.\n // @todo check only the state and the title because it is enough to know\n // if anything substantial has changed\n // This is needed because of the sloppy way the props are passed as a new object,\n // which should be refactored.\n return newState.isOpen !== this.state.isOpen ||\n newState.forceHide !== this.state.forceHide ||\n newProps.title !== this.props.title;\n }\n componentWillUnmount () {\n this.buttonRef.removeEventListener('touchstart', this.handleTouchStart);\n document.removeEventListener('touchstart', this.handleTouchOutside);\n }\n handleClosePopover () {\n this.closeTimeoutId = setTimeout(() => {\n this.setState({isOpen: false});\n this.closeTimeoutId = null;\n }, CLOSE_DELAY);\n }\n handleToggleOpenState () {\n // Mouse enter back in after timeout was started prevents it from closing.\n if (this.closeTimeoutId) {\n clearTimeout(this.closeTimeoutId);\n this.closeTimeoutId = null;\n } else if (!this.state.isOpen) {\n this.setState({\n isOpen: true,\n forceHide: false\n });\n }\n }\n handleTouchOutside (e) {\n if (this.state.isOpen && !this.containerRef.contains(e.target)) {\n this.setState({isOpen: false});\n ReactTooltip.hide();\n }\n }\n clickDelayer (fn) {\n // Return a wrapped action that manages the menu closing.\n // @todo we may be able to use react-transition for this in the future\n // for now all this work is to ensure the menu closes BEFORE the\n // (possibly slow) action is started.\n return event => {\n ReactTooltip.hide();\n if (fn) fn(event);\n // Blur the button so it does not keep focus after being clicked\n // This prevents keyboard events from triggering the button\n this.buttonRef.blur();\n this.setState({forceHide: true, isOpen: false}, () => {\n setTimeout(() => this.setState({forceHide: false}));\n });\n };\n }\n handleTouchStart (e) {\n // Prevent this touch from becoming a click if menu is closed\n if (!this.state.isOpen) {\n e.preventDefault();\n this.handleToggleOpenState();\n }\n }\n setButtonRef (ref) {\n this.buttonRef = ref;\n }\n setContainerRef (ref) {\n this.containerRef = ref;\n }\n render () {\n const {\n className,\n img: mainImg,\n title: mainTitle,\n moreButtons,\n tooltipPlace,\n onClick\n } = this.props;\n\n return (\n \n \n \n \n \n
\n
\n {(moreButtons || []).map(({img, title, onClick: handleClick,\n fileAccept, fileChange, fileInput, fileMultiple}, keyId) => {\n const isComingSoon = !handleClick;\n const hasFileInput = fileInput;\n const tooltipId = `${this.mainTooltipId}-${title}`;\n return (\n
\n \n \n {hasFileInput ? (\n ) : null}\n \n \n
\n );\n })}\n
\n
\n \n );\n }\n}\n\nActionMenu.propTypes = {\n className: PropTypes.string,\n img: PropTypes.string,\n moreButtons: PropTypes.arrayOf(PropTypes.shape({\n img: PropTypes.string,\n title: PropTypes.node.isRequired,\n onClick: PropTypes.func, // Optional, \"coming soon\" if no callback provided\n fileAccept: PropTypes.string, // Optional, only for file upload\n fileChange: PropTypes.func, // Optional, only for file upload\n fileInput: PropTypes.func, // Optional, only for file upload\n fileMultiple: PropTypes.bool // Optional, only for file upload\n })),\n onClick: PropTypes.func.isRequired,\n title: PropTypes.node.isRequired,\n tooltipPlace: PropTypes.string\n};\n\nexport default ActionMenu;\n","module.exports = __webpack_public_path__ + \"static/assets/385aa4b73a425883b4f9e91501a52299.svg\";","module.exports = __webpack_public_path__ + \"static/assets/e587d9d7e9a2f1f28041ba5c15db7a40.svg\";","module.exports = __webpack_public_path__ + \"static/assets/94b06fb716871f81bec601724e29a457.svg\";","module.exports = __webpack_public_path__ + \"static/assets/551aae506dfa65ce3b45713b5300a678.svg\";","module.exports = __webpack_public_path__ + \"static/assets/497f797eeffe5fa7e6a626abc0db08a1.svg\";","module.exports = __webpack_public_path__ + \"static/assets/301439e2e5ab88b658368ee525e6752b.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alert.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alert.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alert.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport {FormattedMessage} from 'react-intl';\n\nimport Box from '../box/box.jsx';\nimport CloseButton from '../close-button/close-button.jsx';\nimport Spinner from '../spinner/spinner.jsx';\nimport {AlertLevels} from '../../lib/alerts/index.jsx';\n\nimport styles from './alert.css';\n\nconst closeButtonColors = {\n [AlertLevels.SUCCESS]: CloseButton.COLOR_GREEN,\n [AlertLevels.WARN]: CloseButton.COLOR_ORANGE\n};\n\nconst AlertComponent = ({\n content,\n closeButton,\n extensionName,\n iconSpinner,\n iconURL,\n level,\n showDownload,\n showSaveNow,\n onCloseAlert,\n onDownload,\n onSaveNow,\n onReconnect,\n showReconnect\n}) => (\n \n {/* TODO: implement Rtl handling */}\n {(iconSpinner || iconURL) && (\n
\n {iconSpinner && (\n \n )}\n {iconURL && (\n \n )}\n
\n )}\n
\n {extensionName ? (\n \n ) : content}\n
\n
\n {showSaveNow && (\n \n \n \n )}\n {showDownload && (\n \n \n \n )}\n {showReconnect && (\n \n \n \n )}\n {closeButton && (\n \n \n \n )}\n
\n \n);\n\nAlertComponent.propTypes = {\n closeButton: PropTypes.bool,\n content: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n extensionName: PropTypes.string,\n iconSpinner: PropTypes.bool,\n iconURL: PropTypes.string,\n level: PropTypes.string,\n onCloseAlert: PropTypes.func.isRequired,\n onDownload: PropTypes.func,\n onReconnect: PropTypes.func,\n onSaveNow: PropTypes.func,\n showDownload: PropTypes.bool,\n showReconnect: PropTypes.bool,\n showSaveNow: PropTypes.bool\n};\n\nAlertComponent.defaultProps = {\n level: AlertLevels.WARN\n};\n\nexport default AlertComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alerts.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alerts.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./alerts.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Box from '../box/box.jsx';\nimport Alert from '../../containers/alert.jsx';\n\nimport styles from './alerts.css';\n\nconst AlertsComponent = ({\n alertsList,\n className,\n onCloseAlert\n}) => (\n \n \n {alertsList.map((a, index) => (\n \n ))}\n \n \n);\n\nAlertsComponent.propTypes = {\n alertsList: PropTypes.arrayOf(PropTypes.object),\n className: PropTypes.string,\n onCloseAlert: PropTypes.func\n};\n\nexport default AlertsComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./inline-message.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./inline-message.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./inline-message.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Spinner from '../spinner/spinner.jsx';\nimport {AlertLevels} from '../../lib/alerts/index.jsx';\n\nimport styles from './inline-message.css';\n\nconst InlineMessageComponent = ({\n content,\n iconSpinner,\n level\n}) => (\n \n {/* TODO: implement Rtl handling */}\n {iconSpinner && (\n \n )}\n {content}\n \n);\n\nInlineMessageComponent.propTypes = {\n content: PropTypes.element,\n iconSpinner: PropTypes.bool,\n level: PropTypes.string\n};\n\nInlineMessageComponent.defaultProps = {\n level: AlertLevels.INFO\n};\n\nexport default InlineMessageComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./asset-panel.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./asset-panel.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./asset-panel.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\n\nimport Box from '../box/box.jsx';\nimport Selector from './selector.jsx';\nimport styles from './asset-panel.css';\n\nconst AssetPanel = props => (\n \n \n \n {props.children}\n \n \n);\n\nAssetPanel.propTypes = {\n ...Selector.propTypes\n};\n\nexport default AssetPanel;\n","module.exports = __webpack_public_path__ + \"static/assets/44e4859e354c81d66c73f741df2e5ec7.svg\";","module.exports = __webpack_public_path__ + \"static/assets/c9528ee4be1a12380a6c9caf73bd99e9.svg\";","module.exports = __webpack_public_path__ + \"static/assets/9cfdd378e4cc977fe663ca932e530ec6.svg\";","module.exports = __webpack_public_path__ + \"static/assets/35c6867250ec4f430624bc9e2e7072d7.svg\";","module.exports = __webpack_public_path__ + \"static/assets/53ef96392ac2a92361884783808a02c9.svg\";","module.exports = __webpack_public_path__ + \"static/assets/63e5827c1506216bd7c9927a4e5eb558.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./selector.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./selector.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./selector.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport SpriteSelectorItem from '../../containers/sprite-selector-item.jsx';\nimport Box from '../box/box.jsx';\nimport ActionMenu from '../action-menu/action-menu.jsx';\nimport SortableAsset from './sortable-asset.jsx';\nimport SortableHOC from '../../lib/sortable-hoc.jsx';\nimport DragConstants from '../../lib/drag-constants';\n\nimport styles from './selector.css';\n\nconst Selector = props => {\n const {\n buttons,\n containerRef,\n dragType,\n isRtl,\n items,\n selectedItemIndex,\n draggingIndex,\n draggingType,\n ordering,\n onAddSortable,\n onRemoveSortable,\n onDeleteClick,\n onDuplicateClick,\n onExportClick,\n onItemClick\n } = props;\n\n const isRelevantDrag = draggingType === dragType;\n\n let newButtonSection = null;\n\n if (buttons.length > 0) {\n const {img, title, onClick} = buttons[0];\n const moreButtons = buttons.slice(1);\n newButtonSection = (\n \n \n \n );\n }\n\n return (\n \n \n {items.map((item, index) => (\n \n \n \n ))}\n \n {newButtonSection}\n \n );\n};\n\nSelector.propTypes = {\n buttons: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.string.isRequired,\n img: PropTypes.string.isRequired,\n onClick: PropTypes.func\n })),\n containerRef: PropTypes.func,\n dragType: PropTypes.oneOf(Object.keys(DragConstants)),\n draggingIndex: PropTypes.number,\n draggingType: PropTypes.oneOf(Object.keys(DragConstants)),\n isRtl: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.shape({\n url: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n name: PropTypes.any\n })),\n onAddSortable: PropTypes.func,\n onDeleteClick: PropTypes.func,\n onDuplicateClick: PropTypes.func,\n onExportClick: PropTypes.func,\n onItemClick: PropTypes.func.isRequired,\n onRemoveSortable: PropTypes.func,\n ordering: PropTypes.arrayOf(PropTypes.number),\n selectedItemIndex: PropTypes.number.isRequired\n};\n\nexport default SortableHOC(Selector);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport bindAll from 'lodash.bindall';\n\nclass SortableAsset extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'setRef'\n ]);\n }\n componentDidMount () {\n this.props.onAddSortable(this.ref);\n }\n componentWillUnmount () {\n this.props.onRemoveSortable(this.ref);\n }\n setRef (ref) {\n this.ref = ref;\n }\n render () {\n return (\n \n {this.props.children}\n \n );\n }\n}\n\nSortableAsset.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n index: PropTypes.number.isRequired,\n onAddSortable: PropTypes.func.isRequired,\n onRemoveSortable: PropTypes.func.isRequired\n};\n\nexport default SortableAsset;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport Box from '../box/box.jsx';\nimport styles from './audio-trimmer.css';\nimport SelectionHandle from './selection-handle.jsx';\nimport Playhead from './playhead.jsx';\n\nconst AudioSelector = props => (\n \n {props.trimStart === null ? null : (\n \n \n \n \n \n )}\n {props.playhead ? (\n \n ) : null}\n \n);\n\nAudioSelector.propTypes = {\n containerRef: PropTypes.func,\n onNewSelectionMouseDown: PropTypes.func.isRequired,\n onTrimEndMouseDown: PropTypes.func.isRequired,\n onTrimStartMouseDown: PropTypes.func.isRequired,\n playhead: PropTypes.number,\n trimEnd: PropTypes.number,\n trimStart: PropTypes.number\n};\n\nexport default AudioSelector;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./audio-trimmer.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./audio-trimmer.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./audio-trimmer.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport Box from '../box/box.jsx';\nimport styles from './audio-trimmer.css';\nimport SelectionHandle from './selection-handle.jsx';\nimport Playhead from './playhead.jsx';\n\nconst AudioTrimmer = props => (\n \n {props.trimStart === null ? null : (\n \n \n \n \n )}\n {props.playhead ? (\n \n ) : null}\n {props.trimEnd === null ? null : (\n \n \n \n \n )}\n \n);\n\nAudioTrimmer.propTypes = {\n containerRef: PropTypes.func,\n onTrimEndMouseDown: PropTypes.func.isRequired,\n onTrimStartMouseDown: PropTypes.func.isRequired,\n playhead: PropTypes.number,\n trimEnd: PropTypes.number,\n trimStart: PropTypes.number\n};\n\nexport default AudioTrimmer;\n","module.exports = __webpack_public_path__ + \"static/assets/b8f0b40efdf6eafc02c3f894a5941818.svg\";","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport styles from './audio-trimmer.css';\n\nconst Playhead = props => (\n
\n \n
\n);\n\nPlayhead.propTypes = {\n playbackPosition: PropTypes.number\n};\n\nexport default Playhead;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport Box from '../box/box.jsx';\nimport styles from './audio-trimmer.css';\nimport handleIcon from './icon--handle.svg';\n\nconst SelectionHandle = props => (\n \n \n \n \n \n \n \n \n);\n\nSelectionHandle.propTypes = {\n handleStyle: PropTypes.string,\n onMouseDown: PropTypes.func\n};\n\nexport default SelectionHandle;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./backpack.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./backpack.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./backpack.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport {FormattedMessage, defineMessages, injectIntl, intlShape} from 'react-intl';\nimport DragConstants from '../../lib/drag-constants';\nimport {ComingSoonTooltip} from '../coming-soon/coming-soon.jsx';\nimport SpriteSelectorItem from '../../containers/sprite-selector-item.jsx';\nimport styles from './backpack.css';\n\n// TODO make sprite selector item not require onClick\nconst noop = () => {};\n\nconst dragTypeMap = { // Keys correspond with the backpack-server item types\n costume: DragConstants.BACKPACK_COSTUME,\n sound: DragConstants.BACKPACK_SOUND,\n script: DragConstants.BACKPACK_CODE,\n sprite: DragConstants.BACKPACK_SPRITE\n};\n\nconst labelMap = defineMessages({\n costume: {\n id: 'gui.backpack.costumeLabel',\n defaultMessage: 'costume',\n description: 'Label for costume backpack item'\n },\n sound: {\n id: 'gui.backpack.soundLabel',\n defaultMessage: 'sound',\n description: 'Label for sound backpack item'\n },\n script: {\n id: 'gui.backpack.scriptLabel',\n defaultMessage: 'script',\n description: 'Label for script backpack item'\n },\n sprite: {\n id: 'gui.backpack.spriteLabel',\n defaultMessage: 'sprite',\n description: 'Label for sprite backpack item'\n }\n});\n\nconst Backpack = ({\n blockDragOver,\n containerRef,\n contents,\n dragOver,\n error,\n expanded,\n intl,\n loading,\n showMore,\n onToggle,\n onDelete,\n onRename,\n onMouseEnter,\n onMouseLeave,\n onMore\n}) => (\n
\n \n {onToggle ? (\n \n ) : (\n \n \n \n )}\n
\n {expanded ? (\n \n {/* eslint-disable-next-line no-negated-condition */}\n {error !== false ? (\n
\n \n
{error}
\n
\n ) : (\n loading ? (\n
\n \n
\n ) : (\n contents.length > 0 ? (\n
\n {contents.map(item => (\n \n ))}\n {showMore && (\n \n \n \n )}\n
\n ) : (\n
\n \n
\n )\n )\n )}\n \n ) : null}\n \n);\n\nBackpack.propTypes = {\n blockDragOver: PropTypes.bool,\n containerRef: PropTypes.func,\n contents: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n thumbnailUrl: PropTypes.string,\n type: PropTypes.string,\n name: PropTypes.string\n })),\n dragOver: PropTypes.bool,\n error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n expanded: PropTypes.bool,\n intl: intlShape,\n loading: PropTypes.bool,\n onDelete: PropTypes.func,\n onRename: PropTypes.func,\n onMore: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onToggle: PropTypes.func,\n showMore: PropTypes.bool\n};\n\nBackpack.defaultProps = {\n blockDragOver: false,\n contents: [],\n dragOver: false,\n expanded: false,\n loading: false,\n showMore: false,\n onMore: null,\n onToggle: null\n};\n\nexport default injectIntl(Backpack);\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./blocks.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./blocks.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./blocks.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport React from 'react';\nimport Box from '../box/box.jsx';\nimport styles from './blocks.css';\n\nconst BlocksComponent = props => {\n const {\n containerRef,\n dragOver,\n ...componentProps\n } = props;\n return (\n \n );\n};\nBlocksComponent.propTypes = {\n containerRef: PropTypes.func,\n dragOver: PropTypes.bool\n};\nexport default BlocksComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./box.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./box.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./box.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport stylePropType from 'react-style-proptype';\nimport styles from './box.css';\n\nconst getRandomColor = (function () {\n // In \"DEBUG\" mode this is used to output a random background color for each\n // box. The function gives the same \"random\" set for each seed, allowing re-\n // renders of the same content to give the same random display.\n const random = (function (seed) {\n let mW = seed;\n let mZ = 987654321;\n const mask = 0xffffffff;\n return function () {\n mZ = ((36969 * (mZ & 65535)) + (mZ >> 16)) & mask;\n mW = ((18000 * (mW & 65535)) + (mW >> 16)) & mask;\n let result = ((mZ << 16) + mW) & mask;\n result /= 4294967296;\n return result + 1;\n };\n }(601));\n return function () {\n const r = Math.max(parseInt(random() * 100, 10) % 256, 1);\n const g = Math.max(parseInt(random() * 100, 10) % 256, 1);\n const b = Math.max(parseInt(random() * 100, 10) % 256, 1);\n return `rgb(${r},${g},${b})`;\n };\n}());\n\nconst Box = props => {\n const {\n alignContent,\n alignItems,\n alignSelf,\n basis,\n children,\n className,\n componentRef,\n direction,\n element,\n grow,\n height,\n justifyContent,\n width,\n wrap,\n shrink,\n style,\n ...componentProps\n } = props;\n return React.createElement(element, {\n className: classNames(className, styles.box),\n ref: componentRef,\n style: Object.assign(\n {\n alignContent: alignContent,\n alignItems: alignItems,\n alignSelf: alignSelf,\n flexBasis: basis,\n flexDirection: direction,\n flexGrow: grow,\n flexShrink: shrink,\n flexWrap: wrap,\n justifyContent: justifyContent,\n width: width,\n height: height\n },\n process.env.DEBUG ? {\n backgroundColor: getRandomColor(),\n outline: `1px solid black`\n } : {},\n style\n ),\n ...componentProps\n }, children);\n};\nBox.propTypes = {\n /** Defines how the browser distributes space between and around content items vertically within this box. */\n alignContent: PropTypes.oneOf([\n 'flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'stretch'\n ]),\n /** Defines how the browser distributes space between and around flex items horizontally within this box. */\n alignItems: PropTypes.oneOf([\n 'flex-start', 'flex-end', 'center', 'baseline', 'stretch'\n ]),\n /** Specifies how this box should be aligned inside of its container (requires the container to be flexable). */\n alignSelf: PropTypes.oneOf([\n 'auto', 'flex-start', 'flex-end', 'center', 'baseline', 'stretch'\n ]),\n /** Specifies the initial length of this box */\n basis: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf(['auto'])\n ]),\n /** Specifies the the HTML nodes which will be child elements of this box. */\n children: PropTypes.node,\n /** Specifies the class name that will be set on this box */\n className: PropTypes.string,\n /**\n * A callback function whose first parameter is the underlying dom elements.\n * This call back will be executed immediately after the component is mounted or unmounted\n */\n componentRef: PropTypes.func,\n /** https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction */\n direction: PropTypes.oneOf([\n 'row', 'row-reverse', 'column', 'column-reverse'\n ]),\n /** Specifies the type of HTML element of this box. Defaults to div. */\n element: PropTypes.string,\n /** Specifies the flex grow factor of a flex item. */\n grow: PropTypes.number,\n /** The height in pixels (if specified as a number) or a string if different units are required. */\n height: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n /** https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content */\n justifyContent: PropTypes.oneOf([\n 'flex-start', 'flex-end', 'center', 'space-between', 'space-around'\n ]),\n /** Specifies the flex shrink factor of a flex item. */\n shrink: PropTypes.number,\n /** An object whose keys are css property names and whose values correspond the the css property. */\n style: stylePropType,\n /** The width in pixels (if specified as a number) or a string if different units are required. */\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n /** How whitespace should wrap within this block. */\n wrap: PropTypes.oneOf([\n 'nowrap', 'wrap', 'wrap-reverse'\n ])\n};\nBox.defaultProps = {\n element: 'div',\n style: {}\n};\nexport default Box;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./browser-modal.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./browser-modal.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./browser-modal.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactModal from 'react-modal';\nimport Box from '../box/box.jsx';\nimport {defineMessages, injectIntl, intlShape, FormattedMessage} from 'react-intl';\nimport {canConstructNewFunctions} from '../../lib/tw-environment-support-prober.js';\n\nimport styles from './browser-modal.css';\nimport unhappyBrowser from './unsupported-browser.svg';\n\nconst messages = defineMessages({\n label: {\n id: 'gui.unsupportedBrowser.label',\n defaultMessage: 'Browser is not supported',\n description: ''\n }\n});\n\nconst BrowserModal = ({intl, ...props}) => {\n const label = messages.label;\n return (\n \n
\n \n \n \n\n \n

\n \n

\n {/* eslint-disable max-len */}\n {canConstructNewFunctions() ? null : (\n // This message is only intended to be read by website operators\n // We don't need to make it translatable\n

\n {'This site is unable to compile arbitrary JavaScript. This is most likely caused by an overly-strict Content-Security-Policy set by the server.'}\n

\n )}\n

\n \n

\n {/* eslint-enable max-len */}\n
\n
\n \n );\n};\n\nBrowserModal.propTypes = {\n intl: intlShape.isRequired,\n isRtl: PropTypes.bool,\n onBack: PropTypes.func.isRequired\n};\n\nconst WrappedBrowserModal = injectIntl(BrowserModal);\n\nWrappedBrowserModal.setAppElement = ReactModal.setAppElement;\n\nexport default WrappedBrowserModal;\n","module.exports = __webpack_public_path__ + \"static/assets/89a5687599f173f2b910aa5fcd862b42.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./button.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./button.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./button.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport styles from './button.css';\n\nconst ButtonComponent = ({\n className,\n disabled,\n iconClassName,\n iconSrc,\n iconWidth,\n iconHeight,\n onClick,\n children,\n ...props\n}) => {\n\n if (disabled) {\n onClick = function () {};\n }\n\n const icon = iconSrc && (\n \n );\n\n return (\n \n {icon}\n
{children}
\n \n );\n};\n\nButtonComponent.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n iconClassName: PropTypes.string,\n iconSrc: PropTypes.string,\n iconHeight: PropTypes.string,\n iconWidth: PropTypes.string,\n onClick: PropTypes.func\n};\n\nexport default ButtonComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./card.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./card.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./card.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React, {Fragment} from 'react';\nimport classNames from 'classnames';\nimport {FormattedMessage} from 'react-intl';\nimport Draggable from 'react-draggable';\n\nimport styles from './card.css';\n\nimport shrinkIcon from './icon--shrink.svg';\nimport expandIcon from './icon--expand.svg';\n\nimport rightArrow from './icon--next.svg';\nimport leftArrow from './icon--prev.svg';\n\nimport helpIcon from '../../lib/assets/icon--tutorials.svg';\nimport closeIcon from './icon--close.svg';\n\nimport {translateVideo} from '../../lib/libraries/decks/translate-video.js';\nimport {translateImage} from '../../lib/libraries/decks/translate-image.js';\n\nconst CardHeader = ({onCloseCards, onShrinkExpandCards, onShowAll, totalSteps, step, expanded}) => (\n
\n \n \n \n
\n {totalSteps > 1 ? (\n
\n {Array(totalSteps).fill(0)\n .map((_, i) => (\n \n ))}\n
\n ) : null}\n
\n \n \n {expanded ?\n :\n \n }\n
\n \n \n \n \n \n \n);\n\nclass VideoStep extends React.Component {\n\n componentDidMount () {\n const script = document.createElement('script');\n script.src = `https://fast.wistia.com/embed/medias/${this.props.video}.jsonp`;\n script.async = true;\n script.setAttribute('id', 'wistia-video-content');\n document.body.appendChild(script);\n\n const script2 = document.createElement('script');\n script2.src = 'https://fast.wistia.com/assets/external/E-v1.js';\n script2.async = true;\n script2.setAttribute('id', 'wistia-video-api');\n document.body.appendChild(script2);\n }\n\n // We use the Wistia API here to update or pause the video dynamically:\n // https://wistia.com/support/developers/player-api\n componentDidUpdate (prevProps) {\n // Ensure the wistia API is loaded and available\n if (!(window.Wistia && window.Wistia.api)) return;\n\n // Get a handle on the currently loaded video\n const video = window.Wistia.api(prevProps.video);\n\n // Reset the video source if a new video has been chosen from the library\n if (prevProps.video !== this.props.video) {\n video.replaceWith(this.props.video);\n }\n\n // Pause the video if the modal is being shrunken\n if (!this.props.expanded) {\n video.pause();\n }\n }\n\n componentWillUnmount () {\n const script = document.getElementById('wistia-video-content');\n script.parentNode.removeChild(script);\n\n const script2 = document.getElementById('wistia-video-api');\n script2.parentNode.removeChild(script2);\n }\n\n render () {\n return (\n
\n \n  \n
\n \n );\n }\n}\n\nVideoStep.propTypes = {\n expanded: PropTypes.bool.isRequired,\n video: PropTypes.string.isRequired\n};\n\nconst ImageStep = ({title, image}) => (\n \n
\n {title}\n
\n
\n \n
\n
\n);\n\nImageStep.propTypes = {\n image: PropTypes.string.isRequired,\n title: PropTypes.node.isRequired\n};\n\nconst NextPrevButtons = ({isRtl, onNextStep, onPrevStep, expanded}) => (\n \n {onNextStep ? (\n
\n
\n \n \n
\n
\n ) : null}\n {onPrevStep ? (\n
\n
\n \n \n
\n
\n ) : null}\n
\n);\n\nNextPrevButtons.propTypes = {\n expanded: PropTypes.bool.isRequired,\n isRtl: PropTypes.bool,\n onNextStep: PropTypes.func,\n onPrevStep: PropTypes.func\n};\nCardHeader.propTypes = {\n expanded: PropTypes.bool.isRequired,\n onCloseCards: PropTypes.func.isRequired,\n onShowAll: PropTypes.func.isRequired,\n onShrinkExpandCards: PropTypes.func.isRequired,\n step: PropTypes.number,\n totalSteps: PropTypes.number\n};\n\nconst PreviewsStep = ({deckIds, content, onActivateDeckFactory, onShowAll}) => (\n \n
\n \n
\n
\n {deckIds.slice(0, 2).map(id => (\n \n \n
{content[id].name}
\n
\n ))}\n \n
\n \n \n
\n \n
\n);\n\nPreviewsStep.propTypes = {\n content: PropTypes.shape({\n id: PropTypes.shape({\n name: PropTypes.node.isRequired,\n img: PropTypes.string.isRequired,\n steps: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.node,\n image: PropTypes.string,\n video: PropTypes.string,\n deckIds: PropTypes.arrayOf(PropTypes.string)\n }))\n })\n }).isRequired,\n deckIds: PropTypes.arrayOf(PropTypes.string).isRequired,\n onActivateDeckFactory: PropTypes.func.isRequired,\n onShowAll: PropTypes.func.isRequired\n};\n\nconst Cards = props => {\n const {\n activeDeckId,\n content,\n dragging,\n isRtl,\n locale,\n onActivateDeckFactory,\n onCloseCards,\n onShrinkExpandCards,\n onDrag,\n onStartDrag,\n onEndDrag,\n onShowAll,\n onNextStep,\n onPrevStep,\n showVideos,\n step,\n expanded,\n ...posProps\n } = props;\n let {x, y} = posProps;\n\n if (activeDeckId === null) return;\n\n // Tutorial cards need to calculate their own dragging bounds\n // to allow for dragging the cards off the left, right and bottom\n // edges of the workspace.\n const cardHorizontalDragOffset = 400; // ~80% of card width\n const cardVerticalDragOffset = expanded ? 257 : 0; // ~80% of card height, if expanded\n const menuBarHeight = 48; // TODO: get pre-calculated from elsewhere?\n const wideCardWidth = 500;\n\n if (x === 0 && y === 0) {\n // initialize positions\n x = isRtl ? (-190 - wideCardWidth - cardHorizontalDragOffset) : 292;\n x += cardHorizontalDragOffset;\n // The tallest cards are about 320px high, and the default position is pinned\n // to near the bottom of the blocks palette to allow room to work above.\n const tallCardHeight = 320;\n const bottomMargin = 60; // To avoid overlapping the backpack region\n y = window.innerHeight - tallCardHeight - bottomMargin - menuBarHeight;\n }\n\n const steps = content[activeDeckId].steps;\n\n return (\n // Custom overlay to act as the bounding parent for the draggable, using values from above\n \n \n
\n
\n \n
\n {steps[step].deckIds ? (\n \n ) : (\n steps[step].video ? (\n showVideos ? (\n \n ) : ( // Else show the deck image and title\n \n )\n ) : (\n \n )\n )}\n {steps[step].trackingPixel && steps[step].trackingPixel}\n
\n 0 ? onPrevStep : null}\n />\n
\n
\n \n \n );\n};\n\nCards.propTypes = {\n activeDeckId: PropTypes.string.isRequired,\n content: PropTypes.shape({\n id: PropTypes.shape({\n name: PropTypes.node.isRequired,\n img: PropTypes.string.isRequired,\n steps: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.node,\n image: PropTypes.string,\n video: PropTypes.string,\n deckIds: PropTypes.arrayOf(PropTypes.string)\n }))\n })\n }),\n dragging: PropTypes.bool.isRequired,\n expanded: PropTypes.bool.isRequired,\n isRtl: PropTypes.bool.isRequired,\n locale: PropTypes.string.isRequired,\n onActivateDeckFactory: PropTypes.func.isRequired,\n onCloseCards: PropTypes.func.isRequired,\n onDrag: PropTypes.func,\n onEndDrag: PropTypes.func,\n onNextStep: PropTypes.func.isRequired,\n onPrevStep: PropTypes.func.isRequired,\n onShowAll: PropTypes.func,\n onShrinkExpandCards: PropTypes.func.isRequired,\n onStartDrag: PropTypes.func,\n showVideos: PropTypes.bool,\n step: PropTypes.number.isRequired,\n x: PropTypes.number,\n y: PropTypes.number\n};\n\nCards.defaultProps = {\n showVideos: true\n};\n\nexport {\n Cards as default,\n // Others exported for testability\n ImageStep,\n VideoStep\n};\n","module.exports = __webpack_public_path__ + \"static/assets/a3e689235188ba10c5cfd75730cb88a7.svg\";","module.exports = __webpack_public_path__ + \"static/assets/04e28ba12fe914cf4f131dcb85ae82d6.svg\";","module.exports = __webpack_public_path__ + \"static/assets/a80790c977586cc0595b5fe2f0bcb39a.svg\";","module.exports = __webpack_public_path__ + \"static/assets/33592a76d0d0fdaa4a32b2ea41db5e16.svg\";","module.exports = __webpack_public_path__ + \"static/assets/76121b7f4eff7d7ca0d49a45479d3f3f.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./close-button.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./close-button.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./close-button.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport styles from './close-button.css';\nimport closeIcon from './icon--close.svg';\nimport closeIconOrange from './icon--close-orange.svg';\nimport backIcon from '../../lib/assets/icon--back.svg';\n\nlet closeIcons = {};\n\nconst CloseButton = props => (\n \n {props.buttonType === 'back' ?\n :\n \n }\n \n);\n\nCloseButton.SIZE_SMALL = 'small';\nCloseButton.SIZE_LARGE = 'large';\n\nCloseButton.COLOR_NEUTRAL = 'neutral';\nCloseButton.COLOR_GREEN = 'green';\nCloseButton.COLOR_ORANGE = 'orange';\ncloseIcons = {\n [CloseButton.COLOR_NEUTRAL]: closeIcon,\n [CloseButton.COLOR_GREEN]: closeIcon, // TODO: temporary, need green icon\n [CloseButton.COLOR_ORANGE]: closeIconOrange\n};\n\n\nCloseButton.propTypes = {\n buttonType: PropTypes.oneOf(['back', 'close']),\n className: PropTypes.string,\n color: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n size: PropTypes.oneOf([CloseButton.SIZE_SMALL, CloseButton.SIZE_LARGE])\n};\n\nCloseButton.defaultProps = {\n color: CloseButton.COLOR_NEUTRAL,\n size: CloseButton.SIZE_LARGE,\n buttonType: 'close'\n};\n\nexport default CloseButton;\n","module.exports = __webpack_public_path__ + \"static/assets/ee54d776d2cda9a3c537ac7e8f144037.svg\";","module.exports = __webpack_public_path__ + \"static/assets/cb666b99d3528f91b52f985dfb102afa.svg\";","module.exports = __webpack_public_path__ + \"static/assets/97926439955086f8ee4aabbd81580f17.png\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./coming-soon.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./coming-soon.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./coming-soon.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import bindAll from 'lodash.bindall';\nimport classNames from 'classnames';\nimport {defineMessages, injectIntl, intlShape, FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactTooltip from 'react-tooltip';\n\nimport styles from './coming-soon.css';\n\nimport awwCatIcon from './aww-cat.png';\nimport coolCatIcon from './cool-cat.png';\n\nconst messages = defineMessages({\n message1: {\n defaultMessage: 'Don\\'t worry, we\\'re on it {emoji}',\n description: 'One of the \"coming soon\" random messages for yet-to-be-done features',\n id: 'gui.comingSoon.message1'\n },\n message2: {\n defaultMessage: 'Coming Soon...',\n description: 'One of the \"coming soon\" random messages for yet-to-be-done features',\n id: 'gui.comingSoon.message2'\n },\n message3: {\n defaultMessage: 'We\\'re working on it {emoji}',\n description: 'One of the \"coming soon\" random messages for yet-to-be-done features',\n id: 'gui.comingSoon.message3'\n }\n});\n\nclass ComingSoonContent extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'setHide',\n 'setShow',\n 'getRandomMessage'\n ]);\n this.state = {\n isShowing: false\n };\n }\n setShow () {\n // needed to set the opacity to 1, since the default is .9 on show\n this.setState({isShowing: true});\n }\n setHide () {\n this.setState({isShowing: false});\n }\n getRandomMessage () {\n // randomly chooses a messages from `messages` to display in the tooltip.\n const images = [awwCatIcon, coolCatIcon];\n const messageNumber = Math.floor(Math.random() * Object.keys(messages).length) + 1;\n const imageNumber = Math.floor(Math.random() * Object.keys(images).length);\n return (\n \n )\n }}\n />\n );\n }\n render () {\n return (\n \n );\n }\n}\n\nComingSoonContent.propTypes = {\n className: PropTypes.string,\n intl: intlShape,\n place: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n tooltipId: PropTypes.string.isRequired\n};\n\nComingSoonContent.defaultProps = {\n place: 'bottom'\n};\n\nconst ComingSoon = injectIntl(ComingSoonContent);\n\nconst ComingSoonTooltip = props => (\n
\n \n {props.children}\n
\n \n \n);\n\nComingSoonTooltip.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n delayHide: PropTypes.number,\n delayShow: PropTypes.number,\n place: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n tooltipClassName: PropTypes.string,\n tooltipId: PropTypes.string.isRequired\n};\n\nComingSoonTooltip.defaultProps = {\n delayHide: 0,\n delayShow: 0\n};\n\nexport {\n ComingSoon as ComingSoonComponent,\n ComingSoonTooltip\n};\n","module.exports = __webpack_public_path__ + \"static/assets/3e83d9d800459175308f0b45b117af16.png\";","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport keyMirror from 'keymirror';\nimport classNames from 'classnames';\n\nimport Box from '../box/box.jsx';\nimport Dots from './dots.jsx';\n\nimport closeIcon from '../close-button/icon--close.svg';\n\nimport radarIcon from './icons/searching.png';\nimport bluetoothIcon from './icons/bluetooth-white.svg';\nimport backIcon from './icons/back.svg';\n\nimport styles from './connection-modal.css';\n\nconst PHASES = keyMirror({\n prescan: null,\n pressbutton: null,\n notfound: null\n});\n\nconst AutoScanningStep = props => (\n \n \n
\n
\n {props.phase === PHASES.prescan && (\n \n \n \n \n )}\n {props.phase === PHASES.pressbutton && (\n \n \n \n \n )}\n {props.phase === PHASES.notfound && (\n \n \n \n )}\n
\n
\n
\n \n \n {props.phase === PHASES.prescan && (\n \n )}\n {props.phase === PHASES.pressbutton && (\n \n )}\n \n \n \n {props.phase === PHASES.prescan && (\n \n \n \n )}\n {props.phase === PHASES.pressbutton && (\n
\n \n \n \n \n \n \n
\n )}\n {props.phase === PHASES.notfound && (\n \n \n \n \n )}\n
\n
\n
\n);\n\nAutoScanningStep.propTypes = {\n connectionTipIconURL: PropTypes.string,\n onRefresh: PropTypes.func,\n onStartScan: PropTypes.func,\n phase: PropTypes.oneOf(Object.keys(PHASES))\n};\n\nAutoScanningStep.defaultProps = {\n phase: PHASES.prescan\n};\n\nexport {\n AutoScanningStep as default,\n PHASES\n};\n","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport Box from '../box/box.jsx';\nimport Dots from './dots.jsx';\nimport bluetoothIcon from './icons/bluetooth-white.svg';\nimport styles from './connection-modal.css';\nimport classNames from 'classnames';\n\nconst ConnectedStep = props => (\n \n \n \n
\n \n \n
\n
\n
\n \n \n \n \n \n
\n \n \n \n \n \n \n
\n
\n
\n);\n\nConnectedStep.propTypes = {\n connectionIconURL: PropTypes.string.isRequired,\n onCancel: PropTypes.func,\n onDisconnect: PropTypes.func\n};\n\nexport default ConnectedStep;\n","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport Box from '../box/box.jsx';\nimport Dots from './dots.jsx';\n\nimport bluetoothIcon from './icons/bluetooth-white.svg';\nimport closeIcon from '../close-button/icon--close.svg';\n\nimport styles from './connection-modal.css';\n\nconst ConnectingStep = props => (\n \n \n \n
\n \n \n
\n
\n
\n \n \n {props.connectingMessage}\n \n \n
\n \n \n \n \n \n \n
\n
\n
\n);\n\nConnectingStep.propTypes = {\n connectingMessage: PropTypes.node.isRequired,\n connectionIconURL: PropTypes.string.isRequired,\n onDisconnect: PropTypes.func\n};\n\nexport default ConnectingStep;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./connection-modal.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./connection-modal.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./connection-modal.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport keyMirror from 'keymirror';\n\nimport Box from '../box/box.jsx';\nimport Modal from '../../containers/modal.jsx';\n\nimport ScanningStep from '../../containers/scanning-step.jsx';\nimport AutoScanningStep from '../../containers/auto-scanning-step.jsx';\nimport ConnectingStep from './connecting-step.jsx';\nimport ConnectedStep from './connected-step.jsx';\nimport ErrorStep from './error-step.jsx';\nimport UnavailableStep from './unavailable-step.jsx';\n\nimport styles from './connection-modal.css';\n\nconst PHASES = keyMirror({\n scanning: null,\n connecting: null,\n connected: null,\n error: null,\n unavailable: null\n});\n\nconst ConnectionModalComponent = props => (\n \n \n {props.phase === PHASES.scanning && !props.useAutoScan && }\n {props.phase === PHASES.scanning && props.useAutoScan && }\n {props.phase === PHASES.connecting && }\n {props.phase === PHASES.connected && }\n {props.phase === PHASES.error && }\n {props.phase === PHASES.unavailable && }\n \n \n);\n\nConnectionModalComponent.propTypes = {\n connectingMessage: PropTypes.node.isRequired,\n connectionSmallIconURL: PropTypes.string,\n connectionTipIconURL: PropTypes.string,\n name: PropTypes.node,\n onCancel: PropTypes.func.isRequired,\n onHelp: PropTypes.func.isRequired,\n phase: PropTypes.oneOf(Object.keys(PHASES)).isRequired,\n title: PropTypes.string.isRequired,\n useAutoScan: PropTypes.bool.isRequired\n};\n\nConnectionModalComponent.defaultProps = {\n connectingMessage: 'Connecting'\n};\n\nexport {\n ConnectionModalComponent as default,\n PHASES\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport Box from '../box/box.jsx';\nimport styles from './connection-modal.css';\n\nconst Dots = props => (\n \n \n {Array(props.total).fill(0)\n .map((_, i) => {\n let type = 'inactive';\n if (props.counter === i) type = 'active';\n if (props.success) type = 'success';\n if (props.error) type = 'error';\n return ();\n })}\n \n \n);\n\nDots.propTypes = {\n className: PropTypes.string,\n counter: PropTypes.number,\n error: PropTypes.bool,\n success: PropTypes.bool,\n total: PropTypes.number\n};\n\nconst Dot = props => (\n \n);\n\nDot.propTypes = {\n type: PropTypes.string\n};\n\nexport default Dots;\n","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport Box from '../box/box.jsx';\nimport Dots from './dots.jsx';\nimport helpIcon from './icons/help.svg';\nimport backIcon from './icons/back.svg';\n\nimport styles from './connection-modal.css';\n\nconst ErrorStep = props => (\n \n \n \n
\n \n
\n
\n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n);\n\nErrorStep.propTypes = {\n connectionIconURL: PropTypes.string.isRequired,\n onHelp: PropTypes.func,\n onScanning: PropTypes.func\n};\n\nexport default ErrorStep;\n","module.exports = __webpack_public_path__ + \"static/assets/42157e6edddc19588c3c2ff188703799.svg\";","module.exports = __webpack_public_path__ + \"static/assets/0fd9fd69a38ab79358df5a77b29702c8.svg\";","module.exports = __webpack_public_path__ + \"static/assets/8b8f2d052b4092ec47ad66c30c8b1642.svg\";","module.exports = __webpack_public_path__ + \"static/assets/4b6100c9f591be6470cdfd4697de0b54.svg\";","module.exports = __webpack_public_path__ + \"static/assets/71655cde34ae75f48cb8820abf4b31e7.svg\";","module.exports = __webpack_public_path__ + \"static/assets/05e05756b592740a3670417b4df19ca9.svg\";","module.exports = __webpack_public_path__ + \"static/assets/572a212c2e777e3a9061c97453497009.png\";","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport React from 'react';\nimport bindAll from 'lodash.bindall';\nimport Box from '../box/box.jsx';\n\nimport styles from './connection-modal.css';\n\nclass PeripheralTile extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'handleConnecting'\n ]);\n }\n handleConnecting () {\n this.props.onConnecting(this.props.peripheralId);\n }\n render () {\n return (\n \n \n \n \n \n \n \n \n {this.props.name}\n \n \n \n \n \n -80\n })}\n />\n -60\n })}\n />\n -40\n })}\n />\n -20\n })}\n />\n \n \n \n \n \n \n );\n }\n}\n\nPeripheralTile.propTypes = {\n connectionSmallIconURL: PropTypes.string,\n name: PropTypes.string,\n onConnecting: PropTypes.func,\n peripheralId: PropTypes.string,\n rssi: PropTypes.number\n};\n\nexport default PeripheralTile;\n","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport Box from '../box/box.jsx';\nimport PeripheralTile from './peripheral-tile.jsx';\nimport Dots from './dots.jsx';\n\nimport radarIcon from './icons/searching.png';\nimport refreshIcon from './icons/refresh.svg';\n\nimport styles from './connection-modal.css';\n\nconst ScanningStep = props => (\n \n \n {props.scanning ? (\n props.peripheralList.length === 0 ? (\n
\n
\n \n \n
\n
\n ) : (\n
\n {props.peripheralList.map(peripheral =>\n ()\n )}\n
\n )\n ) : (\n \n \n \n )}\n
\n \n \n \n \n \n \n \n \n \n \n
\n);\n\nScanningStep.propTypes = {\n connectionSmallIconURL: PropTypes.string,\n onConnecting: PropTypes.func,\n onRefresh: PropTypes.func,\n peripheralList: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n rssi: PropTypes.number,\n peripheralId: PropTypes.string\n })),\n scanning: PropTypes.bool.isRequired\n};\n\nScanningStep.defaultProps = {\n peripheralList: [],\n scanning: true\n};\n\nexport default ScanningStep;\n","import {FormattedMessage} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport Box from '../box/box.jsx';\nimport Dots from './dots.jsx';\nimport helpIcon from './icons/help.svg';\nimport backIcon from './icons/back.svg';\nimport bluetoothIcon from './icons/bluetooth.svg';\nimport scratchLinkIcon from './icons/scratchlink.svg';\n\nimport styles from './connection-modal.css';\n\nconst UnavailableStep = props => (\n \n \n
\n
\n
\n {'1'}\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n {'2'}\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n);\n\nUnavailableStep.propTypes = {\n onHelp: PropTypes.func,\n onScanning: PropTypes.func\n};\n\nexport default UnavailableStep;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./context-menu.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./context-menu.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./context-menu.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport {ContextMenu, MenuItem} from 'react-contextmenu';\nimport classNames from 'classnames';\n\nimport styles from './context-menu.css';\n\nconst StyledContextMenu = props => (\n \n);\n\nconst StyledMenuItem = props => (\n \n);\n\nconst BorderedMenuItem = props => (\n \n);\n\nconst DangerousMenuItem = props => (\n \n);\n\n\nexport {\n BorderedMenuItem,\n DangerousMenuItem,\n StyledContextMenu as ContextMenu,\n StyledMenuItem as MenuItem\n};\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./controls.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./controls.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./controls.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {defineMessages, injectIntl, intlShape} from 'react-intl';\n\nimport GreenFlag from '../green-flag/green-flag.jsx';\nimport StopAll from '../stop-all/stop-all.jsx';\nimport TurboMode from '../turbo-mode/turbo-mode.jsx';\nimport FramerateIndicator from '../tw-framerate-indicator/framerate-indicator.jsx';\nimport {STAGE_SIZE_MODES} from '../../lib/layout-constants.js';\n\nimport styles from './controls.css';\n\nconst messages = defineMessages({\n goTitle: {\n id: 'gui.controls.go',\n defaultMessage: 'Go',\n description: 'Green flag button title'\n },\n stopTitle: {\n id: 'gui.controls.stop',\n defaultMessage: 'Stop',\n description: 'Stop button title'\n }\n});\n\nconst Controls = function (props) {\n const {\n active,\n className,\n intl,\n onGreenFlagClick,\n onStopAllClick,\n turbo,\n framerate,\n interpolation,\n isSmall,\n ...componentProps\n } = props;\n return (\n \n \n \n {turbo ? (\n \n ) : null}\n {!isSmall && (\n \n )}\n \n );\n};\n\nControls.propTypes = {\n active: PropTypes.bool,\n className: PropTypes.string,\n intl: intlShape.isRequired,\n onGreenFlagClick: PropTypes.func.isRequired,\n onStopAllClick: PropTypes.func.isRequired,\n framerate: PropTypes.number,\n interpolation: PropTypes.bool,\n isSmall: PropTypes.bool,\n turbo: PropTypes.bool\n};\n\nControls.defaultProps = {\n active: false,\n turbo: false,\n isSmall: false\n};\n\nexport default injectIntl(Controls);\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./crash-message.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./crash-message.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./crash-message.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Box from '../box/box.jsx';\nimport {FormattedMessage} from 'react-intl';\n\nimport styles from './crash-message.css';\nimport reloadIcon from './reload.svg';\n\nconst CrashMessage = props => (\n
\n \n \n

\n \n

\n

\n \n

\n {props.errorMessage && (\n

\n {props.errorMessage}\n

\n )}\n {props.eventId && (\n

\n \n

\n )}\n \n \n \n
\n
\n);\n\nCrashMessage.propTypes = {\n eventId: PropTypes.string,\n errorMessage: PropTypes.string,\n onReload: PropTypes.func.isRequired\n};\n\nexport default CrashMessage;\n","module.exports = __webpack_public_path__ + \"static/assets/dd98971c2c185caf86144b6b5234d0fa.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./custom-procedures.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./custom-procedures.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./custom-procedures.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Modal from '../../containers/modal.jsx';\nimport Box from '../box/box.jsx';\nimport {defineMessages, injectIntl, intlShape, FormattedMessage} from 'react-intl';\n\nimport booleanInputIcon from './icon--boolean-input.svg';\nimport textInputIcon from './icon--text-input.svg';\nimport labelIcon from './icon--label.svg';\n\nimport styles from './custom-procedures.css';\n\nconst messages = defineMessages({\n myblockModalTitle: {\n defaultMessage: 'Make a Block',\n description: 'Title for the modal where you create a custom block.',\n id: 'gui.customProcedures.myblockModalTitle'\n }\n});\n\nconst CustomProcedures = props => (\n \n \n \n
\n \n \n
\n \n
\n
\n \n
\n
\n \n \n
\n \n
\n
\n \n
\n \n \n \n
\n \n
\n \n \n
\n \n
\n \n \n \n \n \n \n \n \n
\n \n);\n\nCustomProcedures.propTypes = {\n componentRef: PropTypes.func.isRequired,\n intl: intlShape,\n onAddBoolean: PropTypes.func.isRequired,\n onAddLabel: PropTypes.func.isRequired,\n onAddTextNumber: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onOk: PropTypes.func.isRequired,\n onToggleWarp: PropTypes.func.isRequired,\n warp: PropTypes.bool.isRequired\n};\n\nexport default injectIntl(CustomProcedures);\n","module.exports = __webpack_public_path__ + \"static/assets/10811a978de201353d564df7ba1ddb58.svg\";","module.exports = __webpack_public_path__ + \"static/assets/8beb9da10f72d02b48baf0b24ac72449.svg\";","module.exports = __webpack_public_path__ + \"static/assets/2a70b21aaaed0619bdfcdec91db1ebe8.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./delete-button.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./delete-button.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./delete-button.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport styles from './delete-button.css';\nimport deleteIcon from './icon--delete.svg';\n\nconst DeleteButton = props => (\n \n
\n \n
\n \n\n);\n\nDeleteButton.propTypes = {\n className: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n tabIndex: PropTypes.number\n};\n\nDeleteButton.defaultProps = {\n tabIndex: 0\n};\n\nexport default DeleteButton;\n","module.exports = __webpack_public_path__ + \"static/assets/a5787bb7364d8131ed49a8f53037d7f4.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./dial.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./dial.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./dial.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport bindAll from 'lodash.bindall';\nimport React from 'react';\nimport {getEventXY} from '../../lib/touch-utils';\n\nimport styles from './dial.css';\n\nimport dialFace from './icon--dial.svg';\nimport dialHandle from './icon--handle.svg';\n\nclass Dial extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'handleMouseDown',\n 'handleMouseMove',\n 'containerRef',\n 'handleRef',\n 'unbindMouseEvents'\n ]);\n }\n\n componentDidMount () {\n // Manually add touch/mouse handlers so that preventDefault can be used\n // to prevent scrolling on touch.\n // Tracked as a react issue https://github.com/facebook/react/issues/6436\n this.handleElement.addEventListener('mousedown', this.handleMouseDown);\n this.handleElement.addEventListener('touchstart', this.handleMouseDown);\n }\n\n componentWillUnmount () {\n this.unbindMouseEvents();\n this.handleElement.removeEventListener('mousedown', this.handleMouseDown);\n this.handleElement.removeEventListener('touchstart', this.handleMouseDown);\n }\n\n /**\n * Get direction from dial center to mouse move event.\n * @param {Event} e - Mouse move event.\n * @returns {number} Direction in degrees, clockwise, 90=horizontal.\n */\n directionToMouseEvent (e) {\n const {x: mx, y: my} = getEventXY(e);\n const bbox = this.containerElement.getBoundingClientRect();\n const cy = bbox.top + (bbox.height / 2);\n const cx = bbox.left + (bbox.width / 2);\n const angle = Math.atan2(my - cy, mx - cx);\n const degrees = angle * (180 / Math.PI);\n return degrees + 90; // To correspond with scratch coordinate system\n }\n\n /**\n * Create SVG path data string for the dial \"gauge\", the overlaid arc slice.\n * @param {number} radius - The radius of the dial.\n * @param {number} direction - Direction in degrees, clockwise, 90=horizontal.\n * @returns {string} Path data string for the gauge.\n */\n gaugePath (radius, direction) {\n const rads = (direction) * (Math.PI / 180);\n const path = [];\n path.push(`M ${radius} 0`);\n path.push(`L ${radius} ${radius}`);\n path.push(`L ${radius + (radius * Math.sin(rads))} ${radius - (radius * Math.cos(rads))}`);\n path.push(`A ${radius} ${radius} 0 0 ${direction < 0 ? 1 : 0} ${radius} 0`);\n path.push(`Z`);\n return path.join(' ');\n }\n\n handleMouseMove (e) {\n this.props.onChange(this.directionToMouseEvent(e) + this.directionOffset);\n e.preventDefault();\n }\n\n unbindMouseEvents () {\n window.removeEventListener('mousemove', this.handleMouseMove);\n window.removeEventListener('mouseup', this.unbindMouseEvents);\n window.removeEventListener('touchmove', this.handleMouseMove);\n window.removeEventListener('touchend', this.unbindMouseEvents);\n }\n\n handleMouseDown (e) {\n // Because the drag handle is not a single point, there is some initial\n // difference between the current sprite direction and the direction to the mouse\n // Store this offset to prevent jumping when the mouse is moved.\n this.directionOffset = this.props.direction - this.directionToMouseEvent(e);\n window.addEventListener('mousemove', this.handleMouseMove);\n window.addEventListener('mouseup', this.unbindMouseEvents);\n window.addEventListener('touchmove', this.handleMouseMove);\n window.addEventListener('touchend', this.unbindMouseEvents);\n e.preventDefault();\n }\n\n containerRef (el) {\n this.containerElement = el;\n }\n\n handleRef (el) {\n this.handleElement = el;\n }\n\n render () {\n const {direction, radius} = this.props;\n return (\n
\n \n \n \n \n \n \n
\n \n );\n }\n}\n\nDial.propTypes = {\n direction: PropTypes.number,\n onChange: PropTypes.func.isRequired,\n radius: PropTypes.number\n};\n\nDial.defaultProps = {\n direction: 90, // degrees\n radius: 56 // px\n};\n\nexport default Dial;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./direction-picker.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./direction-picker.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./direction-picker.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Popover from 'react-popover';\nimport {injectIntl, intlShape, defineMessages, FormattedMessage} from 'react-intl';\n\nimport Label from '../forms/label.jsx';\nimport Input from '../forms/input.jsx';\nimport BufferedInputHOC from '../forms/buffered-input-hoc.jsx';\nimport Dial from './dial.jsx';\n\nimport styles from './direction-picker.css';\n\nimport allAroundIcon from './icon--all-around.svg';\nimport leftRightIcon from './icon--left-right.svg';\nimport dontRotateIcon from './icon--dont-rotate.svg';\n\nconst BufferedInput = BufferedInputHOC(Input);\n\nconst directionLabel = (\n \n);\n\nconst RotationStyles = {\n ALL_AROUND: 'all around',\n LEFT_RIGHT: 'left-right',\n DONT_ROTATE: \"don't rotate\"\n};\n\nconst messages = defineMessages({\n allAround: {\n id: 'gui.directionPicker.rotationStyles.allAround',\n description: 'Button to change to the all around rotation style',\n defaultMessage: 'All Around'\n },\n leftRight: {\n id: 'gui.directionPicker.rotationStyles.leftRight',\n description: 'Button to change to the left-right rotation style',\n defaultMessage: 'Left/Right'\n },\n dontRotate: {\n id: 'gui.directionPicker.rotationStyles.dontRotate',\n description: 'Button to change to the dont rotate rotation style',\n defaultMessage: 'Do not rotate'\n }\n});\n\nconst DirectionPicker = props => (\n \n \n \n
\n \n \n \n \n \n \n \n \n \n
\n \n }\n isOpen={props.popoverOpen}\n preferPlace=\"above\"\n onOuterAction={props.onClosePopover}\n >\n \n \n \n\n);\n\nDirectionPicker.propTypes = {\n direction: PropTypes.number,\n disabled: PropTypes.bool.isRequired,\n intl: intlShape,\n labelAbove: PropTypes.bool,\n onChangeDirection: PropTypes.func.isRequired,\n onClickAllAround: PropTypes.func.isRequired,\n onClickDontRotate: PropTypes.func.isRequired,\n onClickLeftRight: PropTypes.func.isRequired,\n onClosePopover: PropTypes.func.isRequired,\n onOpenPopover: PropTypes.func.isRequired,\n popoverOpen: PropTypes.bool.isRequired,\n rotationStyle: PropTypes.string\n};\n\nDirectionPicker.defaultProps = {\n labelAbove: false\n};\n\nconst WrappedDirectionPicker = injectIntl(DirectionPicker);\n\nexport {\n WrappedDirectionPicker as default,\n RotationStyles\n};\n","module.exports = __webpack_public_path__ + \"static/assets/143a9041098d0e0724ed22c89e6558cc.svg\";","module.exports = __webpack_public_path__ + \"static/assets/9cc1e7a12b63848899055ddc982ab2ce.svg\";","module.exports = __webpack_public_path__ + \"static/assets/8ea23814ef4f6dc9f86859a028377a3a.svg\";","module.exports = __webpack_public_path__ + \"static/assets/57593d3aac258d2c0abf75a0b8ecbdaa.svg\";","module.exports = __webpack_public_path__ + \"static/assets/0dd03e5061d2865c0e8ac50cc75e9982.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./divider.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./divider.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./divider.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport styles from './divider.css';\n\nconst Divider = ({className}) => (\n
\n);\n\nDivider.propTypes = {\n className: PropTypes.string\n};\n\nexport default Divider;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./drag-layer.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./drag-layer.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./drag-layer.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './drag-layer.css';\n\n/* eslint no-confusing-arrow: [\"error\", {\"allowParens\": true}] */\nconst DragLayer = ({dragging, img, currentOffset}) => (dragging ? (\n
\n \n \n
\n
\n) : null);\n\nDragLayer.propTypes = {\n currentOffset: PropTypes.shape({\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired\n }),\n dragging: PropTypes.bool.isRequired,\n img: PropTypes.string\n};\n\nexport default DragLayer;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./filter.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./filter.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./filter.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport filterIcon from './icon--filter.svg';\nimport xIcon from './icon--x.svg';\nimport styles from './filter.css';\n\nconst FilterComponent = props => {\n const {\n className,\n onChange,\n onClear,\n placeholderText,\n filterQuery,\n inputClassName\n } = props;\n return (\n 0\n })}\n >\n \n \n \n \n \n \n );\n};\n\nFilterComponent.propTypes = {\n className: PropTypes.string,\n filterQuery: PropTypes.string,\n inputClassName: PropTypes.string,\n onChange: PropTypes.func,\n onClear: PropTypes.func,\n placeholderText: PropTypes.string\n};\nFilterComponent.defaultProps = {\n placeholderText: 'Search'\n};\nexport default FilterComponent;\n","module.exports = __webpack_public_path__ + \"static/assets/5e460dab4dfda0fe34f93d3faf95b778.svg\";","module.exports = __webpack_public_path__ + \"static/assets/c8481ea8e104d4d2bb6b340e0c90da26.svg\";","import bindAll from 'lodash.bindall';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\n/**\n * Higher Order Component to manage inputs that submit on blur and \n * @param {React.Component} Input text input that consumes onChange, onBlur, onKeyPress\n * @returns {React.Component} Buffered input that calls onSubmit on blur and \n */\nexport default function (Input) {\n class BufferedInput extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'handleChange',\n 'handleKeyPress',\n 'handleFlush'\n ]);\n this.state = {\n value: null\n };\n }\n handleKeyPress (e) {\n if (e.key === 'Enter') {\n this.handleFlush();\n e.target.blur();\n }\n }\n handleFlush () {\n const isNumeric = typeof this.props.value === 'number';\n const validatesNumeric = isNumeric ? !isNaN(this.state.value) : true;\n if (this.state.value !== null && validatesNumeric) {\n this.props.onSubmit(isNumeric ? Number(this.state.value) : this.state.value);\n }\n this.setState({value: null});\n }\n handleChange (e) {\n this.setState({value: e.target.value});\n }\n render () {\n const bufferedValue = this.state.value === null ? this.props.value : this.state.value;\n return (\n \n );\n }\n }\n\n BufferedInput.propTypes = {\n onSubmit: PropTypes.func.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n };\n\n return BufferedInput;\n}\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./input.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./input.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./input.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport styles from './input.css';\n\nconst Input = props => {\n const {small, ...componentProps} = props;\n return (\n \n );\n};\n\nInput.propTypes = {\n className: PropTypes.string,\n small: PropTypes.bool\n};\n\nInput.defaultProps = {\n small: false\n};\n\nexport default Input;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./label.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./label.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./label.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport styles from './label.css';\n\nconst Label = props => (\n \n);\n\nLabel.propTypes = {\n above: PropTypes.bool,\n children: PropTypes.node,\n secondary: PropTypes.bool,\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired\n};\n\nLabel.defaultProps = {\n above: false,\n secondary: false\n};\n\nexport default Label;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./green-flag.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./green-flag.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./green-flag.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport greenFlagIcon from './icon--green-flag.svg';\nimport styles from './green-flag.css';\n\nconst GreenFlagComponent = function (props) {\n const {\n active,\n className,\n onClick,\n title,\n ...componentProps\n } = props;\n return (\n \n );\n};\nGreenFlagComponent.propTypes = {\n active: PropTypes.bool,\n className: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n title: PropTypes.string\n};\nGreenFlagComponent.defaultProps = {\n active: false,\n title: 'Go'\n};\nexport default GreenFlagComponent;\n","module.exports = __webpack_public_path__ + \"static/assets/2e0c4790f8f9cf28e3c346b9cef0fcb6.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./gui.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./gui.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./gui.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport omit from 'lodash.omit';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {defineMessages, FormattedMessage, injectIntl, intlShape} from 'react-intl';\nimport {connect} from 'react-redux';\nimport MediaQuery from 'react-responsive';\nimport {Tab, Tabs, TabList, TabPanel} from 'react-tabs';\nimport tabStyles from 'react-tabs/style/react-tabs.css';\nimport VM from 'scratch-vm';\nimport Renderer from 'scratch-render';\n\nimport Blocks from '../../containers/blocks.jsx';\nimport CostumeTab from '../../containers/costume-tab.jsx';\nimport TargetPane from '../../containers/target-pane.jsx';\nimport SoundTab from '../../containers/sound-tab.jsx';\nimport StageWrapper from '../../containers/stage-wrapper.jsx';\nimport Loader from '../loader/loader.jsx';\nimport Box from '../box/box.jsx';\nimport MenuBar from '../menu-bar/menu-bar.jsx';\nimport CostumeLibrary from '../../containers/costume-library.jsx';\nimport BackdropLibrary from '../../containers/backdrop-library.jsx';\nimport Watermark from '../../containers/watermark.jsx';\n\nimport Backpack from '../../containers/backpack.jsx';\nimport WebGlModal from '../../containers/webgl-modal.jsx';\nimport BrowserModal from '../browser-modal/browser-modal.jsx';\nimport TipsLibrary from '../../containers/tips-library.jsx';\nimport Cards from '../../containers/cards.jsx';\nimport Alerts from '../../containers/alerts.jsx';\nimport DragLayer from '../../containers/drag-layer.jsx';\nimport ConnectionModal from '../../containers/connection-modal.jsx';\nimport TelemetryModal from '../telemetry-modal/telemetry-modal.jsx';\nimport TWUsernameModal from '../../containers/tw-username-modal.jsx';\nimport TWSettingsModal from '../../containers/tw-settings-modal.jsx';\nimport TWSecurityManager from '../../containers/tw-security-manager.jsx';\nimport TWCustomExtensionModal from '../../containers/tw-custom-extension-modal.jsx';\nimport TWRestorePointManager from '../../containers/tw-restore-point-manager.jsx';\nimport TWFontsModal from '../../containers/tw-fonts-modal.jsx';\n\nimport layout, {STAGE_SIZE_MODES} from '../../lib/layout-constants';\nimport {resolveStageSize} from '../../lib/screen-utils';\n\nimport {isRendererSupported, isBrowserSupported} from '../../lib/tw-environment-support-prober';\n\nimport styles from './gui.css';\nimport addExtensionIcon from './icon--extensions.svg';\nimport codeIcon from './icon--code.svg';\nimport costumesIcon from './icon--costumes.svg';\nimport soundsIcon from './icon--sounds.svg';\n\nconst messages = defineMessages({\n addExtension: {\n id: 'gui.gui.addExtension',\n description: 'Button to add an extension in the target pane',\n defaultMessage: 'Add Extension'\n }\n});\n\nconst getFullscreenBackgroundColor = () => {\n const params = new URLSearchParams(location.search);\n if (params.has('fullscreen-background')) {\n return params.get('fullscreen-background');\n }\n if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n return '#111';\n }\n return 'white';\n};\n\nconst fullscreenBackgroundColor = getFullscreenBackgroundColor();\n\nconst GUIComponent = props => {\n const {\n accountNavOpen,\n activeTabIndex,\n alertsVisible,\n authorId,\n authorThumbnailUrl,\n authorUsername,\n basePath,\n backdropLibraryVisible,\n backpackHost,\n backpackVisible,\n blocksTabVisible,\n cardsVisible,\n canChangeLanguage,\n canCreateNew,\n canEditTitle,\n canManageFiles,\n canRemix,\n canSave,\n canCreateCopy,\n canShare,\n canUseCloud,\n children,\n connectionModalVisible,\n costumeLibraryVisible,\n costumesTabVisible,\n customStageSize,\n enableCommunity,\n intl,\n isCreating,\n isDark,\n isEmbedded,\n isFullScreen,\n isPlayerOnly,\n isRtl,\n isShared,\n isWindowFullScreen,\n isTelemetryEnabled,\n loading,\n logo,\n renderLogin,\n onClickAbout,\n onClickAccountNav,\n onCloseAccountNav,\n onClickAddonSettings,\n onClickNewWindow,\n onClickTheme,\n onClickPackager,\n onLogOut,\n onOpenRegistration,\n onToggleLoginOpen,\n onActivateCostumesTab,\n onActivateSoundsTab,\n onActivateTab,\n onClickLogo,\n onExtensionButtonClick,\n onProjectTelemetryEvent,\n onRequestCloseBackdropLibrary,\n onRequestCloseCostumeLibrary,\n onRequestCloseTelemetryModal,\n onSeeCommunity,\n onShare,\n onShowPrivacyPolicy,\n onStartSelectingFileUpload,\n onTelemetryModalCancel,\n onTelemetryModalOptIn,\n onTelemetryModalOptOut,\n showComingSoon,\n soundsTabVisible,\n stageSizeMode,\n targetIsStage,\n telemetryModalVisible,\n tipsLibraryVisible,\n usernameModalVisible,\n settingsModalVisible,\n customExtensionModalVisible,\n fontsModalVisible,\n vm,\n ...componentProps\n } = omit(props, 'dispatch');\n if (children) {\n return {children};\n }\n\n const tabClassNames = {\n tabs: styles.tabs,\n tab: classNames(tabStyles.reactTabsTab, styles.tab),\n tabList: classNames(tabStyles.reactTabsTabList, styles.tabList),\n tabPanel: classNames(tabStyles.reactTabsTabPanel, styles.tabPanel),\n tabPanelSelected: classNames(tabStyles.reactTabsTabPanelSelected, styles.isSelected),\n tabSelected: classNames(tabStyles.reactTabsTabSelected, styles.isSelected)\n };\n\n const minWidth = layout.fullSizeMinWidth + Math.max(0, customStageSize.width - layout.referenceWidth);\n return ({isFullSize => {\n const stageSize = resolveStageSize(stageSizeMode, isFullSize);\n\n const alwaysEnabledModals = (\n \n \n \n {usernameModalVisible && }\n {settingsModalVisible && }\n {customExtensionModalVisible && }\n {fontsModalVisible && }\n \n );\n\n return isPlayerOnly ? (\n \n {/* TW: When the window is fullscreen, use an element to display the background color */}\n {/* The default color for transparency is inconsistent between browsers and there isn't an existing */}\n {/* element for us to style that fills the entire screen. */}\n {isWindowFullScreen ? (\n \n ) : null}\n \n {alertsVisible ? (\n \n ) : null}\n \n {alwaysEnabledModals}\n \n ) : (\n \n {alwaysEnabledModals}\n {telemetryModalVisible ? (\n \n ) : null}\n {loading ? (\n \n ) : null}\n {isCreating ? (\n \n ) : null}\n {isRendererSupported() ? null : (\n \n )}\n {isBrowserSupported() ? null : (\n \n )}\n {tipsLibraryVisible ? (\n \n ) : null}\n {cardsVisible ? (\n \n ) : null}\n {alertsVisible ? (\n \n ) : null}\n {connectionModalVisible ? (\n \n ) : null}\n {costumeLibraryVisible ? (\n \n ) : null}\n {backdropLibraryVisible ? (\n \n ) : null}\n \n \n \n \n \n \n \n \n \n \n \n \n {targetIsStage ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {costumesTabVisible ? : null}\n \n \n {soundsTabVisible ? : null}\n \n \n {backpackVisible ? (\n \n ) : null}\n \n\n \n \n \n \n \n \n \n \n \n \n );\n }});\n};\n\nGUIComponent.propTypes = {\n accountNavOpen: PropTypes.bool,\n activeTabIndex: PropTypes.number,\n authorId: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), // can be false\n authorThumbnailUrl: PropTypes.string,\n authorUsername: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), // can be false\n backdropLibraryVisible: PropTypes.bool,\n backpackHost: PropTypes.string,\n backpackVisible: PropTypes.bool,\n basePath: PropTypes.string,\n blocksTabVisible: PropTypes.bool,\n canChangeLanguage: PropTypes.bool,\n canCreateCopy: PropTypes.bool,\n canCreateNew: PropTypes.bool,\n canEditTitle: PropTypes.bool,\n canManageFiles: PropTypes.bool,\n canRemix: PropTypes.bool,\n canSave: PropTypes.bool,\n canShare: PropTypes.bool,\n canUseCloud: PropTypes.bool,\n cardsVisible: PropTypes.bool,\n children: PropTypes.node,\n costumeLibraryVisible: PropTypes.bool,\n costumesTabVisible: PropTypes.bool,\n customStageSize: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number\n }),\n enableCommunity: PropTypes.bool,\n intl: intlShape.isRequired,\n isCreating: PropTypes.bool,\n isDark: PropTypes.bool,\n isEmbedded: PropTypes.bool,\n isFullScreen: PropTypes.bool,\n isPlayerOnly: PropTypes.bool,\n isRtl: PropTypes.bool,\n isShared: PropTypes.bool,\n isWindowFullScreen: PropTypes.bool,\n loading: PropTypes.bool,\n logo: PropTypes.string,\n onActivateCostumesTab: PropTypes.func,\n onActivateSoundsTab: PropTypes.func,\n onActivateTab: PropTypes.func,\n onClickAccountNav: PropTypes.func,\n onClickAddonSettings: PropTypes.func,\n onClickNewWindow: PropTypes.func,\n onClickTheme: PropTypes.func,\n onClickPackager: PropTypes.func,\n onClickLogo: PropTypes.func,\n onCloseAccountNav: PropTypes.func,\n onExtensionButtonClick: PropTypes.func,\n onLogOut: PropTypes.func,\n onOpenRegistration: PropTypes.func,\n onRequestCloseBackdropLibrary: PropTypes.func,\n onRequestCloseCostumeLibrary: PropTypes.func,\n onRequestCloseTelemetryModal: PropTypes.func,\n onSeeCommunity: PropTypes.func,\n onShare: PropTypes.func,\n onShowPrivacyPolicy: PropTypes.func,\n onStartSelectingFileUpload: PropTypes.func,\n onTabSelect: PropTypes.func,\n onTelemetryModalCancel: PropTypes.func,\n onTelemetryModalOptIn: PropTypes.func,\n onTelemetryModalOptOut: PropTypes.func,\n onToggleLoginOpen: PropTypes.func,\n renderLogin: PropTypes.func,\n showComingSoon: PropTypes.bool,\n soundsTabVisible: PropTypes.bool,\n stageSizeMode: PropTypes.oneOf(Object.keys(STAGE_SIZE_MODES)),\n targetIsStage: PropTypes.bool,\n telemetryModalVisible: PropTypes.bool,\n tipsLibraryVisible: PropTypes.bool,\n usernameModalVisible: PropTypes.bool,\n settingsModalVisible: PropTypes.bool,\n customExtensionModalVisible: PropTypes.bool,\n fontsModalVisible: PropTypes.bool,\n vm: PropTypes.instanceOf(VM).isRequired\n};\nGUIComponent.defaultProps = {\n backpackHost: null,\n backpackVisible: false,\n basePath: './',\n canChangeLanguage: true,\n canCreateNew: false,\n canEditTitle: false,\n canManageFiles: true,\n canRemix: false,\n canSave: false,\n canCreateCopy: false,\n canShare: false,\n canUseCloud: false,\n enableCommunity: false,\n isCreating: false,\n isShared: false,\n loading: false,\n showComingSoon: false,\n stageSizeMode: STAGE_SIZE_MODES.large\n};\n\nconst mapStateToProps = state => ({\n customStageSize: state.scratchGui.customStageSize,\n isWindowFullScreen: state.scratchGui.tw.isWindowFullScreen,\n // This is the button's mode, as opposed to the actual current state\n stageSizeMode: state.scratchGui.stageSize.stageSize\n});\n\nexport default injectIntl(connect(\n mapStateToProps\n)(GUIComponent));\n","module.exports = __webpack_public_path__ + \"static/assets/5f85a3e5a04dd3de4271589dac82d45b.svg\";","module.exports = __webpack_public_path__ + \"static/assets/afc646fe671f2f43cf0deb3f2247b8bf.svg\";","module.exports = __webpack_public_path__ + \"static/assets/5f4208a6b7257c456c018d57efc8a7e9.svg\";","module.exports = __webpack_public_path__ + \"static/assets/2ede3b1977411d39f0cc8ba0a973e25c.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./icon-button.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./icon-button.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./icon-button.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport styles from './icon-button.css';\n\nconst IconButton = ({\n img,\n disabled,\n className,\n title,\n onClick\n}) => (\n \n \n
\n {title}\n
\n \n);\n\nIconButton.propTypes = {\n className: PropTypes.string,\n disabled: PropTypes.bool,\n img: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n title: PropTypes.node.isRequired\n};\n\nexport default IconButton;\n","module.exports = __webpack_public_path__ + \"static/assets/1319094a51748798730f01d1dc0972ac.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./language-selector.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./language-selector.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./language-selector.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport locales from '@turbowarp/scratch-l10n';\nimport styles from './language-selector.css';\n\n// supported languages to exclude from the menu, but allow as a URL option\nconst ignore = [];\n\nconst LanguageSelector = ({currentLocale, label, onChange}) => (\n \n {\n Object.keys(locales)\n .filter(l => !ignore.includes(l))\n .map(locale => (\n \n {locales[locale].name}\n \n ))\n }\n \n);\n\nLanguageSelector.propTypes = {\n currentLocale: PropTypes.string,\n label: PropTypes.string,\n onChange: PropTypes.func\n};\n\nexport default LanguageSelector;\n","module.exports = __webpack_public_path__ + \"static/assets/dfe35552790fb5ff38c78a43f5e62f30.svg\";","module.exports = __webpack_public_path__ + \"static/assets/754c9f67512f29d9f799744146cc38ee.svg\";","module.exports = __webpack_public_path__ + \"static/assets/f626ffd60cbd3c60f33ea09f1ad32092.svg\";","module.exports = __webpack_public_path__ + \"static/assets/1bb0adb555e07593962e9fc28ec7566d.svg\";","module.exports = __webpack_public_path__ + \"static/assets/582b9f12ce60392a8ef736c5dfabb4ce.svg\";","module.exports = __webpack_public_path__ + \"static/assets/7bd7487b704797cb5ab3cb441486ea70.svg\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library-item.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library-item.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library-item.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {FormattedMessage, intlShape, defineMessages} from 'react-intl';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport Box from '../box/box.jsx';\nimport PlayButton from '../../containers/play-button.jsx';\nimport styles from './library-item.css';\nimport classNames from 'classnames';\n\nimport bluetoothIconURL from './bluetooth.svg';\nimport internetConnectionIconURL from './internet-connection.svg';\nimport favoriteInactiveIcon from './favorite-inactive.svg';\nimport favoriteActiveIcon from './favorite-active.svg';\n\nconst messages = defineMessages({\n favorite: {\n defaultMessage: 'Favorite',\n description: 'Alt text of icon in costume, sound, and extension libraries to mark an item as favorite.',\n id: 'tw.favorite'\n },\n unfavorite: {\n defaultMessage: 'Unfavorite',\n description: 'Alt text of icon in costume, sound, and extension libraries to unmark an item as favorite.',\n id: 'tw.unfavorite'\n }\n});\n\n/* eslint-disable react/prefer-stateless-function */\nclass LibraryItemComponent extends React.PureComponent {\n render () {\n const favoriteMessage = this.props.intl.formatMessage(\n this.props.favorite ? messages.unfavorite : messages.favorite\n );\n const favorite = (\n \n \n \n );\n\n return this.props.featured ? (\n \n
\n {this.props.disabled ? (\n
\n \n
\n ) : null}\n \n
\n {this.props.insetIconURL ? (\n
\n \n
\n ) : null}\n \n {this.props.name}\n
\n {this.props.description}\n \n\n {(this.props.docsURI || this.props.samples) && (\n
\n {this.props.docsURI && (\n \n \n \n )}\n\n {this.props.samples && (\n \n \n \n )}\n
\n )}\n\n {this.props.credits && this.props.credits.length > 0 && (\n
\n
\n \n {' '}\n {this.props.credits.map((credit, index) => (\n \n {credit}\n {index !== this.props.credits.length - 1 && (\n ', '\n )}\n \n ))}\n
\n
\n )}\n\n {this.props.bluetoothRequired || this.props.internetConnectionRequired || this.props.collaborator ? (\n
\n
\n {this.props.bluetoothRequired || this.props.internetConnectionRequired ? (\n
\n
\n \n
\n \n {this.props.bluetoothRequired ? (\n \n ) : null}\n {this.props.internetConnectionRequired ? (\n \n ) : null}\n
\n
\n ) : null}\n
\n
\n {this.props.collaborator ? (\n
\n
\n \n
\n \n {this.props.collaborator}\n
\n
\n ) : null}\n \n \n ) : null}\n\n {favorite}\n \n ) : (\n \n {/* Layers of wrapping is to prevent layout thrashing on animation */}\n \n \n \n \n \n {this.props.name}\n {this.props.showPlayButton ? (\n \n ) : null}\n\n {favorite}\n \n );\n }\n}\n/* eslint-enable react/prefer-stateless-function */\n\n\nLibraryItemComponent.propTypes = {\n intl: intlShape,\n bluetoothRequired: PropTypes.bool,\n collaborator: PropTypes.string,\n description: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node\n ]),\n disabled: PropTypes.bool,\n extensionId: PropTypes.string,\n featured: PropTypes.bool,\n hidden: PropTypes.bool,\n iconURL: PropTypes.string,\n insetIconURL: PropTypes.string,\n internetConnectionRequired: PropTypes.bool,\n isPlaying: PropTypes.bool,\n name: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node\n ]),\n credits: PropTypes.arrayOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node\n ])),\n docsURI: PropTypes.string,\n samples: PropTypes.arrayOf(PropTypes.shape({\n href: PropTypes.string,\n text: PropTypes.string\n })),\n favorite: PropTypes.bool,\n onFavorite: PropTypes.func,\n onBlur: PropTypes.func.isRequired,\n onClick: PropTypes.func.isRequired,\n onFocus: PropTypes.func.isRequired,\n onKeyPress: PropTypes.func.isRequired,\n onMouseEnter: PropTypes.func.isRequired,\n onMouseLeave: PropTypes.func.isRequired,\n onPlay: PropTypes.func.isRequired,\n onStop: PropTypes.func.isRequired,\n showPlayButton: PropTypes.bool\n};\n\nLibraryItemComponent.defaultProps = {\n disabled: false,\n showPlayButton: false\n};\n\nexport default LibraryItemComponent;\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./library.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import classNames from 'classnames';\nimport bindAll from 'lodash.bindall';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {defineMessages, injectIntl, intlShape} from 'react-intl';\n\nimport LibraryItem from '../../containers/library-item.jsx';\nimport Modal from '../../containers/modal.jsx';\nimport Divider from '../divider/divider.jsx';\nimport Filter from '../filter/filter.jsx';\nimport TagButton from '../../containers/tag-button.jsx';\nimport Spinner from '../spinner/spinner.jsx';\nimport Separator from '../tw-extension-separator/separator.jsx';\n\nimport styles from './library.css';\n\nconst messages = defineMessages({\n filterPlaceholder: {\n id: 'gui.library.filterPlaceholder',\n defaultMessage: 'Search',\n description: 'Placeholder text for library search field'\n },\n allTag: {\n id: 'gui.library.allTag',\n defaultMessage: 'All',\n description: 'Label for library tag to revert to all items after filtering by tag.'\n }\n});\n\nconst ALL_TAG = {tag: 'all', intlLabel: messages.allTag};\nconst tagListPrefix = [ALL_TAG];\n\nclass LibraryComponent extends React.Component {\n constructor (props) {\n super(props);\n bindAll(this, [\n 'handleClose',\n 'handleFilterChange',\n 'handleFilterClear',\n 'handleMouseEnter',\n 'handleMouseLeave',\n 'handlePlayingEnd',\n 'handleSelect',\n 'handleFavorite',\n 'handleTagClick',\n 'setFilteredDataRef'\n ]);\n const favorites = this.readFavoritesFromStorage();\n this.state = {\n playingItem: null,\n filterQuery: '',\n selectedTag: ALL_TAG.tag,\n loaded: false,\n data: props.data,\n favorites,\n initialFavorites: favorites\n };\n }\n componentDidMount () {\n if (this.state.data.then) {\n // If data is a promise, wait for the promise to resolve\n this.state.data.then(data => {\n this.setState({\n loaded: true,\n data\n });\n });\n } else {\n // Allow the spinner to display before loading the content\n setTimeout(() => {\n this.setState({\n loaded: true\n });\n });\n }\n if (this.props.setStopHandler) this.props.setStopHandler(this.handlePlayingEnd);\n }\n componentWillReceiveProps (nextProps) {\n if (nextProps.data !== this.props.data && Array.isArray(nextProps.data)) {\n this.setState({\n data: nextProps.data\n });\n }\n }\n componentDidUpdate (prevProps, prevState) {\n if (prevState.filterQuery !== this.state.filterQuery ||\n prevState.selectedTag !== this.state.selectedTag) {\n this.scrollToTop();\n }\n\n if (this.state.favorites !== prevState.favorites) {\n try {\n localStorage.setItem(this.getFavoriteStorageKey(), JSON.stringify(this.state.favorites));\n } catch (error) {\n // ignore\n }\n }\n }\n handleSelect (id) {\n this.handleClose();\n this.props.onItemSelected(this.getFilteredData()[id]);\n }\n readFavoritesFromStorage () {\n let data;\n try {\n data = JSON.parse(localStorage.getItem(this.getFavoriteStorageKey()));\n } catch (error) {\n // ignore\n }\n if (!Array.isArray(data)) {\n data = [];\n }\n return data;\n }\n getFavoriteStorageKey () {\n return `tw:library-favorites:${this.props.id}`;\n }\n handleFavorite (id) {\n const data = this.getFilteredData()[id];\n const key = data[this.props.persistableKey];\n this.setState(oldState => ({\n favorites: oldState.favorites.includes(key) ? (\n oldState.favorites.filter(i => i !== key)\n ) : (\n [...oldState.favorites, key]\n )\n }));\n }\n handleClose () {\n this.props.onRequestClose();\n }\n handleTagClick (tag) {\n if (this.state.playingItem === null) {\n this.setState({\n filterQuery: '',\n selectedTag: tag.toLowerCase()\n });\n } else {\n this.props.onItemMouseLeave(this.getFilteredData()[[this.state.playingItem]]);\n this.setState({\n filterQuery: '',\n playingItem: null,\n selectedTag: tag.toLowerCase()\n });\n }\n }\n handleMouseEnter (id) {\n // don't restart if mouse over already playing item\n if (this.props.onItemMouseEnter && this.state.playingItem !== id) {\n this.props.onItemMouseEnter(this.getFilteredData()[id]);\n this.setState({\n playingItem: id\n });\n }\n }\n handleMouseLeave (id) {\n if (this.props.onItemMouseLeave) {\n this.props.onItemMouseLeave(this.getFilteredData()[id]);\n this.setState({\n playingItem: null\n });\n }\n }\n handlePlayingEnd () {\n if (this.state.playingItem !== null) {\n this.setState({\n playingItem: null\n });\n }\n }\n handleFilterChange (event) {\n if (this.state.playingItem === null) {\n this.setState({\n filterQuery: event.target.value,\n selectedTag: ALL_TAG.tag\n });\n } else {\n this.props.onItemMouseLeave(this.getFilteredData()[[this.state.playingItem]]);\n this.setState({\n filterQuery: event.target.value,\n playingItem: null,\n selectedTag: ALL_TAG.tag\n });\n }\n }\n handleFilterClear () {\n this.setState({filterQuery: ''});\n }\n getFilteredData () {\n // When no filtering, favorites get their own section\n if (this.state.selectedTag === 'all' && !this.state.filterQuery) {\n const favoriteItems = this.state.data\n .filter(dataItem => (\n this.state.initialFavorites.includes(dataItem[this.props.persistableKey])\n ))\n .map(dataItem => ({\n ...dataItem,\n key: `favorite-${dataItem[this.props.persistableKey]}`\n }));\n\n if (favoriteItems.length) {\n favoriteItems.push('---');\n }\n\n return [\n ...favoriteItems,\n ...this.state.data\n ];\n }\n\n // When filtering, favorites are just listed first, not in a separte section.\n const favoriteItems = [];\n const nonFavoriteItems = [];\n for (const dataItem of this.state.data) {\n if (dataItem === '---') {\n // ignore\n } else if (this.state.initialFavorites.includes(dataItem[this.props.persistableKey])) {\n favoriteItems.push(dataItem);\n } else {\n nonFavoriteItems.push(dataItem);\n }\n }\n\n let filteredItems = favoriteItems.concat(nonFavoriteItems);\n\n if (this.state.selectedTag !== 'all') {\n filteredItems = filteredItems.filter(dataItem => (\n dataItem.tags &&\n dataItem.tags.map(i => i.toLowerCase()).includes(this.state.selectedTag)\n ));\n }\n\n if (this.state.filterQuery) {\n filteredItems = filteredItems.filter(dataItem => {\n const search = [...dataItem.tags];\n if (dataItem.name) {\n // Use the name if it is a string, else use formatMessage to get the translated name\n if (typeof dataItem.name === 'string') {\n search.push(dataItem.name);\n } else {\n search.push(this.props.intl.formatMessage(dataItem.name.props));\n }\n }\n if (dataItem.description) {\n search.push(dataItem.description);\n }\n return search\n .join('\\n')\n .toLowerCase()\n .includes(this.state.filterQuery.toLowerCase());\n });\n }\n\n return filteredItems;\n }\n scrollToTop () {\n this.filteredDataRef.scrollTop = 0;\n }\n setFilteredDataRef (ref) {\n this.filteredDataRef = ref;\n }\n render () {\n return (\n \n {(this.props.filterable || this.props.tags) && (\n
\n {this.props.filterable && (\n \n )}\n {this.props.filterable && this.props.tags && (\n \n )}\n {this.props.tags &&\n
\n {tagListPrefix.concat(this.props.tags).map((tagProps, id) => (\n \n ))}\n
\n }\n
\n )}\n \n {this.state.loaded ? this.getFilteredData().map((dataItem, index) => (\n dataItem === '---' ? (\n \n ) : (\n