mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-19 09:05:22 +01:00
56842f36aa
Props danielbachhuber, peterwilsoncc. Fixes #45269. See #42864. Built from https://develop.svn.wordpress.org/branches/5.0@43862 git-svn-id: http://core.svn.wordpress.org/branches/5.0@43691 1a063a9b-81f0-0310-95a4-ce76da25c4cd
1 line
250 KiB
Plaintext
1 line
250 KiB
Plaintext
{"version":3,"sources":["webpack://wp.[name]/webpack/bootstrap","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/block-settings-menu/plugin-block-settings-menu-group.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/block-settings-menu/plugin-block-settings-menu-item.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/browser-url/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/fullscreen-mode/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/feature-toggle/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/fullscreen-mode-close/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/header-toolbar/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/mode-switcher/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/more-menu/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/options-menu-item/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/pinned-plugins/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/plugin-sidebar-more-menu-item/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/plugins-more-menu-group/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/post-publish-button-or-toggle.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/tools-more-menu-group/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/header/writing-menu/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/keyboard-shortcut-help-modal/config.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/keyboard-shortcut-help-modal/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/keyboard-shortcuts/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/layout/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/meta-boxes/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/meta-boxes/meta-box-visibility.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/meta-boxes/meta-boxes-area/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/options-modal/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/options-modal/meta-boxes-section.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/options-modal/options/base.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/options-modal/options/deferred.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/options-modal/options/enable-custom-fields.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/options-modal/options/enable-panel.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/options-modal/options/enable-publish-sidebar.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/options-modal/options/enable-tips.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/options-modal/options/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/options-modal/section.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/discussion-panel/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/featured-image/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/last-revision/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/page-attributes/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/plugin-post-publish-panel/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/plugin-post-status-info/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/plugin-pre-publish-panel/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/plugin-sidebar/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/post-author/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/post-excerpt/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/post-format/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/post-pending-status/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/post-schedule/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/post-status/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/post-sticky/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/post-taxonomies/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/post-taxonomies/taxonomy-panel.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/post-trash/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/post-visibility/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/settings-header/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/settings-sidebar/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/sidebar/sidebar-header/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/text-editor/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/visual-editor/block-inspector-button.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/components/visual-editor/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/editor.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/hooks/components/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/hooks/components/media-upload/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/hooks/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/hooks/validate-multiple-use/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/keyboard-shortcuts.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/plugins/copy-content-menu-item/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/plugins/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/plugins/keyboard-shortcuts-help-menu-item/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/store/actions.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/store/defaults.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/store/effects.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/store/index.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/store/middlewares.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/store/reducer.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/store/selectors.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/store/utils.js","webpack://wp.[name]//Users/pento/Projects/gutenberg/packages/edit-post/src/utils/meta-boxes.js","webpack://wp.[name]/./node_modules/classnames/index.js","webpack://wp.[name]/./node_modules/refx/refx.js","webpack://wp.[name]/./node_modules/rememo/es/rememo.js","webpack://wp.[name]/external {\"this\":[\"wp\",\"a11y\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"apiFetch\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"blockLibrary\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"blocks\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"components\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"compose\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"coreData\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"data\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"deprecated\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"editor\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"element\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"hooks\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"i18n\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"keycodes\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"nux\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"plugins\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"url\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"viewport\"]}","webpack://wp.[name]/external \"lodash\""],"names":["createSlotFill","PluginBlockSettingsMenuGroup","Fill","Slot","PluginBlockSettingsMenuGroupSlot","fillProps","selectedBlocks","map","block","name","fills","isEmpty","withSelect","select","clientIds","getBlocksByClientId","isEverySelectedBlockAllowed","selected","allowed","difference","length","shouldRenderItem","selectedBlockNames","allowedBlockNames","Array","isArray","PluginBlockSettingsMenuItem","allowedBlocks","icon","label","onClick","small","role","onClose","compose","undefined","getPostEditURL","postId","addQueryArgs","post","action","getPostTrashedURL","postType","trashed","post_type","ids","BrowserURL","arguments","state","historyId","prevProps","props","postStatus","setTrashURL","setBrowserURL","window","location","href","history","replaceState","id","setState","Component","getCurrentPost","status","type","FullscreenMode","sync","isActive","document","body","classList","add","remove","isFeatureActive","FeatureToggle","onToggle","info","feature","withDispatch","dispatch","ownProps","toggleFeature","FullscreenModeClose","slug","get","__","getCurrentPostType","getPostType","HeaderToolbar","hasFixedToolbar","isLargeViewport","mode","toolbarAriaLabel","getEditorMode","withViewportMatch","Header","closeGeneralSidebar","hasActiveMetaboxes","isEditorSidebarOpened","isPublishSidebarOpened","isSaving","openGeneralSidebar","toggleGeneralSidebar","shortcuts","toggleSidebar","hasMetaBoxes","hasBlockSelection","getBlockSelectionStart","isSavingMetaBoxes","sidebarToOpen","MODES","value","ModeSwitcher","onSwitch","choices","choice","shortcut","toggleEditorMode","display","switchEditorMode","onSelect","ariaClosed","ariaOpen","MoreMenu","isOpen","OptionsMenuItem","openModal","PinnedPlugins","PluginSidebarMoreMenuItem","children","isSelected","withPluginContext","context","sidebarName","target","getActiveGeneralSidebarName","PluginsMoreMenuGroup","PostPublishButtonOrToggle","forceIsDirty","forceIsSaving","hasPublishAction","isBeingScheduled","isLessThanMediumViewport","isPending","isPublished","isPublishSidebarEnabled","isScheduled","togglePublishSidebar","button","toggle","isEditedPostBeingScheduled","isCurrentPostPending","isCurrentPostPublished","isCurrentPostScheduled","ToolsMoreMenuGroup","WritingMenu","_x","ifViewportMatches","primary","displayShortcutList","primaryShift","primaryAlt","secondary","access","ctrl","alt","ctrlShift","shiftAlt","globalShortcuts","title","keyCombination","description","ariaLabel","shortcutAriaLabel","selectionShortcuts","blockShortcuts","textFormattingShortcuts","MODAL_NAME","mapKeyCombination","character","index","ShortcutList","castArray","ShortcutSection","KeyboardShortcutHelpModal","isModalActive","toggleModal","rawShortcut","shortcutConfig","config","closeModal","EditorModeKeyboardShortcuts","toggleMode","bind","switchMode","event","preventDefault","isEditorSidebarOpen","closeSidebar","openSidebar","raw","Layout","editorSidebarOpened","pluginSidebarOpened","publishSidebarOpened","closePublishSidebar","isMobileViewport","sidebarIsOpened","className","classnames","publishLandmarkProps","tabIndex","PluginPrePublishPanel","PluginPostPublishPanel","isPluginSidebarOpened","navigateRegions","MetaBoxes","isVisible","metaBoxes","isMetaBoxLocationVisible","getMetaBoxesPerLocation","MetaBoxVisibility","updateDOM","element","getElementById","style","isEditorPanelEnabled","MetaBoxesArea","bindContainerNode","form","querySelector","container","appendChild","node","classes","OptionsModal","content","taxonomy","MetaBoxesSection","hasCustomFieldsSupport","sectionProps","getEditedPostAttribute","getAllMetaBoxes","supports","BaseOption","isChecked","onChange","DeferredOption","EnableCustomFieldsOption","toggleCustomFields","submit","getEditorSettings","enableCustomFields","panelName","toggleEditorPanelEnabled","enablePublishSidebar","disablePublishSidebar","isEnabled","areTipsEnabled","enableTips","disableTips","Section","PANEL_NAME","DiscussionPanel","isOpened","onTogglePanel","isEditorPanelOpened","toggleEditorPanelOpened","FeaturedImage","applyWithSelect","applyWithDispatch","partial","Sidebar","WrappedSidebar","ifCondition","withFocusReturn","LastRevision","PageAttributes","initialOpen","PluginPostStatusInfo","PluginSidebar","isPinnable","isPinned","togglePin","isPluginItemPinned","togglePinnedPluginItem","PostAuthor","PostExcerpt","PostFormat","PostPendingStatus","PostSchedule","instanceId","withInstanceId","PostStatus","PostSticky","PostTaxonomies","TaxonomyPanel","taxonomyMenuName","PostTrash","PostVisibility","canEdit","SettingsHeader","count","openDocumentSettings","openBlockSettings","blockCount","blockLabel","sprintf","_n","documentAriaLabel","documentActiveClass","blockAriaLabel","blockActiveClass","getSelectedBlockCount","clearSelectedBlock","SettingsSidebar","SidebarHeader","closeLabel","TextEditor","onExit","displayShortcut","BlockInspectorButton","areAdvancedSettingsOpened","openEditorSidebar","noop","speak","speakMessage","flow","withSpokenMessages","VisualEditor","Editor","settings","focusMode","overridePost","onError","editorSettings","getEntityRecord","replaceMediaUpload","MediaUpload","addFilter","getGalleryDetailsMediaFrame","wp","media","view","MediaFrame","Post","extend","createStates","states","controller","Library","l10n","createGalleryTitle","priority","toolbar","filterable","multiple","editable","library","query","_","defaults","options","GalleryEdit","selection","editing","menu","displaySettings","GalleryAdd","slimImageObject","img","attrSet","pick","getAttachmentsCollection","order","orderby","post__in","per_page","allowedTypes","gallery","modalClass","onOpen","onUpdate","currentState","GalleryDetailsMediaFrame","attachments","model","Selection","models","toJSON","frame","mimeType","frameConfig","text","$el","addClass","on","selections","selectedImages","attachment","more","open","render","enhance","blocks","getBlocks","hasBlockSupport","firstOfSameType","find","isInvalid","clientId","originalBlockClientId","selectFirst","selectBlock","withMultipleValidation","createHigherOrderComponent","BlockEdit","blockType","getBlockType","outboundType","getOutboundType","minHeight","onReplace","createBlock","attributes","blockName","transform","findTransform","getBlockTransforms","reinitializeEditor","unmountComponentAtNode","reboot","initializeEditor","registerCoreBlocks","triggerGuide","CopyContentMenuItem","editedPostContent","hasCopied","withState","registerPlugin","KeyboardShortcutsHelpMenuItem","openPublishSidebar","toggleGeneralSidebarEditorPanel","deprecated","alternative","plugin","version","pluginName","setAvailableMetaBoxesPerLocation","metaBoxesPerLocation","requestMetaBoxUpdates","metaBoxUpdatesSuccess","PREFERENCES_DEFAULTS","editorMode","isGeneralSidebarDismissed","panels","opened","features","fixedToolbar","pinnedPluginItems","effects","SET_META_BOXES_PER_LOCATIONS","store","setTimeout","postboxes","page","add_postbox_toggles","wasSavingPost","isSavingPost","wasAutosavingPost","isAutosavingPost","subscribe","hasActiveMetaBoxes","shouldTriggerMetaboxesSave","REQUEST_META_BOX_UPDATES","getState","additionalData","comment_status","ping_status","sticky","author","filter","Boolean","baseFormData","FormData","formDataToMerge","getActiveMetaBoxLocations","getMetaBoxContainer","formData","reduce","memo","currentFormData","key","append","forEach","apiFetch","url","_wpMetaBoxUrl","method","parse","then","SWITCH_MODE","message","INIT","onChangeListener","isMobileViewPort","isViewportMatch","adjustSidebar","sidebarToReOpenOnExpand","isSmall","registerStore","reducer","actions","selectors","persist","applyMiddlewares","middlewares","refx","enhancedDispatch","Error","chain","middlewareAPI","middleware","flowRight","DEFAULT_ACTIVE_GENERAL_SIDEBAR","preferences","combineReducers","enabled","activeGeneralSidebar","panel","activeModal","publishSidebarActive","metaBoxLocations","locations","getPreference","includes","isDismissed","getPreferences","preferenceKey","defaultValue","isEditorSidebarPanelOpened","modalName","createSelector","Object","keys","isMetaBoxLocationActive","some","flatten","values","selector","listener","previousValue","selectedValue","area"],"mappings":";;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;AClFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,iDAAiD,gBAAgB;AACjE;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACNA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACdA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACbA;AAAA;AAAe;AACf;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AChBA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACLA;AAAA;AAAA;AAA8C;AAC/B;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,+DAAc;AAChC,C;;;;;;;;;;;;ACdA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,+BAA+B;AAC5E;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACxBA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAA;AAA8C;AAC/B;AACf,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,MAAM,+DAAc;AACpB,KAAK;AACL;;AAEA;AACA,C;;;;;;;;;;;;AClBA;AAAA;AAAA;AAA0E;AAC3D;AACf;AACA,eAAe,6EAA4B;AAC3C;;AAEA;AACA;;AAEA,eAAe,6BAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AClBA;AAAA;AAAe;AACf;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACbA;AAAA;AAAA;AAAA;AAA+C;AACa;AAC7C;AACf,eAAe,mEAAO;AACtB;AACA;;AAEA,SAAS,sEAAqB;AAC9B,C;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACPA;AAAA;AAAA;AAAA;AAAA;AAA8C;AACY;AACV;AACjC;AACf,SAAS,+DAAc,SAAS,qEAAoB,YAAY,gEAAe;AAC/E,C;;;;;;;;;;;;ACLA;AAAA;AAAA;AAAA;AAAA;AAAoD;AACJ;AACI;AACrC;AACf,SAAS,kEAAiB,SAAS,gEAAe,SAAS,kEAAiB;AAC5E,C;;;;;;;;;;;;ACLA;AAAA;AAAA,wBAAwB,2EAA2E,oCAAoC,mBAAmB,GAAG,EAAE,OAAO,oCAAoC,8HAA8H,GAAG,EAAE,sBAAsB;;AAEpV;AACf;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;;sBAEqDA,4EAAc,CAAE,8BAAF,C;IAArDC,4B,mBAANC,I;IAAoCC,I,mBAAAA,I;;AAE5C,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAmC,OAAqC;AAAA,MAAjCC,SAAiC,QAAjCA,SAAiC;AAAA,MAAtBC,cAAsB,QAAtBA,cAAsB;AAC7EA,gBAAc,GAAGC,kDAAG,CAAED,cAAF,EAAkB,UAAEE,KAAF;AAAA,WAAaA,KAAK,CAACC,IAAnB;AAAA,GAAlB,CAApB;AACA,SACC,yEAAC,IAAD;AAAM,aAAS,8FAAQJ,SAAR;AAAmBC,oBAAc,EAAdA;AAAnB;AAAf,KACG,UAAEI,KAAF;AAAA,WAAa,CAAEC,sDAAO,CAAED,KAAF,CAAT,IACd,yEAAC,2DAAD,QACC;AAAK,eAAS,EAAC;AAAf,MADD,EAEGA,KAFH,CADC;AAAA,GADH,CADD;AAUA,CAZD;;AAcAT,4BAA4B,CAACE,IAA7B,GAAoCS,kEAAU,CAAE,UAAEC,MAAF;AAAA,MAAyBC,SAAzB,SAAYT,SAAZ,CAAyBS,SAAzB;AAAA,SAA8C;AAC7FR,kBAAc,EAAEO,MAAM,CAAE,aAAF,CAAN,CAAwBE,mBAAxB,CAA6CD,SAA7C;AAD6E,GAA9C;AAAA,CAAF,CAAV,CAE7BV,gCAF6B,CAApC;AAIeH,2FAAf;;;;;;;;;;;;;;;;;;;;;;;;;AChCA;;;AAGA;AAEA;;;;AAGA;AACA;AAEA;;;;AAGA;;AAEA,IAAMe,2BAA2B,GAAG,SAA9BA,2BAA8B,CAAEC,QAAF,EAAYC,OAAZ;AAAA,SAAyBC,yDAAU,CAAEF,QAAF,EAAYC,OAAZ,CAAV,CAAgCE,MAAhC,KAA2C,CAApE;AAAA,CAApC;AAEA;;;;;;;;;;;;;AAWA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAEC,kBAAF,EAAsBC,iBAAtB;AAAA,SAA6C,CAAEC,KAAK,CAACC,OAAN,CAAeF,iBAAf,CAAF,IACrEP,2BAA2B,CAAEM,kBAAF,EAAsBC,iBAAtB,CADH;AAAA,CAAzB;;AAGA,IAAMG,2BAA2B,GAAG,SAA9BA,2BAA8B;AAAA,MAAIC,aAAJ,QAAIA,aAAJ;AAAA,MAAmBC,IAAnB,QAAmBA,IAAnB;AAAA,MAAyBC,KAAzB,QAAyBA,KAAzB;AAAA,MAAgCC,OAAhC,QAAgCA,OAAhC;AAAA,MAAyCC,KAAzC,QAAyCA,KAAzC;AAAA,MAAgDC,IAAhD,QAAgDA,IAAhD;AAAA,SACnC,yEAAC,yEAAD,QACG,iBAAmC;AAAA,QAA/B1B,cAA+B,SAA/BA,cAA+B;AAAA,QAAf2B,OAAe,SAAfA,OAAe;;AACpC,QAAK,CAAEZ,gBAAgB,CAAEf,cAAF,EAAkBqB,aAAlB,CAAvB,EAA2D;AAC1D,aAAO,IAAP;AACA;;AACD,WAAS,yEAAC,gEAAD;AACR,eAAS,EAAC,qCADF;AAER,aAAO,EAAGO,kEAAO,CAAEJ,OAAF,EAAWG,OAAX,CAFT;AAGR,UAAI,EAAGL,IAAI,IAAI,eAHP;AAIR,WAAK,EAAGG,KAAK,GAAGF,KAAH,GAAWM,SAJhB;AAKR,UAAI,EAAGH;AALC,OAON,CAAED,KAAF,IAAWF,KAPL,CAAT;AASA,GAdF,CADmC;AAAA,CAApC;;AAmBeH,0FAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnDA;;;AAGA;AACA;AACA;AAEA;;;;;;;;AAOO,SAASU,cAAT,CAAyBC,MAAzB,EAAkC;AACxC,SAAOC,mEAAY,CAAE,UAAF,EAAc;AAAEC,QAAI,EAAEF,MAAR;AAAgBG,UAAM,EAAE;AAAxB,GAAd,CAAnB;AACA;AAED;;;;;;;;;AAQO,SAASC,iBAAT,CAA4BJ,MAA5B,EAAoCK,QAApC,EAA+C;AACrD,SAAOJ,mEAAY,CAAE,UAAF,EAAc;AAChCK,WAAO,EAAE,CADuB;AAEhCC,aAAS,EAAEF,QAFqB;AAGhCG,OAAG,EAAER;AAH2B,GAAd,CAAnB;AAKA;AAEM,IAAMS,UAAb;AAAA;AAAA;AAAA;;AACC,wBAAc;AAAA;;AAAA;;AACb,yOAAUC,SAAV;AAEA,UAAKC,KAAL,GAAa;AACZC,eAAS,EAAE;AADC,KAAb;AAHa;AAMb;;AAPF;AAAA;AAAA,uCASqBC,SATrB,EASiC;AAAA,wBACU,KAAKC,KADf;AAAA,UACvBd,MADuB,eACvBA,MADuB;AAAA,UACfe,UADe,eACfA,UADe;AAAA,UACHV,QADG,eACHA,QADG;AAAA,UAEvBO,SAFuB,GAET,KAAKD,KAFI,CAEvBC,SAFuB;;AAI/B,UAAKG,UAAU,KAAK,OAApB,EAA8B;AAC7B,aAAKC,WAAL,CAAkBhB,MAAlB,EAA0BK,QAA1B;AACA;AACA;;AAED,UAAK,CAAEL,MAAM,KAAKa,SAAS,CAACb,MAArB,IAA+BA,MAAM,KAAKY,SAA5C,KAA2DG,UAAU,KAAK,YAA/E,EAA8F;AAC7F,aAAKE,aAAL,CAAoBjB,MAApB;AACA;AACD;AAED;;;;;;;AAvBD;AAAA;AAAA,gCA6BcA,MA7Bd,EA6BsBK,QA7BtB,EA6BiC;AAC/Ba,YAAM,CAACC,QAAP,CAAgBC,IAAhB,GAAuBhB,iBAAiB,CAAEJ,MAAF,EAAUK,QAAV,CAAxC;AACA;AAED;;;;;;;;;;AAjCD;AAAA;AAAA,kCA0CgBL,MA1ChB,EA0CyB;AACvBkB,YAAM,CAACG,OAAP,CAAeC,YAAf,CACC;AAAEC,UAAE,EAAEvB;AAAN,OADD,EAEC,UAAUA,MAFX,EAGCD,cAAc,CAAEC,MAAF,CAHf;AAMA,WAAKwB,QAAL,CAAe;AAAA,eAAQ;AACtBZ,mBAAS,EAAEZ;AADW,SAAR;AAAA,OAAf;AAGA;AApDF;AAAA;AAAA,6BAsDU;AACR,aAAO,IAAP;AACA;AAxDF;;AAAA;AAAA,EAAgCyB,4DAAhC;AA2DelD,iIAAU,CAAE,UAAEC,MAAF,EAAc;AAAA,gBACbA,MAAM,CAAE,aAAF,CADO;AAAA,MAChCkD,cADgC,WAChCA,cADgC;;AAAA,wBAEXA,cAAc,EAFH;AAAA,MAEhCH,EAFgC,mBAEhCA,EAFgC;AAAA,MAE5BI,MAF4B,mBAE5BA,MAF4B;AAAA,MAEpBC,IAFoB,mBAEpBA,IAFoB;;AAIxC,SAAO;AACN5B,UAAM,EAAEuB,EADF;AAENR,cAAU,EAAEY,MAFN;AAGNtB,YAAQ,EAAEuB;AAHJ,GAAP;AAKA,CATwB,CAAV,CASVnB,UATU,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7FA;;;AAGA;AACA;;IAEMoB,c;;;;;;;;;;;;;wCACe;AACnB,WAAKC,IAAL;AACA;;;uCAEmBjB,S,EAAY;AAC/B,UAAK,KAAKC,KAAL,CAAWiB,QAAX,KAAwBlB,SAAS,CAACkB,QAAvC,EAAkD;AACjD,aAAKD,IAAL;AACA;AACD;;;2BAEM;AAAA,UACEC,QADF,GACe,KAAKjB,KADpB,CACEiB,QADF;;AAEN,UAAKA,QAAL,EAAgB;AACfC,gBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBC,GAAxB,CAA6B,oBAA7B;AACA,OAFD,MAEO;AACNH,gBAAQ,CAACC,IAAT,CAAcC,SAAd,CAAwBE,MAAxB,CAAgC,oBAAhC;AACA;AACD;;;6BAEQ;AACR,aAAO,IAAP;AACA;;;;EAtB2BX,4D;;AAyBdlD,iIAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC1CuD,YAAQ,EAAEvD,MAAM,CAAE,gBAAF,CAAN,CAA2B6D,eAA3B,CAA4C,gBAA5C;AADgC,GAAhB;AAAA,CAAF,CAAV,CAERR,cAFQ,CAAf;;;;;;;;;;;;;;;;;;;;;;;;AC/BA;;;AAGA;AACA;AACA;;AAEA,SAASS,aAAT,OAA8D;AAAA,MAApCC,QAAoC,QAApCA,QAAoC;AAAA,MAA1BR,QAA0B,QAA1BA,QAA0B;AAAA,MAAhBvC,KAAgB,QAAhBA,KAAgB;AAAA,MAATgD,IAAS,QAATA,IAAS;AAC7D,SACC,yEAAC,8DAAD;AACC,QAAI,EAAGT,QAAQ,IAAI,KADpB;AAEC,cAAU,EAAGA,QAFd;AAGC,WAAO,EAAGQ,QAHX;AAIC,QAAI,EAAC,kBAJN;AAKC,SAAK,EAAG/C,KALT;AAMC,QAAI,EAAGgD;AANR,KAQGhD,KARH,CADD;AAYA;;AAEcK,iIAAO,CAAE,CACvBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,MAAYiE,OAAZ,SAAYA,OAAZ;AAAA,SAA6B;AACxCV,YAAQ,EAAEvD,MAAM,CAAE,gBAAF,CAAN,CAA2B6D,eAA3B,CAA4CI,OAA5C;AAD8B,GAA7B;AAAA,CAAF,CADa,EAIvBC,oEAAY,CAAE,UAAEC,QAAF,EAAYC,QAAZ;AAAA,SAA4B;AACzCL,YADyC,sBAC9B;AACVI,cAAQ,CAAE,gBAAF,CAAR,CAA6BE,aAA7B,CAA4CD,QAAQ,CAACH,OAArD;AACAG,cAAQ,CAACL,QAAT;AACA;AAJwC,GAA5B;AAAA,CAAF,CAJW,CAAF,CAAP,CAUVD,aAVU,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AACA;;AAEA,SAASQ,mBAAT,OAAuD;AAAA,MAAvBf,QAAuB,QAAvBA,QAAuB;AAAA,MAAb1B,QAAa,QAAbA,QAAa;;AACtD,MAAK,CAAE0B,QAAF,IAAc,CAAE1B,QAArB,EAAgC;AAC/B,WAAO,IAAP;AACA;;AAED,SACC,yEAAC,6DAAD;AAAS,aAAS,EAAC;AAAnB,KACC,yEAAC,gEAAD;AACC,QAAI,EAAC,MADN;AAEC,QAAI,EAAGJ,mEAAY,CAAE,UAAF,EAAc;AAAEM,eAAS,EAAEF,QAAQ,CAAC0C;AAAtB,KAAd,CAFpB;AAGC,SAAK,EAAGC,kDAAG,CACV3C,QADU,EAEV,CAAE,QAAF,EAAY,YAAZ,CAFU,EAGV4C,0DAAE,CAAE,YAAF,CAHQ;AAHZ,IADD,CADD;AAaA;;AAEc1E,iIAAU,CAAE,UAAEC,MAAF,EAAc;AAAA,gBACTA,MAAM,CAAE,aAAF,CADG;AAAA,MAChC0E,kBADgC,WAChCA,kBADgC;;AAAA,iBAEZ1E,MAAM,CAAE,gBAAF,CAFM;AAAA,MAEhC6D,eAFgC,YAEhCA,eAFgC;;AAAA,iBAGhB7D,MAAM,CAAE,MAAF,CAHU;AAAA,MAGhC2E,WAHgC,YAGhCA,WAHgC;;AAKxC,SAAO;AACNpB,YAAQ,EAAEM,eAAe,CAAE,gBAAF,CADnB;AAENhC,YAAQ,EAAE8C,WAAW,CAAED,kBAAkB,EAApB;AAFf,GAAP;AAIA,CATwB,CAAV,CASVJ,mBATU,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AAUA;;;;AAGA;;AAEA,SAASM,aAAT,OAAqE;AAAA,MAA3CC,eAA2C,QAA3CA,eAA2C;AAAA,MAA1BC,eAA0B,QAA1BA,eAA0B;AAAA,MAATC,IAAS,QAATA,IAAS;AACpE,MAAMC,gBAAgB,GAAGH,eAAe,GAAGJ,0DAAE,CAAE,0BAAF,CAAL,GAAsCA,0DAAE,CAAE,gBAAF,CAAhF;AAEA,SACC,yEAAC,kEAAD;AACC,aAAS,EAAC,0BADX;AAEC,kBAAaO;AAFd,KAIC,yEAAC,8DAAD,OAJD,EAKC,sFACC,yEAAC,0DAAD;AAAU,YAAQ,EAAGD,IAAI,KAAK,QAA9B;AAAyC,YAAQ,EAAC;AAAlD,IADD,EAEC,yEAAC,qDAAD;AAAQ,SAAK,EAAC;AAAd,KACGN,0DAAE,CAAE,oNAAF,CADL,CAFD,CALD,EAWC,yEAAC,mEAAD,OAXD,EAYC,yEAAC,mEAAD,OAZD,EAaC,yEAAC,iEAAD,OAbD,EAcC,yEAAC,yEAAD,OAdD,EAeGI,eAAe,IAAIC,eAAnB,IACD;AAAK,aAAS,EAAC;AAAf,KACC,yEAAC,8DAAD,OADD,CAhBF,CADD;AAuBA;;AAEczD,iIAAO,CAAE,CACvBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3B6E,mBAAe,EAAE7E,MAAM,CAAE,gBAAF,CAAN,CAA2B6D,eAA3B,CAA4C,cAA5C,CADU;AAE3BkB,QAAI,EAAE/E,MAAM,CAAE,gBAAF,CAAN,CAA2BiF,aAA3B;AAFqB,GAAhB;AAAA,CAAF,CADa,EAKvBC,6EAAiB,CAAE;AAAEJ,iBAAe,EAAE;AAAnB,CAAF,CALM,CAAF,CAAP,CAMVF,aANU,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnDA;;;AAGA;AACA;AACA;AAIA;AACA;AACA;AAEA;;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,SAASO,MAAT,OAOI;AAAA,MANHC,mBAMG,QANHA,mBAMG;AAAA,MALHC,kBAKG,QALHA,kBAKG;AAAA,MAJHC,qBAIG,QAJHA,qBAIG;AAAA,MAHHC,sBAGG,QAHHA,sBAGG;AAAA,MAFHC,QAEG,QAFHA,QAEG;AAAA,MADHC,kBACG,QADHA,kBACG;AACH,MAAMC,oBAAoB,GAAGJ,qBAAqB,GAAGF,mBAAH,GAAyBK,kBAA3E;AAEA,SACC;AACC,QAAI,EAAC;AACL;AAFD;AAGC,kBAAahB,0DAAE,CAAE,gBAAF,CAHhB;AAIC,aAAS,EAAC,kBAJX;AAKC,YAAQ,EAAC;AALV,KAOC,yEAAC,uDAAD,OAPD,EAQG,CAAEc,sBAAF,IACD;AAAK,aAAS,EAAC;AAAf,KACC,yEAAC,gEAAD;AACC,gBAAY,EAAGF,kBADhB;AAEC,iBAAa,EAAGG;AAFjB,IADD,EAKC,yEAAC,mEAAD,OALD,EAMC,yEAAC,uEAAD;AACC,gBAAY,EAAGH,kBADhB;AAEC,iBAAa,EAAGG;AAFjB,IAND,EAUC,sFACC,yEAAC,gEAAD;AACC,QAAI,EAAC,eADN;AAEC,SAAK,EAAGf,0DAAE,CAAE,UAAF,CAFX;AAGC,WAAO,EAAGiB,oBAHX;AAIC,aAAS,EAAGJ,qBAJb;AAKC,qBAAgBA,qBALjB;AAMC,YAAQ,EAAGK,4DAAS,CAACC;AANtB,IADD,EASC,yEAAC,qDAAD;AAAQ,SAAK,EAAC;AAAd,KACGnB,0DAAE,CAAE,iGAAF,CADL,CATD,CAVD,EAuBC,yEAAC,uDAAD,CAAe,IAAf,OAvBD,EAwBC,yEAAC,kDAAD,OAxBD,CATF,CADD;AAuCA;;AAEcpD,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3BqF,sBAAkB,EAAErF,MAAM,CAAE,gBAAF,CAAN,CAA2B6F,YAA3B,EADO;AAE3BC,qBAAiB,EAAE,CAAC,CAAE9F,MAAM,CAAE,aAAF,CAAN,CAAwB+F,sBAAxB,EAFK;AAG3BT,yBAAqB,EAAEtF,MAAM,CAAE,gBAAF,CAAN,CAA2BsF,qBAA3B,EAHI;AAI3BC,0BAAsB,EAAEvF,MAAM,CAAE,gBAAF,CAAN,CAA2BuF,sBAA3B,EAJG;AAK3BC,YAAQ,EAAExF,MAAM,CAAE,gBAAF,CAAN,CAA2BgG,iBAA3B;AALiB,GAAhB;AAAA,CAAF,CADW,EAQrB9B,oEAAY,CAAE,UAAEC,QAAF,SAAuC;AAAA,MAAzB2B,iBAAyB,SAAzBA,iBAAyB;;AAAA,kBACA3B,QAAQ,CAAE,gBAAF,CADR;AAAA,MAC5CsB,mBAD4C,aAC5CA,kBAD4C;AAAA,MACxBL,mBADwB,aACxBA,mBADwB;;AAEpD,MAAMa,aAAa,GAAGH,iBAAiB,GAAG,iBAAH,GAAuB,oBAA9D;AACA,SAAO;AACNL,sBAAkB,EAAE;AAAA,aAAMA,mBAAkB,CAAEQ,aAAF,CAAxB;AAAA,KADd;AAENb,uBAAmB,EAAEA,mBAFf;AAGNU,qBAAiB,EAAExE;AAHb,GAAP;AAKA,CARW,CARS,CAAP,CAiBZ6D,MAjBY,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzEA;;;AAGA;AACA;AACA;AACA;AAEA;;;;AAGA;AACA;;;;;;AAKA,IAAMe,KAAK,GAAG,CACb;AACCC,OAAK,EAAE,QADR;AAECnF,OAAK,EAAEyD,0DAAE,CAAE,eAAF;AAFV,CADa,EAKb;AACC0B,OAAK,EAAE,MADR;AAECnF,OAAK,EAAEyD,0DAAE,CAAE,aAAF;AAFV,CALa,CAAd;;AAWA,SAAS2B,YAAT,OAA4C;AAAA,MAAnBC,QAAmB,QAAnBA,QAAmB;AAAA,MAATtB,IAAS,QAATA,IAAS;AAC3C,MAAMuB,OAAO,GAAGJ,KAAK,CAACxG,GAAN,CAAW,UAAE6G,MAAF,EAAc;AACxC,QAAKA,MAAM,CAACJ,KAAP,KAAiBpB,IAAtB,EAA6B;AAC5B,yGAAYwB,MAAZ;AAAoBC,gBAAQ,EAAEb,2DAAS,CAACc,gBAAV,CAA2BC;AAAzD;AACA;;AACD,WAAOH,MAAP;AACA,GALe,CAAhB;AAOA,SACC,yEAAC,+DAAD;AACC,SAAK,EAAG9B,0DAAE,CAAE,QAAF;AADX,KAGC,yEAAC,qEAAD;AACC,WAAO,EAAG6B,OADX;AAEC,SAAK,EAAGvB,IAFT;AAGC,YAAQ,EAAGsB;AAHZ,IAHD,CADD;AAWA;;AAEchF,iIAAO,CAAE,CACvBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3B+E,QAAI,EAAE/E,MAAM,CAAE,gBAAF,CAAN,CAA2BiF,aAA3B;AADqB,GAAhB;AAAA,CAAF,CADa,EAIvBf,oEAAY,CAAE,UAAEC,QAAF,EAAYC,QAAZ;AAAA,SAA4B;AACzCiC,YADyC,oBAC/BtB,IAD+B,EACxB;AAChBZ,cAAQ,CAAE,gBAAF,CAAR,CAA6BwC,gBAA7B,CAA+C5B,IAA/C;AACAX,cAAQ,CAACwC,QAAT,CAAmB7B,IAAnB;AACA;AAJwC,GAA5B;AAAA,CAAF,CAJW,CAAF,CAAP,CAUVqB,YAVU,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjDA;;;AAGA;AACA;AACA;AAEA;;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,IAAMS,UAAU,GAAGpC,0DAAE,CAAE,2BAAF,CAArB;;AACA,IAAMqC,QAAQ,GAAGrC,0DAAE,CAAE,2BAAF,CAAnB;;AAEA,IAAMsC,QAAQ,GAAG,SAAXA,QAAW;AAAA,SAChB,yEAAC,8DAAD;AACC,aAAS,EAAC,qBADX;AAEC,oBAAgB,EAAC,8BAFlB;AAGC,YAAQ,EAAC,aAHV;AAIC,gBAAY,EAAG;AAAA,UAAIC,MAAJ,QAAIA,MAAJ;AAAA,UAAYjD,QAAZ,QAAYA,QAAZ;AAAA,aACd,yEAAC,gEAAD;AACC,YAAI,EAAC,UADN;AAEC,aAAK,EAAGiD,MAAM,GAAGF,QAAH,GAAcD,UAF7B;AAGC,eAAO,EAAG9C,QAHX;AAIC,yBAAgBiD;AAJjB,QADc;AAAA,KAJhB;AAYC,iBAAa,EAAG;AAAA,UAAI5F,OAAJ,SAAIA,OAAJ;AAAA,aACf,yEAAC,2DAAD,QACC,yEAAC,qDAAD;AAAa,eAAO,EAAGA;AAAvB,QADD,EAEC,yEAAC,sDAAD;AAAc,gBAAQ,EAAGA;AAAzB,QAFD,EAGC,yEAAC,gEAAD,CAAqB,IAArB;AAA0B,iBAAS,EAAG;AAAEA,iBAAO,EAAPA;AAAF;AAAtC,QAHD,EAIC,yEAAC,8DAAD,CAAoB,IAApB;AAAyB,iBAAS,EAAG;AAAEA,iBAAO,EAAPA;AAAF;AAArC,QAJD,EAKC,yEAAC,+DAAD,QACC,yEAAC,0DAAD;AAAiB,gBAAQ,EAAGA;AAA5B,QADD,CALD,CADe;AAAA;AAZjB,IADgB;AAAA,CAAjB;;AA2Be2F,uEAAf;;;;;;;;;;;;;;;;;;;;;;;;;AC9CA;;;AAGA;AACA;AACA;AAEO,SAASE,eAAT,OAAoD;AAAA,MAAxBC,SAAwB,QAAxBA,SAAwB;AAAA,MAAbN,QAAa,QAAbA,QAAa;AAC1D,SACC,yEAAC,8DAAD;AACC,WAAO,EAAG,mBAAM;AACfA,cAAQ;AACRM,eAAS,CAAE,mBAAF,CAAT;AACA;AAJF,KAMGzC,0DAAE,CAAE,SAAF,CANL,CADD;AAUA;AAEcP,mIAAY,CAAE,UAAEC,QAAF,EAAgB;AAAA,kBACtBA,QAAQ,CAAE,gBAAF,CADc;AAAA,MACpC+C,SADoC,aACpCA,SADoC;;AAG5C,SAAO;AACNA,aAAS,EAATA;AADM,GAAP;AAGA,CAN0B,CAAZ,CAMVD,eANU,CAAf;;;;;;;;;;;;;;;;;;;;;;ACpBA;;;AAGA;AAEA;;;;AAGA;;sBAEsC9H,4EAAc,CAAE,eAAF,C;IAAtCgI,a,mBAAN9H,I;IAAqBC,I,mBAAAA,I;;AAE7B6H,aAAa,CAAC7H,IAAd,GAAqB,UAAEgD,KAAF;AAAA,SACpB,yEAAC,IAAD,EAAWA,KAAX,EACG,UAAEzC,KAAF;AAAA,WAAa,CAAEC,sDAAO,CAAED,KAAF,CAAT,IACd;AAAK,eAAS,EAAC;AAAf,OACGA,KADH,CADC;AAAA,GADH,CADoB;AAAA,CAArB;;AAUesH,4EAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;;;AAGA;AACA;AACA;AACA;AAEA;;;;AAGA;;AAEA,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B;AAAA,MAAIC,QAAJ,QAAIA,QAAJ;AAAA,MAActG,IAAd,QAAcA,IAAd;AAAA,MAAoBuG,UAApB,QAAoBA,UAApB;AAAA,MAAgCrG,OAAhC,QAAgCA,OAAhC;AAAA,SACjC,yEAAC,gEAAD,QACG,UAAEzB,SAAF;AAAA,WACD,yEAAC,8DAAD;AACC,UAAI,EAAG8H,UAAU,GAAG,KAAH,GAAWvG,IAD7B;AAEC,gBAAU,EAAGuG,UAFd;AAGC,UAAI,EAAC,kBAHN;AAIC,aAAO,EAAGjG,kEAAO,CAAEJ,OAAF,EAAWzB,SAAS,CAAC4B,OAArB;AAJlB,OAMGiG,QANH,CADC;AAAA,GADH,CADiC;AAAA,CAAlC;;AAeehG,iIAAO,CACrBkG,4EAAiB,CAAE,UAAEC,OAAF,EAAWpD,QAAX,EAAyB;AAC3C,SAAO;AACNrD,QAAI,EAAEqD,QAAQ,CAACrD,IAAT,IAAiByG,OAAO,CAACzG,IADzB;AAEN0G,eAAW,YAAMD,OAAO,CAAC5H,IAAd,cAAwBwE,QAAQ,CAACsD,MAAjC;AAFL,GAAP;AAIA,CALgB,CADI,EAOrB3H,kEAAU,CAAE,UAAEC,MAAF,SAA+B;AAAA,MAAnByH,WAAmB,SAAnBA,WAAmB;;AAAA,gBAGtCzH,MAAM,CAAE,gBAAF,CAHgC;AAAA,MAEzC2H,2BAFyC,WAEzCA,2BAFyC;;AAK1C,SAAO;AACNL,cAAU,EAAEK,2BAA2B,OAAOF;AADxC,GAAP;AAGA,CARS,CAPW,EAgBrBvD,oEAAY,CAAE,UAAEC,QAAF,SAA6C;AAAA,MAA/BmD,UAA+B,SAA/BA,UAA+B;AAAA,MAAnBG,WAAmB,SAAnBA,WAAmB;;AAAA,kBAItDtD,QAAQ,CAAE,gBAAF,CAJ8C;AAAA,MAEzDiB,mBAFyD,aAEzDA,mBAFyD;AAAA,MAGzDK,kBAHyD,aAGzDA,kBAHyD;;AAK1D,MAAMxE,OAAO,GAAGqG,UAAU,GACzBlC,mBADyB,GAEzB;AAAA,WAAMK,kBAAkB,CAAEgC,WAAF,CAAxB;AAAA,GAFD;AAIA,SAAO;AAAExG,WAAO,EAAPA;AAAF,GAAP;AACA,CAVW,CAhBS,CAAP,CA2BZmG,yBA3BY,CAAf;;;;;;;;;;;;;;;;;;;;;;;;AC5BA;;;AAGA;AAEA;;;;AAGA;AACA;;sBAE6CjI,4EAAc,CAAE,sBAAF,C;IAA7CyI,oB,mBAANvI,I;IAA4BC,I,mBAAAA,I;;AAEpCsI,oBAAoB,CAACtI,IAArB,GAA4B;AAAA,MAAIE,SAAJ,QAAIA,SAAJ;AAAA,SAC3B,yEAAC,IAAD;AAAM,aAAS,EAAGA;AAAlB,KACG,UAAEK,KAAF;AAAA,WAAa,CAAEC,sDAAO,CAAED,KAAF,CAAT,IACd,yEAAC,+DAAD;AAAW,WAAK,EAAG4E,0DAAE,CAAE,SAAF;AAArB,OACG5E,KADH,CADC;AAAA,GADH,CAD2B;AAAA,CAA5B;;AAUe+H,mFAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AACA;AAEO,SAASC,yBAAT,OAYH;AAAA,MAXHC,YAWG,QAXHA,YAWG;AAAA,MAVHC,aAUG,QAVHA,aAUG;AAAA,MATHC,gBASG,QATHA,gBASG;AAAA,MARHC,gBAQG,QARHA,gBAQG;AAAA,MAPHC,wBAOG,QAPHA,wBAOG;AAAA,MANHC,SAMG,QANHA,SAMG;AAAA,MALHC,WAKG,QALHA,WAKG;AAAA,MAJHC,uBAIG,QAJHA,uBAIG;AAAA,MAHH9C,sBAGG,QAHHA,sBAGG;AAAA,MAFH+C,WAEG,QAFHA,WAEG;AAAA,MADHC,oBACG,QADHA,oBACG;AACH,MAAMC,MAAM,GACX,yEAAC,mEAAD;AACC,gBAAY,EAAGV,YADhB;AAEC,iBAAa,EAAGC;AAFjB,IADD;AAMA,MAAMU,MAAM,GACX,yEAAC,wEAAD;AACC,UAAM,EAAGlD,sBADV;AAEC,YAAQ,EAAGgD,oBAFZ;AAGC,iBAAa,EAAGR;AAHjB,IADD;AAQA;;;;;;;;;;;;;;;AAcA,MACCK,WAAW,IACTE,WAAW,IAAIL,gBADjB,IAEEE,SAAS,IAAI,CAAEH,gBAAf,IAAmC,CAAEE,wBAHxC,EAIE;AACD,WAAOM,MAAP;AACA;AAED;;;;;;;;AAMA,MAAKN,wBAAL,EAAgC;AAC/B,WAAOO,MAAP;AACA;;AAED,SAAOJ,uBAAuB,GAAGI,MAAH,GAAYD,MAA1C;AACA;AAEcnH,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3BgI,oBAAgB,EAAExD,kDAAG,CACpBxE,MAAM,CAAE,aAAF,CAAN,CAAwBkD,cAAxB,EADoB,EAEpB,CAAE,QAAF,EAAY,mBAAZ,CAFoB,EAGpB,KAHoB,CADM;AAM3B+E,oBAAgB,EAAEjI,MAAM,CAAE,aAAF,CAAN,CAAwB0I,0BAAxB,EANS;AAO3BP,aAAS,EAAEnI,MAAM,CAAE,aAAF,CAAN,CAAwB2I,oBAAxB,EAPgB;AAQ3BP,eAAW,EAAEpI,MAAM,CAAE,aAAF,CAAN,CAAwB4I,sBAAxB,EARc;AAS3BP,2BAAuB,EAAErI,MAAM,CAAE,aAAF,CAAN,CAAwBqI,uBAAxB,EATE;AAU3B9C,0BAAsB,EAAEvF,MAAM,CAAE,gBAAF,CAAN,CAA2BuF,sBAA3B,EAVG;AAW3B+C,eAAW,EAAEtI,MAAM,CAAE,aAAF,CAAN,CAAwB6I,sBAAxB;AAXc,GAAhB;AAAA,CAAF,CADW,EAcrB3E,oEAAY,CAAE,UAAEC,QAAF,EAAgB;AAAA,kBACIA,QAAQ,CAAE,gBAAF,CADZ;AAAA,MACrBoE,oBADqB,aACrBA,oBADqB;;AAE7B,SAAO;AACNA,wBAAoB,EAApBA;AADM,GAAP;AAGA,CALW,CAdS,EAoBrBrD,6EAAiB,CAAE;AAAEgD,0BAAwB,EAAE;AAA5B,CAAF,CApBI,CAAP,CAqBZL,yBArBY,CAAf;;;;;;;;;;;;;;;;;;;;;;;;AC3EA;;;AAGA;AAEA;;;;AAGA;AACA;;sBAE2C1I,4EAAc,CAAE,oBAAF,C;IAA3C2J,kB,mBAANzJ,I;IAA0BC,I,mBAAAA,I;;AAElCwJ,kBAAkB,CAACxJ,IAAnB,GAA0B;AAAA,MAAIE,SAAJ,QAAIA,SAAJ;AAAA,SACzB,yEAAC,IAAD;AAAM,aAAS,EAAGA;AAAlB,KACG,UAAEK,KAAF;AAAA,WAAa,CAAEC,sDAAO,CAAED,KAAF,CAAT,IACd,yEAAC,+DAAD;AAAW,WAAK,EAAG4E,0DAAE,CAAE,OAAF;AAArB,OACG5E,KADH,CADC;AAAA,GADH,CADyB;AAAA,CAA1B;;AAUeiJ,iFAAf;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA;;;AAGA;AACA;AACA;AAEA;;;;AAGA;;AAEA,SAASC,WAAT,OAAoC;AAAA,MAAZ3H,OAAY,QAAZA,OAAY;AACnC,SACC,yEAAC,+DAAD;AACC,SAAK,EAAG4H,0DAAE,CAAE,MAAF,EAAU,MAAV;AADX,KAGC,yEAAC,uDAAD;AACC,WAAO,EAAC,cADT;AAEC,SAAK,EAAGvE,0DAAE,CAAE,iBAAF,CAFX;AAGC,QAAI,EAAGA,0DAAE,CAAE,uDAAF,CAHV;AAIC,YAAQ,EAAGrD;AAJZ,IAHD,EAQC,yEAAC,uDAAD;AACC,WAAO,EAAC,WADT;AAEC,SAAK,EAAGqD,0DAAE,CAAE,gBAAF,CAFX;AAGC,QAAI,EAAGA,0DAAE,CAAE,8BAAF,CAHV;AAIC,YAAQ,EAAGrD;AAJZ,IARD,EAaC,yEAAC,uDAAD;AACC,WAAO,EAAC,gBADT;AAEC,SAAK,EAAGqD,0DAAE,CAAE,iBAAF,CAFX;AAGC,QAAI,EAAGA,0DAAE,CAAE,0BAAF,CAHV;AAIC,YAAQ,EAAGrD;AAJZ,IAbD,CADD;AAqBA;;AAEc6H,4IAAiB,CAAE,QAAF,CAAjB,CAA+BF,WAA/B,CAAf;;;;;;;;;;;;;ACpCA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;IAICG,O,GAaGC,uE,CAbHD,O;IAEAE,Y,GAWGD,uE,CAXHC,Y;IAEAC,U,GASGF,uE,CATHE,U;IAEAC,S,GAOGH,uE,CAPHG,S;IAEAC,M,GAKGJ,uE,CALHI,M;IACAC,I,GAIGL,uE,CAJHK,I;IACAC,G,GAGGN,uE,CAHHM,G;IACAC,S,GAEGP,uE,CAFHO,S;IACAC,Q,GACGR,uE,CADHQ,Q;AAGD,IAAMC,eAAe,GAAG;AACvBC,OAAK,EAAEpF,0DAAE,CAAE,kBAAF,CADc;AAEvBkB,WAAS,EAAE,CACV;AACCmE,kBAAc,EAAEP,MAAM,CAAE,GAAF,CADvB;AAECQ,eAAW,EAAEtF,0DAAE,CAAE,oBAAF;AAFhB,GADU,EAKV;AACCqF,kBAAc,EAAEZ,OAAO,CAAE,GAAF,CADxB;AAECa,eAAW,EAAEtF,0DAAE,CAAE,oBAAF;AAFhB,GALU,EASV;AACCqF,kBAAc,EAAEZ,OAAO,CAAE,GAAF,CADxB;AAECa,eAAW,EAAEtF,0DAAE,CAAE,yBAAF;AAFhB,GATU,EAaV;AACCqF,kBAAc,EAAEV,YAAY,CAAE,GAAF,CAD7B;AAECW,eAAW,EAAEtF,0DAAE,CAAE,sBAAF;AAFhB,GAbU,EAiBV;AACCqF,kBAAc,EAAEV,YAAY,CAAE,GAAF,CAD7B;AAECW,eAAW,EAAEtF,0DAAE,CAAE,oCAAF,CAFhB;AAGCuF,aAAS,EAAEC,qEAAiB,CAACb,YAAlB,CAAgC,GAAhC;AAHZ,GAjBU,EAsBV;AACCU,kBAAc,EAAEP,MAAM,CAAE,GAAF,CADvB;AAECQ,eAAW,EAAEtF,0DAAE,CAAE,iCAAF;AAFhB,GAtBU,EA0BV;AACCqF,kBAAc,EAAEN,IAAI,CAAE,GAAF,CADrB;AAECO,eAAW,EAAEtF,0DAAE,CAAE,0CAAF,CAFhB;AAGCuF,aAAS,EAAEC,qEAAiB,CAACT,IAAlB,CAAwB,GAAxB;AAHZ,GA1BU,EA+BV;AACCM,kBAAc,EAAEJ,SAAS,CAAE,GAAF,CAD1B;AAECK,eAAW,EAAEtF,0DAAE,CAAE,8CAAF,CAFhB;AAGCuF,aAAS,EAAEC,qEAAiB,CAACP,SAAlB,CAA6B,GAA7B;AAHZ,GA/BU,EAoCV;AACCI,kBAAc,EAAEH,QAAQ,CAAE,GAAF,CADzB;AAECI,eAAW,EAAEtF,0DAAE,CAAE,wDAAF;AAFhB,GApCU,EAwCV;AACCqF,kBAAc,EAAEH,QAAQ,CAAE,GAAF,CADzB;AAECI,eAAW,EAAEtF,0DAAE,CAAE,4DAAF;AAFhB,GAxCU,EA4CV;AACCqF,kBAAc,EAAEL,GAAG,CAAE,KAAF,CADpB;AAECM,eAAW,EAAEtF,0DAAE,CAAE,kCAAF;AAFhB,GA5CU,EAgDV;AACCqF,kBAAc,EAAER,SAAS,CAAE,GAAF,CAD1B;AAECS,eAAW,EAAEtF,0DAAE,CAAE,+CAAF;AAFhB,GAhDU;AAFY,CAAxB;AAyDA,IAAMyF,kBAAkB,GAAG;AAC1BL,OAAK,EAAEpF,0DAAE,CAAE,qBAAF,CADiB;AAE1BkB,WAAS,EAAE,CACV;AACCmE,kBAAc,EAAEZ,OAAO,CAAE,GAAF,CADxB;AAECa,eAAW,EAAEtF,0DAAE,CAAE,gEAAF;AAFhB,GADU,EAKV;AACCqF,kBAAc,EAAE,KADjB;AAECC,eAAW,EAAEtF,0DAAE,CAAE,kBAAF,CAFhB;;AAGC;AACAuF,aAAS,EAAEvF,0DAAE,CAAE,QAAF;AAJd,GALU;AAFe,CAA3B;AAgBA,IAAM0F,cAAc,GAAG;AACtBN,OAAK,EAAEpF,0DAAE,CAAE,iBAAF,CADa;AAEtBkB,WAAS,EAAE,CACV;AACCmE,kBAAc,EAAEV,YAAY,CAAE,GAAF,CAD7B;AAECW,eAAW,EAAEtF,0DAAE,CAAE,kCAAF;AAFhB,GADU,EAKV;AACCqF,kBAAc,EAAEP,MAAM,CAAE,GAAF,CADvB;AAECQ,eAAW,EAAEtF,0DAAE,CAAE,+BAAF;AAFhB,GALU,EASV;AACCqF,kBAAc,EAAET,UAAU,CAAE,GAAF,CAD3B;AAECU,eAAW,EAAEtF,0DAAE,CAAE,kDAAF;AAFhB,GATU,EAaV;AACCqF,kBAAc,EAAET,UAAU,CAAE,GAAF,CAD3B;AAECU,eAAW,EAAEtF,0DAAE,CAAE,iDAAF;AAFhB,GAbU,EAiBV;AACCqF,kBAAc,EAAE,GADjB;AAECC,eAAW,EAAEtF,0DAAE,CAAE,qDAAF,CAFhB;;AAGC;AACAuF,aAAS,EAAEvF,0DAAE,CAAE,eAAF;AAJd,GAjBU;AAFW,CAAvB;AA4BA,IAAM2F,uBAAuB,GAAG;AAC/BP,OAAK,EAAEpF,0DAAE,CAAE,iBAAF,CADsB;AAE/BkB,WAAS,EAAE,CACV;AACCmE,kBAAc,EAAEZ,OAAO,CAAE,GAAF,CADxB;AAECa,eAAW,EAAEtF,0DAAE,CAAE,8BAAF;AAFhB,GADU,EAKV;AACCqF,kBAAc,EAAEZ,OAAO,CAAE,GAAF,CADxB;AAECa,eAAW,EAAEtF,0DAAE,CAAE,gCAAF;AAFhB,GALU,EASV;AACCqF,kBAAc,EAAEZ,OAAO,CAAE,GAAF,CADxB;AAECa,eAAW,EAAEtF,0DAAE,CAAE,8BAAF;AAFhB,GATU,EAaV;AACCqF,kBAAc,EAAEZ,OAAO,CAAE,GAAF,CADxB;AAECa,eAAW,EAAEtF,0DAAE,CAAE,wCAAF;AAFhB,GAbU,EAiBV;AACCqF,kBAAc,EAAEV,YAAY,CAAE,GAAF,CAD7B;AAECW,eAAW,EAAEtF,0DAAE,CAAE,gBAAF;AAFhB,GAjBU,EAqBV;AACCqF,kBAAc,EAAEP,MAAM,CAAE,GAAF,CADvB;AAECQ,eAAW,EAAEtF,0DAAE,CAAE,2CAAF;AAFhB,GArBU,EAyBV;AACCqF,kBAAc,EAAEP,MAAM,CAAE,GAAF,CADvB;AAECQ,eAAW,EAAEtF,0DAAE,CAAE,iDAAF;AAFhB,GAzBU;AAFoB,CAAhC;AAkCe,gEACdmF,eADc,EAEdM,kBAFc,EAGdC,cAHc,EAIdC,uBAJc,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9JA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA;AAEA,IAAMC,UAAU,GAAG,kCAAnB;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAER,cAAF;AAAA,SAAsBA,cAAc,CAACpK,GAAf,CAAoB,UAAE6K,SAAF,EAAaC,KAAb,EAAwB;AAC3F,QAAKD,SAAS,KAAK,GAAnB,EAAyB;AACxB,aACC,yEAAC,2DAAD;AAAU,WAAG,EAAGC;AAAhB,SACGD,SADH,CADD;AAKA;;AAED,WACC;AACC,SAAG,EAAGC,KADP;AAEC,eAAS,EAAC;AAFX,OAIGD,SAJH,CADD;AAQA,GAjB+C,CAAtB;AAAA,CAA1B;;AAmBA,IAAME,YAAY,GAAG,SAAfA,YAAe;AAAA,MAAI9E,SAAJ,QAAIA,SAAJ;AAAA,SACpB;AAAI,aAAS,EAAC;AAAd,KACGA,SAAS,CAACjG,GAAV,CAAe,iBAA8C8K,KAA9C;AAAA,QAAIV,cAAJ,SAAIA,cAAJ;AAAA,QAAoBC,WAApB,SAAoBA,WAApB;AAAA,QAAiCC,SAAjC,SAAiCA,SAAjC;AAAA,WAChB;AACC,eAAS,EAAC,4CADX;AAEC,SAAG,EAAGQ;AAFP,OAIC;AAAI,eAAS,EAAC;AAAd,OACC;AAAK,eAAS,EAAC,4DAAf;AAA4E,oBAAaR;AAAzF,OACGM,iBAAiB,CAAEI,wDAAS,CAAEZ,cAAF,CAAX,CADpB,CADD,CAJD,EASC;AAAI,eAAS,EAAC;AAAd,OACGC,WADH,CATD,CADgB;AAAA,GAAf,CADH,CADoB;AAAA,CAArB;;AAoBA,IAAMY,eAAe,GAAG,SAAlBA,eAAkB;AAAA,MAAId,KAAJ,SAAIA,KAAJ;AAAA,MAAWlE,SAAX,SAAWA,SAAX;AAAA,SACvB;AAAS,aAAS,EAAC;AAAnB,KACC;AAAI,aAAS,EAAC;AAAd,KACGkE,KADH,CADD,EAIC,yEAAC,YAAD;AAAc,aAAS,EAAGlE;AAA1B,IAJD,CADuB;AAAA,CAAxB;;AASO,SAASiF,yBAAT,QAAqE;AAAA,MAA/BC,aAA+B,SAA/BA,aAA+B;AAAA,MAAhBC,WAAgB,SAAhBA,WAAgB;AAC3E,MAAMjB,KAAK,GACV;AAAM,aAAS,EAAC;AAAhB,KACGpF,0DAAE,CAAE,oBAAF,CADL,CADD;AAMA,SACC,yEAAC,2DAAD,QACC,yEAAC,uEAAD;AACC,cAAU,MADX;AAEC,aAAS,gGACNsG,+DAAW,CAACxB,MAAZ,CAAoB,GAApB,CADM,EACuBuB,WADvB;AAFV,IADD,EAOGD,aAAa,IACd,yEAAC,2DAAD;AACC,aAAS,EAAC,kCADX;AAEC,SAAK,EAAGhB,KAFT;AAGC,cAAU,EAAGpF,0DAAE,CAAE,OAAF,CAHhB;AAIC,kBAAc,EAAGqG;AAJlB,KAMGE,+CAAc,CAACtL,GAAf,CAAoB,UAAEuL,MAAF,EAAUT,KAAV;AAAA,WACrB,yEAAC,eAAD;AAAiB,SAAG,EAAGA;AAAvB,OAAoCS,MAApC,EADqB;AAAA,GAApB,CANH,CARF,CADD;AAsBA;AAEc5J,iIAAO,CAAE,CACvBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3B6K,iBAAa,EAAE7K,MAAM,CAAE,gBAAF,CAAN,CAA2B6K,aAA3B,CAA0CR,UAA1C;AADY,GAAhB;AAAA,CAAF,CADa,EAIvBnG,oEAAY,CAAE,UAAEC,QAAF,SAAmC;AAAA,MAArB0G,aAAqB,SAArBA,aAAqB;;AAAA,kBAI5C1G,QAAQ,CAAE,gBAAF,CAJoC;AAAA,MAE/C+C,SAF+C,aAE/CA,SAF+C;AAAA,MAG/CgE,UAH+C,aAG/CA,UAH+C;;AAMhD,SAAO;AACNJ,eAAW,EAAE;AAAA,aAAMD,aAAa,GAAGK,UAAU,EAAb,GAAkBhE,SAAS,CAAEmD,UAAF,CAA9C;AAAA;AADP,GAAP;AAGA,CATW,CAJW,CAAF,CAAP,CAcVO,yBAdU,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrGA;;;AAGA;AACA;AACA;AACA;AAEA;;;;AAGA;;IAEMO,2B;;;;;AACL,yCAAc;AAAA;;AAAA;;AACb,0PAAUjJ,SAAV;AAEA,UAAKkJ,UAAL,GAAkB,MAAKA,UAAL,CAAgBC,IAAhB,2MAAlB;AACA,UAAKzF,aAAL,GAAqB,MAAKA,aAAL,CAAmByF,IAAnB,2MAArB;AAJa;AAKb;;;;iCAEY;AAAA,wBACiB,KAAK/I,KADtB;AAAA,UACJyC,IADI,eACJA,IADI;AAAA,UACEuG,UADF,eACEA,UADF;AAEZA,gBAAU,CAAEvG,IAAI,KAAK,QAAT,GAAoB,MAApB,GAA6B,QAA/B,CAAV;AACA;;;kCAEcwG,K,EAAQ;AACtB;AACA;AACAA,WAAK,CAACC,cAAN;AAHsB,yBAIqC,KAAKlJ,KAJ1C;AAAA,UAIdmJ,mBAJc,gBAIdA,mBAJc;AAAA,UAIOC,YAJP,gBAIOA,YAJP;AAAA,UAIqBC,WAJrB,gBAIqBA,WAJrB;;AAMtB,UAAKF,mBAAL,EAA2B;AAC1BC,oBAAY;AACZ,OAFD,MAEO;AACNC,mBAAW;AACX;AACD;;;6BAEQ;AAAA;;AACR,aACC,yEAAC,uEAAD;AACC,kBAAU,MADX;AAEC,iBAAS,8GACNhG,4DAAS,CAACc,gBAAV,CAA2BmF,GADrB,EAC4B,KAAKR,UADjC,mGAENzF,4DAAS,CAACC,aAAV,CAAwBgG,GAFlB,EAEyB,KAAKhG,aAF9B;AAFV,QADD;AASA;;;;EApCwC3C,4D;;AAuC3B5B,kIAAO,CAAE,CACvBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3B+E,QAAI,EAAE/E,MAAM,CAAE,gBAAF,CAAN,CAA2BiF,aAA3B,EADqB;AAE3BwG,uBAAmB,EAAEzL,MAAM,CAAE,gBAAF,CAAN,CAA2BsF,qBAA3B,EAFM;AAG3BQ,qBAAiB,EAAE,CAAC,CAAE9F,MAAM,CAAE,aAAF,CAAN,CAAwB+F,sBAAxB;AAHK,GAAhB;AAAA,CAAF,CADa,EAMvB7B,oEAAY,CAAE,UAAEC,QAAF;AAAA,MAAc2B,iBAAd,SAAcA,iBAAd;AAAA,SAAyC;AACtDwF,cADsD,sBAC1CvG,IAD0C,EACnC;AAClBZ,cAAQ,CAAE,gBAAF,CAAR,CAA6BwC,gBAA7B,CAA+C5B,IAA/C;AACA,KAHqD;AAItD4G,eAJsD,yBAIxC;AACb,UAAM1F,aAAa,GAAGH,iBAAiB,GAAG,iBAAH,GAAuB,oBAA9D;AACA3B,cAAQ,CAAE,gBAAF,CAAR,CAA6BsB,kBAA7B,CAAiDQ,aAAjD;AACA,KAPqD;AAQtDyF,gBAAY,EAAEvH,QAAQ,CAAE,gBAAF,CAAR,CAA6BiB;AARW,GAAzC;AAAA,CAAF,CANW,CAAF,CAAP,CAgBV+F,2BAhBU,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASU,MAAT,OAWI;AAAA,MAVH9G,IAUG,QAVHA,IAUG;AAAA,MATH+G,mBASG,QATHA,mBASG;AAAA,MARHC,mBAQG,QARHA,mBAQG;AAAA,MAPHC,oBAOG,QAPHA,oBAOG;AAAA,MANHnH,eAMG,QANHA,eAMG;AAAA,MALHoH,mBAKG,QALHA,mBAKG;AAAA,MAJH1D,oBAIG,QAJHA,oBAIG;AAAA,MAHHlD,kBAGG,QAHHA,kBAGG;AAAA,MAFHG,QAEG,QAFHA,QAEG;AAAA,MADH0G,gBACG,QADHA,gBACG;AACH,MAAMC,eAAe,GAAGL,mBAAmB,IAAIC,mBAAvB,IAA8CC,oBAAtE;AAEA,MAAMI,SAAS,GAAGC,iDAAU,CAAE,kBAAF,EAAsB;AACjD,yBAAqBF,eAD4B;AAEjD,yBAAqBtH;AAF4B,GAAtB,CAA5B;AAKA,MAAMyH,oBAAoB,GAAG;AAC5BnL,QAAI,EAAE,QADsB;;AAE5B;AACA,kBAAcsD,0DAAE,CAAE,gBAAF,CAHY;AAI5B8H,YAAQ,EAAE,CAAC;AAJiB,GAA7B;AAMA,SACC;AAAK,aAAS,EAAGH;AAAjB,KACC,yEAAC,yDAAD,OADD,EAEC,yEAAC,qDAAD,OAFD,EAGC,yEAAC,uEAAD,OAHD,EAIC,yEAAC,iEAAD,OAJD,EAKC,yEAAC,gDAAD,OALD,EAMC;AACC,aAAS,EAAC,2BADX;AAEC,QAAI,EAAC;AACL;AAHD;AAIC,kBAAa3H,0DAAE,CAAE,gBAAF,CAJhB;AAKC,YAAQ,EAAC;AALV,KAOC,yEAAC,+DAAD,OAPD,EAQC,yEAAC,yEAAD,OARD,EASC,yEAAC,4DAAD,OATD,EAUC,yEAAC,sEAAD,OAVD,EAWC,yEAAC,uDAAD,OAXD,EAYGM,IAAI,KAAK,MAAT,IAAmB,yEAAC,qDAAD,OAZtB,EAaGA,IAAI,KAAK,QAAT,IAAqB,yEAAC,uDAAD,OAbxB,EAcC;AAAK,aAAS,EAAC;AAAf,KACC,yEAAC,oDAAD;AAAW,YAAQ,EAAC;AAApB,IADD,CAdD,EAiBC;AAAK,aAAS,EAAC;AAAf,KACC,yEAAC,oDAAD;AAAW,YAAQ,EAAC;AAApB,IADD,CAjBD,CAND,EA2BGiH,oBAAoB,GACrB,yEAAC,kEAAD,yFACMM,oBADN;AAEC,WAAO,EAAGL,mBAFX;AAGC,gBAAY,EAAG5G,kBAHhB;AAIC,iBAAa,EAAGG,QAJjB;AAKC,uBAAmB,EAAGgH,0EAAqB,CAAClN,IAL7C;AAMC,wBAAoB,EAAGmN,2EAAsB,CAACnN;AAN/C,KADqB,GAUrB,yEAAC,2DAAD,QACC;AAAK,aAAS,EAAC;AAAf,KAAqDgN,oBAArD,GACC,yEAAC,4DAAD;AACC,aAAS,MADV;AAEC,QAAI,EAAC,QAFN;AAGC,aAAS,EAAC,wCAHX;AAIC,WAAO,EAAG/D,oBAJX;AAKC,qBAAgB;AALjB,KAOG9D,0DAAE,CAAE,oBAAF,CAPL,CADD,CADD,EAYC,yEAAC,kEAAD,OAZD,EAaC,yEAAC,iDAAD,CAAS,IAAT,OAbD,EAeEyH,gBAAgB,IAAIC,eAApB,IAAuC,yEAAC,gEAAD,OAfzC,CArCF,EAwDC,yEAAC,6DAAD,CAAS,IAAT,OAxDD,EAyDC,yEAAC,6DAAD,OAzDD,CADD;AA6DA;;AAEc9K,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3B+E,QAAI,EAAE/E,MAAM,CAAE,gBAAF,CAAN,CAA2BiF,aAA3B,EADqB;AAE3B6G,uBAAmB,EAAE9L,MAAM,CAAE,gBAAF,CAAN,CAA2BsF,qBAA3B,EAFM;AAG3ByG,uBAAmB,EAAE/L,MAAM,CAAE,gBAAF,CAAN,CAA2B0M,qBAA3B,EAHM;AAI3BV,wBAAoB,EAAEhM,MAAM,CAAE,gBAAF,CAAN,CAA2BuF,sBAA3B,EAJK;AAK3BV,mBAAe,EAAE7E,MAAM,CAAE,gBAAF,CAAN,CAA2B6D,eAA3B,CAA4C,cAA5C,CALU;AAM3BwB,sBAAkB,EAAErF,MAAM,CAAE,gBAAF,CAAN,CAA2B6F,YAA3B,EANO;AAO3BL,YAAQ,EAAExF,MAAM,CAAE,gBAAF,CAAN,CAA2BgG,iBAA3B;AAPiB,GAAhB;AAAA,CAAF,CADW,EAUrB9B,oEAAY,CAAE,UAAEC,QAAF,EAAgB;AAAA,kBACyBA,QAAQ,CAAE,gBAAF,CADjC;AAAA,MACrB8H,mBADqB,aACrBA,mBADqB;AAAA,MACA1D,oBADA,aACAA,oBADA;;AAE7B,SAAO;AACN0D,uBAAmB,EAAnBA,mBADM;AAEN1D,wBAAoB,EAApBA;AAFM,GAAP;AAIA,CANW,CAVS,EAiBrBoE,qEAjBqB,EAkBrBzH,6EAAiB,CAAE;AAAEgH,kBAAgB,EAAE;AAApB,CAAF,CAlBI,CAAP,CAmBZL,MAnBY,CAAf;;;;;;;;;;;;;;;;;;;;;;;;AChIA;;;AAGA;AAEA;;;;AAGA;AACA;AAEA;;;;AAGA;AACA;;AAEA,SAASe,SAAT,OAAyD;AAAA,MAAnCjK,QAAmC,QAAnCA,QAAmC;AAAA,MAAzBkK,SAAyB,QAAzBA,SAAyB;AAAA,MAAdC,SAAc,QAAdA,SAAc;AACxD,SACC,yEAAC,2DAAD,QACGpN,kDAAG,CAAEoN,SAAF,EAAa;AAAA,QAAI/J,EAAJ,SAAIA,EAAJ;AAAA,WACjB,yEAAC,4DAAD;AAAmB,SAAG,EAAGA,EAAzB;AAA8B,QAAE,EAAGA;AAAnC,MADiB;AAAA,GAAb,CADN,EAIG8J,SAAS,IAAI,yEAAC,wDAAD;AAAe,YAAQ,EAAGlK;AAA1B,IAJhB,CADD;AAQA;;AAEc5C,iIAAU,CAAE,UAAEC,MAAF,SAA4B;AAAA,MAAhB2C,QAAgB,SAAhBA,QAAgB;;AAAA,gBACQ3C,MAAM,CAAE,gBAAF,CADd;AAAA,MAC9C+M,wBAD8C,WAC9CA,wBAD8C;AAAA,MACpBC,uBADoB,WACpBA,uBADoB;;AAGtD,SAAO;AACNF,aAAS,EAAEE,uBAAuB,CAAErK,QAAF,CAD5B;AAENkK,aAAS,EAAEE,wBAAwB,CAAEpK,QAAF;AAF7B,GAAP;AAIA,CAPwB,CAAV,CAOViK,SAPU,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BA;;;AAGA;AACA;;IAEMK,iB;;;;;;;;;;;;;wCACe;AACnB,WAAKC,SAAL;AACA;;;uCAEmB7K,S,EAAY;AAC/B,UAAK,KAAKC,KAAL,CAAWuK,SAAX,KAAyBxK,SAAS,CAACwK,SAAxC,EAAoD;AACnD,aAAKK,SAAL;AACA;AACD;;;gCAEW;AAAA,wBACe,KAAK5K,KADpB;AAAA,UACHS,EADG,eACHA,EADG;AAAA,UACC8J,SADD,eACCA,SADD;AAEX,UAAMM,OAAO,GAAG3J,QAAQ,CAAC4J,cAAT,CAAyBrK,EAAzB,CAAhB;;AACA,UAAKoK,OAAL,EAAe;AACdA,eAAO,CAACE,KAAR,CAAc3G,OAAd,GAAwBmG,SAAS,GAAG,EAAH,GAAQ,MAAzC;AACA;AACD;;;6BAEQ;AACR,aAAO,IAAP;AACA;;;;EArB8B5J,4D;;AAwBjBlD,iIAAU,CAAE,UAAEC,MAAF;AAAA,MAAY+C,EAAZ,QAAYA,EAAZ;AAAA,SAAwB;AAClD8J,aAAS,EAAE7M,MAAM,CAAE,gBAAF,CAAN,CAA2BsN,oBAA3B,oBAA8DvK,EAA9D;AADuC,GAAxB;AAAA,CAAF,CAAV,CAERkK,iBAFQ,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;;IAEMM,a;;;;;AACL;;;AAGA,2BAAc;AAAA;;AAAA;;AACb,4OAAUrL,SAAV;AACA,UAAKsL,iBAAL,GAAyB,MAAKA,iBAAL,CAAuBnC,IAAvB,2MAAzB;AAFa;AAGb;AAED;;;;;;;wCAGoB;AACnB,WAAKoC,IAAL,GAAYjK,QAAQ,CAACkK,aAAT,CAAwB,uBAAuB,KAAKpL,KAAL,CAAWK,QAA1D,CAAZ;;AACA,UAAK,KAAK8K,IAAV,EAAiB;AAChB,aAAKE,SAAL,CAAeC,WAAf,CAA4B,KAAKH,IAAjC;AACA;AACD;AAED;;;;;;2CAGuB;AACtB,UAAK,KAAKA,IAAV,EAAiB;AAChBjK,gBAAQ,CAACkK,aAAT,CAAwB,YAAxB,EAAuCE,WAAvC,CAAoD,KAAKH,IAAzD;AACA;AACD;AAED;;;;;;;;sCAKmBI,I,EAAO;AACzB,WAAKF,SAAL,GAAiBE,IAAjB;AACA;AAED;;;;;;6BAGS;AAAA,wBACuB,KAAKvL,KAD5B;AAAA,UACAK,QADA,eACAA,QADA;AAAA,UACU6C,QADV,eACUA,QADV;AAGR,UAAMsI,OAAO,GAAGzB,iDAAU,CACzB,2BADyB,eAElB1J,QAFkB,GAGzB;AACC,sBAAc6C;AADf,OAHyB,CAA1B;AAQA,aACC;AAAK,iBAAS,EAAGsI;AAAjB,SACGtI,QAAQ,IAAI,yEAAC,6DAAD,OADf,EAEC;AAAK,iBAAS,EAAC,sCAAf;AAAsD,WAAG,EAAG,KAAKgI;AAAjE,QAFD,EAGC;AAAK,iBAAS,EAAC;AAAf,QAHD,CADD;AAOA;;;;EA1D0BvK,4D;;AA6DblD,iIAAU,CAAE,UAAEC,MAAF,EAAc;AACxC,SAAO;AACNwF,YAAQ,EAAExF,MAAM,CAAE,gBAAF,CAAN,CAA2BgG,iBAA3B;AADJ,GAAP;AAGA,CAJwB,CAAV,CAIVuH,aAJU,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzEA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA;AACA;AAKA;AAEA,IAAMlD,UAAU,GAAG,mBAAnB;AAEO,SAAS0D,YAAT,OAAuD;AAAA,MAA9BlD,aAA8B,QAA9BA,aAA8B;AAAA,MAAfK,UAAe,QAAfA,UAAe;;AAC7D,MAAK,CAAEL,aAAP,EAAuB;AACtB,WAAO,IAAP;AACA;;AAED,SACC,yEAAC,2DAAD;AACC,aAAS,EAAC,yBADX;AAEC,SAAK,EAAG;AAAM,eAAS,EAAC;AAAhB,OAAmDpG,0DAAE,CAAE,SAAF,CAArD,CAFT;AAGC,cAAU,EAAGA,0DAAE,CAAE,OAAF,CAHhB;AAIC,kBAAc,EAAGyG;AAJlB,KAMC,yEAAC,gDAAD;AAAS,SAAK,EAAGzG,0DAAE,CAAE,SAAF;AAAnB,KACC,yEAAC,mEAAD;AAA4B,SAAK,EAAGA,0DAAE,CAAE,2BAAF;AAAtC,IADD,EAEC,yEAAC,yDAAD;AAAkB,SAAK,EAAGA,0DAAE,CAAE,aAAF;AAA5B,IAFD,CAND,EAUC,yEAAC,gDAAD;AAAS,SAAK,EAAGA,0DAAE,CAAE,iBAAF;AAAnB,KACC,yEAAC,gEAAD;AACC,mBAAe,EAAG,yBAAEuJ,OAAF,EAAWC,QAAX;AAAA,aACjB,yEAAC,0DAAD;AACC,aAAK,EAAGzJ,kDAAG,CAAEyJ,QAAF,EAAY,CAAE,QAAF,EAAY,WAAZ,CAAZ,CADZ;AAEC,iBAAS,2BAAsBA,QAAQ,CAAC1J,IAA/B;AAFV,QADiB;AAAA;AADnB,IADD,EASC,yEAAC,0DAAD;AAAmB,SAAK,EAAGE,0DAAE,CAAE,gBAAF,CAA7B;AAAoD,aAAS,EAAC;AAA9D,IATD,EAUC,yEAAC,kEAAD,QACC,yEAAC,0DAAD;AAAmB,SAAK,EAAGA,0DAAE,CAAE,SAAF,CAA7B;AAA6C,aAAS,EAAC;AAAvD,IADD,CAVD,EAaC,yEAAC,0DAAD;AAAmB,SAAK,EAAGA,0DAAE,CAAE,YAAF,CAA7B;AAAgD,aAAS,EAAC;AAA1D,IAbD,EAcC,yEAAC,qEAAD,QACC,yEAAC,0DAAD;AAAmB,SAAK,EAAGA,0DAAE,CAAE,iBAAF,CAA7B;AAAqD,aAAS,EAAC;AAA/D,IADD,CAdD,CAVD,EA4BC,yEAAC,2DAAD;AAAkB,SAAK,EAAGA,0DAAE,CAAE,iBAAF;AAA5B,IA5BD,CADD;AAgCA;AAEcpD,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3B6K,iBAAa,EAAE7K,MAAM,CAAE,gBAAF,CAAN,CAA2B6K,aAA3B,CAA0CR,UAA1C;AADY,GAAhB;AAAA,CAAF,CADW,EAIrBnG,oEAAY,CAAE,UAAEC,QAAF,EAAgB;AAC7B,SAAO;AACN+G,cAAU,EAAE;AAAA,aAAM/G,QAAQ,CAAE,gBAAF,CAAR,CAA6B+G,UAA7B,EAAN;AAAA;AADN,GAAP;AAGA,CAJW,CAJS,CAAP,CASZ6C,YATY,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClEA;;;AAGA;AAEA;;;;AAGA;AACA;AAEA;;;;AAGA;AACA;;AAEA,SAASG,gBAAT,OAAoF;AAAA,MAAvDC,sBAAuD,QAAvDA,sBAAuD;AAAA,MAA/BrB,SAA+B,QAA/BA,SAA+B;AAAA,MAAjBsB,YAAiB;;AACnF,MAAK,CAAED,sBAAF,IAA4BrB,SAAS,CAACvM,MAAV,KAAqB,CAAtD,EAA0D;AACzD,WAAO,IAAP;AACA;;AAED,SACC,yEAAC,gDAAD,EAAc6N,YAAd,EACGD,sBAAsB,IACvB,yEAAC,iEAAD;AAA0B,SAAK,EAAG1J,0DAAE,CAAE,eAAF;AAApC,IAFF,EAIG/E,kDAAG,CACJoN,SADI,EAEJ;AAAA,QAAI/J,EAAJ,SAAIA,EAAJ;AAAA,QAAQ8G,KAAR,SAAQA,KAAR;AAAA,WACC;AACA9G,QAAE,KAAK,YAAP,IACC,yEAAC,0DAAD;AAAmB,WAAG,EAAGA,EAAzB;AAA8B,aAAK,EAAG8G,KAAtC;AAA8C,iBAAS,qBAAgB9G,EAAhB;AAAvD;AAHF;AAAA,GAFI,CAJN,CADD;AAeA;;AAEchD,iIAAU,CAAE,UAAEC,MAAF,EAAc;AAAA,gBACLA,MAAM,CAAE,aAAF,CADD;AAAA,MAChCqO,sBADgC,WAChCA,sBADgC;;AAAA,iBAEhBrO,MAAM,CAAE,MAAF,CAFU;AAAA,MAEhC2E,WAFgC,YAEhCA,WAFgC;;AAAA,iBAGZ3E,MAAM,CAAE,gBAAF,CAHM;AAAA,MAGhCsO,eAHgC,YAGhCA,eAHgC;;AAKxC,MAAMzM,QAAQ,GAAG8C,WAAW,CAAE0J,sBAAsB,CAAE,MAAF,CAAxB,CAA5B;AACA,SAAO;AACNF,0BAAsB,EAAEtM,QAAQ,CAAC0M,QAAT,CAAmB,eAAnB,CADlB;AAENzB,aAAS,EAAEwB,eAAe;AAFpB,GAAP;AAIA,CAVwB,CAAV,CAUVJ,gBAVU,CAAf;;;;;;;;;;;;;;;;;;;;ACvCA;;;AAGA;;AAEA,SAASM,UAAT,OAAsD;AAAA,MAA/BxN,KAA+B,QAA/BA,KAA+B;AAAA,MAAxByN,SAAwB,QAAxBA,SAAwB;AAAA,MAAbC,QAAa,QAAbA,QAAa;AACrD,SACC,yEAAC,qEAAD;AACC,aAAS,EAAC,iCADX;AAEC,SAAK,EAAG1N,KAFT;AAGC,WAAO,EAAGyN,SAHX;AAIC,YAAQ,EAAGC;AAJZ,IADD;AAQA;;AAEcF,yEAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;;;AAGA;AAEA;;;;AAGA;;IAEMG,c;;;;;AACL,gCAA6B;AAAA;;AAAA,QAAdF,SAAc,QAAdA,SAAc;;AAAA;;AAC5B,6OAAUvM,SAAV;AACA,UAAKC,KAAL,GAAa;AACZsM,eAAS,EAATA;AADY,KAAb;AAF4B;AAK5B;;;;2CAEsB;AACtB,UAAK,KAAKtM,KAAL,CAAWsM,SAAX,KAAyB,KAAKnM,KAAL,CAAWmM,SAAzC,EAAqD;AACpD,aAAKnM,KAAL,CAAWoM,QAAX,CAAqB,KAAKvM,KAAL,CAAWsM,SAAhC;AACA;AACD;;;6BAEQ;AAAA;;AACR,aACC,yEAAC,6CAAD;AACC,aAAK,EAAG,KAAKnM,KAAL,CAAWtB,KADpB;AAEC,iBAAS,EAAG,KAAKmB,KAAL,CAAWsM,SAFxB;AAGC,gBAAQ,EAAG,kBAAEA,SAAF;AAAA,iBAAiB,MAAI,CAACzL,QAAL,CAAe;AAAEyL,qBAAS,EAATA;AAAF,WAAf,CAAjB;AAAA;AAHZ,QADD;AAOA;;;;EAtB2BxL,4D;;AAyBd0L,6EAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCA;;;AAGA;AACA;AAEA;;;;AAGA;;IAEMC,wB;;;;;AACL,0CAA6B;AAAA;;AAAA,QAAdH,SAAc,QAAdA,SAAc;;AAAA;;AAC5B,uPAAUvM,SAAV;AAEA,UAAK2M,kBAAL,GAA0B,MAAKA,kBAAL,CAAwBxD,IAAxB,2MAA1B;AAEA,UAAKlJ,KAAL,GAAa;AAAEsM,eAAS,EAATA;AAAF,KAAb;AAL4B;AAM5B;;;;yCAEoB;AACpB;AACA;AACA;AACAjL,cAAQ,CAAC4J,cAAT,CAAyB,2BAAzB,EAAuD0B,MAAvD,GAJoB,CAMpB;;AACA,WAAK9L,QAAL,CAAe;AAAEyL,iBAAS,EAAE,CAAE,KAAKnM,KAAL,CAAWmM;AAA1B,OAAf;AACA;;;6BAEQ;AAAA,UACAzN,KADA,GACU,KAAKsB,KADf,CACAtB,KADA;AAAA,UAEAyN,SAFA,GAEc,KAAKtM,KAFnB,CAEAsM,SAFA;AAIR,aACC,yEAAC,6CAAD;AACC,aAAK,EAAGzN,KADT;AAEC,iBAAS,EAAGyN,SAFb;AAGC,gBAAQ,EAAG,KAAKI;AAHjB,QADD;AAOA;;;;EA9BqC5L,4D;;AAiCxBlD,iIAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC1CyO,aAAS,EAAEzO,MAAM,CAAE,aAAF,CAAN,CAAwB+O,iBAAxB,GAA4CC;AADb,GAAhB;AAAA,CAAF,CAAV,CAERJ,wBAFQ,CAAf;;;;;;;;;;;;;AC5CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AAEA;;;;AAGA;AAEevN,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,MAAYiP,SAAZ,QAAYA,SAAZ;AAAA,SAA+B;AAC1CR,aAAS,EAAEzO,MAAM,CAAE,gBAAF,CAAN,CAA2BsN,oBAA3B,CAAiD2B,SAAjD;AAD+B,GAA/B;AAAA,CAAF,CADW,EAIrB/K,oEAAY,CAAE,UAAEC,QAAF;AAAA,MAAc8K,SAAd,SAAcA,SAAd;AAAA,SAAiC;AAC9CP,YAAQ,EAAE;AAAA,aAAMvK,QAAQ,CAAE,gBAAF,CAAR,CAA6B+K,wBAA7B,CAAuDD,SAAvD,CAAN;AAAA;AADoC,GAAjC;AAAA,CAAF,CAJS,CAAP,CAOZT,6CAPY,CAAf;;;;;;;;;;;;;ACXA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;AAEA;;;;AAGA;AAEenN,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3ByO,aAAS,EAAEzO,MAAM,CAAE,aAAF,CAAN,CAAwBqI,uBAAxB;AADgB,GAAhB;AAAA,CAAF,CADW,EAIrBnE,oEAAY,CAAE,UAAEC,QAAF,EAAgB;AAAA,kBAC2BA,QAAQ,CAAE,aAAF,CADnC;AAAA,MACrBgL,oBADqB,aACrBA,oBADqB;AAAA,MACCC,qBADD,aACCA,qBADD;;AAE7B,SAAO;AACNV,YAAQ,EAAE,kBAAEW,SAAF;AAAA,aAAmBA,SAAS,GAAGF,oBAAoB,EAAvB,GAA4BC,qBAAqB,EAA7E;AAAA;AADJ,GAAP;AAGA,CALW,CAJS,EAUrB;AACA;AACAnG,6EAAiB,CAAE,QAAF,CAZI,CAAP,CAaZuF,6CAbY,CAAf;;;;;;;;;;;;;ACZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AAEA;;;;AAGA;AAEenN,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3ByO,aAAS,EAAEzO,MAAM,CAAE,UAAF,CAAN,CAAqBsP,cAArB;AADgB,GAAhB;AAAA,CAAF,CADW,EAIrBpL,oEAAY,CAAE,UAAEC,QAAF,EAAgB;AAAA,kBACOA,QAAQ,CAAE,UAAF,CADf;AAAA,MACrBoL,UADqB,aACrBA,UADqB;AAAA,MACTC,WADS,aACTA,WADS;;AAE7B,SAAO;AACNd,YAAQ,EAAE,kBAAEW,SAAF;AAAA,aAAmBA,SAAS,GAAGE,UAAU,EAAb,GAAkBC,WAAW,EAAzD;AAAA;AADJ,GAAP;AAGA,CALW,CAJS,CAAP,EAWd;AACA;AACA;AACAb,iDAdc,CAAf;;;;;;;;;;;;;ACXA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACHA,IAAMc,OAAO,GAAG,SAAVA,OAAU;AAAA,MAAI5F,KAAJ,QAAIA,KAAJ;AAAA,MAAWxC,QAAX,QAAWA,QAAX;AAAA,SACf;AAAS,aAAS,EAAC;AAAnB,KACC;AAAI,aAAS,EAAC;AAAd,KAAyDwC,KAAzD,CADD,EAEGxC,QAFH,CADe;AAAA,CAAhB;;AAOeoI,sEAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA;;;AAGA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA,IAAMC,UAAU,GAAG,kBAAnB;;AAEA,SAASC,eAAT,OAAmE;AAAA,MAAvCN,SAAuC,QAAvCA,SAAuC;AAAA,MAA5BO,QAA4B,QAA5BA,QAA4B;AAAA,MAAlBC,aAAkB,QAAlBA,aAAkB;;AAClE,MAAK,CAAER,SAAP,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,SACC,yEAAC,sEAAD;AAAsB,eAAW,EAAG,CAAE,UAAF,EAAc,YAAd;AAApC,KACC,yEAAC,+DAAD;AAAW,SAAK,EAAG5K,0DAAE,CAAE,YAAF,CAArB;AAAwC,UAAM,EAAGmL,QAAjD;AAA4D,YAAQ,EAAGC;AAAvE,KACC,yEAAC,sEAAD;AAAsB,eAAW,EAAC;AAAlC,KACC,yEAAC,8DAAD,QACC,yEAAC,8DAAD,OADD,CADD,CADD,EAOC,yEAAC,sEAAD;AAAsB,eAAW,EAAC;AAAlC,KACC,yEAAC,8DAAD,QACC,yEAAC,+DAAD,OADD,CADD,CAPD,CADD,CADD;AAiBA;;AAEcxO,iIAAO,CAAE,CACvBtB,kEAAU,CAAE,UAAEC,MAAF,EAAc;AACzB,SAAO;AACNqP,aAAS,EAAErP,MAAM,CAAE,gBAAF,CAAN,CAA2BsN,oBAA3B,CAAiDoC,UAAjD,CADL;AAENE,YAAQ,EAAE5P,MAAM,CAAE,gBAAF,CAAN,CAA2B8P,mBAA3B,CAAgDJ,UAAhD;AAFJ,GAAP;AAIA,CALS,CADa,EAOvBxL,oEAAY,CAAE,UAAEC,QAAF;AAAA,SAAkB;AAC/B0L,iBAD+B,2BACf;AACf,aAAO1L,QAAQ,CAAE,gBAAF,CAAR,CAA6B4L,uBAA7B,CAAsDL,UAAtD,CAAP;AACA;AAH8B,GAAlB;AAAA,CAAF,CAPW,CAAF,CAAP,CAYVC,eAZU,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA,IAAMD,UAAU,GAAG,gBAAnB;;AAEA,SAASM,aAAT,OAA2E;AAAA,MAAjDX,SAAiD,QAAjDA,SAAiD;AAAA,MAAtCO,QAAsC,QAAtCA,QAAsC;AAAA,MAA5B/N,QAA4B,QAA5BA,QAA4B;AAAA,MAAlBgO,aAAkB,QAAlBA,aAAkB;;AAC1E,MAAK,CAAER,SAAP,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,SACC,yEAAC,wEAAD,QACC,yEAAC,+DAAD;AACC,SAAK,EAAG7K,kDAAG,CACV3C,QADU,EAEV,CAAE,QAAF,EAAY,gBAAZ,CAFU,EAGV4C,0DAAE,CAAE,gBAAF,CAHQ,CADZ;AAMC,UAAM,EAAGmL,QANV;AAOC,YAAQ,EAAGC;AAPZ,KASC,yEAAC,mEAAD,OATD,CADD,CADD;AAeA;;AAED,IAAMI,eAAe,GAAGlQ,kEAAU,CAAE,UAAEC,MAAF,EAAc;AAAA,gBACdA,MAAM,CAAE,aAAF,CADQ;AAAA,MACzCqO,sBADyC,WACzCA,sBADyC;;AAAA,iBAEzBrO,MAAM,CAAE,MAAF,CAFmB;AAAA,MAEzC2E,WAFyC,YAEzCA,WAFyC;;AAAA,iBAGK3E,MAAM,CAAE,gBAAF,CAHX;AAAA,MAGzCsN,oBAHyC,YAGzCA,oBAHyC;AAAA,MAGnBwC,mBAHmB,YAGnBA,mBAHmB;;AAKjD,SAAO;AACNjO,YAAQ,EAAE8C,WAAW,CAAE0J,sBAAsB,CAAE,MAAF,CAAxB,CADf;AAENgB,aAAS,EAAE/B,oBAAoB,CAAEoC,UAAF,CAFzB;AAGNE,YAAQ,EAAEE,mBAAmB,CAAEJ,UAAF;AAHvB,GAAP;AAKA,CAViC,CAAlC;AAYA,IAAMQ,iBAAiB,GAAGhM,oEAAY,CAAE,UAAEC,QAAF,EAAgB;AAAA,kBACnBA,QAAQ,CAAE,gBAAF,CADW;AAAA,MAC/C4L,uBAD+C,aAC/CA,uBAD+C;;AAGvD,SAAO;AACNF,iBAAa,EAAEM,sDAAO,CAAEJ,uBAAF,EAA2BL,UAA3B;AADhB,GAAP;AAGA,CANqC,CAAtC;AAQerO,iIAAO,CACrB4O,eADqB,EAErBC,iBAFqB,CAAP,CAGZF,aAHY,CAAf;;;;;;;;;;;;;;;;;;;;;;;;AC7DA;;;AAGA;AACA;AACA;;sBAEuB7Q,4EAAc,CAAE,SAAF,C;IAA7BE,I,mBAAAA,I;IAAMC,I,mBAAAA,I;AAEd;;;;;;;AAKA,IAAM8Q,OAAO,GAAG,SAAVA,OAAU,OAA2B;AAAA,MAAvB/I,QAAuB,QAAvBA,QAAuB;AAAA,MAAbrG,KAAa,QAAbA,KAAa;AAC1C,SACC,yEAAC,IAAD,QACC;AACC,aAAS,EAAC,mBADX;AAEC,QAAI,EAAC,QAFN;AAGC,kBAAaA,KAHd;AAIC,YAAQ,EAAC;AAJV,KAMGqG,QANH,CADD,CADD;AAYA,CAbD;;AAeA,IAAMgJ,cAAc,GAAGhP,kEAAO,CAC7BtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,MAAYJ,IAAZ,SAAYA,IAAZ;AAAA,SAA0B;AACrC2D,YAAQ,EAAEvD,MAAM,CAAE,gBAAF,CAAN,CAA2B2H,2BAA3B,OAA6D/H;AADlC,GAA1B;AAAA,CAAF,CADmB,EAI7B0Q,sEAAW,CAAE;AAAA,MAAI/M,QAAJ,SAAIA,QAAJ;AAAA,SAAoBA,QAApB;AAAA,CAAF,CAJkB,EAK7BgN,qEAL6B,CAAP,CAMpBH,OANoB,CAAvB;AAQAC,cAAc,CAAC/Q,IAAf,GAAsBA,IAAtB;AAEe+Q,6EAAf;;;;;;;;;;;;;;;;;;;;;;ACvCA;;;AAGA;AACA;;AAEA,SAASG,YAAT,GAAwB;AACvB,SACC,yEAAC,uEAAD,QACC,yEAAC,+DAAD;AAAW,aAAS,EAAC;AAArB,KACC,yEAAC,kEAAD,OADD,CADD,CADD;AAOA;;AAEcA,2EAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA,IAAMd,UAAU,GAAG,iBAAnB;AAEO,SAASe,cAAT,OAA4E;AAAA,MAAjDpB,SAAiD,QAAjDA,SAAiD;AAAA,MAAtCO,QAAsC,QAAtCA,QAAsC;AAAA,MAA5BC,aAA4B,QAA5BA,aAA4B;AAAA,MAAbhO,QAAa,QAAbA,QAAa;;AAClF,MAAK,CAAEwN,SAAF,IAAe,CAAExN,QAAtB,EAAiC;AAChC,WAAO,IAAP;AACA;;AACD,SACC,yEAAC,qEAAD,QACC,yEAAC,+DAAD;AACC,SAAK,EAAG2C,kDAAG,CAAE3C,QAAF,EAAY,CAAE,QAAF,EAAY,YAAZ,CAAZ,EAAwC4C,0DAAE,CAAE,iBAAF,CAA1C,CADZ;AAEC,UAAM,EAAGmL,QAFV;AAGC,YAAQ,EAAGC;AAHZ,KAKC,yEAAC,8DAAD,OALD,EAMC,yEAAC,sEAAD,OAND,EAOC,yEAAC,8DAAD,QACC,yEAAC,qEAAD,OADD,CAPD,CADD,CADD;AAeA;AAED,IAAMI,eAAe,GAAGlQ,kEAAU,CAAE,UAAEC,MAAF,EAAc;AAAA,gBACdA,MAAM,CAAE,aAAF,CADQ;AAAA,MACzCqO,sBADyC,WACzCA,sBADyC;;AAAA,iBAEKrO,MAAM,CAAE,gBAAF,CAFX;AAAA,MAEzCsN,oBAFyC,YAEzCA,oBAFyC;AAAA,MAEnBwC,mBAFmB,YAEnBA,mBAFmB;;AAAA,iBAGzB9P,MAAM,CAAE,MAAF,CAHmB;AAAA,MAGzC2E,WAHyC,YAGzCA,WAHyC;;AAIjD,SAAO;AACN0K,aAAS,EAAE/B,oBAAoB,CAAEoC,UAAF,CADzB;AAENE,YAAQ,EAAEE,mBAAmB,CAAEJ,UAAF,CAFvB;AAGN7N,YAAQ,EAAE8C,WAAW,CAAE0J,sBAAsB,CAAE,MAAF,CAAxB;AAHf,GAAP;AAKA,CATiC,CAAlC;AAWA,IAAM6B,iBAAiB,GAAGhM,oEAAY,CAAE,UAAEC,QAAF,EAAgB;AAAA,kBACnBA,QAAQ,CAAE,gBAAF,CADW;AAAA,MAC/C4L,uBAD+C,aAC/CA,uBAD+C;;AAGvD,SAAO;AACNF,iBAAa,EAAEM,sDAAO,CAAEJ,uBAAF,EAA2BL,UAA3B;AADhB,GAAP;AAGA,CANqC,CAAtC;AAQerO,iIAAO,CACrB4O,eADqB,EAErBC,iBAFqB,CAAP,CAGZO,cAHY,CAAf;;;;;;;;;;;;;;;;;;;;AC3DA;;;AAGA;;sBAEuBtR,4EAAc,CAAE,wBAAF,C;IAA7BE,I,mBAAAA,I;IAAMC,I,mBAAAA,I;;AAEd,IAAMmN,sBAAsB,GAAG,SAAzBA,sBAAyB;AAAA,MAAIpF,QAAJ,QAAIA,QAAJ;AAAA,MAAc+E,SAAd,QAAcA,SAAd;AAAA,MAAyBvC,KAAzB,QAAyBA,KAAzB;AAAA,8BAAgC6G,WAAhC;AAAA,MAAgCA,WAAhC,iCAA8C,KAA9C;AAAA,SAC9B,yEAAC,IAAD,QACC,yEAAC,+DAAD;AACC,aAAS,EAAGtE,SADb;AAEC,eAAW,EAAGsE,WAAW,IAAI,CAAE7G,KAFhC;AAGC,SAAK,EAAGA;AAHT,KAKGxC,QALH,CADD,CAD8B;AAAA,CAA/B;;AAYAoF,sBAAsB,CAACnN,IAAvB,GAA8BA,IAA9B;AAEemN,qFAAf;;;;;;;;;;;;;;;;;;;;;;ACrBA;;;;AAIA;;;AAGA;;sBAE8BtN,4EAAc,CAAE,sBAAF,C;IAA7BE,I,mBAAAA,I;IAAMC,I,mBAAAA,I;;;;AAErB,IAAMqR,oBAAoB,GAAG,SAAvBA,oBAAuB;AAAA,MAAItJ,QAAJ,QAAIA,QAAJ;AAAA,MAAc+E,SAAd,QAAcA,SAAd;AAAA,SAC5B,yEAAC,IAAD,QACC,yEAAC,8DAAD;AAAU,aAAS,EAAGA;AAAtB,KACG/E,QADH,CADD,CAD4B;AAAA,CAA7B;;AAQAsJ,oBAAoB,CAACrR,IAArB,GAA4BA,IAA5B;AAEeqR,mFAAf;;;;;;;;;;;;;;;;;;;;ACrBA;;;AAGA;;sBAEuBxR,4EAAc,CAAE,uBAAF,C;IAA7BE,I,mBAAAA,I;IAAMC,I,mBAAAA,I;;AAEd,IAAMkN,qBAAqB,GAAG,SAAxBA,qBAAwB;AAAA,MAAInF,QAAJ,QAAIA,QAAJ;AAAA,MAAc+E,SAAd,QAAcA,SAAd;AAAA,MAAyBvC,KAAzB,QAAyBA,KAAzB;AAAA,8BAAgC6G,WAAhC;AAAA,MAAgCA,WAAhC,iCAA8C,KAA9C;AAAA,SAC7B,yEAAC,IAAD,QACC,yEAAC,+DAAD;AACC,aAAS,EAAGtE,SADb;AAEC,eAAW,EAAGsE,WAAW,IAAI,CAAE7G,KAFhC;AAGC,SAAK,EAAGA;AAHT,KAKGxC,QALH,CADD,CAD6B;AAAA,CAA9B;;AAYAmF,qBAAqB,CAAClN,IAAtB,GAA6BA,IAA7B;AAEekN,oFAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA;AACA;AACA;AAEA;;;;;;;;AAOA,SAASoE,aAAT,CAAwBtO,KAAxB,EAAgC;AAAA,MAE9B+E,QAF8B,GAW3B/E,KAX2B,CAE9B+E,QAF8B;AAAA,MAG9BtG,IAH8B,GAW3BuB,KAX2B,CAG9BvB,IAH8B;AAAA,MAI9BwC,QAJ8B,GAW3BjB,KAX2B,CAI9BiB,QAJ8B;AAAA,0BAW3BjB,KAX2B,CAK9BuO,UAL8B;AAAA,MAK9BA,UAL8B,kCAKjB,IALiB;AAAA,MAM9BC,QAN8B,GAW3BxO,KAX2B,CAM9BwO,QAN8B;AAAA,MAO9BrJ,WAP8B,GAW3BnF,KAX2B,CAO9BmF,WAP8B;AAAA,MAQ9BoC,KAR8B,GAW3BvH,KAX2B,CAQ9BuH,KAR8B;AAAA,MAS9BkH,SAT8B,GAW3BzO,KAX2B,CAS9ByO,SAT8B;AAAA,MAU9BnL,aAV8B,GAW3BtD,KAX2B,CAU9BsD,aAV8B;AAa/B,SACC,yEAAC,2DAAD,QACGiL,UAAU,IACX,yEAAC,8DAAD,QACGC,QAAQ,IAAI,yEAAC,gEAAD;AACb,QAAI,EAAG/P,IADM;AAEb,SAAK,EAAG8I,KAFK;AAGb,WAAO,EAAGjE,aAHG;AAIb,aAAS,EAAGrC,QAJC;AAKb,qBAAgBA;AALH,IADf,CAFF,EAYC,yEAAC,yCAAD;AACC,QAAI,EAAGkE,WADR;AAEC,SAAK,EAAGhD,0DAAE,CAAE,gBAAF;AAFX,KAIC,yEAAC,uDAAD;AACC,cAAU,EAAGA,0DAAE,CAAE,cAAF;AADhB,KAGC,yFAAUoF,KAAV,CAHD,EAIGgH,UAAU,IACX,yEAAC,gEAAD;AACC,QAAI,EAAGC,QAAQ,GAAG,aAAH,GAAmB,YADnC;AAEC,SAAK,EAAGA,QAAQ,GAAGrM,0DAAE,CAAE,oBAAF,CAAL,GAAgCA,0DAAE,CAAE,gBAAF,CAFnD;AAGC,WAAO,EAAGsM,SAHX;AAIC,aAAS,EAAGD,QAJb;AAKC,qBAAgBA;AALjB,IALF,CAJD,EAkBC,yEAAC,2DAAD,QACGzJ,QADH,CAlBD,CAZD,CADD;AAqCA;;AAEchG,iIAAO,CACrBkG,4EAAiB,CAAE,UAAEC,OAAF,EAAWpD,QAAX,EAAyB;AAC3C,SAAO;AACNrD,QAAI,EAAEqD,QAAQ,CAACrD,IAAT,IAAiByG,OAAO,CAACzG,IADzB;AAEN0G,eAAW,YAAMD,OAAO,CAAC5H,IAAd,cAAwBwE,QAAQ,CAACxE,IAAjC;AAFL,GAAP;AAIA,CALgB,CADI,EAOrBG,kEAAU,CAAE,UAAEC,MAAF,QAA+B;AAAA,MAAnByH,WAAmB,QAAnBA,WAAmB;;AAAA,gBAItCzH,MAAM,CAAE,gBAAF,CAJgC;AAAA,MAEzC2H,2BAFyC,WAEzCA,2BAFyC;AAAA,MAGzCqJ,kBAHyC,WAGzCA,kBAHyC;;AAM1C,SAAO;AACNzN,YAAQ,EAAEoE,2BAA2B,OAAOF,WADtC;AAENqJ,YAAQ,EAAEE,kBAAkB,CAAEvJ,WAAF;AAFtB,GAAP;AAIA,CAVS,CAPW,EAkBrBvD,oEAAY,CAAE,UAAEC,QAAF,SAA2C;AAAA,MAA7BZ,QAA6B,SAA7BA,QAA6B;AAAA,MAAnBkE,WAAmB,SAAnBA,WAAmB;;AAAA,kBAKpDtD,QAAQ,CAAE,gBAAF,CAL4C;AAAA,MAEvDiB,mBAFuD,aAEvDA,mBAFuD;AAAA,MAGvDK,kBAHuD,aAGvDA,kBAHuD;AAAA,MAIvDwL,sBAJuD,aAIvDA,sBAJuD;;AAOxD,SAAO;AACNF,aADM,uBACM;AACXE,4BAAsB,CAAExJ,WAAF,CAAtB;AACA,KAHK;AAIN7B,iBAJM,2BAIU;AACf,UAAKrC,QAAL,EAAgB;AACf6B,2BAAmB;AACnB,OAFD,MAEO;AACNK,0BAAkB,CAAEgC,WAAF,CAAlB;AACA;AACD;AAVK,GAAP;AAYA,CAnBW,CAlBS,CAAP,CAsCZmJ,aAtCY,CAAf;;;;;;;;;;;;;;;;;;;;;;;AC5EA;;;AAGA;AACA;AAEO,SAASM,UAAT,GAAsB;AAC5B,SACC,yEAAC,iEAAD,QACC,yEAAC,8DAAD,QACC,yEAAC,4DAAD,OADD,CADD,CADD;AAOA;AAEcA,yEAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;;;AAGA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA,IAAMxB,UAAU,GAAG,cAAnB;;AAEA,SAASyB,WAAT,OAA+D;AAAA,MAAvC9B,SAAuC,QAAvCA,SAAuC;AAAA,MAA5BO,QAA4B,QAA5BA,QAA4B;AAAA,MAAlBC,aAAkB,QAAlBA,aAAkB;;AAC9D,MAAK,CAAER,SAAP,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,SACC,yEAAC,kEAAD,QACC,yEAAC,+DAAD;AAAW,SAAK,EAAG5K,0DAAE,CAAE,SAAF,CAArB;AAAqC,UAAM,EAAGmL,QAA9C;AAAyD,YAAQ,EAAGC;AAApE,KACC,yEAAC,6DAAD,OADD,CADD,CADD;AAOA;;AAEcxO,iIAAO,CAAE,CACvBtB,kEAAU,CAAE,UAAEC,MAAF,EAAc;AACzB,SAAO;AACNqP,aAAS,EAAErP,MAAM,CAAE,gBAAF,CAAN,CAA2BsN,oBAA3B,CAAiDoC,UAAjD,CADL;AAENE,YAAQ,EAAE5P,MAAM,CAAE,gBAAF,CAAN,CAA2B8P,mBAA3B,CAAgDJ,UAAhD;AAFJ,GAAP;AAIA,CALS,CADa,EAOvBxL,oEAAY,CAAE,UAAEC,QAAF;AAAA,SAAkB;AAC/B0L,iBAD+B,2BACf;AACf,aAAO1L,QAAQ,CAAE,gBAAF,CAAR,CAA6B4L,uBAA7B,CAAsDL,UAAtD,CAAP;AACA;AAH8B,GAAlB;AAAA,CAAF,CAPW,CAAF,CAAP,CAYVyB,WAZU,CAAf;;;;;;;;;;;;;;;;;;;;;;;AC5BA;;;AAGA;AACA;AAEO,SAASC,UAAT,GAAsB;AAC5B,SACC,yEAAC,iEAAD,QACC,yEAAC,8DAAD,QACC,yEAAC,4DAAD,OADD,CADD,CADD;AAOA;AAEcA,yEAAf;;;;;;;;;;;;;;;;;;;;;;;AChBA;;;AAGA;AACA;AAEO,SAASC,iBAAT,GAA6B;AACnC,SACC,yEAAC,wEAAD,QACC,yEAAC,8DAAD,QACC,yEAAC,mEAAD,OADD,CADD,CADD;AAOA;AAEcA,gFAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;;;AAGA;AACA;AACA;AACA;AACA;AAEO,SAASC,YAAT,OAAwC;AAAA,MAAfC,UAAe,QAAfA,UAAe;AAC9C,SACC,yEAAC,mEAAD,QACC,yEAAC,8DAAD;AAAU,aAAS,EAAC;AAApB,KACC;AACC,WAAO,4CAAuCA,UAAvC,CADR;AAEC,MAAE,6CAAwCA,UAAxC;AAFH,KAIG9M,0DAAE,CAAE,SAAF,CAJL,CADD,EAOC,yEAAC,8DAAD;AACC,YAAQ,EAAC,aADV;AAEC,oBAAgB,EAAC,iCAFlB;AAGC,gBAAY,EAAG;AAAA,UAAIV,QAAJ,SAAIA,QAAJ;AAAA,UAAciD,MAAd,SAAcA,MAAd;AAAA,aACd,yEAAC,2DAAD,QACC;AACC,iBAAS,EAAC,gCADX;AAEC,eAAO,4CAAuCuK,UAAvC;AAFR,SAIC,yEAAC,mEAAD,OAJD,OAIyB9M,0DAAE,CAAE,iBAAF,CAJ3B,CADD,EAOC,yEAAC,4DAAD;AACC,UAAE,4CAAuC8M,UAAvC,CADH;AAEC,YAAI,EAAC,QAFN;AAGC,iBAAS,EAAC,iCAHX;AAIC,eAAO,EAAGxN,QAJX;AAKC,yBAAgBiD,MALjB;AAMC,qBAAU,QANX;AAOC,cAAM;AAPP,SASC,yEAAC,mEAAD,OATD,CAPD,CADc;AAAA,KAHhB;AAwBC,iBAAa,EAAG;AAAA,aAAM,yEAAC,8DAAD,OAAN;AAAA;AAxBjB,IAPD,CADD,CADD;AAsCA;AAEcwK,wIAAc,CAAEF,YAAF,CAA7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClDA;;;AAGA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA,IAAM5B,UAAU,GAAG,aAAnB;;AAEA,SAAS+B,UAAT,OAAmD;AAAA,MAA5B7B,QAA4B,QAA5BA,QAA4B;AAAA,MAAlBC,aAAkB,QAAlBA,aAAkB;AAClD,SACC,yEAAC,+DAAD;AAAW,aAAS,EAAC,uBAArB;AAA6C,SAAK,EAAGpL,0DAAE,CAAE,qBAAF,CAAvD;AAAmF,UAAM,EAAGmL,QAA5F;AAAuG,YAAQ,EAAGC;AAAlH,KACC,yEAAC,iEAAD,CAAsB,IAAtB,QACG,UAAEhQ,KAAF;AAAA,WACD,yEAAC,2DAAD,QACC,yEAAC,wDAAD,OADD,EAEC,yEAAC,sDAAD,OAFD,EAGC,yEAAC,qDAAD,OAHD,EAIC,yEAAC,oDAAD,OAJD,EAKC,yEAAC,6DAAD,OALD,EAMC,yEAAC,oDAAD,OAND,EAOGA,KAPH,EAQC,yEAAC,mDAAD,OARD,CADC;AAAA,GADH,CADD,CADD;AAkBA;;AAEcwB,iIAAO,CAAE,CACvBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3B4P,YAAQ,EAAE5P,MAAM,CAAE,gBAAF,CAAN,CAA2B8P,mBAA3B,CAAgDJ,UAAhD;AADiB,GAAhB;AAAA,CAAF,CADa,EAIvBxL,oEAAY,CAAE,UAAEC,QAAF;AAAA,SAAkB;AAC/B0L,iBAD+B,2BACf;AACf,aAAO1L,QAAQ,CAAE,gBAAF,CAAR,CAA6B4L,uBAA7B,CAAsDL,UAAtD,CAAP;AACA;AAH8B,GAAlB;AAAA,CAAF,CAJW,CAAF,CAAP,CASV+B,UATU,CAAf;;;;;;;;;;;;;;;;;;;;;;;AC/CA;;;AAGA;AACA;AAEO,SAASC,UAAT,GAAsB;AAC5B,SACC,yEAAC,iEAAD,QACC,yEAAC,8DAAD,QACC,yEAAC,4DAAD,OADD,CADD,CADD;AAOA;AAEcA,yEAAf;;;;;;;;;;;;;;;;;;;;;AChBA;;;AAGA;AAEA;;;;AAGA;;AAEA,SAASC,cAAT,GAA0B;AACzB,SACC,yEAAC,qEAAD,QACC,yEAAC,gEAAD;AACC,mBAAe,EAAG,yBAAE3D,OAAF,EAAWC,QAAX,EAAyB;AAC1C,aACC,yEAAC,uDAAD;AAAe,gBAAQ,EAAGA;AAA1B,SACGD,OADH,CADD;AAKA;AAPF,IADD,CADD;AAaA;;AAEc2D,6EAAf;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;;AAEA,SAASC,aAAT,OAAqF;AAAA,MAA3DvC,SAA2D,QAA3DA,SAA2D;AAAA,MAAhDpB,QAAgD,QAAhDA,QAAgD;AAAA,MAAtC2B,QAAsC,QAAtCA,QAAsC;AAAA,MAA5BC,aAA4B,QAA5BA,aAA4B;AAAA,MAAbxI,QAAa,QAAbA,QAAa;;AACpF,MAAK,CAAEgI,SAAP,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,MAAMwC,gBAAgB,GAAGrN,kDAAG,CAAEyJ,QAAF,EAAY,CAAE,QAAF,EAAY,WAAZ,CAAZ,CAA5B;;AACA,MAAK,CAAE4D,gBAAP,EAA0B;AACzB,WAAO,IAAP;AACA;;AAED,SACC,yEAAC,+DAAD;AACC,SAAK,EAAGA,gBADT;AAEC,UAAM,EAAGjC,QAFV;AAGC,YAAQ,EAAGC;AAHZ,KAKGxI,QALH,CADD;AASA;;AAEchG,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF,EAAUoE,QAAV,EAAwB;AACnC,MAAMG,IAAI,GAAGC,kDAAG,CAAEJ,QAAQ,CAAC6J,QAAX,EAAqB,CAAE,MAAF,CAArB,CAAhB;AACA,MAAMgB,SAAS,GAAG1K,IAAI,4BAAsBA,IAAtB,IAAgC,EAAtD;AACA,SAAO;AACN0K,aAAS,EAATA,SADM;AAENI,aAAS,EAAE9K,IAAI,GACdvE,MAAM,CAAE,gBAAF,CAAN,CAA2BsN,oBAA3B,CAAiD2B,SAAjD,CADc,GAEd,KAJK;AAKNW,YAAQ,EAAErL,IAAI,GACbvE,MAAM,CAAE,gBAAF,CAAN,CAA2B8P,mBAA3B,CAAgDb,SAAhD,CADa,GAEb;AAPK,GAAP;AASA,CAZS,CADW,EAcrB/K,oEAAY,CAAE,UAAEC,QAAF,EAAYC,QAAZ;AAAA,SAA4B;AACzCyL,iBAAa,EAAE,yBAAM;AACpB1L,cAAQ,CAAE,gBAAF,CAAR,CAA6B4L,uBAA7B,CAAsD3L,QAAQ,CAAC6K,SAA/D;AACA;AAHwC,GAA5B;AAAA,CAAF,CAdS,CAAP,CAmBZ2C,aAnBY,CAAf;;;;;;;;;;;;;;;;;;;;;;;ACjCA;;;AAGA;AACA;AAEe,SAASE,SAAT,GAAqB;AACnC,SACC,yEAAC,gEAAD,QACC,yEAAC,8DAAD,QACC,yEAAC,2DAAD,OADD,CADD,CADD;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;ACdD;;;AAGA;AACA;AACA;AAEO,SAASC,cAAT,GAA0B;AAChC,SACC,yEAAC,qEAAD;AAAqB,UAAM,EAAG;AAAA,UAAIC,OAAJ,QAAIA,OAAJ;AAAA,aAC7B,yEAAC,8DAAD;AAAU,iBAAS,EAAC;AAApB,SACC,uFAAQvN,0DAAE,CAAE,YAAF,CAAV,CADD,EAEG,CAAEuN,OAAF,IAAa,uFAAM,yEAAC,qEAAD,OAAN,CAFhB,EAGGA,OAAO,IACR,yEAAC,8DAAD;AACC,gBAAQ,EAAC,aADV;AAEC,wBAAgB,EAAC,mCAFlB;AAGC,oBAAY,EAAG;AAAA,cAAIhL,MAAJ,SAAIA,MAAJ;AAAA,cAAYjD,QAAZ,SAAYA,QAAZ;AAAA,iBACd,yEAAC,4DAAD;AACC,gBAAI,EAAC,QADN;AAEC,6BAAgBiD,MAFjB;AAGC,qBAAS,EAAC,mCAHX;AAIC,mBAAO,EAAGjD,QAJX;AAKC,kBAAM;AALP,aAOC,yEAAC,qEAAD,OAPD,CADc;AAAA,SAHhB;AAcC,qBAAa,EAAG;AAAA,iBAAM,yEAAC,gEAAD,OAAN;AAAA;AAdjB,QAJF,CAD6B;AAAA;AAA9B,IADD;AA0BA;AAEcgO,6EAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCA;;;AAGA;AACA;AACA;AAEA;;;;AAGA;;AAEA,IAAME,cAAc,GAAG,SAAjBA,cAAiB,OAAuE;AAAA,MAAnEC,KAAmE,QAAnEA,KAAmE;AAAA,MAA5DC,oBAA4D,QAA5DA,oBAA4D;AAAA,MAAtCC,iBAAsC,QAAtCA,iBAAsC;AAAA,MAAnB3K,WAAmB,QAAnBA,WAAmB;AAC7F;AACA,MAAM4K,UAAU,GAAGH,KAAK,KAAK,CAAV,GAAc,CAAd,GAAkBA,KAArC;AACA,MAAMI,UAAU,GAAGD,UAAU,KAAK,CAAf,GAClB5N,0DAAE,CAAE,OAAF,CADgB,GAElB8N,+DAAO,CAAEC,0DAAE,CAAE,UAAF,EAAc,WAAd,EAA2BH,UAA3B,CAAJ,EAA6CA,UAA7C,CAFR;;AAH6F,cAO1C5K,WAAW,KAAK,oBAAhB,GAClD;AACA,GAAEhD,0DAAE,CAAE,8BAAF,CAAJ,EAAwC,WAAxC,CAFkD,GAGlD;AACA,GAAEA,0DAAE,CAAE,mBAAF,CAAJ,EAA6B,EAA7B,CAX4F;AAAA;AAAA,MAOrFgO,iBAPqF;AAAA,MAOlEC,mBAPkE;;AAAA,cAahDjL,WAAW,KAAK,iBAAhB,GAC5C;AACA,GAAEhD,0DAAE,CAAE,2BAAF,CAAJ,EAAqC,WAArC,CAF4C,GAG5C;AACA,GAAEA,0DAAE,CAAE,gBAAF,CAAJ,EAA0B,EAA1B,CAjB4F;AAAA;AAAA,MAarFkO,cAbqF;AAAA,MAarEC,gBAbqE;;AAmB7F,SACC,yEAAC,uDAAD;AACC,aAAS,EAAC,+BADX;AAEC,cAAU,EAAGnO,0DAAE,CAAE,gBAAF;AAFhB,KAKC,qFACC,qFACC;AACC,WAAO,EAAG0N,oBADX;AAEC,aAAS,yCAAoCO,mBAApC,CAFV;AAGC,kBAAaD,iBAHd;AAIC,kBAAahO,0DAAE,CAAE,UAAF;AAJhB,KAMGA,0DAAE,CAAE,UAAF,CANL,CADD,CADD,EAWC,qFACC;AACC,WAAO,EAAG2N,iBADX;AAEC,aAAS,yCAAoCQ,gBAApC,CAFV;AAGC,kBAAaD,cAHd;AAIC,kBAAaL;AAJd,KAMGA,UANH,CADD,CAXD,CALD,CADD;AA8BA,CAjDD;;AAmDejR,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3BkS,SAAK,EAAElS,MAAM,CAAE,aAAF,CAAN,CAAwB6S,qBAAxB;AADoB,GAAhB;AAAA,CAAF,CADW,EAIrB3O,oEAAY,CAAE,UAAEC,QAAF,EAAgB;AAAA,kBACEA,QAAQ,CAAE,gBAAF,CADV;AAAA,MACrBsB,kBADqB,aACrBA,kBADqB;;AAAA,mBAEEtB,QAAQ,CAAE,aAAF,CAFV;AAAA,MAErB2O,kBAFqB,cAErBA,kBAFqB;;AAG7B,SAAO;AACNX,wBADM,kCACiB;AACtB1M,wBAAkB,CAAE,oBAAF,CAAlB;AACAqN,wBAAkB;AAClB,KAJK;AAKNV,qBALM,+BAKc;AACnB3M,wBAAkB,CAAE,iBAAF,CAAlB;AACA;AAPK,GAAP;AASA,CAZW,CAJS,CAAP,CAiBZwM,cAjBY,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/DA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMc,eAAe,GAAG,SAAlBA,eAAkB;AAAA,MAAItL,WAAJ,QAAIA,WAAJ;AAAA,SACvB,yEAAC,yCAAD;AACC,QAAI,EAAGA,WADR;AAEC,SAAK,EAAGhD,0DAAE,CAAE,iBAAF;AAFX,KAIC,yEAAC,wDAAD;AAAgB,eAAW,EAAGgD;AAA9B,IAJD,EAKC,yEAAC,2DAAD,QACGA,WAAW,KAAK,oBAAhB,IACD,yEAAC,2DAAD,QACC,yEAAC,oDAAD,OADD,EAEC,yEAAC,sDAAD,OAFD,EAGC,yEAAC,yDAAD,OAHD,EAIC,yEAAC,wDAAD,OAJD,EAKC,yEAAC,sDAAD,OALD,EAMC,yEAAC,0DAAD,OAND,EAOC,yEAAC,yDAAD,OAPD,EAQC,yEAAC,oDAAD;AAAW,YAAQ,EAAC;AAApB,IARD,CAFF,EAaGA,WAAW,KAAK,iBAAhB,IACD,yEAAC,+DAAD;AAAW,aAAS,EAAC;AAArB,KACC,yEAAC,gEAAD,OADD,CAdF,CALD,CADuB;AAAA,CAAxB;;AA4BepG,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF,EAAc;AAAA,gBAIrBA,MAAM,CAAE,gBAAF,CAJe;AAAA,MAExB2H,2BAFwB,WAExBA,2BAFwB;AAAA,MAGxBrC,qBAHwB,WAGxBA,qBAHwB;;AAMzB,SAAO;AACNA,yBAAqB,EAAEA,qBAAqB,EADtC;AAENmC,eAAW,EAAEE,2BAA2B;AAFlC,GAAP;AAIA,CAVS,CADW,EAYrB2I,sEAAW,CAAE;AAAA,MAAIhL,qBAAJ,SAAIA,qBAAJ;AAAA,SAAiCA,qBAAjC;AAAA,CAAF,CAZU,CAAP,CAaZyN,eAbY,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnDA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAAgE;AAAA,MAA5D3L,QAA4D,QAA5DA,QAA4D;AAAA,MAAlD+E,SAAkD,QAAlDA,SAAkD;AAAA,MAAvC6G,UAAuC,QAAvCA,UAAuC;AAAA,MAA3BvH,YAA2B,QAA3BA,YAA2B;AAAA,MAAb7B,KAAa,QAAbA,KAAa;AACrF,SACC,yEAAC,2DAAD,QACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAM,aAAS,EAAC;AAAhB,KACGA,KAAK,IAAIpF,0DAAE,CAAE,YAAF,CADd,CADD,EAIC,yEAAC,gEAAD;AACC,WAAO,EAAGiH,YADX;AAEC,QAAI,EAAC,QAFN;AAGC,SAAK,EAAGuH;AAHT,IAJD,CADD,EAWC;AAAK,aAAS,EAAG5G,iDAAU,CAAE,mDAAF,EAAuDD,SAAvD;AAA3B,KACG/E,QADH,EAEC,yEAAC,gEAAD;AACC,WAAO,EAAGqE,YADX;AAEC,QAAI,EAAC,QAFN;AAGC,SAAK,EAAGuH,UAHT;AAIC,YAAQ,EAAGtN,2DAAS,CAACC;AAJtB,IAFD,CAXD,CADD;AAuBA,CAxBD;;AA0BevE,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3B6J,SAAK,EAAE7J,MAAM,CAAE,aAAF,CAAN,CAAwBqO,sBAAxB,CAAgD,OAAhD;AADoB,GAAhB;AAAA,CAAF,CADW,EAIrBnK,oEAAY,CAAE,UAAEC,QAAF;AAAA,SAAkB;AAC/BuH,gBAAY,EAAEvH,QAAQ,CAAE,gBAAF,CAAR,CAA6BiB;AADZ,GAAlB;AAAA,CAAF,CAJS,CAAP,CAOZ4N,aAPY,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7CA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA,SAASE,UAAT,OAAkC;AAAA,MAAXC,MAAW,QAAXA,MAAW;AACjC,SACC;AAAK,aAAS,EAAC;AAAf,KACC;AAAK,aAAS,EAAC;AAAf,KACC,qFAAM1O,0DAAE,CAAE,cAAF,CAAR,CADD,EAEC,yEAAC,gEAAD;AACC,WAAO,EAAG0O,MADX;AAEC,QAAI,EAAC,QAFN;AAGC,YAAQ,EAAGC,mEAAe,CAAC9J,SAAhB,CAA2B,GAA3B;AAHZ,KAKG7E,0DAAE,CAAE,kBAAF,CALL,CAFD,CADD,EAWC;AAAK,aAAS,EAAC;AAAf,KACC,yEAAC,2DAAD,OADD,EAEC,yEAAC,gEAAD,OAFD,CAXD,CADD;AAkBA;;AAEcP,mIAAY,CAAE,UAAEC,QAAF,EAAgB;AAC5C,SAAO;AACNgP,UADM,oBACG;AACRhP,cAAQ,CAAE,gBAAF,CAAR,CAA6BwC,gBAA7B,CAA+C,QAA/C;AACA;AAHK,GAAP;AAKA,CAN0B,CAAZ,CAMVuM,UANU,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AACA;AAEA;;;;AAGA;AAEO,SAASG,oBAAT,OAOH;AAAA,MANHC,yBAMG,QANHA,yBAMG;AAAA,MALH5H,YAKG,QALHA,YAKG;AAAA,MAJH6H,iBAIG,QAJHA,iBAIG;AAAA,0BAHHtS,OAGG;AAAA,MAHHA,OAGG,6BAHOuS,2CAGP;AAAA,wBAFHtS,KAEG;AAAA,MAFHA,KAEG,2BAFK,KAEL;AAAA,MADHuS,KACG,QADHA,KACG;;AACH,MAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;AAC1B,QAAKJ,yBAAL,EAAiC;AAChCG,WAAK,CAAEhP,0DAAE,CAAE,uBAAF,CAAJ,CAAL;AACA,KAFD,MAEO;AACNgP,WAAK,CAAEhP,0DAAE,CAAE,4EAAF,CAAJ,CAAL;AACA;AACD,GAND;;AAQA,MAAMzD,KAAK,GAAGsS,yBAAyB,GAAG7O,0DAAE,CAAE,qBAAF,CAAL,GAAiCA,0DAAE,CAAE,qBAAF,CAA1E;AAEA,SACC,yEAAC,8DAAD;AACC,aAAS,EAAC,qCADX;AAEC,WAAO,EAAGkP,mDAAI,CAAEL,yBAAyB,GAAG5H,YAAH,GAAkB6H,iBAA7C,EAAgEG,YAAhE,EAA8EzS,OAA9E,CAFf;AAGC,QAAI,EAAC,eAHN;AAIC,SAAK,EAAGC,KAAK,GAAGF,KAAH,GAAWM,SAJzB;AAKC,YAAQ,EAAGqE,2DAAS,CAACC;AALtB,KAOG,CAAE1E,KAAF,IAAWF,KAPd,CADD;AAWA;AAEcK,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3BsT,6BAAyB,EAAEtT,MAAM,CAAE,gBAAF,CAAN,CAA2B2H,2BAA3B,OAA6D;AAD7D,GAAhB;AAAA,CAAF,CADW,EAIrBzD,oEAAY,CAAE,UAAEC,QAAF;AAAA,SAAkB;AAC/BoP,qBAAiB,EAAE;AAAA,aAAMpP,QAAQ,CAAE,gBAAF,CAAR,CAA6BsB,kBAA7B,CAAiD,iBAAjD,CAAN;AAAA,KADY;AAE/BiG,gBAAY,EAAEvH,QAAQ,CAAE,gBAAF,CAAR,CAA6BiB;AAFZ,GAAlB;AAAA,CAAF,CAJS,EAQrBwO,wEARqB,CAAP,CASZP,oBATY,CAAf;;;;;;;;;;;;;;;;;;;;;;ACjDA;;;AAGA;AAaA;;;;AAGA;AACA;;AAEA,SAASQ,YAAT,GAAwB;AACvB,SACC,yEAAC,uEAAD;AAAuB,aAAS,EAAC;AAAjC,KACC,yEAAC,+EAAD,OADD,EAEC,yEAAC,6DAAD,OAFD,EAGC,yEAAC,2EAAD,OAHD,EAIC,yEAAC,6DAAD,QACC,yEAAC,+DAAD,QACC,yEAAC,2DAAD,OADD,EAEC,yEAAC,2DAAD,OAFD,CADD,CAJD,EAUC,yEAAC,6EAAD,QACG;AAAA,QAAIzS,OAAJ,QAAIA,OAAJ;AAAA,WAAmB,yEAAC,+DAAD;AAAsB,aAAO,EAAGA;AAAhC,MAAnB;AAAA,GADH,CAVD,EAaC,yEAAC,oFAAD,QACG;AAAA,QAAInB,SAAJ,SAAIA,SAAJ;AAAA,QAAemB,OAAf,SAAeA,OAAf;AAAA,WAA8B,yEAAC,6FAAD,CAA8B,IAA9B;AAAmC,eAAS,EAAG;AAAEnB,iBAAS,EAATA,SAAF;AAAamB,eAAO,EAAPA;AAAb;AAA/C,MAA9B;AAAA,GADH,CAbD,CADD;AAmBA;;AAEcyS,2EAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5CA;;;AAGA;AACA;AACA;AACA;;;;AAGA;;AAEA,SAASC,MAAT,OAQI;AAAA,MAPHC,QAOG,QAPHA,QAOG;AAAA,MANHlP,eAMG,QANHA,eAMG;AAAA,MALHmP,SAKG,QALHA,SAKG;AAAA,MAJHtS,IAIG,QAJHA,IAIG;AAAA,MAHHuS,YAGG,QAHHA,YAGG;AAAA,MAFHC,OAEG,QAFHA,OAEG;AAAA,MADA5R,KACA;;AACH,MAAK,CAAEZ,IAAP,EAAc;AACb,WAAO,IAAP;AACA;;AAED,MAAMyS,cAAc,GAAG,4FACnBJ,QADgB;AAEnBlP,mBAAe,EAAfA,eAFmB;AAGnBmP,aAAS,EAATA;AAHmB,IAApB;;AAMA,SACC,yEAAC,6DAAD,QACC,yEAAC,gEAAD;AACC,YAAQ,EAAGG,cADZ;AAEC,QAAI,8FAAQzS,IAAR,EAAiBuS,YAAjB;AAFL,KAGM3R,KAHN,GAKC,yEAAC,+DAAD;AAAe,WAAO,EAAG4R;AAAzB,KACC,yEAAC,0DAAD,OADD,CALD,EAQC,yEAAC,iEAAD,OARD,CADD,CADD;AAcA;;AAEcnU,iIAAU,CAAE,UAAEC,MAAF;AAAA,MAAYwB,MAAZ,SAAYA,MAAZ;AAAA,MAAoBK,QAApB,SAAoBA,QAApB;AAAA,SAAsC;AAChEgD,mBAAe,EAAE7E,MAAM,CAAE,gBAAF,CAAN,CAA2B6D,eAA3B,CAA4C,cAA5C,CAD+C;AAEhEmQ,aAAS,EAAEhU,MAAM,CAAE,gBAAF,CAAN,CAA2B6D,eAA3B,CAA4C,WAA5C,CAFqD;AAGhEnC,QAAI,EAAE1B,MAAM,CAAE,MAAF,CAAN,CAAiBoU,eAAjB,CAAkC,UAAlC,EAA8CvS,QAA9C,EAAwDL,MAAxD;AAH0D,GAAtC;AAAA,CAAF,CAAV,CAIRsS,MAJQ,CAAf;;;;;;;;;;;;;AC9CA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AAEA;;;;AAGA;;AAEA,IAAMO,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,SAAMC,qDAAN;AAAA,CAA3B;;AAEAC,kEAAS,CACR,oBADQ,EAER,6DAFQ,EAGRF,kBAHQ,CAAT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;;AAGA;AAEA;;;;AAGA;CAGA;;AACA,IAAMG,2BAA2B,GAAG,SAA9BA,2BAA8B,GAAM;AACzC;;;;;;;AAOA,SAAOC,EAAE,CAACC,KAAH,CAASC,IAAT,CAAcC,UAAd,CAAyBC,IAAzB,CAA8BC,MAA9B,CAAsC;AAE5C;;;;;AAKAC,gBAAY,EAAE,SAASA,YAAT,GAAwB;AACrC,WAAKC,MAAL,CAAYrR,GAAZ,CAAiB,CAChB,IAAI8Q,EAAE,CAACC,KAAH,CAASO,UAAT,CAAoBC,OAAxB,CAAiC;AAChCnS,UAAE,EAAE,SAD4B;AAEhC8G,aAAK,EAAE4K,EAAE,CAACC,KAAH,CAASC,IAAT,CAAcQ,IAAd,CAAmBC,kBAFM;AAGhCC,gBAAQ,EAAE,EAHsB;AAIhCC,eAAO,EAAE,cAJuB;AAKhCC,kBAAU,EAAE,UALoB;AAMhCC,gBAAQ,EAAE,KANsB;AAOhCC,gBAAQ,EAAE,KAPsB;AAShCC,eAAO,EAAEjB,EAAE,CAACC,KAAH,CAASiB,KAAT,CAAgBC,CAAC,CAACC,QAAF,CAAY;AACpCzS,cAAI,EAAE;AAD8B,SAAZ,EAEtB,KAAK0S,OAAL,CAAaJ,OAFS,CAAhB;AATuB,OAAjC,CADgB,EAehB,IAAIjB,EAAE,CAACC,KAAH,CAASO,UAAT,CAAoBc,WAAxB,CAAqC;AACpCL,eAAO,EAAE,KAAKI,OAAL,CAAaE,SADc;AAEpCC,eAAO,EAAE,KAAKH,OAAL,CAAaG,OAFc;AAGpCC,YAAI,EAAE,SAH8B;AAIpCC,uBAAe,EAAE,KAJmB;AAKpCX,gBAAQ,EAAE;AAL0B,OAArC,CAfgB,EAuBhB,IAAIf,EAAE,CAACC,KAAH,CAASO,UAAT,CAAoBmB,UAAxB,EAvBgB,CAAjB;AAyBA;AAjC2C,GAAtC,CAAP;AAmCA,CA3CD,C,CA6CA;AACA;;;AACA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAEC,GAAF,EAAW;AAClC,MAAMC,OAAO,GAAG,CAAE,OAAF,EAAW,MAAX,EAAmB,MAAnB,EAA2B,SAA3B,EAAsC,IAAtC,EAA4C,KAA5C,EAAmD,KAAnD,EAA0D,MAA1D,EAAkE,SAAlE,CAAhB;AACA,SAAOC,mDAAI,CAAEF,GAAF,EAAOC,OAAP,CAAX;AACA,CAHD;;AAKA,IAAME,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAEzU,GAAF,EAAW;AAC3C,SAAOyS,EAAE,CAACC,KAAH,CAASiB,KAAT,CAAgB;AACtBe,SAAK,EAAE,KADe;AAEtBC,WAAO,EAAE,UAFa;AAGtBC,YAAQ,EAAE5U,GAHY;AAItB6U,YAAQ,EAAE,GAJY;AAKtBlB,SAAK,EAAE,IALe;AAMtBvS,QAAI,EAAE;AANgB,GAAhB,CAAP;AAQA,CATD;;IAWMkR,W;;;;;AACL,6BAOI;AAAA;;AAAA,QANHwC,YAMG,QANHA,YAMG;AAAA,6BALHtB,QAKG;AAAA,QALHA,QAKG,8BALQ,KAKR;AAAA,4BAJHuB,OAIG;AAAA,QAJHA,OAIG,6BAJO,KAIP;AAAA,0BAHHlN,KAGG;AAAA,QAHHA,KAGG,2BAHKpF,0DAAE,CAAE,wBAAF,CAGP;AAAA,QAFHuS,UAEG,QAFHA,UAEG;AAAA,QADH7Q,KACG,QADHA,KACG;;AAAA;;AACH,0OAAUjE,SAAV;AACA,UAAKgF,SAAL,GAAiB,MAAKA,SAAL,CAAemE,IAAf,2MAAjB;AACA,UAAK4L,MAAL,GAAc,MAAKA,MAAL,CAAY5L,IAAZ,2MAAd;AACA,UAAKzE,QAAL,GAAgB,MAAKA,QAAL,CAAcyE,IAAd,2MAAhB;AACA,UAAK6L,QAAL,GAAgB,MAAKA,QAAL,CAAc7L,IAAd,2MAAhB;AACA,UAAKjK,OAAL,GAAe,MAAKA,OAAL,CAAaiK,IAAb,2MAAf;;AAEA,QAAK0L,OAAL,EAAe;AACd,UAAMI,YAAY,GAAGhR,KAAK,GAAG,cAAH,GAAoB,SAA9C;AACA,UAAMiR,wBAAwB,GAAG5C,2BAA2B,EAA5D;AACA,UAAM6C,WAAW,GAAGZ,wBAAwB,CAAEtQ,KAAF,CAA5C;AACA,UAAM6P,SAAS,GAAG,IAAIvB,EAAE,CAACC,KAAH,CAAS4C,KAAT,CAAeC,SAAnB,CAA8BF,WAAW,CAACG,MAA1C,EAAkD;AACnElV,aAAK,EAAE+U,WAAW,CAAC/U,KAAZ,CAAkBmV,MAAlB,EAD4D;AAEnEjC,gBAAQ,EAARA;AAFmE,OAAlD,CAAlB;AAIA,YAAKkC,KAAL,GAAa,IAAIN,wBAAJ,CAA8B;AAC1CO,gBAAQ,EAAEb,YADgC;AAE1C3U,aAAK,EAAEgV,YAFmC;AAG1C3B,gBAAQ,EAARA,QAH0C;AAI1CQ,iBAAS,EAATA,SAJ0C;AAK1CC,eAAO,EAAI9P,KAAF,GAAY,IAAZ,GAAmB;AALc,OAA9B,CAAb;AAOAsO,QAAE,CAACC,KAAH,CAASgD,KAAT,GAAiB,MAAKA,KAAtB;AACA,KAhBD,MAgBO;AACN,UAAME,WAAW,GAAG;AACnB/N,aAAK,EAALA,KADmB;AAEnBrB,cAAM,EAAE;AACPqP,cAAI,EAAEpT,0DAAE,CAAE,QAAF;AADD,SAFW;AAKnB+Q,gBAAQ,EAARA;AALmB,OAApB;;AAOA,UAAK,CAAC,CAAEsB,YAAR,EAAuB;AACtBc,mBAAW,CAAClC,OAAZ,GAAsB;AAAEtS,cAAI,EAAE0T;AAAR,SAAtB;AACA;;AAED,YAAKY,KAAL,GAAajD,EAAE,CAACC,KAAH,CAAUkD,WAAV,CAAb;AACA;;AAED,QAAKZ,UAAL,EAAkB;AACjB,YAAKU,KAAL,CAAWI,GAAX,CAAeC,QAAf,CAAyBf,UAAzB;AACA,KAzCE,CA2CH;;;AACA,UAAKU,KAAL,CAAWM,EAAX,CAAe,QAAf,EAAyB,MAAKpR,QAA9B;;AACA,UAAK8Q,KAAL,CAAWM,EAAX,CAAe,QAAf,EAAyB,MAAKd,QAA9B;;AACA,UAAKQ,KAAL,CAAWM,EAAX,CAAe,MAAf,EAAuB,MAAKf,MAA5B;;AACA,UAAKS,KAAL,CAAWM,EAAX,CAAe,OAAf,EAAwB,MAAK5W,OAA7B;;AA/CG;AAgDH;;;;2CAEsB;AACtB,WAAKsW,KAAL,CAAW9T,MAAX;AACA;;;6BAESqU,U,EAAa;AAAA,wBACiB,KAAK3V,KADtB;AAAA,UACdsE,QADc,eACdA,QADc;AAAA,6CACJ4O,QADI;AAAA,UACJA,QADI,qCACO,KADP;AAEtB,UAAMrT,KAAK,GAAG,KAAKuV,KAAL,CAAWvV,KAAX,EAAd;AACA,UAAM+V,cAAc,GAAGD,UAAU,IAAI9V,KAAK,CAACqC,GAAN,CAAW,WAAX,CAArC;;AAEA,UAAK,CAAE0T,cAAF,IAAoB,CAAEA,cAAc,CAACV,MAAf,CAAsBjX,MAAjD,EAA0D;AACzD;AACA;;AAED,UAAKiV,QAAL,EAAgB;AACf5O,gBAAQ,CAAEsR,cAAc,CAACV,MAAf,CAAsB9X,GAAtB,CAA2B,UAAE4X,KAAF;AAAA,iBAAajB,eAAe,CAAEiB,KAAK,CAACG,MAAN,EAAF,CAA5B;AAAA,SAA3B,CAAF,CAAR;AACA,OAFD,MAEO;AACN7Q,gBAAQ,CAAEyP,eAAe,CAAI6B,cAAc,CAACV,MAAf,CAAuB,CAAvB,EAA2BC,MAA3B,EAAJ,CAAjB,CAAR;AACA;AACD;;;+BAEU;AAAA,yBAC6B,KAAKnV,KADlC;AAAA,UACFsE,QADE,gBACFA,QADE;AAAA,+CACQ4O,QADR;AAAA,UACQA,QADR,sCACmB,KADnB,0BAEV;;AACA,UAAM2C,UAAU,GAAG,KAAKT,KAAL,CAAWvV,KAAX,GAAmBqC,GAAnB,CAAwB,WAAxB,EAAsCiT,MAAtC,EAAnB;AACA7Q,cAAQ,CACP4O,QAAQ,GACP2C,UADO,GAEPA,UAAU,CAAE,CAAF,CAHJ,CAAR;AAKA;;;6BAEQ;AACR,UAAK,CAAE,KAAK7V,KAAL,CAAW6D,KAAlB,EAA0B;AACzB;AACA;;AACD,UAAK,CAAE,KAAK7D,KAAL,CAAWyU,OAAlB,EAA4B;AAC3B,YAAMf,SAAS,GAAG,KAAK0B,KAAL,CAAWvV,KAAX,GAAmBqC,GAAnB,CAAwB,WAAxB,CAAlB;AACAkG,gEAAS,CAAE,KAAKpI,KAAL,CAAW6D,KAAb,CAAT,CAA8BzG,GAA9B,CAAmC,UAAEqD,EAAF,EAAU;AAC5CiT,mBAAS,CAACrS,GAAV,CAAe8Q,EAAE,CAACC,KAAH,CAASyD,UAAT,CAAqBpV,EAArB,CAAf;AACA,SAFD;AAGA,OATO,CAUR;;;AACA0T,8BAAwB,CAAE/L,wDAAS,CAAE,KAAKpI,KAAL,CAAW6D,KAAb,CAAX,CAAxB,CAA0DiS,IAA1D;AACA;;;8BAES;AAAA,UACDhX,OADC,GACW,KAAKkB,KADhB,CACDlB,OADC;;AAGT,UAAKA,OAAL,EAAe;AACdA,eAAO;AACP;AACD;;;gCAEW;AACX,WAAKsW,KAAL,CAAWW,IAAX;AACA;;;6BAEQ;AACR,aAAO,KAAK/V,KAAL,CAAWgW,MAAX,CAAmB;AAAED,YAAI,EAAE,KAAKnR;AAAb,OAAnB,CAAP;AACA;;;;EArHwBjE,4D;;AAwHXqR,0EAAf;;;;;;;;;;;;;ACnMA;AAAA;AAAA;AAAA;;;AAGA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;;;AAGA;AAEA;;;;AAGA;AAOA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMiE,OAAO,GAAGlX,mEAAO;AACtB;;;;;;;;;;;AAWAtB,kEAAU,CAAE,UAAEC,MAAF,EAAUL,KAAV,EAAqB;AAChC,MAAM6Y,MAAM,GAAGxY,MAAM,CAAE,aAAF,CAAN,CAAwByY,SAAxB,EAAf;AACA,MAAMjD,QAAQ,GAAGkD,yEAAe,CAAE/Y,KAAK,CAACC,IAAR,EAAc,UAAd,EAA0B,IAA1B,CAAhC,CAFgC,CAIhC;AACA;;AACA,MAAK4V,QAAL,EAAgB;AACf,WAAO,EAAP;AACA,GAR+B,CAUhC;AACA;;;AACA,MAAMmD,eAAe,GAAGC,mDAAI,CAAEJ,MAAF,EAAU;AAAA,QAAI5Y,IAAJ,QAAIA,IAAJ;AAAA,WAAgBD,KAAK,CAACC,IAAN,KAAeA,IAA/B;AAAA,GAAV,CAA5B;AACA,MAAMiZ,SAAS,GAAGF,eAAe,IAAIA,eAAe,CAACG,QAAhB,KAA6BnZ,KAAK,CAACmZ,QAAxE;AACA,SAAO;AACNC,yBAAqB,EAAEF,SAAS,IAAIF,eAAe,CAACG;AAD9C,GAAP;AAGA,CAjBS,CAZY,EA8BtB5U,oEAAY,CAAE,UAAEC,QAAF;AAAA,MAAc4U,qBAAd,SAAcA,qBAAd;AAAA,SAA6C;AAC1DC,eAAW,EAAE;AAAA,aAAM7U,QAAQ,CAAE,aAAF,CAAR,CAA0B8U,WAA1B,CAAuCF,qBAAvC,CAAN;AAAA;AAD6C,GAA7C;AAAA,CAAF,CA9BU,CAAvB;AAmCA,IAAMG,sBAAsB,GAAGC,sFAA0B,CAAE,UAAEC,SAAF,EAAiB;AAC3E,SAAOb,OAAO,CAAE,iBAIT;AAAA,QAHNQ,qBAGM,SAHNA,qBAGM;AAAA,QAFNC,WAEM,SAFNA,WAEM;AAAA,QADH1W,KACG;;AACN,QAAK,CAAEyW,qBAAP,EAA+B;AAC9B,aAAO,yEAAC,SAAD,EAAgBzW,KAAhB,CAAP;AACA;;AAED,QAAM+W,SAAS,GAAGC,sEAAY,CAAEhX,KAAK,CAAC1C,IAAR,CAA9B;AACA,QAAM2Z,YAAY,GAAGC,eAAe,CAAElX,KAAK,CAAC1C,IAAR,CAApC;AAEA,WAAO,CACN;AAAK,SAAG,EAAC,iBAAT;AAA2B,WAAK,EAAG;AAAE6Z,iBAAS,EAAE;AAAb;AAAnC,OACC,yEAAC,SAAD;AAAW,SAAG,EAAC;AAAf,OAAiCnX,KAAjC,EADD,CADM,EAIN,yEAAC,yDAAD;AACC,SAAG,EAAC,sBADL;AAEC,aAAO,EAAG,CACT,yEAAC,4DAAD;AAAQ,WAAG,EAAC,eAAZ;AAA4B,eAAO,MAAnC;AAAoC,eAAO,EAAG0W;AAA9C,SACGvU,0DAAE,CAAE,eAAF,CADL,CADS,EAIT,yEAAC,4DAAD;AAAQ,WAAG,EAAC,QAAZ;AAAqB,eAAO,MAA5B;AAA6B,eAAO,EAAG;AAAA,iBAAMnC,KAAK,CAACoX,SAAN,CAAiB,EAAjB,CAAN;AAAA;AAAvC,SACGjV,0DAAE,CAAE,QAAF,CADL,CAJS,EAOT8U,YAAY,IACX,yEAAC,4DAAD;AACC,WAAG,EAAC,WADL;AAEC,eAAO,MAFR;AAGC,eAAO,EAAG;AAAA,iBAAMjX,KAAK,CAACoX,SAAN,CACfC,qEAAW,CAAEJ,YAAY,CAAC3Z,IAAf,EAAqB0C,KAAK,CAACsX,UAA3B,CADI,CAAN;AAAA;AAHX,SAOGnV,0DAAE,CAAE,iBAAF,CAPL,EAO8B,GAP9B,EAQG8U,YAAY,CAAC1P,KARhB,CARQ;AAFX,OAuBC,yFAAUwP,SAAS,CAACxP,KAApB,OAvBD,EAwBGpF,0DAAE,CAAE,mCAAF,CAxBL,CAJM,CAAP;AA+BA,GA3Ca,CAAd;AA4CA,CA7CwD,EA6CtD,wBA7CsD,CAAzD;AA+CA;;;;;;;;;AAQA,SAAS+U,eAAT,CAA0BK,SAA1B,EAAsC;AACrC;AACA,MAAMC,SAAS,GAAGC,uEAAa,CAC9BC,4EAAkB,CAAE,IAAF,EAAQH,SAAR,CADY,EAE9B;AAAA,QAAIzW,IAAJ,SAAIA,IAAJ;AAAA,QAAUoV,MAAV,SAAUA,MAAV;AAAA,WAAwBpV,IAAI,KAAK,OAAT,IAAoBoV,MAAM,CAACjY,MAAP,KAAkB,CAA9D;AAAA,GAF8B,CAEkC;AAFlC,GAA/B;;AAKA,MAAK,CAAEuZ,SAAP,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,SAAOR,sEAAY,CAAEQ,SAAS,CAACtB,MAAV,CAAkB,CAAlB,CAAF,CAAnB;AACA;;AAEDjE,kEAAS,CACR,kBADQ,EAER,+DAFQ,EAGR2E,sBAHQ,CAAT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9HA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;AAWO,SAASe,kBAAT,CAA6BpY,QAA7B,EAAuCL,MAAvC,EAA+CkG,MAA/C,EAAuDqM,QAAvD,EAAiEE,YAAjE,EAAgF;AACtFiG,mFAAsB,CAAExS,MAAF,CAAtB;AACA,MAAMyS,MAAM,GAAGF,kBAAkB,CAAC5O,IAAnB,CAAyB,IAAzB,EAA+BxJ,QAA/B,EAAyCL,MAAzC,EAAiDkG,MAAjD,EAAyDqM,QAAzD,EAAmEE,YAAnE,CAAf;AAEAqE,mEAAM,CACL,yEAAC,gDAAD;AAAQ,YAAQ,EAAGvE,QAAnB;AAA8B,WAAO,EAAGoG,MAAxC;AAAiD,UAAM,EAAG3Y,MAA1D;AAAmE,YAAQ,EAAGK,QAA9E;AAAyF,gBAAY,EAAGoS,YAAxG;AAAuH,YAAQ;AAA/H,IADK,EAELvM,MAFK,CAAN;AAIA;AAED;;;;;;;;;;;;;AAYO,SAAS0S,gBAAT,CAA2BrX,EAA3B,EAA+BlB,QAA/B,EAAyCL,MAAzC,EAAiDuS,QAAjD,EAA2DE,YAA3D,EAA0E;AAChF,MAAMvM,MAAM,GAAGlE,QAAQ,CAAC4J,cAAT,CAAyBrK,EAAzB,CAAf;AACA,MAAMoX,MAAM,GAAGF,kBAAkB,CAAC5O,IAAnB,CAAyB,IAAzB,EAA+BxJ,QAA/B,EAAyCL,MAAzC,EAAiDkG,MAAjD,EAAyDqM,QAAzD,EAAmEE,YAAnE,CAAf;AAEAoG,qFAAkB;AAElBlW,kEAAQ,CAAE,UAAF,CAAR,CAAuBmW,YAAvB,CAAqC,CACpC,sBADoC,EAEpC,sBAFoC,EAGpC,qBAHoC,EAIpC,qBAJoC,CAArC;AAOAhC,mEAAM,CACL,yEAAC,gDAAD;AAAQ,YAAQ,EAAGvE,QAAnB;AAA8B,WAAO,EAAGoG,MAAxC;AAAiD,UAAM,EAAG3Y,MAA1D;AAAmE,YAAQ,EAAGK,QAA9E;AAAyF,gBAAY,EAAGoS;AAAxG,IADK,EAELvM,MAFK,CAAN;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC5EA;AAAA;AAAA;AAAA;;;AAGA;AAEe;AACdjB,kBAAgB,EAAE;AACjBmF,OAAG,EAAEb,+DAAW,CAACzB,SAAZ,CAAuB,GAAvB,CADY;AAEjB5C,WAAO,EAAE0M,mEAAe,CAAC9J,SAAhB,CAA2B,GAA3B;AAFQ,GADJ;AAKd1D,eAAa,EAAE;AACdgG,OAAG,EAAEb,+DAAW,CAAC3B,YAAZ,CAA0B,GAA1B,CADS;AAEd1C,WAAO,EAAE0M,mEAAe,CAAChK,YAAhB,CAA8B,GAA9B,CAFK;AAGdY,aAAS,EAAEC,qEAAiB,CAACb,YAAlB,CAAgC,GAAhC;AAHG;AALD,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;ACLA;;;AAGA;AACA;AACA;AACA;;AAEA,SAASmR,mBAAT,OAA2E;AAAA,MAA3CC,iBAA2C,QAA3CA,iBAA2C;AAAA,MAAxBC,SAAwB,QAAxBA,SAAwB;AAAA,MAAbzX,QAAa,QAAbA,QAAa;AAC1E,SACC,yEAAC,qEAAD;AACC,QAAI,EAAGwX,iBADR;AAEC,aAAS,EAAC,8BAFX;AAGC,UAAM,EAAG;AAAA,aAAMxX,QAAQ,CAAE;AAAEyX,iBAAS,EAAE;AAAb,OAAF,CAAd;AAAA,KAHV;AAIC,gBAAY,EAAG;AAAA,aAAMzX,QAAQ,CAAE;AAAEyX,iBAAS,EAAE;AAAb,OAAF,CAAd;AAAA;AAJhB,KAMGA,SAAS,GACVhW,0DAAE,CAAE,SAAF,CADQ,GAEVA,0DAAE,CAAE,kBAAF,CARJ,CADD;AAYA;;AAEcpD,iIAAO,CACrBtB,kEAAU,CAAE,UAAEC,MAAF;AAAA,SAAgB;AAC3Bwa,qBAAiB,EAAExa,MAAM,CAAE,aAAF,CAAN,CAAwBqO,sBAAxB,CAAgD,SAAhD;AADQ,GAAhB;AAAA,CAAF,CADW,EAIrBqM,oEAAS,CAAE;AAAED,WAAS,EAAE;AAAb,CAAF,CAJY,CAAP,CAKZF,mBALY,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBA;;;AAGA;AACA;AACA;AACA;AAEA;;;;AAGA;AACA;AACA;AAEAI,yEAAc,CAAE,WAAF,EAAe;AAC5BrC,QAD4B,oBACnB;AACR,WACC,yEAAC,2DAAD,QACC,yEAAC,gFAAD,QACG;AAAA,UAAIlX,OAAJ,QAAIA,OAAJ;AAAA,aACD,yEAAC,2DAAD,QACC,yEAAC,8DAAD;AACC,YAAI,EAAC,UADN;AAEC,YAAI,EAAC;AAFN,SAIGqD,0DAAE,CAAE,4BAAF,CAJL,CADD,EAOC,yEAAC,0EAAD;AAA+B,gBAAQ,EAAGrD;AAA1C,QAPD,EAQC,yEAAC,+DAAD,OARD,CADC;AAAA,KADH,CADD,CADD;AAkBA;AApB2B,CAAf,CAAd;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;;;AAGA;AACA;AACA;AACA;AAEO,SAASwZ,6BAAT,OAAkE;AAAA,MAAxB1T,SAAwB,QAAxBA,SAAwB;AAAA,MAAbN,QAAa,QAAbA,QAAa;AACxE,SACC,yEAAC,8DAAD;AACC,WAAO,EAAG,mBAAM;AACfA,cAAQ;AACRM,eAAS,CAAE,kCAAF,CAAT;AACA,KAJF;AAKC,YAAQ,EAAGkM,mEAAe,CAAC7J,MAAhB,CAAwB,GAAxB;AALZ,KAOG9E,0DAAE,CAAE,oBAAF,CAPL,CADD;AAWA;AAEcP,mIAAY,CAAE,UAAEC,QAAF,EAAiB;AAAA,kBAGzCA,QAAQ,CAAE,gBAAF,CAHiC;AAAA,MAE5C+C,SAF4C,aAE5CA,SAF4C;;AAK7C,SAAO;AACNA,aAAS,EAATA;AADM,GAAP;AAGA,CAR0B,CAAZ,CAQV0T,6BARU,CAAf;;;;;;;;;;;;;ACtBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AAEA;;;;;;;;AAOO,SAASnV,kBAAT,CAA6B7F,IAA7B,EAAoC;AAC1C,SAAO;AACNwD,QAAI,EAAE,sBADA;AAENxD,QAAI,EAAJA;AAFM,GAAP;AAIA;AAED;;;;;;AAKO,SAASwF,mBAAT,GAA+B;AACrC,SAAO;AACNhC,QAAI,EAAE;AADA,GAAP;AAGA;AAED;;;;;;;;AAOO,SAAS8D,SAAT,CAAoBtH,IAApB,EAA2B;AACjC,SAAO;AACNwD,QAAI,EAAE,YADA;AAENxD,QAAI,EAAJA;AAFM,GAAP;AAIA;AAED;;;;;;AAKO,SAASsL,UAAT,GAAsB;AAC5B,SAAO;AACN9H,QAAI,EAAE;AADA,GAAP;AAGA;AAED;;;;;;;AAMO,SAASyX,kBAAT,GAA8B;AACpC,SAAO;AACNzX,QAAI,EAAE;AADA,GAAP;AAGA;AAED;;;;;;;AAMO,SAAS6I,mBAAT,GAA+B;AACrC,SAAO;AACN7I,QAAI,EAAE;AADA,GAAP;AAGA;AAED;;;;;;AAKO,SAASmF,oBAAT,GAAgC;AACtC,SAAO;AACNnF,QAAI,EAAE;AADA,GAAP;AAGA;AAED;;;;;;;;AAOO,SAAS8L,wBAAT,CAAmCD,SAAnC,EAA+C;AACrD,SAAO;AACN7L,QAAI,EAAE,sBADA;AAEN6L,aAAS,EAATA;AAFM,GAAP;AAIA;AAED;;;;;;;;AAOO,SAASc,uBAAT,CAAkCd,SAAlC,EAA8C;AACpD,SAAO;AACN7L,QAAI,EAAE,qBADA;AAEN6L,aAAS,EAATA;AAFM,GAAP;AAIA;AAED;;;;;;;;AAOO,SAAS6L,+BAAT,CAA0C7L,SAA1C,EAAsD;AAC5D8L,8DAAU,CAAE,iCAAF,EAAqC;AAC9CC,eAAW,EAAE,yBADiC;AAE9CC,UAAM,EAAE,WAFsC;AAG9CC,WAAO,EAAE;AAHqC,GAArC,CAAV;AAKA,SAAOnL,uBAAuB,CAAEd,SAAF,CAA9B;AACA;AAED;;;;;;;;AAOO,SAAS5K,aAAT,CAAwBJ,OAAxB,EAAkC;AACxC,SAAO;AACNb,QAAI,EAAE,gBADA;AAENa,WAAO,EAAPA;AAFM,GAAP;AAIA;AAEM,SAAS0C,gBAAT,CAA2B5B,IAA3B,EAAkC;AACxC,SAAO;AACN3B,QAAI,EAAE,aADA;AAEN2B,QAAI,EAAJA;AAFM,GAAP;AAIA;AAED;;;;;;;;AAOO,SAASkM,sBAAT,CAAiCkK,UAAjC,EAA8C;AACpD,SAAO;AACN/X,QAAI,EAAE,2BADA;AAEN+X,cAAU,EAAVA;AAFM,GAAP;AAIA;AAED;;;;;;;;;AAQO,SAASC,gCAAT,CAA2CC,oBAA3C,EAAkE;AACxE,SAAO;AACNjY,QAAI,EAAE,8BADA;AAENiY,wBAAoB,EAApBA;AAFM,GAAP;AAIA;AAED;;;;;;AAKO,SAASC,qBAAT,GAAiC;AACvC,SAAO;AACNlY,QAAI,EAAE;AADA,GAAP;AAGA;AAED;;;;;;AAKO,SAASmY,qBAAT,GAAiC;AACvC,SAAO;AACNnY,QAAI,EAAE;AADA,GAAP;AAGA;;;;;;;;;;;;;AC5MD;AAAA;AAAO,IAAMoY,oBAAoB,GAAG;AACnCC,YAAU,EAAE,QADuB;AAEnCC,2BAAyB,EAAE,KAFQ;AAGnCC,QAAM,EAAE;AACP,mBAAe;AACdC,YAAM,EAAE;AADM;AADR,GAH2B;AAQnCC,UAAQ,EAAE;AACTC,gBAAY,EAAE;AADL,GARyB;AAWnCC,mBAAiB,EAAE;AAXgB,CAA7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAP;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AACA;AAEA;;;;AAGA;AAMA;AAIA;AACA;AAEA,IAAMC,OAAO,GAAG;AACfC,8BADe,wCACeta,MADf,EACuBua,KADvB,EAC+B;AAC7C;AACA;AACA;AACA;AACA;AACAC,cAAU,CAAE,YAAM;AACjB,UAAMta,QAAQ,GAAG7B,8DAAM,CAAE,aAAF,CAAN,CAAwB0E,kBAAxB,EAAjB;;AACA,UAAKhC,MAAM,CAAC0Z,SAAP,CAAiBC,IAAjB,KAA0Bxa,QAA/B,EAA0C;AACzCa,cAAM,CAAC0Z,SAAP,CAAiBE,mBAAjB,CAAsCza,QAAtC;AACA;AACD,KALS,CAAV;AAOA,QAAI0a,aAAa,GAAGvc,8DAAM,CAAE,aAAF,CAAN,CAAwBwc,YAAxB,EAApB;AACA,QAAIC,iBAAiB,GAAGzc,8DAAM,CAAE,aAAF,CAAN,CAAwB0c,gBAAxB,EAAxB,CAd6C,CAe7C;;AACAC,qEAAS,CAAE,YAAM;AAChB,UAAMH,YAAY,GAAGxc,8DAAM,CAAE,aAAF,CAAN,CAAwBwc,YAAxB,EAArB;AACA,UAAME,gBAAgB,GAAG1c,8DAAM,CAAE,aAAF,CAAN,CAAwB0c,gBAAxB,EAAzB;AACA,UAAME,kBAAkB,GAAG5c,8DAAM,CAAE,gBAAF,CAAN,CAA2B6F,YAA3B,EAA3B,CAHgB,CAKhB;;AACA,UAAMgX,0BAA0B,GAC/BD,kBAAkB,IAClBL,aADA,IAEA,CAAEE,iBAFF,IAGA,CAAED,YAHF,IAIA,CAAEE,gBALH,CANgB,CAchB;;AACAH,mBAAa,GAAGC,YAAhB;AACAC,uBAAiB,GAAGC,gBAApB;;AAEA,UAAKG,0BAAL,EAAkC;AACjCX,aAAK,CAAC/X,QAAN,CAAgBmX,sEAAqB,EAArC;AACA;AACD,KArBQ,CAAT;AAsBA,GAvCc;AAwCfwB,0BAxCe,oCAwCWnb,MAxCX,EAwCmBua,KAxCnB,EAwC2B;AACzC,QAAM/Z,KAAK,GAAG+Z,KAAK,CAACa,QAAN,EAAd,CADyC,CAGzC;AACA;;AACA,QAAMrb,IAAI,GAAG1B,8DAAM,CAAE,aAAF,CAAN,CAAwBkD,cAAxB,CAAwCf,KAAxC,CAAb;AACA,QAAM6a,cAAc,GAAG,CACtBtb,IAAI,CAACub,cAAL,GAAsB,CAAE,gBAAF,EAAoBvb,IAAI,CAACub,cAAzB,CAAtB,GAAkE,KAD5C,EAEtBvb,IAAI,CAACwb,WAAL,GAAmB,CAAE,aAAF,EAAiBxb,IAAI,CAACwb,WAAtB,CAAnB,GAAyD,KAFnC,EAGtBxb,IAAI,CAACyb,MAAL,GAAc,CAAE,QAAF,EAAYzb,IAAI,CAACyb,MAAjB,CAAd,GAA0C,KAHpB,EAItB,CAAE,aAAF,EAAiBzb,IAAI,CAAC0b,MAAtB,CAJsB,EAKrBC,MALqB,CAKbC,OALa,CAAvB,CANyC,CAazC;;AACA,QAAMC,YAAY,GAAG,IAAI7a,MAAM,CAAC8a,QAAX,CAAqBha,QAAQ,CAACkK,aAAT,CAAwB,oBAAxB,CAArB,CAArB;AACA,QAAM+P,eAAe,IACpBF,YADoB,sGAEjBG,4EAAyB,CAAEvb,KAAF,CAAzB,CAAmCzC,GAAnC,CAAwC,UAAEiD,QAAF;AAAA,aAC1C,IAAID,MAAM,CAAC8a,QAAX,CAAqBG,6EAAmB,CAAEhb,QAAF,CAAxC,CAD0C;AAAA,KAAxC,CAFiB,EAArB,CAfyC,CAsBzC;;AACA,QAAMib,QAAQ,GAAGC,qDAAM,CAAEJ,eAAF,EAAmB,UAAEK,IAAF,EAAQC,eAAR,EAA6B;AAAA;AAAA;AAAA;;AAAA;AACtE,6BAA8BA,eAA9B,8HAAgD;AAAA;AAAA,cAAlCC,GAAkC;AAAA,cAA7B7X,KAA6B;;AAC/C2X,cAAI,CAACG,MAAL,CAAaD,GAAb,EAAkB7X,KAAlB;AACA;AAHqE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAItE,aAAO2X,IAAP;AACA,KALsB,EAKpB,IAAIpb,MAAM,CAAC8a,QAAX,EALoB,CAAvB;AAMAR,kBAAc,CAACkB,OAAf,CAAwB;AAAA;AAAA,UAAIF,GAAJ;AAAA,UAAS7X,KAAT;;AAAA,aAAsByX,QAAQ,CAACK,MAAT,CAAiBD,GAAjB,EAAsB7X,KAAtB,CAAtB;AAAA,KAAxB,EA7ByC,CA+BzC;;AACAgY,+DAAQ,CAAE;AACTC,SAAG,EAAE1b,MAAM,CAAC2b,aADH;AAETC,YAAM,EAAE,MAFC;AAGT7a,UAAI,EAAEma,QAHG;AAITW,WAAK,EAAE;AAJE,KAAF,CAAR,CAMEC,IANF,CAMQ;AAAA,aAAMtC,KAAK,CAAC/X,QAAN,CAAgBoX,sEAAqB,EAArC,CAAN;AAAA,KANR;AAOA,GA/Ec;AAgFfkD,aAhFe,uBAgFF9c,MAhFE,EAgFO;AACrB;AACA,QAAKA,MAAM,CAACoD,IAAP,KAAgB,QAArB,EAAgC;AAC/BZ,sEAAQ,CAAE,aAAF,CAAR,CAA0B2O,kBAA1B;AACA;;AAED,QAAM4L,OAAO,GAAG/c,MAAM,CAACoD,IAAP,KAAgB,QAAhB,GAA2BN,0DAAE,CAAE,wBAAF,CAA7B,GAA4DA,0DAAE,CAAE,sBAAF,CAA9E;AACAgP,iEAAK,CAAEiL,OAAF,EAAW,WAAX,CAAL;AACA,GAxFc;AAyFfC,MAzFe,gBAyFT/I,CAzFS,EAyFNsG,KAzFM,EAyFE;AAChB;AACAS,qEAAS,CAAEiC,gEAAgB,CAC1B;AAAA,aAAM,CAAC,CAAE5e,8DAAM,CAAE,aAAF,CAAN,CAAwB+F,sBAAxB,EAAT;AAAA,KAD0B,EAE1B,UAAED,iBAAF,EAAyB;AACxB,UAAK,CAAE9F,8DAAM,CAAE,gBAAF,CAAN,CAA2BsF,qBAA3B,EAAP,EAA4D;AAC3D;AACA;;AACD,UAAKQ,iBAAL,EAAyB;AACxBoW,aAAK,CAAC/X,QAAN,CAAgBsB,mEAAkB,CAAE,iBAAF,CAAlC;AACA,OAFD,MAEO;AACNyW,aAAK,CAAC/X,QAAN,CAAgBsB,mEAAkB,CAAE,oBAAF,CAAlC;AACA;AACD,KAXyB,CAAlB,CAAT;;AAcA,QAAMoZ,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,aAAM7e,8DAAM,CAAE,eAAF,CAAN,CAA0B8e,eAA1B,CAA2C,UAA3C,CAAN;AAAA,KAAzB;;AACA,QAAMC,aAAa,GAAK,YAAM;AAC7B;AACA;AACA,UAAIC,uBAAuB,GAAG,IAA9B;AACA,aAAO,UAAEC,OAAF,EAAe;AACrB,YAAKA,OAAL,EAAe;AACdD,iCAAuB,GAAGrX,8EAA2B,CAAEuU,KAAK,CAACa,QAAN,EAAF,CAArD;;AACA,cAAKiC,uBAAL,EAA+B;AAC9B9C,iBAAK,CAAC/X,QAAN,CAAgBiB,oEAAmB,EAAnC;AACA;AACD,SALD,MAKO,IAAK4Z,uBAAuB,IAAI,CAAErX,8EAA2B,CAAEuU,KAAK,CAACa,QAAN,EAAF,CAA7D,EAAoF;AAC1Fb,eAAK,CAAC/X,QAAN,CAAgBsB,mEAAkB,CAAEuZ,uBAAF,CAAlC;AACA;AACD,OATD;AAUA,KAdqB,EAAtB;;AAgBAD,iBAAa,CAAEF,gBAAgB,EAAlB,CAAb,CAjCgB,CAmChB;AACA;;AACAlC,qEAAS,CAAEiC,gEAAgB,CAAEC,gBAAF,EAAoBE,aAApB,CAAlB,CAAT;AACA;AA/Hc,CAAhB;AAmIe/C,sEAAf;;;;;;;;;;;;;AChKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AACA;AAEA,IAAME,KAAK,GAAGgD,qEAAa,CAAE,gBAAF,EAAoB;AAC9CC,SAAO,EAAPA,gDAD8C;AAE9CC,SAAO,EAAPA,qCAF8C;AAG9CC,WAAS,EAATA,uCAH8C;AAI9CC,SAAO,EAAE,CAAE,aAAF;AAJqC,CAApB,CAA3B;AAOAC,4DAAgB,CAAErD,KAAF,CAAhB;AACAA,KAAK,CAAC/X,QAAN,CAAgB;AAAEf,MAAI,EAAE;AAAR,CAAhB;AAEe8Y,oEAAf;;;;;;;;;;;;;;;;;;;;;;ACvBA;;;AAGA;AACA;AAEA;;;;AAGA;AAEA;;;;;;;;AAOA,SAASqD,gBAAT,CAA2BrD,KAA3B,EAAmC;AAClC,MAAMsD,WAAW,GAAG,CACnBC,2CAAI,CAAEzD,gDAAF,CADe,CAApB;;AAIA,MAAI0D,gBAAgB,GAAG,4BAAM;AAC5B,UAAM,IAAIC,KAAJ,CACL,oEACA,yDAFK,CAAN;AAIA,GALD;;AAMA,MAAIC,KAAK,GAAG,EAAZ;AAEA,MAAMC,aAAa,GAAG;AACrB9C,YAAQ,EAAEb,KAAK,CAACa,QADK;AAErB5Y,YAAQ,EAAE;AAAA,aAAeub,gBAAgB,MAAhB,mBAAf;AAAA;AAFW,GAAtB;AAIAE,OAAK,GAAGJ,WAAW,CAAC9f,GAAZ,CAAiB,UAAEogB,UAAF;AAAA,WAAkBA,UAAU,CAAED,aAAF,CAA5B;AAAA,GAAjB,CAAR;AACAH,kBAAgB,GAAGK,gDAAS,MAAT,sGAAcH,KAAd,GAAuB1D,KAAK,CAAC/X,QAA7B,CAAnB;AAEA+X,OAAK,CAAC/X,QAAN,GAAiBub,gBAAjB;AACA,SAAOxD,KAAP;AACA;;AAEcqD,+EAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1CA;;;AAGA;AAEA;;;;AAGA;AAEA;;;;AAGA;AAEA;;;;;;AAKO,IAAMS,8BAA8B,GAAG,oBAAvC;AAEP;;;;;;;;;;;;;;;;;;;;AAmBO,IAAMC,WAAW,GAAGC,uEAAe,CAAE;AAC3CxE,2BAD2C,uCACQ;AAAA,QAAxBvZ,KAAwB,uEAAhB,KAAgB;AAAA,QAATR,MAAS;;AAClD,YAASA,MAAM,CAACyB,IAAhB;AACC,WAAK,sBAAL;AACA,WAAK,uBAAL;AACC,eAAOzB,MAAM,CAACyB,IAAP,KAAgB,uBAAvB;AAHF;;AAMA,WAAOjB,KAAP;AACA,GAT0C;AAU3CwZ,QAV2C,oBAUW;AAAA,QAA9CxZ,KAA8C,uEAAtCqZ,8DAAoB,CAACG,MAAiB;AAAA,QAATha,MAAS;;AACrD,YAASA,MAAM,CAACyB,IAAhB;AACC,WAAK,sBAAL;AAA6B;AAAA,cACpB6L,SADoB,GACNtN,MADM,CACpBsN,SADoB;AAE5B,6GACI9M,KADJ,gGAEG8M,SAFH,8FAGK9M,KAAK,CAAE8M,SAAF,CAHV;AAIEkR,mBAAO,EAAE,CAAE3b,kDAAG,CAAErC,KAAF,EAAS,CAAE8M,SAAF,EAAa,SAAb,CAAT,EAAmC,IAAnC;AAJhB;AAOA;;AAED,WAAK,qBAAL;AAA4B;AAAA,cACnBA,UADmB,GACLtN,MADK,CACnBsN,SADmB;AAE3B,cAAMjI,MAAM,GAAG7E,KAAK,CAAE8M,UAAF,CAAL,KAAuB,IAAvB,IAA+BzK,kDAAG,CAAErC,KAAF,EAAS,CAAE8M,UAAF,EAAa,QAAb,CAAT,EAAkC,KAAlC,CAAjD;AACA,6GACI9M,KADJ,gGAEG8M,UAFH,8FAGK9M,KAAK,CAAE8M,UAAF,CAHV;AAIE2M,kBAAM,EAAE,CAAE5U;AAJZ;AAOA;AAtBF;;AAyBA,WAAO7E,KAAP;AACA,GArC0C;AAsC3C0Z,UAtC2C,sBAsCe;AAAA,QAAhD1Z,KAAgD,uEAAxCqZ,8DAAoB,CAACK,QAAmB;AAAA,QAATla,MAAS;;AACzD,QAAKA,MAAM,CAACyB,IAAP,KAAgB,gBAArB,EAAwC;AACvC,yGACIjB,KADJ,gGAEGR,MAAM,CAACsC,OAFV,EAEqB,CAAE9B,KAAK,CAAER,MAAM,CAACsC,OAAT,CAF5B;AAIA;;AAED,WAAO9B,KAAP;AACA,GA/C0C;AAgD3CsZ,YAhD2C,wBAgDmB;AAAA,QAAlDtZ,KAAkD,uEAA1CqZ,8DAAoB,CAACC,UAAqB;AAAA,QAAT9Z,MAAS;;AAC7D,QAAKA,MAAM,CAACyB,IAAP,KAAgB,aAArB,EAAqC;AACpC,aAAOzB,MAAM,CAACoD,IAAd;AACA;;AAED,WAAO5C,KAAP;AACA,GAtD0C;AAuD3C4Z,mBAvD2C,+BAuDiC;AAAA,QAAzD5Z,KAAyD,uEAAjDqZ,8DAAoB,CAACO,iBAA4B;AAAA,QAATpa,MAAS;;AAC3E,QAAKA,MAAM,CAACyB,IAAP,KAAgB,2BAArB,EAAmD;AAClD,yGACIjB,KADJ,gGAEGR,MAAM,CAACwZ,UAFV,EAEwB,CAAE3W,kDAAG,CAAErC,KAAF,EAAS,CAAER,MAAM,CAACwZ,UAAT,CAAT,EAAgC,IAAhC,CAF7B;AAIA;;AACD,WAAOhZ,KAAP;AACA;AA/D0C,CAAF,CAAnC;AAkEP;;;;;;;;;;AASO,SAASie,oBAAT,GAAgF;AAAA,MAAjDje,KAAiD,uEAAzC6d,8BAAyC;AAAA,MAATre,MAAS;;AACtF,UAASA,MAAM,CAACyB,IAAhB;AACC,SAAK,sBAAL;AACC,aAAOzB,MAAM,CAAC/B,IAAd;AAFF;;AAKA,SAAOuC,KAAP;AACA;AAEM,SAASke,KAAT,GAA6C;AAAA,MAA7Ble,KAA6B,uEAArB,UAAqB;AAAA,MAATR,MAAS;;AACnD,UAASA,MAAM,CAACyB,IAAhB;AACC,SAAK,kBAAL;AACC,aAAOzB,MAAM,CAAC0e,KAAd;AAFF;;AAKA,SAAOle,KAAP;AACA;AAED;;;;;;;;;AAQO,SAASme,WAAT,GAA6C;AAAA,MAAvBne,KAAuB,uEAAf,IAAe;AAAA,MAATR,MAAS;;AACnD,UAASA,MAAM,CAACyB,IAAhB;AACC,SAAK,YAAL;AACC,aAAOzB,MAAM,CAAC/B,IAAd;;AACD,SAAK,aAAL;AACC,aAAO,IAAP;AAJF;;AAOA,SAAOuC,KAAP;AACA;AAEM,SAASoe,oBAAT,GAAuD;AAAA,MAAxBpe,KAAwB,uEAAhB,KAAgB;AAAA,MAATR,MAAS;;AAC7D,UAASA,MAAM,CAACyB,IAAhB;AACC,SAAK,sBAAL;AACC,aAAO,IAAP;;AACD,SAAK,uBAAL;AACC,aAAO,KAAP;;AACD,SAAK,wBAAL;AACC,aAAO,CAAEjB,KAAT;AANF;;AAQA,SAAOA,KAAP;AACA;AAED;;;;;;;;;;;AAUO,SAAS6D,iBAAT,GAAoD;AAAA,MAAxB7D,KAAwB,uEAAhB,KAAgB;AAAA,MAATR,MAAS;;AAC1D,UAASA,MAAM,CAACyB,IAAhB;AACC,SAAK,0BAAL;AACC,aAAO,IAAP;;AACD,SAAK,0BAAL;AACC,aAAO,KAAP;;AACD;AACC,aAAOjB,KAAP;AANF;AAQA;AAED;;;;;;;;;AAQO,SAASqe,gBAAT,GAAgD;AAAA,MAArBre,KAAqB,uEAAb,EAAa;AAAA,MAATR,MAAS;;AACtD,UAASA,MAAM,CAACyB,IAAhB;AACC,SAAK,8BAAL;AACC,aAAOzB,MAAM,CAAC0Z,oBAAd;AAFF;;AAKA,SAAOlZ,KAAP;AACA;AAED,IAAM2K,SAAS,GAAGoT,uEAAe,CAAE;AAClC1a,UAAQ,EAAEQ,iBADwB;AAElCya,WAAS,EAAED;AAFuB,CAAF,CAAjC;AAKeN,sIAAe,CAAE;AAC/BD,aAAW,EAAXA,WAD+B;AAE/BG,sBAAoB,EAApBA,oBAF+B;AAG/BC,OAAK,EAALA,KAH+B;AAI/BC,aAAW,EAAXA,WAJ+B;AAK/BC,sBAAoB,EAApBA,oBAL+B;AAM/BzT,WAAS,EAATA;AAN+B,CAAF,CAA9B;;;;;;;;;;;;;AChNA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AAEA;;;;AAGA;AAEA;;;;;;;;AAOO,SAAS7H,aAAT,CAAwB9C,KAAxB,EAAgC;AACtC,SAAOue,aAAa,CAAEve,KAAF,EAAS,YAAT,EAAuB,QAAvB,CAApB;AACA;AAED;;;;;;;;AAOO,SAASmD,qBAAT,CAAgCnD,KAAhC,EAAwC;AAC9C,MAAMie,oBAAoB,GAAGzY,2BAA2B,CAAExF,KAAF,CAAxD;AAEA,SAAOwe,uDAAQ,CAAE,CAAE,oBAAF,EAAwB,iBAAxB,CAAF,EAA+CP,oBAA/C,CAAf;AACA;AAED;;;;;;;AAMO,SAAS1T,qBAAT,CAAgCvK,KAAhC,EAAwC;AAC9C,MAAMie,oBAAoB,GAAGzY,2BAA2B,CAAExF,KAAF,CAAxD;AACA,SAAO,CAAC,CAAEie,oBAAH,IAA2B,CAAE9a,qBAAqB,CAAEnD,KAAF,CAAzD;AACA;AAED;;;;;;;;;;;;;;;AAcO,SAASwF,2BAAT,CAAsCxF,KAAtC,EAA8C;AACpD;AACA,MAAMye,WAAW,GAAGF,aAAa,CAAEve,KAAF,EAAS,2BAAT,EAAsC,KAAtC,CAAjC;;AACA,MAAKye,WAAL,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,SAAOze,KAAK,CAACie,oBAAb;AACA;AAED;;;;;;;;AAOO,SAASS,cAAT,CAAyB1e,KAAzB,EAAiC;AACvC,SAAOA,KAAK,CAAC8d,WAAb;AACA;AAED;;;;;;;;;AAQO,SAASS,aAAT,CAAwBve,KAAxB,EAA+B2e,aAA/B,EAA8CC,YAA9C,EAA6D;AACnE,MAAMd,WAAW,GAAGY,cAAc,CAAE1e,KAAF,CAAlC;AACA,MAAMgE,KAAK,GAAG8Z,WAAW,CAAEa,aAAF,CAAzB;AACA,SAAO3a,KAAK,KAAK7E,SAAV,GAAsByf,YAAtB,GAAqC5a,KAA5C;AACA;AAED;;;;;;;;AAOO,SAASZ,sBAAT,CAAiCpD,KAAjC,EAAyC;AAC/C,SAAOA,KAAK,CAACoe,oBAAb;AACA;AAED;;;;;;;;;;AASO,SAASjT,oBAAT,CAA+BnL,KAA/B,EAAsC8M,SAAtC,EAAkD;AACxD,MAAM0M,MAAM,GAAG+E,aAAa,CAAEve,KAAF,EAAS,QAAT,CAA5B;AACA,SAAOqC,kDAAG,CAAEmX,MAAF,EAAU,CAAE1M,SAAF,EAAa,SAAb,CAAV,EAAoC,IAApC,CAAV;AACA;AAED;;;;;;;;;;AASO,SAAS+R,0BAAT,CAAqC7e,KAArC,EAA4Cke,KAA5C,EAAoD;AAC1DtF,8DAAU,CAAE,4BAAF,EAAgC;AACzCC,eAAW,EAAE,sBAD4B;AAEzCC,UAAM,EAAE,WAFiC;AAGzCC,WAAO,EAAE;AAHgC,GAAhC,CAAV;AAKA,SAAO5N,oBAAoB,CAAEnL,KAAF,EAASke,KAAT,CAA3B;AACA;AAED;;;;;;;;;;AASO,SAASvQ,mBAAT,CAA8B3N,KAA9B,EAAqC8M,SAArC,EAAiD;AACvD,MAAM0M,MAAM,GAAG+E,aAAa,CAAEve,KAAF,EAAS,QAAT,CAA5B;AACA,SAAOwZ,MAAM,CAAE1M,SAAF,CAAN,KAAwB,IAAxB,IAAgCzK,kDAAG,CAAEmX,MAAF,EAAU,CAAE1M,SAAF,EAAa,QAAb,CAAV,EAAmC,KAAnC,CAA1C;AACA;AAED;;;;;;;;;AAQO,SAASpE,aAAT,CAAwB1I,KAAxB,EAA+B8e,SAA/B,EAA2C;AACjD,SAAO9e,KAAK,CAACme,WAAN,KAAsBW,SAA7B;AACA;AAED;;;;;;;;;AAQO,SAASpd,eAAT,CAA0B1B,KAA1B,EAAiC8B,OAAjC,EAA2C;AACjD,SAAO,CAAC,CAAE9B,KAAK,CAAC8d,WAAN,CAAkBpE,QAAlB,CAA4B5X,OAA5B,CAAV;AACA;AAED;;;;;;;;;;AASO,SAAS+M,kBAAT,CAA6B7O,KAA7B,EAAoCgZ,UAApC,EAAiD;AACvD,MAAMY,iBAAiB,GAAG2E,aAAa,CAAEve,KAAF,EAAS,mBAAT,EAA8B,EAA9B,CAAvC;AAEA,SAAOqC,kDAAG,CAAEuX,iBAAF,EAAqB,CAAEZ,UAAF,CAArB,EAAqC,IAArC,CAAV;AACA;AAED;;;;;;;;AAOO,IAAMuC,yBAAyB,GAAGwD,sDAAc,CACtD,UAAE/e,KAAF,EAAa;AACZ,SAAOgf,MAAM,CAACC,IAAP,CAAajf,KAAK,CAAC2K,SAAN,CAAgB2T,SAA7B,EACLpD,MADK,CACG,UAAE1a,QAAF;AAAA,WAAgB0e,uBAAuB,CAAElf,KAAF,EAASQ,QAAT,CAAvC;AAAA,GADH,CAAP;AAEA,CAJqD,EAKtD,UAAER,KAAF;AAAA,SAAa,CACZA,KAAK,CAAC2K,SAAN,CAAgB2T,SADJ,CAAb;AAAA,CALsD,CAAhD;AAUP;;;;;;;;;AAQO,SAAS1T,wBAAT,CAAmC5K,KAAnC,EAA0CQ,QAA1C,EAAqD;AAC3D,SACC0e,uBAAuB,CAAElf,KAAF,EAASQ,QAAT,CAAvB,IACA2e,mDAAI,CAAEtU,uBAAuB,CAAE7K,KAAF,EAASQ,QAAT,CAAzB,EAA8C,gBAAc;AAAA,QAAVI,EAAU,QAAVA,EAAU;AAC/D,WAAOuK,oBAAoB,CAAEnL,KAAF,qBAAsBY,EAAtB,EAA3B;AACA,GAFG,CAFL;AAMA;AAED;;;;;;;;;;AASO,SAASse,uBAAT,CAAkClf,KAAlC,EAAyCQ,QAAzC,EAAoD;AAC1D,MAAMmK,SAAS,GAAGE,uBAAuB,CAAE7K,KAAF,EAASQ,QAAT,CAAzC;AACA,SAAO,CAAC,CAAEmK,SAAH,IAAgBA,SAAS,CAACvM,MAAV,KAAqB,CAA5C;AACA;AAED;;;;;;;;;AAQO,SAASyM,uBAAT,CAAkC7K,KAAlC,EAAyCQ,QAAzC,EAAoD;AAC1D,SAAOR,KAAK,CAAC2K,SAAN,CAAgB2T,SAAhB,CAA2B9d,QAA3B,CAAP;AACA;AAED;;;;;;;;AAOO,IAAM2L,eAAe,GAAG4S,sDAAc,CAC5C,UAAE/e,KAAF,EAAa;AACZ,SAAOof,sDAAO,CAAEC,qDAAM,CAAErf,KAAK,CAAC2K,SAAN,CAAgB2T,SAAlB,CAAR,CAAd;AACA,CAH2C,EAI5C,UAAEte,KAAF;AAAA,SAAa,CACZA,KAAK,CAAC2K,SAAN,CAAgB2T,SADJ,CAAb;AAAA,CAJ4C,CAAtC;AASP;;;;;;;;AAOO,SAAS5a,YAAT,CAAuB1D,KAAvB,EAA+B;AACrC,SAAOub,yBAAyB,CAAEvb,KAAF,CAAzB,CAAmC5B,MAAnC,GAA4C,CAAnD;AACA;AAED;;;;;;;;AAOO,SAASyF,iBAAT,CAA4B7D,KAA5B,EAAoC;AAC1C,SAAOA,KAAK,CAAC2K,SAAN,CAAgBtH,QAAvB;AACA;;;;;;;;;;;;;AC/RD;AAAA;AAAA;;;;;;;;AAQO,IAAMoZ,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAE6C,QAAF,EAAYC,QAAZ,EAA0B;AACzD,MAAIC,aAAa,GAAGF,QAAQ,EAA5B;AACA,SAAO,YAAM;AACZ,QAAMG,aAAa,GAAGH,QAAQ,EAA9B;;AACA,QAAKG,aAAa,KAAKD,aAAvB,EAAuC;AACtCA,mBAAa,GAAGC,aAAhB;AACAF,cAAQ,CAAEE,aAAF,CAAR;AACA;AACD,GAND;AAOA,CATM;;;;;;;;;;;;;ACRP;AAAA;AAAA;;;;;;;;AAQO,IAAMjE,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAEhb,QAAF,EAAgB;AAClD,MAAMkf,IAAI,GAAGre,QAAQ,CAACkK,aAAT,yCAA0D/K,QAA1D,gCAA0FA,QAA1F,EAAb;;AACA,MAAKkf,IAAL,EAAY;AACX,WAAOA,IAAP;AACA;;AAED,SAAOre,QAAQ,CAACkK,aAAT,CAAwB,kCAAkC/K,QAA1D,CAAP;AACA,CAPM;;;;;;;;;;;;ACRP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,EAAE,UAAU,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAEN;AACF,CAAC;;;;;;;;;;;;;ACnDY;;AAEb;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;AC/CA;AAAa;;AAEb;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA,YAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;AACA;AACA,YAAY,SAAS;AACrB;AACe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA,cAAc,uBAAuB;AACrC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,KAAK;AACjB;AACA,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;ACjRD,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,6CAA6C,EAAE,I;;;;;;;;;;;ACA5D,aAAa,uCAAuC,EAAE,I;;;;;;;;;;;ACAtD,aAAa,2CAA2C,EAAE,I;;;;;;;;;;;ACA1D,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,2CAA2C,EAAE,I;;;;;;;;;;;ACA1D,aAAa,uCAAuC,EAAE,I;;;;;;;;;;;ACAtD,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,sCAAsC,EAAE,I;;;;;;;;;;;ACArD,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,oCAAoC,EAAE,I;;;;;;;;;;;ACAnD,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,oCAAoC,EAAE,I;;;;;;;;;;;ACAnD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,iCAAiC,EAAE,I","file":"edit-post.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./node_modules/@wordpress/edit-post/build-module/index.js\");\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","import defineProperty from \"./defineProperty\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","/**\n * External dependencies\n */\nimport { isEmpty, map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\n\nconst { Fill: PluginBlockSettingsMenuGroup, Slot } = createSlotFill( 'PluginBlockSettingsMenuGroup' );\n\nconst PluginBlockSettingsMenuGroupSlot = ( { fillProps, selectedBlocks } ) => {\n\tselectedBlocks = map( selectedBlocks, ( block ) => block.name );\n\treturn (\n\t\t<Slot fillProps={ { ...fillProps, selectedBlocks } } >\n\t\t\t{ ( fills ) => ! isEmpty( fills ) && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div className=\"editor-block-settings-menu__separator\" />\n\t\t\t\t\t{ fills }\n\t\t\t\t</Fragment>\n\t\t\t) }\n\t\t</Slot>\n\t);\n};\n\nPluginBlockSettingsMenuGroup.Slot = withSelect( ( select, { fillProps: { clientIds } } ) => ( {\n\tselectedBlocks: select( 'core/editor' ).getBlocksByClientId( clientIds ),\n} ) )( PluginBlockSettingsMenuGroupSlot );\n\nexport default PluginBlockSettingsMenuGroup;\n","/**\n * External dependencies\n */\nimport { difference } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { IconButton } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PluginBlockSettingsMenuGroup from './plugin-block-settings-menu-group';\n\nconst isEverySelectedBlockAllowed = ( selected, allowed ) => difference( selected, allowed ).length === 0;\n\n/**\n * Plugins may want to add an item to the menu either for every block\n * or only for the specific ones provided in the `allowedBlocks` component property.\n *\n * If there are multiple blocks selected the item will be rendered if every block\n * is of one allowed type (not necessarily the same).\n *\n * @param {string[]} selectedBlockNames Array containing the names of the blocks selected\n * @param {string[]} allowedBlockNames Array containing the names of the blocks allowed\n * @return {boolean} Whether the item will be rendered or not.\n */\nconst shouldRenderItem = ( selectedBlockNames, allowedBlockNames ) => ! Array.isArray( allowedBlockNames ) ||\n\tisEverySelectedBlockAllowed( selectedBlockNames, allowedBlockNames );\n\nconst PluginBlockSettingsMenuItem = ( { allowedBlocks, icon, label, onClick, small, role } ) => (\n\t<PluginBlockSettingsMenuGroup>\n\t\t{ ( { selectedBlocks, onClose } ) => {\n\t\t\tif ( ! shouldRenderItem( selectedBlocks, allowedBlocks ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn ( <IconButton\n\t\t\t\tclassName=\"editor-block-settings-menu__control\"\n\t\t\t\tonClick={ compose( onClick, onClose ) }\n\t\t\t\ticon={ icon || 'admin-plugins' }\n\t\t\t\tlabel={ small ? label : undefined }\n\t\t\t\trole={ role }\n\t\t\t>\n\t\t\t\t{ ! small && label }\n\t\t\t</IconButton> );\n\t\t} }\n\t</PluginBlockSettingsMenuGroup>\n);\n\nexport default PluginBlockSettingsMenuItem;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Returns the Post's Edit URL.\n *\n * @param {number} postId Post ID.\n *\n * @return {string} Post edit URL.\n */\nexport function getPostEditURL( postId ) {\n\treturn addQueryArgs( 'post.php', { post: postId, action: 'edit' } );\n}\n\n/**\n * Returns the Post's Trashed URL.\n *\n * @param {number} postId Post ID.\n * @param {string} postType Post Type.\n *\n * @return {string} Post trashed URL.\n */\nexport function getPostTrashedURL( postId, postType ) {\n\treturn addQueryArgs( 'edit.php', {\n\t\ttrashed: 1,\n\t\tpost_type: postType,\n\t\tids: postId,\n\t} );\n}\n\nexport class BrowserURL extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\thistoryId: null,\n\t\t};\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { postId, postStatus, postType } = this.props;\n\t\tconst { historyId } = this.state;\n\n\t\tif ( postStatus === 'trash' ) {\n\t\t\tthis.setTrashURL( postId, postType );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ( postId !== prevProps.postId || postId !== historyId ) && postStatus !== 'auto-draft' ) {\n\t\t\tthis.setBrowserURL( postId );\n\t\t}\n\t}\n\n\t/**\n\t * Navigates the browser to the post trashed URL to show a notice about the trashed post.\n\t *\n\t * @param {number} postId Post ID.\n\t * @param {string} postType Post Type.\n\t */\n\tsetTrashURL( postId, postType ) {\n\t\twindow.location.href = getPostTrashedURL( postId, postType );\n\t}\n\n\t/**\n\t * Replaces the browser URL with a post editor link for the given post ID.\n\t *\n\t * Note it is important that, since this function may be called when the\n\t * editor first loads, the result generated `getPostEditURL` matches that\n\t * produced by the server. Otherwise, the URL will change unexpectedly.\n\t *\n\t * @param {number} postId Post ID for which to generate post editor URL.\n\t */\n\tsetBrowserURL( postId ) {\n\t\twindow.history.replaceState(\n\t\t\t{ id: postId },\n\t\t\t'Post ' + postId,\n\t\t\tgetPostEditURL( postId )\n\t\t);\n\n\t\tthis.setState( () => ( {\n\t\t\thistoryId: postId,\n\t\t} ) );\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getCurrentPost } = select( 'core/editor' );\n\tconst { id, status, type } = getCurrentPost();\n\n\treturn {\n\t\tpostId: id,\n\t\tpostStatus: status,\n\t\tpostType: type,\n\t};\n} )( BrowserURL );\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\n\nclass FullscreenMode extends Component {\n\tcomponentDidMount() {\n\t\tthis.sync();\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( this.props.isActive !== prevProps.isActive ) {\n\t\t\tthis.sync();\n\t\t}\n\t}\n\n\tsync() {\n\t\tconst { isActive } = this.props;\n\t\tif ( isActive ) {\n\t\t\tdocument.body.classList.add( 'is-fullscreen-mode' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-fullscreen-mode' );\n\t\t}\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nexport default withSelect( ( select ) => ( {\n\tisActive: select( 'core/edit-post' ).isFeatureActive( 'fullscreenMode' ),\n} ) )( FullscreenMode );\n","/**\n * WordPress Dependencies\n */\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { MenuItem } from '@wordpress/components';\n\nfunction FeatureToggle( { onToggle, isActive, label, info } ) {\n\treturn (\n\t\t<MenuItem\n\t\t\ticon={ isActive && 'yes' }\n\t\t\tisSelected={ isActive }\n\t\t\tonClick={ onToggle }\n\t\t\trole=\"menuitemcheckbox\"\n\t\t\tlabel={ label }\n\t\t\tinfo={ info }\n\t\t>\n\t\t\t{ label }\n\t\t</MenuItem>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { feature } ) => ( {\n\t\tisActive: select( 'core/edit-post' ).isFeatureActive( feature ),\n\t} ) ),\n\twithDispatch( ( dispatch, ownProps ) => ( {\n\t\tonToggle() {\n\t\t\tdispatch( 'core/edit-post' ).toggleFeature( ownProps.feature );\n\t\t\townProps.onToggle();\n\t\t},\n\t} ) ),\n] )( FeatureToggle );\n","/**\n * External Dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress Dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { IconButton, Toolbar } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { addQueryArgs } from '@wordpress/url';\n\nfunction FullscreenModeClose( { isActive, postType } ) {\n\tif ( ! isActive || ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Toolbar className=\"edit-post-fullscreen-mode-close__toolbar\">\n\t\t\t<IconButton\n\t\t\t\ticon=\"exit\"\n\t\t\t\thref={ addQueryArgs( 'edit.php', { post_type: postType.slug } ) }\n\t\t\t\tlabel={ get(\n\t\t\t\t\tpostType,\n\t\t\t\t\t[ 'labels', 'view_items' ],\n\t\t\t\t\t__( 'View Posts' )\n\t\t\t\t) }\n\t\t\t/>\n\t\t</Toolbar>\n\t);\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getCurrentPostType } = select( 'core/editor' );\n\tconst { isFeatureActive } = select( 'core/edit-post' );\n\tconst { getPostType } = select( 'core' );\n\n\treturn {\n\t\tisActive: isFeatureActive( 'fullscreenMode' ),\n\t\tpostType: getPostType( getCurrentPostType() ),\n\t};\n} )( FullscreenModeClose );\n","/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { DotTip } from '@wordpress/nux';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInserter,\n\tBlockToolbar,\n\tTableOfContents,\n\tEditorHistoryRedo,\n\tEditorHistoryUndo,\n\tNavigableToolbar,\n\tBlockNavigationDropdown,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport FullscreenModeClose from '../fullscreen-mode-close';\n\nfunction HeaderToolbar( { hasFixedToolbar, isLargeViewport, mode } ) {\n\tconst toolbarAriaLabel = hasFixedToolbar ? __( 'Document and block tools' ) : __( 'Document tools' );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tclassName=\"edit-post-header-toolbar\"\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t>\n\t\t\t<FullscreenModeClose />\n\t\t\t<div>\n\t\t\t\t<Inserter disabled={ mode !== 'visual' } position=\"bottom right\" />\n\t\t\t\t<DotTip tipId=\"core/editor.inserter\">\n\t\t\t\t\t{ __( 'Welcome to the wonderful world of blocks! Click the “+” (“Add block”) button to add a new block. There are blocks available for all kinds of content: you can insert text, headings, images, lists, and lots more!' ) }\n\t\t\t\t</DotTip>\n\t\t\t</div>\n\t\t\t<EditorHistoryUndo />\n\t\t\t<EditorHistoryRedo />\n\t\t\t<TableOfContents />\n\t\t\t<BlockNavigationDropdown />\n\t\t\t{ hasFixedToolbar && isLargeViewport && (\n\t\t\t\t<div className=\"edit-post-header-toolbar__block-toolbar\">\n\t\t\t\t\t<BlockToolbar />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\thasFixedToolbar: select( 'core/edit-post' ).isFeatureActive( 'fixedToolbar' ),\n\t\tmode: select( 'core/edit-post' ).getEditorMode(),\n\t} ) ),\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n] )( HeaderToolbar );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { IconButton } from '@wordpress/components';\nimport {\n\tPostPreviewButton,\n\tPostSavedState,\n} from '@wordpress/editor';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { DotTip } from '@wordpress/nux';\n\n/**\n * Internal dependencies\n */\nimport MoreMenu from './more-menu';\nimport HeaderToolbar from './header-toolbar';\nimport PinnedPlugins from './pinned-plugins';\nimport shortcuts from '../../keyboard-shortcuts';\nimport PostPublishButtonOrToggle from './post-publish-button-or-toggle';\n\nfunction Header( {\n\tcloseGeneralSidebar,\n\thasActiveMetaboxes,\n\tisEditorSidebarOpened,\n\tisPublishSidebarOpened,\n\tisSaving,\n\topenGeneralSidebar,\n} ) {\n\tconst toggleGeneralSidebar = isEditorSidebarOpened ? closeGeneralSidebar : openGeneralSidebar;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"region\"\n\t\t\t/* translators: accessibility text for the top bar landmark region. */\n\t\t\taria-label={ __( 'Editor top bar' ) }\n\t\t\tclassName=\"edit-post-header\"\n\t\t\ttabIndex=\"-1\"\n\t\t>\n\t\t\t<HeaderToolbar />\n\t\t\t{ ! isPublishSidebarOpened && (\n\t\t\t\t<div className=\"edit-post-header__settings\">\n\t\t\t\t\t<PostSavedState\n\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\tforceIsSaving={ isSaving }\n\t\t\t\t\t/>\n\t\t\t\t\t<PostPreviewButton />\n\t\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\tforceIsSaving={ isSaving }\n\t\t\t\t\t/>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\ticon=\"admin-generic\"\n\t\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\t\tonClick={ toggleGeneralSidebar }\n\t\t\t\t\t\t\tisToggled={ isEditorSidebarOpened }\n\t\t\t\t\t\t\taria-expanded={ isEditorSidebarOpened }\n\t\t\t\t\t\t\tshortcut={ shortcuts.toggleSidebar }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<DotTip tipId=\"core/editor.settings\">\n\t\t\t\t\t\t\t{ __( 'You’ll find more settings for your page and blocks in the sidebar. Click “Settings” to open it.' ) }\n\t\t\t\t\t\t</DotTip>\n\t\t\t\t\t</div>\n\t\t\t\t\t<PinnedPlugins.Slot />\n\t\t\t\t\t<MoreMenu />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\thasActiveMetaboxes: select( 'core/edit-post' ).hasMetaBoxes(),\n\t\thasBlockSelection: !! select( 'core/editor' ).getBlockSelectionStart(),\n\t\tisEditorSidebarOpened: select( 'core/edit-post' ).isEditorSidebarOpened(),\n\t\tisPublishSidebarOpened: select( 'core/edit-post' ).isPublishSidebarOpened(),\n\t\tisSaving: select( 'core/edit-post' ).isSavingMetaBoxes(),\n\t} ) ),\n\twithDispatch( ( dispatch, { hasBlockSelection } ) => {\n\t\tconst { openGeneralSidebar, closeGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\tconst sidebarToOpen = hasBlockSelection ? 'edit-post/block' : 'edit-post/document';\n\t\treturn {\n\t\t\topenGeneralSidebar: () => openGeneralSidebar( sidebarToOpen ),\n\t\t\tcloseGeneralSidebar: closeGeneralSidebar,\n\t\t\thasBlockSelection: undefined,\n\t\t};\n\t} ),\n)( Header );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItemsChoice, MenuGroup } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport shortcuts from '../../../keyboard-shortcuts';\n/**\n * Set of available mode options.\n *\n * @type {Array}\n */\nconst MODES = [\n\t{\n\t\tvalue: 'visual',\n\t\tlabel: __( 'Visual Editor' ),\n\t},\n\t{\n\t\tvalue: 'text',\n\t\tlabel: __( 'Code Editor' ),\n\t},\n];\n\nfunction ModeSwitcher( { onSwitch, mode } ) {\n\tconst choices = MODES.map( ( choice ) => {\n\t\tif ( choice.value !== mode ) {\n\t\t\treturn { ...choice, shortcut: shortcuts.toggleEditorMode.display };\n\t\t}\n\t\treturn choice;\n\t} );\n\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Editor' ) }\n\t\t>\n\t\t\t<MenuItemsChoice\n\t\t\t\tchoices={ choices }\n\t\t\t\tvalue={ mode }\n\t\t\t\tonSelect={ onSwitch }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\tmode: select( 'core/edit-post' ).getEditorMode(),\n\t} ) ),\n\twithDispatch( ( dispatch, ownProps ) => ( {\n\t\tonSwitch( mode ) {\n\t\t\tdispatch( 'core/edit-post' ).switchEditorMode( mode );\n\t\t\townProps.onSelect( mode );\n\t\t},\n\t} ) ),\n] )( ModeSwitcher );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { IconButton, Dropdown, MenuGroup } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ModeSwitcher from '../mode-switcher';\nimport PluginMoreMenuGroup from '../plugins-more-menu-group';\nimport ToolsMoreMenuGroup from '../tools-more-menu-group';\nimport OptionsMenuItem from '../options-menu-item';\nimport WritingMenu from '../writing-menu';\n\nconst ariaClosed = __( 'Show more tools & options' );\nconst ariaOpen = __( 'Hide more tools & options' );\n\nconst MoreMenu = () => (\n\t<Dropdown\n\t\tclassName=\"edit-post-more-menu\"\n\t\tcontentClassName=\"edit-post-more-menu__content\"\n\t\tposition=\"bottom left\"\n\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t<IconButton\n\t\t\t\ticon=\"ellipsis\"\n\t\t\t\tlabel={ isOpen ? ariaOpen : ariaClosed }\n\t\t\t\tonClick={ onToggle }\n\t\t\t\taria-expanded={ isOpen }\n\t\t\t/>\n\t\t) }\n\t\trenderContent={ ( { onClose } ) => (\n\t\t\t<Fragment>\n\t\t\t\t<WritingMenu onClose={ onClose } />\n\t\t\t\t<ModeSwitcher onSelect={ onClose } />\n\t\t\t\t<PluginMoreMenuGroup.Slot fillProps={ { onClose } } />\n\t\t\t\t<ToolsMoreMenuGroup.Slot fillProps={ { onClose } } />\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<OptionsMenuItem onSelect={ onClose } />\n\t\t\t\t</MenuGroup>\n\t\t\t</Fragment>\n\t\t) }\n\t/>\n);\n\nexport default MoreMenu;\n","/**\n * WordPress Dependencies\n */\nimport { withDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\n\nexport function OptionsMenuItem( { openModal, onSelect } ) {\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tonSelect();\n\t\t\t\topenModal( 'edit-post/options' );\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Options' ) }\n\t\t</MenuItem>\n\t);\n}\n\nexport default withDispatch( ( dispatch ) => {\n\tconst { openModal } = dispatch( 'core/edit-post' );\n\n\treturn {\n\t\topenModal,\n\t};\n} )( OptionsMenuItem );\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\nconst { Fill: PinnedPlugins, Slot } = createSlotFill( 'PinnedPlugins' );\n\nPinnedPlugins.Slot = ( props ) => (\n\t<Slot { ...props }>\n\t\t{ ( fills ) => ! isEmpty( fills ) && (\n\t\t\t<div className=\"edit-post-pinned-plugins\">\n\t\t\t\t{ fills }\n\t\t\t</div>\n\t\t) }\n\t</Slot>\n);\n\nexport default PinnedPlugins;\n","/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { MenuItem } from '@wordpress/components';\nimport { withPluginContext } from '@wordpress/plugins';\n\n/**\n * Internal dependencies\n */\nimport PluginsMoreMenuGroup from '../plugins-more-menu-group';\n\nconst PluginSidebarMoreMenuItem = ( { children, icon, isSelected, onClick } ) => (\n\t<PluginsMoreMenuGroup>\n\t\t{ ( fillProps ) => (\n\t\t\t<MenuItem\n\t\t\t\ticon={ isSelected ? 'yes' : icon }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\tonClick={ compose( onClick, fillProps.onClose ) }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</MenuItem>\n\t\t) }\n\t</PluginsMoreMenuGroup>\n);\n\nexport default compose(\n\twithPluginContext( ( context, ownProps ) => {\n\t\treturn {\n\t\t\ticon: ownProps.icon || context.icon,\n\t\t\tsidebarName: `${ context.name }/${ ownProps.target }`,\n\t\t};\n\t} ),\n\twithSelect( ( select, { sidebarName } ) => {\n\t\tconst {\n\t\t\tgetActiveGeneralSidebarName,\n\t\t} = select( 'core/edit-post' );\n\n\t\treturn {\n\t\t\tisSelected: getActiveGeneralSidebarName() === sidebarName,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isSelected, sidebarName } ) => {\n\t\tconst {\n\t\t\tcloseGeneralSidebar,\n\t\t\topenGeneralSidebar,\n\t\t} = dispatch( 'core/edit-post' );\n\t\tconst onClick = isSelected ?\n\t\t\tcloseGeneralSidebar :\n\t\t\t() => openGeneralSidebar( sidebarName );\n\n\t\treturn { onClick };\n\t} ),\n)( PluginSidebarMoreMenuItem );\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createSlotFill, MenuGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst { Fill: PluginsMoreMenuGroup, Slot } = createSlotFill( 'PluginsMoreMenuGroup' );\n\nPluginsMoreMenuGroup.Slot = ( { fillProps } ) => (\n\t<Slot fillProps={ fillProps }>\n\t\t{ ( fills ) => ! isEmpty( fills ) && (\n\t\t\t<MenuGroup label={ __( 'Plugins' ) }>\n\t\t\t\t{ fills }\n\t\t\t</MenuGroup>\n\t\t) }\n\t</Slot>\n);\n\nexport default PluginsMoreMenuGroup;\n","/**\n * External Dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies.\n */\nimport { PostPublishPanelToggle, PostPublishButton } from '@wordpress/editor';\nimport { compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\n\nexport function PostPublishButtonOrToggle( {\n\tforceIsDirty,\n\tforceIsSaving,\n\thasPublishAction,\n\tisBeingScheduled,\n\tisLessThanMediumViewport,\n\tisPending,\n\tisPublished,\n\tisPublishSidebarEnabled,\n\tisPublishSidebarOpened,\n\tisScheduled,\n\ttogglePublishSidebar,\n} ) {\n\tconst button = (\n\t\t<PostPublishButton\n\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\tforceIsSaving={ forceIsSaving }\n\t\t/>\n\t);\n\tconst toggle = (\n\t\t<PostPublishPanelToggle\n\t\t\tisOpen={ isPublishSidebarOpened }\n\t\t\tonToggle={ togglePublishSidebar }\n\t\t\tforceIsSaving={ forceIsSaving }\n\t\t/>\n\t);\n\n\t/**\n\t * We want to show a BUTTON when the post status is at the _final stage_\n\t * for a particular role (see https://codex.wordpress.org/Post_Status):\n\t *\n\t * - is published\n\t * - is scheduled to be published\n\t * - is pending and can't be published (but only for viewports >= medium)\n\t *\n\t * Originally we considered showing a button for pending posts\n\t * that couldn't be published (for ex, for a contributor role).\n\t * Some languages can have really long translations for \"Submit for review\",\n\t * so given the lack of UI real state we decided to take into account the viewport\n\t * in that particular case.\n\t */\n\tif (\n\t\tisPublished ||\n\t\t( isScheduled && isBeingScheduled ) ||\n\t\t( isPending && ! hasPublishAction && ! isLessThanMediumViewport )\n\t) {\n\t\treturn button;\n\t}\n\n\t/**\n\t * Then, we take other things into account:\n\t *\n\t * - Show TOGGLE if it is small viewport.\n\t * - Otherwise, use publish sidebar status to decide - TOGGLE if enabled, BUTTON if not.\n\t */\n\tif ( isLessThanMediumViewport ) {\n\t\treturn toggle;\n\t}\n\n\treturn isPublishSidebarEnabled ? toggle : button;\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\thasPublishAction: get(\n\t\t\tselect( 'core/editor' ).getCurrentPost(),\n\t\t\t[ '_links', 'wp:action-publish' ],\n\t\t\tfalse\n\t\t),\n\t\tisBeingScheduled: select( 'core/editor' ).isEditedPostBeingScheduled(),\n\t\tisPending: select( 'core/editor' ).isCurrentPostPending(),\n\t\tisPublished: select( 'core/editor' ).isCurrentPostPublished(),\n\t\tisPublishSidebarEnabled: select( 'core/editor' ).isPublishSidebarEnabled(),\n\t\tisPublishSidebarOpened: select( 'core/edit-post' ).isPublishSidebarOpened(),\n\t\tisScheduled: select( 'core/editor' ).isCurrentPostScheduled(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { togglePublishSidebar } = dispatch( 'core/edit-post' );\n\t\treturn {\n\t\t\ttogglePublishSidebar,\n\t\t};\n\t} ),\n\twithViewportMatch( { isLessThanMediumViewport: '< medium' } ),\n)( PostPublishButtonOrToggle );\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createSlotFill, MenuGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst { Fill: ToolsMoreMenuGroup, Slot } = createSlotFill( 'ToolsMoreMenuGroup' );\n\nToolsMoreMenuGroup.Slot = ( { fillProps } ) => (\n\t<Slot fillProps={ fillProps }>\n\t\t{ ( fills ) => ! isEmpty( fills ) && (\n\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t{ fills }\n\t\t\t</MenuGroup>\n\t\t) }\n\t</Slot>\n);\n\nexport default ToolsMoreMenuGroup;\n","/**\n * WordPress Dependencies\n */\nimport { MenuGroup } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { ifViewportMatches } from '@wordpress/viewport';\n\n/**\n * Internal dependencies\n */\nimport FeatureToggle from '../feature-toggle';\n\nfunction WritingMenu( { onClose } ) {\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ _x( 'View', 'noun' ) }\n\t\t>\n\t\t\t<FeatureToggle\n\t\t\t\tfeature=\"fixedToolbar\"\n\t\t\t\tlabel={ __( 'Unified Toolbar' ) }\n\t\t\t\tinfo={ __( 'Access all block and document tools in a single place' ) }\n\t\t\t\tonToggle={ onClose } />\n\t\t\t<FeatureToggle\n\t\t\t\tfeature=\"focusMode\"\n\t\t\t\tlabel={ __( 'Spotlight Mode' ) }\n\t\t\t\tinfo={ __( 'Focus on one block at a time' ) }\n\t\t\t\tonToggle={ onClose } />\n\t\t\t<FeatureToggle\n\t\t\t\tfeature=\"fullscreenMode\"\n\t\t\t\tlabel={ __( 'Fullscreen Mode' ) }\n\t\t\t\tinfo={ __( 'Work without distraction' ) }\n\t\t\t\tonToggle={ onClose } />\n\t\t</MenuGroup>\n\t);\n}\n\nexport default ifViewportMatches( 'medium' )( WritingMenu );\n","/**\n * WordPress dependencies\n */\nimport { displayShortcutList, shortcutAriaLabel } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\n\nconst {\n\t// Cmd+<key> on a mac, Ctrl+<key> elsewhere.\n\tprimary,\n\t// Shift+Cmd+<key> on a mac, Ctrl+Shift+<key> elsewhere.\n\tprimaryShift,\n\t// Option+Cmd+<key> on a mac, Ctrl+Alt+<key> elsewhere.\n\tprimaryAlt,\n\t// Shift+Alt+Cmd+<key> on a mac, Ctrl+Shift+Akt+<key> elsewhere.\n\tsecondary,\n\t// Ctrl+Alt+<key> on a mac, Shift+Alt+<key> elsewhere.\n\taccess,\n\tctrl,\n\talt,\n\tctrlShift,\n\tshiftAlt,\n} = displayShortcutList;\n\nconst globalShortcuts = {\n\ttitle: __( 'Global shortcuts' ),\n\tshortcuts: [\n\t\t{\n\t\t\tkeyCombination: access( 'h' ),\n\t\t\tdescription: __( 'Display this help.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: primary( 's' ),\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: primary( 'z' ),\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: primaryShift( 'z' ),\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: primaryShift( ',' ),\n\t\t\tdescription: __( 'Show or hide the settings sidebar.' ),\n\t\t\tariaLabel: shortcutAriaLabel.primaryShift( ',' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: access( 'o' ),\n\t\t\tdescription: __( 'Open the block navigation menu.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: ctrl( '`' ),\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tariaLabel: shortcutAriaLabel.ctrl( '`' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: ctrlShift( '`' ),\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tariaLabel: shortcutAriaLabel.ctrlShift( '`' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: shiftAlt( 'n' ),\n\t\t\tdescription: __( 'Navigate to the next part of the editor (alternative).' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: shiftAlt( 'p' ),\n\t\t\tdescription: __( 'Navigate to the previous part of the editor (alternative).' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: alt( 'F10' ),\n\t\t\tdescription: __( 'Navigate to the nearest toolbar.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: secondary( 'm' ),\n\t\t\tdescription: __( 'Switch between Visual Editor and Code Editor.' ),\n\t\t},\n\t],\n};\n\nconst selectionShortcuts = {\n\ttitle: __( 'Selection shortcuts' ),\n\tshortcuts: [\n\t\t{\n\t\t\tkeyCombination: primary( 'a' ),\n\t\t\tdescription: __( 'Select all text when typing. Press again to select all blocks.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: 'Esc',\n\t\t\tdescription: __( 'Clear selection.' ),\n\t\t\t/* translators: The 'escape' key on a keyboard. */\n\t\t\tariaLabel: __( 'Escape' ),\n\t\t},\n\t],\n};\n\nconst blockShortcuts = {\n\ttitle: __( 'Block shortcuts' ),\n\tshortcuts: [\n\t\t{\n\t\t\tkeyCombination: primaryShift( 'd' ),\n\t\t\tdescription: __( 'Duplicate the selected block(s).' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: access( 'z' ),\n\t\t\tdescription: __( 'Remove the selected block(s).' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: primaryAlt( 't' ),\n\t\t\tdescription: __( 'Insert a new block before the selected block(s).' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: primaryAlt( 'y' ),\n\t\t\tdescription: __( 'Insert a new block after the selected block(s).' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: '/',\n\t\t\tdescription: __( 'Change the block type after adding a new paragraph.' ),\n\t\t\t/* translators: The forward-slash character. e.g. '/'. */\n\t\t\tariaLabel: __( 'Forward-slash' ),\n\t\t},\n\t],\n};\n\nconst textFormattingShortcuts = {\n\ttitle: __( 'Text formatting' ),\n\tshortcuts: [\n\t\t{\n\t\t\tkeyCombination: primary( 'b' ),\n\t\t\tdescription: __( 'Make the selected text bold.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: primary( 'i' ),\n\t\t\tdescription: __( 'Make the selected text italic.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: primary( 'u' ),\n\t\t\tdescription: __( 'Underline the selected text.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: primary( 'k' ),\n\t\t\tdescription: __( 'Convert the selected text into a link.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: primaryShift( 'k' ),\n\t\t\tdescription: __( 'Remove a link.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: access( 'd' ),\n\t\t\tdescription: __( 'Add a strikethrough to the selected text.' ),\n\t\t},\n\t\t{\n\t\t\tkeyCombination: access( 'x' ),\n\t\t\tdescription: __( 'Display the selected text in a monospaced font.' ),\n\t\t},\n\t],\n};\n\nexport default [\n\tglobalShortcuts,\n\tselectionShortcuts,\n\tblockShortcuts,\n\ttextFormattingShortcuts,\n];\n","/**\n * External dependencies\n */\nimport { castArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Fragment } from '@wordpress/element';\nimport { Modal, KeyboardShortcuts } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { rawShortcut } from '@wordpress/keycodes';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport shortcutConfig from './config';\n\nconst MODAL_NAME = 'edit-post/keyboard-shortcut-help';\n\nconst mapKeyCombination = ( keyCombination ) => keyCombination.map( ( character, index ) => {\n\tif ( character === '+' ) {\n\t\treturn (\n\t\t\t<Fragment key={ index }>\n\t\t\t\t{ character }\n\t\t\t</Fragment>\n\t\t);\n\t}\n\n\treturn (\n\t\t<kbd\n\t\t\tkey={ index }\n\t\t\tclassName=\"edit-post-keyboard-shortcut-help__shortcut-key\"\n\t\t>\n\t\t\t{ character }\n\t\t</kbd>\n\t);\n} );\n\nconst ShortcutList = ( { shortcuts } ) => (\n\t<dl className=\"edit-post-keyboard-shortcut-help__shortcut-list\">\n\t\t{ shortcuts.map( ( { keyCombination, description, ariaLabel }, index ) => (\n\t\t\t<div\n\t\t\t\tclassName=\"edit-post-keyboard-shortcut-help__shortcut\"\n\t\t\t\tkey={ index }\n\t\t\t>\n\t\t\t\t<dt className=\"edit-post-keyboard-shortcut-help__shortcut-term\">\n\t\t\t\t\t<kbd className=\"edit-post-keyboard-shortcut-help__shortcut-key-combination\" aria-label={ ariaLabel }>\n\t\t\t\t\t\t{ mapKeyCombination( castArray( keyCombination ) ) }\n\t\t\t\t\t</kbd>\n\t\t\t\t</dt>\n\t\t\t\t<dd className=\"edit-post-keyboard-shortcut-help__shortcut-description\">\n\t\t\t\t\t{ description }\n\t\t\t\t</dd>\n\t\t\t</div>\n\t\t) ) }\n\t</dl>\n);\n\nconst ShortcutSection = ( { title, shortcuts } ) => (\n\t<section className=\"edit-post-keyboard-shortcut-help__section\">\n\t\t<h2 className=\"edit-post-keyboard-shortcut-help__section-title\">\n\t\t\t{ title }\n\t\t</h2>\n\t\t<ShortcutList shortcuts={ shortcuts } />\n\t</section>\n);\n\nexport function KeyboardShortcutHelpModal( { isModalActive, toggleModal } ) {\n\tconst title = (\n\t\t<span className=\"edit-post-keyboard-shortcut-help__title\">\n\t\t\t{ __( 'Keyboard Shortcuts' ) }\n\t\t</span>\n\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<KeyboardShortcuts\n\t\t\t\tbindGlobal\n\t\t\t\tshortcuts={ {\n\t\t\t\t\t[ rawShortcut.access( 'h' ) ]: toggleModal,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isModalActive && (\n\t\t\t\t<Modal\n\t\t\t\t\tclassName=\"edit-post-keyboard-shortcut-help\"\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\t\t\tonRequestClose={ toggleModal }\n\t\t\t\t>\n\t\t\t\t\t{ shortcutConfig.map( ( config, index ) => (\n\t\t\t\t\t\t<ShortcutSection key={ index } { ...config } />\n\t\t\t\t\t) ) }\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</Fragment>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\tisModalActive: select( 'core/edit-post' ).isModalActive( MODAL_NAME ),\n\t} ) ),\n\twithDispatch( ( dispatch, { isModalActive } ) => {\n\t\tconst {\n\t\t\topenModal,\n\t\t\tcloseModal,\n\t\t} = dispatch( 'core/edit-post' );\n\n\t\treturn {\n\t\t\ttoggleModal: () => isModalActive ? closeModal() : openModal( MODAL_NAME ),\n\t\t};\n\t} ),\n] )( KeyboardShortcutHelpModal );\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { KeyboardShortcuts } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport shortcuts from '../../keyboard-shortcuts';\n\nclass EditorModeKeyboardShortcuts extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.toggleMode = this.toggleMode.bind( this );\n\t\tthis.toggleSidebar = this.toggleSidebar.bind( this );\n\t}\n\n\ttoggleMode() {\n\t\tconst { mode, switchMode } = this.props;\n\t\tswitchMode( mode === 'visual' ? 'text' : 'visual' );\n\t}\n\n\ttoggleSidebar( event ) {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\t\tconst { isEditorSidebarOpen, closeSidebar, openSidebar } = this.props;\n\n\t\tif ( isEditorSidebarOpen ) {\n\t\t\tcloseSidebar();\n\t\t} else {\n\t\t\topenSidebar();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<KeyboardShortcuts\n\t\t\t\tbindGlobal\n\t\t\t\tshortcuts={ {\n\t\t\t\t\t[ shortcuts.toggleEditorMode.raw ]: this.toggleMode,\n\t\t\t\t\t[ shortcuts.toggleSidebar.raw ]: this.toggleSidebar,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\tmode: select( 'core/edit-post' ).getEditorMode(),\n\t\tisEditorSidebarOpen: select( 'core/edit-post' ).isEditorSidebarOpened(),\n\t\thasBlockSelection: !! select( 'core/editor' ).getBlockSelectionStart(),\n\t} ) ),\n\twithDispatch( ( dispatch, { hasBlockSelection } ) => ( {\n\t\tswitchMode( mode ) {\n\t\t\tdispatch( 'core/edit-post' ).switchEditorMode( mode );\n\t\t},\n\t\topenSidebar() {\n\t\t\tconst sidebarToOpen = hasBlockSelection ? 'edit-post/block' : 'edit-post/document';\n\t\t\tdispatch( 'core/edit-post' ).openGeneralSidebar( sidebarToOpen );\n\t\t},\n\t\tcloseSidebar: dispatch( 'core/edit-post' ).closeGeneralSidebar,\n\t} ) ),\n] )( EditorModeKeyboardShortcuts );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Popover, ScrollLock, navigateRegions } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tPostPublishPanel,\n\tPreserveScrollInReorder,\n} from '@wordpress/editor';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { Fragment } from '@wordpress/element';\nimport { PluginArea } from '@wordpress/plugins';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditorModeKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport OptionsModal from '../options-modal';\nimport MetaBoxes from '../meta-boxes';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport Sidebar from '../sidebar';\nimport PluginPostPublishPanel from '../sidebar/plugin-post-publish-panel';\nimport PluginPrePublishPanel from '../sidebar/plugin-pre-publish-panel';\nimport FullscreenMode from '../fullscreen-mode';\n\nfunction Layout( {\n\tmode,\n\teditorSidebarOpened,\n\tpluginSidebarOpened,\n\tpublishSidebarOpened,\n\thasFixedToolbar,\n\tclosePublishSidebar,\n\ttogglePublishSidebar,\n\thasActiveMetaboxes,\n\tisSaving,\n\tisMobileViewport,\n} ) {\n\tconst sidebarIsOpened = editorSidebarOpened || pluginSidebarOpened || publishSidebarOpened;\n\n\tconst className = classnames( 'edit-post-layout', {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t} );\n\n\tconst publishLandmarkProps = {\n\t\trole: 'region',\n\t\t/* translators: accessibility text for the publish landmark region. */\n\t\t'aria-label': __( 'Editor publish' ),\n\t\ttabIndex: -1,\n\t};\n\treturn (\n\t\t<div className={ className }>\n\t\t\t<FullscreenMode />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<Header />\n\t\t\t<div\n\t\t\t\tclassName=\"edit-post-layout__content\"\n\t\t\t\trole=\"region\"\n\t\t\t\t/* translators: accessibility text for the content landmark region. */\n\t\t\t\taria-label={ __( 'Editor content' ) }\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t>\n\t\t\t\t<EditorNotices />\n\t\t\t\t<PreserveScrollInReorder />\n\t\t\t\t<EditorModeKeyboardShortcuts />\n\t\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t\t<OptionsModal />\n\t\t\t\t{ mode === 'text' && <TextEditor /> }\n\t\t\t\t{ mode === 'visual' && <VisualEditor /> }\n\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t</div>\n\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ publishSidebarOpened ? (\n\t\t\t\t<PostPublishPanel\n\t\t\t\t\t{ ...publishLandmarkProps }\n\t\t\t\t\tonClose={ closePublishSidebar }\n\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\tforceIsSaving={ isSaving }\n\t\t\t\t\tPrePublishExtension={ PluginPrePublishPanel.Slot }\n\t\t\t\t\tPostPublishExtension={ PluginPostPublishPanel.Slot }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div className=\"edit-post-toggle-publish-panel\" { ...publishLandmarkProps }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tisDefault\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclassName=\"edit-post-toggle-publish-panel__button\"\n\t\t\t\t\t\t\tonClick={ togglePublishSidebar }\n\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Open publish panel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<SettingsSidebar />\n\t\t\t\t\t<Sidebar.Slot />\n\t\t\t\t\t{\n\t\t\t\t\t\tisMobileViewport && sidebarIsOpened && <ScrollLock />\n\t\t\t\t\t}\n\t\t\t\t</Fragment>\n\t\t\t) }\n\t\t\t<Popover.Slot />\n\t\t\t<PluginArea />\n\t\t</div>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\tmode: select( 'core/edit-post' ).getEditorMode(),\n\t\teditorSidebarOpened: select( 'core/edit-post' ).isEditorSidebarOpened(),\n\t\tpluginSidebarOpened: select( 'core/edit-post' ).isPluginSidebarOpened(),\n\t\tpublishSidebarOpened: select( 'core/edit-post' ).isPublishSidebarOpened(),\n\t\thasFixedToolbar: select( 'core/edit-post' ).isFeatureActive( 'fixedToolbar' ),\n\t\thasActiveMetaboxes: select( 'core/edit-post' ).hasMetaBoxes(),\n\t\tisSaving: select( 'core/edit-post' ).isSavingMetaBoxes(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { closePublishSidebar, togglePublishSidebar } = dispatch( 'core/edit-post' );\n\t\treturn {\n\t\t\tclosePublishSidebar,\n\t\t\ttogglePublishSidebar,\n\t\t};\n\t} ),\n\tnavigateRegions,\n\twithViewportMatch( { isMobileViewport: '< small' } ),\n)( Layout );\n","/**\n * External dependencies\n */\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport MetaBoxesArea from './meta-boxes-area';\nimport MetaBoxVisibility from './meta-box-visibility';\n\nfunction MetaBoxes( { location, isVisible, metaBoxes } ) {\n\treturn (\n\t\t<Fragment>\n\t\t\t{ map( metaBoxes, ( { id } ) => (\n\t\t\t\t<MetaBoxVisibility key={ id } id={ id } />\n\t\t\t) ) }\n\t\t\t{ isVisible && <MetaBoxesArea location={ location } /> }\n\t\t</Fragment>\n\t);\n}\n\nexport default withSelect( ( select, { location } ) => {\n\tconst { isMetaBoxLocationVisible, getMetaBoxesPerLocation } = select( 'core/edit-post' );\n\n\treturn {\n\t\tmetaBoxes: getMetaBoxesPerLocation( location ),\n\t\tisVisible: isMetaBoxLocationVisible( location ),\n\t};\n} )( MetaBoxes );\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\n\nclass MetaBoxVisibility extends Component {\n\tcomponentDidMount() {\n\t\tthis.updateDOM();\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( this.props.isVisible !== prevProps.isVisible ) {\n\t\t\tthis.updateDOM();\n\t\t}\n\t}\n\n\tupdateDOM() {\n\t\tconst { id, isVisible } = this.props;\n\t\tconst element = document.getElementById( id );\n\t\tif ( element ) {\n\t\t\telement.style.display = isVisible ? '' : 'none';\n\t\t}\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nexport default withSelect( ( select, { id } ) => ( {\n\tisVisible: select( 'core/edit-post' ).isEditorPanelEnabled( `meta-box-${ id }` ),\n} ) )( MetaBoxVisibility );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Spinner } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\n\nclass MetaBoxesArea extends Component {\n\t/**\n\t * @inheritdoc\n\t */\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.bindContainerNode = this.bindContainerNode.bind( this );\n\t}\n\n\t/**\n\t * @inheritdoc\n\t */\n\tcomponentDidMount() {\n\t\tthis.form = document.querySelector( '.metabox-location-' + this.props.location );\n\t\tif ( this.form ) {\n\t\t\tthis.container.appendChild( this.form );\n\t\t}\n\t}\n\n\t/**\n\t * Get the meta box location form from the original location.\n\t */\n\tcomponentWillUnmount() {\n\t\tif ( this.form ) {\n\t\t\tdocument.querySelector( '#metaboxes' ).appendChild( this.form );\n\t\t}\n\t}\n\n\t/**\n\t * Binds the metabox area container node.\n\t *\n\t * @param {Element} node DOM Node.\n\t */\n\tbindContainerNode( node ) {\n\t\tthis.container = node;\n\t}\n\n\t/**\n\t * @inheritdoc\n\t */\n\trender() {\n\t\tconst { location, isSaving } = this.props;\n\n\t\tconst classes = classnames(\n\t\t\t'edit-post-meta-boxes-area',\n\t\t\t`is-${ location }`,\n\t\t\t{\n\t\t\t\t'is-loading': isSaving,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<div className={ classes }>\n\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t<div className=\"edit-post-meta-boxes-area__container\" ref={ this.bindContainerNode } />\n\t\t\t\t<div className=\"edit-post-meta-boxes-area__clear\" />\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default withSelect( ( select ) => {\n\treturn {\n\t\tisSaving: select( 'core/edit-post' ).isSavingMetaBoxes(),\n\t};\n} )( MetaBoxesArea );\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { PostTaxonomies, PostExcerptCheck, PageAttributesCheck } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport Section from './section';\nimport {\n\tEnablePublishSidebarOption,\n\tEnableTipsOption,\n\tEnablePanelOption,\n} from './options';\nimport MetaBoxesSection from './meta-boxes-section';\n\nconst MODAL_NAME = 'edit-post/options';\n\nexport function OptionsModal( { isModalActive, closeModal } ) {\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-options-modal\"\n\t\t\ttitle={ <span className=\"edit-post-options-modal__title\">{ __( 'Options' ) }</span> }\n\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t>\n\t\t\t<Section title={ __( 'General' ) }>\n\t\t\t\t<EnablePublishSidebarOption label={ __( 'Enable Pre-publish Checks' ) } />\n\t\t\t\t<EnableTipsOption label={ __( 'Enable Tips' ) } />\n\t\t\t</Section>\n\t\t\t<Section title={ __( 'Document Panels' ) }>\n\t\t\t\t<PostTaxonomies\n\t\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => (\n\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\tlabel={ get( taxonomy, [ 'labels', 'menu_name' ] ) }\n\t\t\t\t\t\t\tpanelName={ `taxonomy-panel-${ taxonomy.slug }` }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<EnablePanelOption label={ __( 'Featured Image' ) } panelName=\"featured-image\" />\n\t\t\t\t<PostExcerptCheck>\n\t\t\t\t\t<EnablePanelOption label={ __( 'Excerpt' ) } panelName=\"post-excerpt\" />\n\t\t\t\t</PostExcerptCheck>\n\t\t\t\t<EnablePanelOption label={ __( 'Discussion' ) } panelName=\"discussion-panel\" />\n\t\t\t\t<PageAttributesCheck>\n\t\t\t\t\t<EnablePanelOption label={ __( 'Page Attributes' ) } panelName=\"page-attributes\" />\n\t\t\t\t</PageAttributesCheck>\n\t\t\t</Section>\n\t\t\t<MetaBoxesSection title={ __( 'Advanced Panels' ) } />\n\t\t</Modal>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\tisModalActive: select( 'core/edit-post' ).isModalActive( MODAL_NAME ),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\treturn {\n\t\t\tcloseModal: () => dispatch( 'core/edit-post' ).closeModal(),\n\t\t};\n\t} )\n)( OptionsModal );\n","/**\n * External dependencies\n */\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Section from './section';\nimport { EnableCustomFieldsOption, EnablePanelOption } from './options';\n\nfunction MetaBoxesSection( { hasCustomFieldsSupport, metaBoxes, ...sectionProps } ) {\n\tif ( ! hasCustomFieldsSupport && metaBoxes.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Section { ...sectionProps }>\n\t\t\t{ hasCustomFieldsSupport && (\n\t\t\t\t<EnableCustomFieldsOption label={ __( 'Custom Fields' ) } />\n\t\t\t) }\n\t\t\t{ map(\n\t\t\t\tmetaBoxes,\n\t\t\t\t( { id, title } ) =>\n\t\t\t\t\t// The 'Custom Fields' meta box is a special case handled above.\n\t\t\t\t\tid !== 'postcustom' && (\n\t\t\t\t\t\t<EnablePanelOption key={ id } label={ title } panelName={ `meta-box-${ id }` } />\n\t\t\t\t\t)\n\t\t\t) }\n\t\t</Section>\n\t);\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getEditedPostAttribute } = select( 'core/editor' );\n\tconst { getPostType } = select( 'core' );\n\tconst { getAllMetaBoxes } = select( 'core/edit-post' );\n\n\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\treturn {\n\t\thasCustomFieldsSupport: postType.supports[ 'custom-fields' ],\n\t\tmetaBoxes: getAllMetaBoxes(),\n\t};\n} )( MetaBoxesSection );\n","/**\n * WordPress dependencies\n */\nimport { CheckboxControl } from '@wordpress/components';\n\nfunction BaseOption( { label, isChecked, onChange } ) {\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"edit-post-options-modal__option\"\n\t\t\tlabel={ label }\n\t\t\tchecked={ isChecked }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nexport default BaseOption;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BaseOption from './base';\n\nclass DeferredOption extends Component {\n\tconstructor( { isChecked } ) {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tisChecked,\n\t\t};\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.state.isChecked !== this.props.isChecked ) {\n\t\t\tthis.props.onChange( this.state.isChecked );\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<BaseOption\n\t\t\t\tlabel={ this.props.label }\n\t\t\t\tisChecked={ this.state.isChecked }\n\t\t\t\tonChange={ ( isChecked ) => this.setState( { isChecked } ) }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default DeferredOption;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BaseOption from './base';\n\nclass EnableCustomFieldsOption extends Component {\n\tconstructor( { isChecked } ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.toggleCustomFields = this.toggleCustomFields.bind( this );\n\n\t\tthis.state = { isChecked };\n\t}\n\n\ttoggleCustomFields() {\n\t\t// Submit a hidden form which triggers the toggle_custom_fields admin action.\n\t\t// This action will toggle the setting and reload the editor with the meta box\n\t\t// assets included on the page.\n\t\tdocument.getElementById( 'toggle-custom-fields-form' ).submit();\n\n\t\t// Make it look like something happened while the page reloads.\n\t\tthis.setState( { isChecked: ! this.props.isChecked } );\n\t}\n\n\trender() {\n\t\tconst { label } = this.props;\n\t\tconst { isChecked } = this.state;\n\n\t\treturn (\n\t\t\t<BaseOption\n\t\t\t\tlabel={ label }\n\t\t\t\tisChecked={ isChecked }\n\t\t\t\tonChange={ this.toggleCustomFields }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default withSelect( ( select ) => ( {\n\tisChecked: select( 'core/editor' ).getEditorSettings().enableCustomFields,\n} ) )( EnableCustomFieldsOption );\n","/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BaseOption from './base';\n\nexport default compose(\n\twithSelect( ( select, { panelName } ) => ( {\n\t\tisChecked: select( 'core/edit-post' ).isEditorPanelEnabled( panelName ),\n\t} ) ),\n\twithDispatch( ( dispatch, { panelName } ) => ( {\n\t\tonChange: () => dispatch( 'core/edit-post' ).toggleEditorPanelEnabled( panelName ),\n\t} ) )\n)( BaseOption );\n","/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { ifViewportMatches } from '@wordpress/viewport';\n\n/**\n * Internal dependencies\n */\nimport BaseOption from './base';\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\tisChecked: select( 'core/editor' ).isPublishSidebarEnabled(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { enablePublishSidebar, disablePublishSidebar } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\tonChange: ( isEnabled ) => ( isEnabled ? enablePublishSidebar() : disablePublishSidebar() ),\n\t\t};\n\t} ),\n\t// In < medium viewports we override this option and always show the publish sidebar.\n\t// See the edit-post's header component for the specific logic.\n\tifViewportMatches( 'medium' ),\n)( BaseOption );\n","/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport DeferredOption from './deferred';\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\tisChecked: select( 'core/nux' ).areTipsEnabled(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { enableTips, disableTips } = dispatch( 'core/nux' );\n\t\treturn {\n\t\t\tonChange: ( isEnabled ) => ( isEnabled ? enableTips() : disableTips() ),\n\t\t};\n\t} )\n)(\n\t// Using DeferredOption here means enableTips() is called when the Options\n\t// modal is dismissed. This stops the NUX guide from appearing above the\n\t// Options modal, which looks totally weird.\n\tDeferredOption\n);\n","export { default as EnableCustomFieldsOption } from './enable-custom-fields';\nexport { default as EnablePanelOption } from './enable-panel';\nexport { default as EnablePublishSidebarOption } from './enable-publish-sidebar';\nexport { default as EnableTipsOption } from './enable-tips';\n","const Section = ( { title, children } ) => (\n\t<section className=\"edit-post-options-modal__section\">\n\t\t<h2 className=\"edit-post-options-modal__section-title\">{ title }</h2>\n\t\t{ children }\n\t</section>\n);\n\nexport default Section;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, PanelRow } from '@wordpress/components';\nimport { PostComments, PostPingbacks, PostTypeSupportCheck } from '@wordpress/editor';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'discussion-panel';\n\nfunction DiscussionPanel( { isEnabled, isOpened, onTogglePanel } ) {\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys={ [ 'comments', 'trackbacks' ] }>\n\t\t\t<PanelBody title={ __( 'Discussion' ) } opened={ isOpened } onToggle={ onTogglePanel }>\n\t\t\t\t<PostTypeSupportCheck supportKeys=\"comments\">\n\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t<PostComments />\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PostTypeSupportCheck>\n\n\t\t\t\t<PostTypeSupportCheck supportKeys=\"trackbacks\">\n\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t<PostPingbacks />\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PostTypeSupportCheck>\n\t\t\t</PanelBody>\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tisEnabled: select( 'core/edit-post' ).isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tisOpened: select( 'core/edit-post' ).isEditorPanelOpened( PANEL_NAME ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonTogglePanel() {\n\t\t\treturn dispatch( 'core/edit-post' ).toggleEditorPanelOpened( PANEL_NAME );\n\t\t},\n\t} ) ),\n] )( DiscussionPanel );\n\n","/**\n * External dependencies\n */\nimport { get, partial } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody } from '@wordpress/components';\nimport { PostFeaturedImage, PostFeaturedImageCheck } from '@wordpress/editor';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'featured-image';\n\nfunction FeaturedImage( { isEnabled, isOpened, postType, onTogglePanel } ) {\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostFeaturedImageCheck>\n\t\t\t<PanelBody\n\t\t\t\ttitle={ get(\n\t\t\t\t\tpostType,\n\t\t\t\t\t[ 'labels', 'featured_image' ],\n\t\t\t\t\t__( 'Featured Image' )\n\t\t\t\t) }\n\t\t\t\topened={ isOpened }\n\t\t\t\tonToggle={ onTogglePanel }\n\t\t\t>\n\t\t\t\t<PostFeaturedImage />\n\t\t\t</PanelBody>\n\t\t</PostFeaturedImageCheck>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getEditedPostAttribute } = select( 'core/editor' );\n\tconst { getPostType } = select( 'core' );\n\tconst { isEditorPanelEnabled, isEditorPanelOpened } = select( 'core/edit-post' );\n\n\treturn {\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch ) => {\n\tconst { toggleEditorPanelOpened } = dispatch( 'core/edit-post' );\n\n\treturn {\n\t\tonTogglePanel: partial( toggleEditorPanelOpened, PANEL_NAME ),\n\t};\n} );\n\nexport default compose(\n\tapplyWithSelect,\n\tapplyWithDispatch,\n)( FeaturedImage );\n","/**\n * WordPress Dependencies\n */\nimport { createSlotFill, withFocusReturn } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { ifCondition, compose } from '@wordpress/compose';\n\nconst { Fill, Slot } = createSlotFill( 'Sidebar' );\n\n/**\n * Renders a sidebar with its content.\n *\n * @return {Object} The rendered sidebar.\n */\nconst Sidebar = ( { children, label } ) => {\n\treturn (\n\t\t<Fill>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-post-sidebar\"\n\t\t\t\trole=\"region\"\n\t\t\t\taria-label={ label }\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</Fill>\n\t);\n};\n\nconst WrappedSidebar = compose(\n\twithSelect( ( select, { name } ) => ( {\n\t\tisActive: select( 'core/edit-post' ).getActiveGeneralSidebarName() === name,\n\t} ) ),\n\tifCondition( ( { isActive } ) => isActive ),\n\twithFocusReturn,\n)( Sidebar );\n\nWrappedSidebar.Slot = Slot;\n\nexport default WrappedSidebar;\n","/**\n * WordPress dependencies\n */\nimport { PanelBody } from '@wordpress/components';\nimport { PostLastRevision, PostLastRevisionCheck } from '@wordpress/editor';\n\nfunction LastRevision() {\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PanelBody className=\"edit-post-last-revision__panel\">\n\t\t\t\t<PostLastRevision />\n\t\t\t</PanelBody>\n\t\t</PostLastRevisionCheck>\n\t);\n}\n\nexport default LastRevision;\n","/**\n * External dependencies\n */\nimport { get, partial } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, PanelRow } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { PageAttributesCheck, PageAttributesOrder, PageAttributesParent, PageTemplate } from '@wordpress/editor';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'page-attributes';\n\nexport function PageAttributes( { isEnabled, isOpened, onTogglePanel, postType } ) {\n\tif ( ! isEnabled || ! postType ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<PageAttributesCheck>\n\t\t\t<PanelBody\n\t\t\t\ttitle={ get( postType, [ 'labels', 'attributes' ], __( 'Page Attributes' ) ) }\n\t\t\t\topened={ isOpened }\n\t\t\t\tonToggle={ onTogglePanel }\n\t\t\t>\n\t\t\t\t<PageTemplate />\n\t\t\t\t<PageAttributesParent />\n\t\t\t\t<PanelRow>\n\t\t\t\t\t<PageAttributesOrder />\n\t\t\t\t</PanelRow>\n\t\t\t</PanelBody>\n\t\t</PageAttributesCheck>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getEditedPostAttribute } = select( 'core/editor' );\n\tconst { isEditorPanelEnabled, isEditorPanelOpened } = select( 'core/edit-post' );\n\tconst { getPostType } = select( 'core' );\n\treturn {\n\t\tisEnabled: isEditorPanelEnabled( PANEL_NAME ),\n\t\tisOpened: isEditorPanelOpened( PANEL_NAME ),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch ) => {\n\tconst { toggleEditorPanelOpened } = dispatch( 'core/edit-post' );\n\n\treturn {\n\t\tonTogglePanel: partial( toggleEditorPanelOpened, PANEL_NAME ),\n\t};\n} );\n\nexport default compose(\n\tapplyWithSelect,\n\tapplyWithDispatch,\n)( PageAttributes );\n","/**\n * WordPress dependencies\n */\nimport { createSlotFill, PanelBody } from '@wordpress/components';\n\nconst { Fill, Slot } = createSlotFill( 'PluginPostPublishPanel' );\n\nconst PluginPostPublishPanel = ( { children, className, title, initialOpen = false } ) => (\n\t<Fill>\n\t\t<PanelBody\n\t\t\tclassName={ className }\n\t\t\tinitialOpen={ initialOpen || ! title }\n\t\t\ttitle={ title }\n\t\t>\n\t\t\t{ children }\n\t\t</PanelBody>\n\t</Fill>\n);\n\nPluginPostPublishPanel.Slot = Slot;\n\nexport default PluginPostPublishPanel;\n","/**\n * Defines as extensibility slot for the Status & Visibility panel.\n */\n\n/**\n * WordPress dependencies\n */\nimport { createSlotFill, PanelRow } from '@wordpress/components';\n\nexport const { Fill, Slot } = createSlotFill( 'PluginPostStatusInfo' );\n\nconst PluginPostStatusInfo = ( { children, className } ) => (\n\t<Fill>\n\t\t<PanelRow className={ className }>\n\t\t\t{ children }\n\t\t</PanelRow>\n\t</Fill>\n);\n\nPluginPostStatusInfo.Slot = Slot;\n\nexport default PluginPostStatusInfo;\n","/**\n * WordPress dependencies\n */\nimport { createSlotFill, PanelBody } from '@wordpress/components';\n\nconst { Fill, Slot } = createSlotFill( 'PluginPrePublishPanel' );\n\nconst PluginPrePublishPanel = ( { children, className, title, initialOpen = false } ) => (\n\t<Fill>\n\t\t<PanelBody\n\t\t\tclassName={ className }\n\t\t\tinitialOpen={ initialOpen || ! title }\n\t\t\ttitle={ title }\n\t\t>\n\t\t\t{ children }\n\t\t</PanelBody>\n\t</Fill>\n);\n\nPluginPrePublishPanel.Slot = Slot;\n\nexport default PluginPrePublishPanel;\n","/**\n * WordPress dependencies\n */\nimport { IconButton, Panel } from '@wordpress/components';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { Fragment } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { withPluginContext } from '@wordpress/plugins';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PinnedPlugins from '../../header/pinned-plugins';\nimport Sidebar from '../';\nimport SidebarHeader from '../sidebar-header';\n\n/**\n * Renders the plugin sidebar component.\n *\n * @param {Object} props Element props.\n *\n * @return {WPElement} Plugin sidebar component.\n */\nfunction PluginSidebar( props ) {\n\tconst {\n\t\tchildren,\n\t\ticon,\n\t\tisActive,\n\t\tisPinnable = true,\n\t\tisPinned,\n\t\tsidebarName,\n\t\ttitle,\n\t\ttogglePin,\n\t\ttoggleSidebar,\n\t} = props;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t{ isPinnable && (\n\t\t\t\t<PinnedPlugins>\n\t\t\t\t\t{ isPinned && <IconButton\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\tonClick={ toggleSidebar }\n\t\t\t\t\t\tisToggled={ isActive }\n\t\t\t\t\t\taria-expanded={ isActive }\n\t\t\t\t\t/> }\n\t\t\t\t</PinnedPlugins>\n\t\t\t) }\n\t\t\t<Sidebar\n\t\t\t\tname={ sidebarName }\n\t\t\t\tlabel={ __( 'Editor plugins' ) }\n\t\t\t>\n\t\t\t\t<SidebarHeader\n\t\t\t\t\tcloseLabel={ __( 'Close plugin' ) }\n\t\t\t\t>\n\t\t\t\t\t<strong>{ title }</strong>\n\t\t\t\t\t{ isPinnable && (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\ticon={ isPinned ? 'star-filled' : 'star-empty' }\n\t\t\t\t\t\t\tlabel={ isPinned ? __( 'Unpin from toolbar' ) : __( 'Pin to toolbar' ) }\n\t\t\t\t\t\t\tonClick={ togglePin }\n\t\t\t\t\t\t\tisToggled={ isPinned }\n\t\t\t\t\t\t\taria-expanded={ isPinned }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</SidebarHeader>\n\t\t\t\t<Panel>\n\t\t\t\t\t{ children }\n\t\t\t\t</Panel>\n\t\t\t</Sidebar>\n\t\t</Fragment>\n\t);\n}\n\nexport default compose(\n\twithPluginContext( ( context, ownProps ) => {\n\t\treturn {\n\t\t\ticon: ownProps.icon || context.icon,\n\t\t\tsidebarName: `${ context.name }/${ ownProps.name }`,\n\t\t};\n\t} ),\n\twithSelect( ( select, { sidebarName } ) => {\n\t\tconst {\n\t\t\tgetActiveGeneralSidebarName,\n\t\t\tisPluginItemPinned,\n\t\t} = select( 'core/edit-post' );\n\n\t\treturn {\n\t\t\tisActive: getActiveGeneralSidebarName() === sidebarName,\n\t\t\tisPinned: isPluginItemPinned( sidebarName ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isActive, sidebarName } ) => {\n\t\tconst {\n\t\t\tcloseGeneralSidebar,\n\t\t\topenGeneralSidebar,\n\t\t\ttogglePinnedPluginItem,\n\t\t} = dispatch( 'core/edit-post' );\n\n\t\treturn {\n\t\t\ttogglePin() {\n\t\t\t\ttogglePinnedPluginItem( sidebarName );\n\t\t\t},\n\t\t\ttoggleSidebar() {\n\t\t\t\tif ( isActive ) {\n\t\t\t\t\tcloseGeneralSidebar();\n\t\t\t\t} else {\n\t\t\t\t\topenGeneralSidebar( sidebarName );\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n)( PluginSidebar );\n","/**\n * WordPress dependencies\n */\nimport { PanelRow } from '@wordpress/components';\nimport { PostAuthor as PostAuthorForm, PostAuthorCheck } from '@wordpress/editor';\n\nexport function PostAuthor() {\n\treturn (\n\t\t<PostAuthorCheck>\n\t\t\t<PanelRow>\n\t\t\t\t<PostAuthorForm />\n\t\t\t</PanelRow>\n\t\t</PostAuthorCheck>\n\t);\n}\n\nexport default PostAuthor;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody } from '@wordpress/components';\nimport { PostExcerpt as PostExcerptForm, PostExcerptCheck } from '@wordpress/editor';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-excerpt';\n\nfunction PostExcerpt( { isEnabled, isOpened, onTogglePanel } ) {\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostExcerptCheck>\n\t\t\t<PanelBody title={ __( 'Excerpt' ) } opened={ isOpened } onToggle={ onTogglePanel }>\n\t\t\t\t<PostExcerptForm />\n\t\t\t</PanelBody>\n\t\t</PostExcerptCheck>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tisEnabled: select( 'core/edit-post' ).isEditorPanelEnabled( PANEL_NAME ),\n\t\t\tisOpened: select( 'core/edit-post' ).isEditorPanelOpened( PANEL_NAME ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonTogglePanel() {\n\t\t\treturn dispatch( 'core/edit-post' ).toggleEditorPanelOpened( PANEL_NAME );\n\t\t},\n\t} ) ),\n] )( PostExcerpt );\n\n","/**\n * WordPress dependencies\n */\nimport { PanelRow } from '@wordpress/components';\nimport { PostFormat as PostFormatForm, PostFormatCheck } from '@wordpress/editor';\n\nexport function PostFormat() {\n\treturn (\n\t\t<PostFormatCheck>\n\t\t\t<PanelRow>\n\t\t\t\t<PostFormatForm />\n\t\t\t</PanelRow>\n\t\t</PostFormatCheck>\n\t);\n}\n\nexport default PostFormat;\n","/**\n * WordPress dependencies\n */\nimport { PanelRow } from '@wordpress/components';\nimport { PostPendingStatus as PostPendingStatusForm, PostPendingStatusCheck } from '@wordpress/editor';\n\nexport function PostPendingStatus() {\n\treturn (\n\t\t<PostPendingStatusCheck>\n\t\t\t<PanelRow>\n\t\t\t\t<PostPendingStatusForm />\n\t\t\t</PanelRow>\n\t\t</PostPendingStatusCheck>\n\t);\n}\n\nexport default PostPendingStatus;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelRow, Dropdown, Button } from '@wordpress/components';\nimport { withInstanceId } from '@wordpress/compose';\nimport { PostSchedule as PostScheduleForm, PostScheduleLabel, PostScheduleCheck } from '@wordpress/editor';\nimport { Fragment } from '@wordpress/element';\n\nexport function PostSchedule( { instanceId } ) {\n\treturn (\n\t\t<PostScheduleCheck>\n\t\t\t<PanelRow className=\"edit-post-post-schedule\">\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={ `edit-post-post-schedule__toggle-${ instanceId }` }\n\t\t\t\t\tid={ `edit-post-post-schedule__heading-${ instanceId }` }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Publish' ) }\n\t\t\t\t</label>\n\t\t\t\t<Dropdown\n\t\t\t\t\tposition=\"bottom left\"\n\t\t\t\t\tcontentClassName=\"edit-post-post-schedule__dialog\"\n\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\tclassName=\"edit-post-post-schedule__label\"\n\t\t\t\t\t\t\t\thtmlFor={ `edit-post-post-schedule__toggle-${ instanceId }` }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostScheduleLabel /> { __( 'Click to change' ) }\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tid={ `edit-post-post-schedule__toggle-${ instanceId }` }\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tclassName=\"edit-post-post-schedule__toggle\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t\t\t\t\tisLink\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostScheduleLabel />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ () => <PostScheduleForm /> }\n\t\t\t\t/>\n\t\t\t</PanelRow>\n\t\t</PostScheduleCheck>\n\t);\n}\n\nexport default withInstanceId( PostSchedule );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal Dependencies\n */\nimport PostVisibility from '../post-visibility';\nimport PostTrash from '../post-trash';\nimport PostSchedule from '../post-schedule';\nimport PostSticky from '../post-sticky';\nimport PostAuthor from '../post-author';\nimport PostFormat from '../post-format';\nimport PostPendingStatus from '../post-pending-status';\nimport PluginPostStatusInfo from '../plugin-post-status-info';\n\n/**\n * Module Constants\n */\nconst PANEL_NAME = 'post-status';\n\nfunction PostStatus( { isOpened, onTogglePanel } ) {\n\treturn (\n\t\t<PanelBody className=\"edit-post-post-status\" title={ __( 'Status & Visibility' ) } opened={ isOpened } onToggle={ onTogglePanel }>\n\t\t\t<PluginPostStatusInfo.Slot>\n\t\t\t\t{ ( fills ) => (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<PostVisibility />\n\t\t\t\t\t\t<PostSchedule />\n\t\t\t\t\t\t<PostFormat />\n\t\t\t\t\t\t<PostSticky />\n\t\t\t\t\t\t<PostPendingStatus />\n\t\t\t\t\t\t<PostAuthor />\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t<PostTrash />\n\t\t\t\t\t</Fragment>\n\t\t\t\t) }\n\t\t\t</PluginPostStatusInfo.Slot>\n\t\t</PanelBody>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\tisOpened: select( 'core/edit-post' ).isEditorPanelOpened( PANEL_NAME ),\n\t} ) ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonTogglePanel() {\n\t\t\treturn dispatch( 'core/edit-post' ).toggleEditorPanelOpened( PANEL_NAME );\n\t\t},\n\t} ) ),\n] )( PostStatus );\n\n","/**\n * WordPress dependencies\n */\nimport { PanelRow } from '@wordpress/components';\nimport { PostSticky as PostStickyForm, PostStickyCheck } from '@wordpress/editor';\n\nexport function PostSticky() {\n\treturn (\n\t\t<PostStickyCheck>\n\t\t\t<PanelRow>\n\t\t\t\t<PostStickyForm />\n\t\t\t</PanelRow>\n\t\t</PostStickyCheck>\n\t);\n}\n\nexport default PostSticky;\n","/**\n * WordPress dependencies\n */\nimport { PostTaxonomies as PostTaxonomiesForm, PostTaxonomiesCheck } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport TaxonomyPanel from './taxonomy-panel';\n\nfunction PostTaxonomies() {\n\treturn (\n\t\t<PostTaxonomiesCheck>\n\t\t\t<PostTaxonomiesForm\n\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TaxonomyPanel taxonomy={ taxonomy }>\n\t\t\t\t\t\t\t{ content }\n\t\t\t\t\t\t</TaxonomyPanel>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PostTaxonomiesCheck>\n\t);\n}\n\nexport default PostTaxonomies;\n","/**\n * External Dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { PanelBody } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\nfunction TaxonomyPanel( { isEnabled, taxonomy, isOpened, onTogglePanel, children } ) {\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst taxonomyMenuName = get( taxonomy, [ 'labels', 'menu_name' ] );\n\tif ( ! taxonomyMenuName ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ taxonomyMenuName }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ onTogglePanel }\n\t\t>\n\t\t\t{ children }\n\t\t</PanelBody>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select, ownProps ) => {\n\t\tconst slug = get( ownProps.taxonomy, [ 'slug' ] );\n\t\tconst panelName = slug ? `taxonomy-panel-${ slug }` : '';\n\t\treturn {\n\t\t\tpanelName,\n\t\t\tisEnabled: slug ?\n\t\t\t\tselect( 'core/edit-post' ).isEditorPanelEnabled( panelName ) :\n\t\t\t\tfalse,\n\t\t\tisOpened: slug ?\n\t\t\t\tselect( 'core/edit-post' ).isEditorPanelOpened( panelName ) :\n\t\t\t\tfalse,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => ( {\n\t\tonTogglePanel: () => {\n\t\t\tdispatch( 'core/edit-post' ).toggleEditorPanelOpened( ownProps.panelName );\n\t\t},\n\t} ) ),\n)( TaxonomyPanel );\n","/**\n * WordPress dependencies\n */\nimport { PanelRow } from '@wordpress/components';\nimport { PostTrash as PostTrashLink, PostTrashCheck } from '@wordpress/editor';\n\nexport default function PostTrash() {\n\treturn (\n\t\t<PostTrashCheck>\n\t\t\t<PanelRow>\n\t\t\t\t<PostTrashLink />\n\t\t\t</PanelRow>\n\t\t</PostTrashCheck>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelRow, Dropdown, Button } from '@wordpress/components';\nimport { PostVisibility as PostVisibilityForm, PostVisibilityLabel, PostVisibilityCheck } from '@wordpress/editor';\n\nexport function PostVisibility() {\n\treturn (\n\t\t<PostVisibilityCheck render={ ( { canEdit } ) => (\n\t\t\t<PanelRow className=\"edit-post-post-visibility\">\n\t\t\t\t<span>{ __( 'Visibility' ) }</span>\n\t\t\t\t{ ! canEdit && <span><PostVisibilityLabel /></span> }\n\t\t\t\t{ canEdit && (\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tposition=\"bottom left\"\n\t\t\t\t\t\tcontentClassName=\"edit-post-post-visibility__dialog\"\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\tclassName=\"edit-post-post-visibility__toggle\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\tisLink\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostVisibilityLabel />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ () => <PostVisibilityForm /> }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelRow>\n\t\t) } />\n\t);\n}\n\nexport default PostVisibility;\n","/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SidebarHeader from '../sidebar-header';\n\nconst SettingsHeader = ( { count, openDocumentSettings, openBlockSettings, sidebarName } ) => {\n\t// Do not display \"0 Blocks\".\n\tconst blockCount = count === 0 ? 1 : count;\n\tconst blockLabel = blockCount === 1 ?\n\t\t__( 'Block' ) :\n\t\tsprintf( _n( '%d Block', '%d Blocks', blockCount ), blockCount );\n\n\tconst [ documentAriaLabel, documentActiveClass ] = sidebarName === 'edit-post/document' ?\n\t\t// translators: ARIA label for the Document Settings sidebar tab, selected.\n\t\t[ __( 'Document settings (selected)' ), 'is-active' ] :\n\t\t// translators: ARIA label for the Document Settings sidebar tab, not selected.\n\t\t[ __( 'Document settings' ), '' ];\n\n\tconst [ blockAriaLabel, blockActiveClass ] = sidebarName === 'edit-post/block' ?\n\t\t// translators: ARIA label for the Block Settings sidebar tab, selected.\n\t\t[ __( 'Block settings (selected)' ), 'is-active' ] :\n\t\t// translators: ARIA label for the Block Settings sidebar tab, not selected.\n\t\t[ __( 'Block settings' ), '' ];\n\n\treturn (\n\t\t<SidebarHeader\n\t\t\tclassName=\"edit-post-sidebar__panel-tabs\"\n\t\t\tcloseLabel={ __( 'Close settings' ) }\n\t\t>\n\t\t\t{ /* Use a list so screen readers will announce how many tabs there are. */ }\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t<button\n\t\t\t\t\t\tonClick={ openDocumentSettings }\n\t\t\t\t\t\tclassName={ `edit-post-sidebar__panel-tab ${ documentActiveClass }` }\n\t\t\t\t\t\taria-label={ documentAriaLabel }\n\t\t\t\t\t\tdata-label={ __( 'Document' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Document' ) }\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<button\n\t\t\t\t\t\tonClick={ openBlockSettings }\n\t\t\t\t\t\tclassName={ `edit-post-sidebar__panel-tab ${ blockActiveClass }` }\n\t\t\t\t\t\taria-label={ blockAriaLabel }\n\t\t\t\t\t\tdata-label={ blockLabel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ blockLabel }\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</SidebarHeader>\n\t);\n};\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\tcount: select( 'core/editor' ).getSelectedBlockCount(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\tconst { clearSelectedBlock } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\topenDocumentSettings() {\n\t\t\t\topenGeneralSidebar( 'edit-post/document' );\n\t\t\t\tclearSelectedBlock();\n\t\t\t},\n\t\t\topenBlockSettings() {\n\t\t\t\topenGeneralSidebar( 'edit-post/block' );\n\t\t\t},\n\t\t};\n\t} ),\n)( SettingsHeader );\n","/**\n * WordPress dependencies\n */\nimport { Panel, PanelBody } from '@wordpress/components';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\nimport { BlockInspector } from '@wordpress/editor';\nimport { Fragment } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal Dependencies\n */\nimport Sidebar from '../';\nimport SettingsHeader from '../settings-header';\nimport PostStatus from '../post-status';\nimport LastRevision from '../last-revision';\nimport PostTaxonomies from '../post-taxonomies';\nimport FeaturedImage from '../featured-image';\nimport PostExcerpt from '../post-excerpt';\nimport DiscussionPanel from '../discussion-panel';\nimport PageAttributes from '../page-attributes';\nimport MetaBoxes from '../../meta-boxes';\n\nconst SettingsSidebar = ( { sidebarName } ) => (\n\t<Sidebar\n\t\tname={ sidebarName }\n\t\tlabel={ __( 'Editor settings' ) }\n\t>\n\t\t<SettingsHeader sidebarName={ sidebarName } />\n\t\t<Panel>\n\t\t\t{ sidebarName === 'edit-post/document' && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<PostStatus />\n\t\t\t\t\t<LastRevision />\n\t\t\t\t\t<PostTaxonomies />\n\t\t\t\t\t<FeaturedImage />\n\t\t\t\t\t<PostExcerpt />\n\t\t\t\t\t<DiscussionPanel />\n\t\t\t\t\t<PageAttributes />\n\t\t\t\t\t<MetaBoxes location=\"side\" />\n\t\t\t\t</Fragment>\n\t\t\t) }\n\t\t\t{ sidebarName === 'edit-post/block' && (\n\t\t\t\t<PanelBody className=\"edit-post-settings-sidebar__panel-block\">\n\t\t\t\t\t<BlockInspector />\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</Panel>\n\t</Sidebar>\n);\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetActiveGeneralSidebarName,\n\t\t\tisEditorSidebarOpened,\n\t\t} = select( 'core/edit-post' );\n\n\t\treturn {\n\t\t\tisEditorSidebarOpened: isEditorSidebarOpened(),\n\t\t\tsidebarName: getActiveGeneralSidebarName(),\n\t\t};\n\t} ),\n\tifCondition( ( { isEditorSidebarOpened } ) => isEditorSidebarOpened ),\n)( SettingsSidebar );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Fragment } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { IconButton } from '@wordpress/components';\nimport { withDispatch, withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport shortcuts from '../../../keyboard-shortcuts';\n\nconst SidebarHeader = ( { children, className, closeLabel, closeSidebar, title } ) => {\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"components-panel__header edit-post-sidebar-header__small\">\n\t\t\t\t<span className=\"edit-post-sidebar-header__title\">\n\t\t\t\t\t{ title || __( '(no title)' ) }\n\t\t\t\t</span>\n\t\t\t\t<IconButton\n\t\t\t\t\tonClick={ closeSidebar }\n\t\t\t\t\ticon=\"no-alt\"\n\t\t\t\t\tlabel={ closeLabel }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className={ classnames( 'components-panel__header edit-post-sidebar-header', className ) }>\n\t\t\t\t{ children }\n\t\t\t\t<IconButton\n\t\t\t\t\tonClick={ closeSidebar }\n\t\t\t\t\ticon=\"no-alt\"\n\t\t\t\t\tlabel={ closeLabel }\n\t\t\t\t\tshortcut={ shortcuts.toggleSidebar }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n};\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\ttitle: select( 'core/editor' ).getEditedPostAttribute( 'title' ),\n\t} ) ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tcloseSidebar: dispatch( 'core/edit-post' ).closeGeneralSidebar,\n\t} ) ),\n)( SidebarHeader );\n","/**\n * WordPress dependencies\n */\nimport { PostTextEditor, PostTitle } from '@wordpress/editor';\nimport { IconButton } from '@wordpress/components';\nimport { withDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { displayShortcut } from '@wordpress/keycodes';\n\nfunction TextEditor( { onExit } ) {\n\treturn (\n\t\t<div className=\"edit-post-text-editor\">\n\t\t\t<div className=\"edit-post-text-editor__toolbar\">\n\t\t\t\t<h2>{ __( 'Editing Code' ) }</h2>\n\t\t\t\t<IconButton\n\t\t\t\t\tonClick={ onExit }\n\t\t\t\t\ticon=\"no-alt\"\n\t\t\t\t\tshortcut={ displayShortcut.secondary( 'm' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Exit Code Editor' ) }\n\t\t\t\t</IconButton>\n\t\t\t</div>\n\t\t\t<div className=\"edit-post-text-editor__body\">\n\t\t\t\t<PostTitle />\n\t\t\t\t<PostTextEditor />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default withDispatch( ( dispatch ) => {\n\treturn {\n\t\tonExit() {\n\t\t\tdispatch( 'core/edit-post' ).switchEditorMode( 'visual' );\n\t\t},\n\t};\n} )( TextEditor );\n","/**\n * External dependencies\n */\nimport { flow, noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem, withSpokenMessages } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport shortcuts from '../../keyboard-shortcuts';\n\nexport function BlockInspectorButton( {\n\tareAdvancedSettingsOpened,\n\tcloseSidebar,\n\topenEditorSidebar,\n\tonClick = noop,\n\tsmall = false,\n\tspeak,\n} ) {\n\tconst speakMessage = () => {\n\t\tif ( areAdvancedSettingsOpened ) {\n\t\t\tspeak( __( 'Block settings closed' ) );\n\t\t} else {\n\t\t\tspeak( __( 'Additional settings are now available in the Editor block settings sidebar' ) );\n\t\t}\n\t};\n\n\tconst label = areAdvancedSettingsOpened ? __( 'Hide Block Settings' ) : __( 'Show Block Settings' );\n\n\treturn (\n\t\t<MenuItem\n\t\t\tclassName=\"editor-block-settings-menu__control\"\n\t\t\tonClick={ flow( areAdvancedSettingsOpened ? closeSidebar : openEditorSidebar, speakMessage, onClick ) }\n\t\t\ticon=\"admin-generic\"\n\t\t\tlabel={ small ? label : undefined }\n\t\t\tshortcut={ shortcuts.toggleSidebar }\n\t\t>\n\t\t\t{ ! small && label }\n\t\t</MenuItem>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\tareAdvancedSettingsOpened: select( 'core/edit-post' ).getActiveGeneralSidebarName() === 'edit-post/block',\n\t} ) ),\n\twithDispatch( ( dispatch ) => ( {\n\t\topenEditorSidebar: () => dispatch( 'core/edit-post' ).openGeneralSidebar( 'edit-post/block' ),\n\t\tcloseSidebar: dispatch( 'core/edit-post' ).closeGeneralSidebar,\n\t} ) ),\n\twithSpokenMessages,\n)( BlockInspectorButton );\n","/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\tCopyHandler,\n\tPostTitle,\n\tWritingFlow,\n\tObserveTyping,\n\tEditorGlobalKeyboardShortcuts,\n\tBlockSelectionClearer,\n\tMultiSelectScrollIntoView,\n\t_BlockSettingsMenuFirstItem,\n\t_BlockSettingsMenuPluginsExtension,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport PluginBlockSettingsMenuGroup from '../block-settings-menu/plugin-block-settings-menu-group';\n\nfunction VisualEditor() {\n\treturn (\n\t\t<BlockSelectionClearer className=\"edit-post-visual-editor editor-styles-wrapper\">\n\t\t\t<EditorGlobalKeyboardShortcuts />\n\t\t\t<CopyHandler />\n\t\t\t<MultiSelectScrollIntoView />\n\t\t\t<WritingFlow>\n\t\t\t\t<ObserveTyping>\n\t\t\t\t\t<PostTitle />\n\t\t\t\t\t<BlockList />\n\t\t\t\t</ObserveTyping>\n\t\t\t</WritingFlow>\n\t\t\t<_BlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => <BlockInspectorButton onClick={ onClose } /> }\n\t\t\t</_BlockSettingsMenuFirstItem>\n\t\t\t<_BlockSettingsMenuPluginsExtension>\n\t\t\t\t{ ( { clientIds, onClose } ) => <PluginBlockSettingsMenuGroup.Slot fillProps={ { clientIds, onClose } } /> }\n\t\t\t</_BlockSettingsMenuPluginsExtension>\n\t\t</BlockSelectionClearer>\n\t);\n}\n\nexport default VisualEditor;\n","/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { EditorProvider, ErrorBoundary, PostLockedModal } from '@wordpress/editor';\nimport { StrictMode } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport Layout from './components/layout';\n\nfunction Editor( {\n\tsettings,\n\thasFixedToolbar,\n\tfocusMode,\n\tpost,\n\toverridePost,\n\tonError,\n\t...props\n} ) {\n\tif ( ! post ) {\n\t\treturn null;\n\t}\n\n\tconst editorSettings = {\n\t\t...settings,\n\t\thasFixedToolbar,\n\t\tfocusMode,\n\t};\n\n\treturn (\n\t\t<StrictMode>\n\t\t\t<EditorProvider\n\t\t\t\tsettings={ editorSettings }\n\t\t\t\tpost={ { ...post, ...overridePost } }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t<Layout />\n\t\t\t\t</ErrorBoundary>\n\t\t\t\t<PostLockedModal />\n\t\t\t</EditorProvider>\n\t\t</StrictMode>\n\t);\n}\n\nexport default withSelect( ( select, { postId, postType } ) => ( {\n\thasFixedToolbar: select( 'core/edit-post' ).isFeatureActive( 'fixedToolbar' ),\n\tfocusMode: select( 'core/edit-post' ).isFeatureActive( 'focusMode' ),\n\tpost: select( 'core' ).getEntityRecord( 'postType', postType, postId ),\n} ) )( Editor );\n","/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from './media-upload';\n\nconst replaceMediaUpload = () => MediaUpload;\n\naddFilter(\n\t'editor.MediaUpload',\n\t'core/edit-post/components/media-upload/replace-media-upload',\n\treplaceMediaUpload\n);\n","/**\n * External Dependencies\n */\nimport { castArray, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n// Getter for the sake of unit tests.\nconst getGalleryDetailsMediaFrame = () => {\n\t/**\n\t * Custom gallery details frame.\n\t *\n\t * @link https://github.com/xwp/wp-core-media-widgets/blob/905edbccfc2a623b73a93dac803c5335519d7837/wp-admin/js/widgets/media-gallery-widget.js\n\t * @class GalleryDetailsMediaFrame\n\t * @constructor\n\t */\n\treturn wp.media.view.MediaFrame.Post.extend( {\n\n\t\t/**\n\t\t * Create the default states.\n\t\t *\n\t\t * @return {void}\n\t\t */\n\t\tcreateStates: function createStates() {\n\t\t\tthis.states.add( [\n\t\t\t\tnew wp.media.controller.Library( {\n\t\t\t\t\tid: 'gallery',\n\t\t\t\t\ttitle: wp.media.view.l10n.createGalleryTitle,\n\t\t\t\t\tpriority: 40,\n\t\t\t\t\ttoolbar: 'main-gallery',\n\t\t\t\t\tfilterable: 'uploaded',\n\t\t\t\t\tmultiple: 'add',\n\t\t\t\t\teditable: false,\n\n\t\t\t\t\tlibrary: wp.media.query( _.defaults( {\n\t\t\t\t\t\ttype: 'image',\n\t\t\t\t\t}, this.options.library ) ),\n\t\t\t\t} ),\n\n\t\t\t\tnew wp.media.controller.GalleryEdit( {\n\t\t\t\t\tlibrary: this.options.selection,\n\t\t\t\t\tediting: this.options.editing,\n\t\t\t\t\tmenu: 'gallery',\n\t\t\t\t\tdisplaySettings: false,\n\t\t\t\t\tmultiple: true,\n\t\t\t\t} ),\n\n\t\t\t\tnew wp.media.controller.GalleryAdd(),\n\t\t\t] );\n\t\t},\n\t} );\n};\n\n// the media library image object contains numerous attributes\n// we only need this set to display the image in the library\nconst slimImageObject = ( img ) => {\n\tconst attrSet = [ 'sizes', 'mime', 'type', 'subtype', 'id', 'url', 'alt', 'link', 'caption' ];\n\treturn pick( img, attrSet );\n};\n\nconst getAttachmentsCollection = ( ids ) => {\n\treturn wp.media.query( {\n\t\torder: 'ASC',\n\t\torderby: 'post__in',\n\t\tpost__in: ids,\n\t\tper_page: 100,\n\t\tquery: true,\n\t\ttype: 'image',\n\t} );\n};\n\nclass MediaUpload extends Component {\n\tconstructor( {\n\t\tallowedTypes,\n\t\tmultiple = false,\n\t\tgallery = false,\n\t\ttitle = __( 'Select or Upload Media' ),\n\t\tmodalClass,\n\t\tvalue,\n\t} ) {\n\t\tsuper( ...arguments );\n\t\tthis.openModal = this.openModal.bind( this );\n\t\tthis.onOpen = this.onOpen.bind( this );\n\t\tthis.onSelect = this.onSelect.bind( this );\n\t\tthis.onUpdate = this.onUpdate.bind( this );\n\t\tthis.onClose = this.onClose.bind( this );\n\n\t\tif ( gallery ) {\n\t\t\tconst currentState = value ? 'gallery-edit' : 'gallery';\n\t\t\tconst GalleryDetailsMediaFrame = getGalleryDetailsMediaFrame();\n\t\t\tconst attachments = getAttachmentsCollection( value );\n\t\t\tconst selection = new wp.media.model.Selection( attachments.models, {\n\t\t\t\tprops: attachments.props.toJSON(),\n\t\t\t\tmultiple,\n\t\t\t} );\n\t\t\tthis.frame = new GalleryDetailsMediaFrame( {\n\t\t\t\tmimeType: allowedTypes,\n\t\t\t\tstate: currentState,\n\t\t\t\tmultiple,\n\t\t\t\tselection,\n\t\t\t\tediting: ( value ) ? true : false,\n\t\t\t} );\n\t\t\twp.media.frame = this.frame;\n\t\t} else {\n\t\t\tconst frameConfig = {\n\t\t\t\ttitle,\n\t\t\t\tbutton: {\n\t\t\t\t\ttext: __( 'Select' ),\n\t\t\t\t},\n\t\t\t\tmultiple,\n\t\t\t};\n\t\t\tif ( !! allowedTypes ) {\n\t\t\t\tframeConfig.library = { type: allowedTypes };\n\t\t\t}\n\n\t\t\tthis.frame = wp.media( frameConfig );\n\t\t}\n\n\t\tif ( modalClass ) {\n\t\t\tthis.frame.$el.addClass( modalClass );\n\t\t}\n\n\t\t// When an image is selected in the media frame...\n\t\tthis.frame.on( 'select', this.onSelect );\n\t\tthis.frame.on( 'update', this.onUpdate );\n\t\tthis.frame.on( 'open', this.onOpen );\n\t\tthis.frame.on( 'close', this.onClose );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.frame.remove();\n\t}\n\n\tonUpdate( selections ) {\n\t\tconst { onSelect, multiple = false } = this.props;\n\t\tconst state = this.frame.state();\n\t\tconst selectedImages = selections || state.get( 'selection' );\n\n\t\tif ( ! selectedImages || ! selectedImages.models.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( selectedImages.models.map( ( model ) => slimImageObject( model.toJSON() ) ) );\n\t\t} else {\n\t\t\tonSelect( slimImageObject( ( selectedImages.models[ 0 ].toJSON() ) ) );\n\t\t}\n\t}\n\n\tonSelect() {\n\t\tconst { onSelect, multiple = false } = this.props;\n\t\t// Get media attachment details from the frame state\n\t\tconst attachment = this.frame.state().get( 'selection' ).toJSON();\n\t\tonSelect(\n\t\t\tmultiple ?\n\t\t\t\tattachment :\n\t\t\t\tattachment[ 0 ]\n\t\t);\n\t}\n\n\tonOpen() {\n\t\tif ( ! this.props.value ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! this.props.gallery ) {\n\t\t\tconst selection = this.frame.state().get( 'selection' );\n\t\t\tcastArray( this.props.value ).map( ( id ) => {\n\t\t\t\tselection.add( wp.media.attachment( id ) );\n\t\t\t} );\n\t\t}\n\t\t// load the images so they are available in the media modal.\n\t\tgetAttachmentsCollection( castArray( this.props.value ) ).more();\n\t}\n\n\tonClose() {\n\t\tconst { onClose } = this.props;\n\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\topenModal() {\n\t\tthis.frame.open();\n\t}\n\n\trender() {\n\t\treturn this.props.render( { open: this.openModal } );\n\t}\n}\n\nexport default MediaUpload;\n\n","/**\n * Internal dependencies\n */\nimport './components';\nimport './validate-multiple-use';\n","/**\n * External dependencies\n */\nimport { find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tfindTransform,\n\tgetBlockTransforms,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { Button } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { Warning } from '@wordpress/editor';\nimport { addFilter } from '@wordpress/hooks';\nimport { __ } from '@wordpress/i18n';\nimport { compose, createHigherOrderComponent } from '@wordpress/compose';\n\nconst enhance = compose(\n\t/**\n\t * For blocks whose block type doesn't support `multiple`, provides the\n\t * wrapped component with `originalBlockClientId` -- a reference to the\n\t * first block of the same type in the content -- if and only if that\n\t * \"original\" block is not the current one. Thus, an inexisting\n\t * `originalBlockClientId` prop signals that the block is valid.\n\t *\n\t * @param {Component} WrappedBlockEdit A filtered BlockEdit instance.\n\t *\n\t * @return {Component} Enhanced component with merged state data props.\n\t */\n\twithSelect( ( select, block ) => {\n\t\tconst blocks = select( 'core/editor' ).getBlocks();\n\t\tconst multiple = hasBlockSupport( block.name, 'multiple', true );\n\n\t\t// For block types with `multiple` support, there is no \"original\n\t\t// block\" to be found in the content, as the block itself is valid.\n\t\tif ( multiple ) {\n\t\t\treturn {};\n\t\t}\n\n\t\t// Otherwise, only pass `originalBlockClientId` if it refers to a different\n\t\t// block from the current one.\n\t\tconst firstOfSameType = find( blocks, ( { name } ) => block.name === name );\n\t\tconst isInvalid = firstOfSameType && firstOfSameType.clientId !== block.clientId;\n\t\treturn {\n\t\t\toriginalBlockClientId: isInvalid && firstOfSameType.clientId,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { originalBlockClientId } ) => ( {\n\t\tselectFirst: () => dispatch( 'core/editor' ).selectBlock( originalBlockClientId ),\n\t} ) ),\n);\n\nconst withMultipleValidation = createHigherOrderComponent( ( BlockEdit ) => {\n\treturn enhance( ( {\n\t\toriginalBlockClientId,\n\t\tselectFirst,\n\t\t...props\n\t} ) => {\n\t\tif ( ! originalBlockClientId ) {\n\t\t\treturn <BlockEdit { ...props } />;\n\t\t}\n\n\t\tconst blockType = getBlockType( props.name );\n\t\tconst outboundType = getOutboundType( props.name );\n\n\t\treturn [\n\t\t\t<div key=\"invalid-preview\" style={ { minHeight: '60px' } }>\n\t\t\t\t<BlockEdit key=\"block-edit\" { ...props } />\n\t\t\t</div>,\n\t\t\t<Warning\n\t\t\t\tkey=\"multiple-use-warning\"\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button key=\"find-original\" isLarge onClick={ selectFirst }>\n\t\t\t\t\t\t{ __( 'Find original' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t\t<Button key=\"remove\" isLarge onClick={ () => props.onReplace( [] ) }>\n\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t\toutboundType && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey=\"transform\"\n\t\t\t\t\t\t\tisLarge\n\t\t\t\t\t\t\tonClick={ () => props.onReplace(\n\t\t\t\t\t\t\t\tcreateBlock( outboundType.name, props.attributes )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Transform into:' ) }{ ' ' }\n\t\t\t\t\t\t\t{ outboundType.title }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t),\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<strong>{ blockType.title }: </strong>\n\t\t\t\t{ __( 'This block can only be used once.' ) }\n\t\t\t</Warning>,\n\t\t];\n\t} );\n}, 'withMultipleValidation' );\n\n/**\n * Given a base block name, returns the default block type to which to offer\n * transforms.\n *\n * @param {string} blockName Base block name.\n *\n * @return {?Object} The chosen default block type.\n */\nfunction getOutboundType( blockName ) {\n\t// Grab the first outbound transform\n\tconst transform = findTransform(\n\t\tgetBlockTransforms( 'to', blockName ),\n\t\t( { type, blocks } ) => type === 'block' && blocks.length === 1 // What about when .length > 1?\n\t);\n\n\tif ( ! transform ) {\n\t\treturn null;\n\t}\n\n\treturn getBlockType( transform.blocks[ 0 ] );\n}\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/edit-post/validate-multiple-use/with-multiple-validation',\n\twithMultipleValidation\n);\n","/**\n * WordPress dependencies\n */\nimport '@wordpress/core-data';\nimport '@wordpress/editor';\nimport '@wordpress/nux';\nimport '@wordpress/viewport';\nimport { registerCoreBlocks } from '@wordpress/block-library';\nimport { render, unmountComponentAtNode } from '@wordpress/element';\nimport { dispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport './hooks';\nimport './plugins';\nimport './store';\nimport Editor from './editor';\n\n/**\n * Reinitializes the editor after the user chooses to reboot the editor after\n * an unhandled error occurs, replacing previously mounted editor element using\n * an initial state from prior to the crash.\n *\n * @param {Object} postType Post type of the post to edit.\n * @param {Object} postId ID of the post to edit.\n * @param {Element} target DOM node in which editor is rendered.\n * @param {?Object} settings Editor settings object.\n * @param {Object} overridePost Post properties to override.\n */\nexport function reinitializeEditor( postType, postId, target, settings, overridePost ) {\n\tunmountComponentAtNode( target );\n\tconst reboot = reinitializeEditor.bind( null, postType, postId, target, settings, overridePost );\n\n\trender(\n\t\t<Editor settings={ settings } onError={ reboot } postId={ postId } postType={ postType } overridePost={ overridePost } recovery />,\n\t\ttarget\n\t);\n}\n\n/**\n * Initializes and returns an instance of Editor.\n *\n * The return value of this function is not necessary if we change where we\n * call initializeEditor(). This is due to metaBox timing.\n *\n * @param {string} id Unique identifier for editor instance.\n * @param {Object} postType Post type of the post to edit.\n * @param {Object} postId ID of the post to edit.\n * @param {?Object} settings Editor settings object.\n * @param {Object} overridePost Post properties to override.\n */\nexport function initializeEditor( id, postType, postId, settings, overridePost ) {\n\tconst target = document.getElementById( id );\n\tconst reboot = reinitializeEditor.bind( null, postType, postId, target, settings, overridePost );\n\n\tregisterCoreBlocks();\n\n\tdispatch( 'core/nux' ).triggerGuide( [\n\t\t'core/editor.inserter',\n\t\t'core/editor.settings',\n\t\t'core/editor.preview',\n\t\t'core/editor.publish',\n\t] );\n\n\trender(\n\t\t<Editor settings={ settings } onError={ reboot } postId={ postId } postType={ postType } overridePost={ overridePost } />,\n\t\ttarget\n\t);\n}\n\nexport { default as PluginBlockSettingsMenuItem } from './components/block-settings-menu/plugin-block-settings-menu-item';\nexport { default as PluginPostPublishPanel } from './components/sidebar/plugin-post-publish-panel';\nexport { default as PluginPostStatusInfo } from './components/sidebar/plugin-post-status-info';\nexport { default as PluginPrePublishPanel } from './components/sidebar/plugin-pre-publish-panel';\nexport { default as PluginSidebar } from './components/sidebar/plugin-sidebar';\nexport { default as PluginSidebarMoreMenuItem } from './components/header/plugin-sidebar-more-menu-item';\n","/**\n * WordPress dependencies\n */\nimport { rawShortcut, displayShortcut, shortcutAriaLabel } from '@wordpress/keycodes';\n\nexport default {\n\ttoggleEditorMode: {\n\t\traw: rawShortcut.secondary( 'm' ),\n\t\tdisplay: displayShortcut.secondary( 'm' ),\n\t},\n\ttoggleSidebar: {\n\t\traw: rawShortcut.primaryShift( ',' ),\n\t\tdisplay: displayShortcut.primaryShift( ',' ),\n\t\tariaLabel: shortcutAriaLabel.primaryShift( ',' ),\n\t},\n};\n","/**\n * WordPress dependencies\n */\nimport { ClipboardButton } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { withState, compose } from '@wordpress/compose';\n\nfunction CopyContentMenuItem( { editedPostContent, hasCopied, setState } ) {\n\treturn (\n\t\t<ClipboardButton\n\t\t\ttext={ editedPostContent }\n\t\t\tclassName=\"components-menu-item__button\"\n\t\t\tonCopy={ () => setState( { hasCopied: true } ) }\n\t\t\tonFinishCopy={ () => setState( { hasCopied: false } ) }\n\t\t>\n\t\t\t{ hasCopied ?\n\t\t\t\t__( 'Copied!' ) :\n\t\t\t\t__( 'Copy All Content' ) }\n\t\t</ClipboardButton>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\teditedPostContent: select( 'core/editor' ).getEditedPostAttribute( 'content' ),\n\t} ) ),\n\twithState( { hasCopied: false } )\n)( CopyContentMenuItem );\n","/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { registerPlugin } from '@wordpress/plugins';\n\n/**\n * Internal dependencies\n */\nimport CopyContentMenuItem from './copy-content-menu-item';\nimport KeyboardShortcutsHelpMenuItem from './keyboard-shortcuts-help-menu-item';\nimport ToolsMoreMenuGroup from '../components/header/tools-more-menu-group';\n\nregisterPlugin( 'edit-post', {\n\trender() {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<ToolsMoreMenuGroup>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\thref=\"edit.php?post_type=wp_block\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Manage All Reusable Blocks' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t<KeyboardShortcutsHelpMenuItem onSelect={ onClose } />\n\t\t\t\t\t\t\t<CopyContentMenuItem />\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsMoreMenuGroup>\n\t\t\t</Fragment>\n\t\t);\n\t},\n} );\n","/**\n * WordPress Dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { withDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { displayShortcut } from '@wordpress/keycodes';\n\nexport function KeyboardShortcutsHelpMenuItem( { openModal, onSelect } ) {\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tonSelect();\n\t\t\t\topenModal( 'edit-post/keyboard-shortcut-help' );\n\t\t\t} }\n\t\t\tshortcut={ displayShortcut.access( 'h' ) }\n\t\t>\n\t\t\t{ __( 'Keyboard Shortcuts' ) }\n\t\t</MenuItem>\n\t);\n}\n\nexport default withDispatch( ( dispatch, ) => {\n\tconst {\n\t\topenModal,\n\t} = dispatch( 'core/edit-post' );\n\n\treturn {\n\t\topenModal,\n\t};\n} )( KeyboardShortcutsHelpMenuItem );\n","/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Returns an action object used in signalling that the user opened an editor sidebar.\n *\n * @param {string} name Sidebar name to be opened.\n *\n * @return {Object} Action object.\n */\nexport function openGeneralSidebar( name ) {\n\treturn {\n\t\ttype: 'OPEN_GENERAL_SIDEBAR',\n\t\tname,\n\t};\n}\n\n/**\n * Returns an action object signalling that the user closed the sidebar.\n *\n * @return {Object} Action object.\n */\nexport function closeGeneralSidebar() {\n\treturn {\n\t\ttype: 'CLOSE_GENERAL_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user opened a modal.\n *\n * @param {string} name A string that uniquely identifies the modal.\n *\n * @return {Object} Action object.\n */\nexport function openModal( name ) {\n\treturn {\n\t\ttype: 'OPEN_MODAL',\n\t\tname,\n\t};\n}\n\n/**\n * Returns an action object signalling that the user closed a modal.\n *\n * @return {Object} Action object.\n */\nexport function closeModal() {\n\treturn {\n\t\ttype: 'CLOSE_MODAL',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user opened the publish\n * sidebar.\n *\n * @return {Object} Action object\n */\nexport function openPublishSidebar() {\n\treturn {\n\t\ttype: 'OPEN_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user closed the\n * publish sidebar.\n *\n * @return {Object} Action object.\n */\nexport function closePublishSidebar() {\n\treturn {\n\t\ttype: 'CLOSE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user toggles the publish sidebar.\n *\n * @return {Object} Action object\n */\nexport function togglePublishSidebar() {\n\treturn {\n\t\ttype: 'TOGGLE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used to enable or disable a panel in the editor.\n *\n * @param {string} panelName A string that identifies the panel to enable or disable.\n *\n * @return {Object} Action object.\n */\nexport function toggleEditorPanelEnabled( panelName ) {\n\treturn {\n\t\ttype: 'TOGGLE_PANEL_ENABLED',\n\t\tpanelName,\n\t};\n}\n\n/**\n * Returns an action object used to open or close a panel in the editor.\n *\n * @param {string} panelName A string that identifies the panel to open or close.\n *\n * @return {Object} Action object.\n*/\nexport function toggleEditorPanelOpened( panelName ) {\n\treturn {\n\t\ttype: 'TOGGLE_PANEL_OPENED',\n\t\tpanelName,\n\t};\n}\n\n/**\n * Returns an action object used to open or close a panel in the editor.\n *\n * @param {string} panelName A string that identifies the panel to open or close.\n *\n * @return {Object} Action object.\n*/\nexport function toggleGeneralSidebarEditorPanel( panelName ) {\n\tdeprecated( 'toggleGeneralSidebarEditorPanel', {\n\t\talternative: 'toggleEditorPanelOpened',\n\t\tplugin: 'Gutenberg',\n\t\tversion: '4.3.0',\n\t} );\n\treturn toggleEditorPanelOpened( panelName );\n}\n\n/**\n * Returns an action object used to toggle a feature flag.\n *\n * @param {string} feature Feature name.\n *\n * @return {Object} Action object.\n */\nexport function toggleFeature( feature ) {\n\treturn {\n\t\ttype: 'TOGGLE_FEATURE',\n\t\tfeature,\n\t};\n}\n\nexport function switchEditorMode( mode ) {\n\treturn {\n\t\ttype: 'SWITCH_MODE',\n\t\tmode,\n\t};\n}\n\n/**\n * Returns an action object used to toggle a plugin name flag.\n *\n * @param {string} pluginName Plugin name.\n *\n * @return {Object} Action object.\n */\nexport function togglePinnedPluginItem( pluginName ) {\n\treturn {\n\t\ttype: 'TOGGLE_PINNED_PLUGIN_ITEM',\n\t\tpluginName,\n\t};\n}\n\n/**\n * Returns an action object used in signaling\n * what Meta boxes are available in which location.\n *\n * @param {Object} metaBoxesPerLocation Meta boxes per location.\n *\n * @return {Object} Action object.\n */\nexport function setAvailableMetaBoxesPerLocation( metaBoxesPerLocation ) {\n\treturn {\n\t\ttype: 'SET_META_BOXES_PER_LOCATIONS',\n\t\tmetaBoxesPerLocation,\n\t};\n}\n\n/**\n * Returns an action object used to request meta box update.\n *\n * @return {Object} Action object.\n */\nexport function requestMetaBoxUpdates() {\n\treturn {\n\t\ttype: 'REQUEST_META_BOX_UPDATES',\n\t};\n}\n\n/**\n * Returns an action object used signal a successful meta box update.\n *\n * @return {Object} Action object.\n */\nexport function metaBoxUpdatesSuccess() {\n\treturn {\n\t\ttype: 'META_BOX_UPDATES_SUCCESS',\n\t};\n}\n\n","export const PREFERENCES_DEFAULTS = {\n\teditorMode: 'visual',\n\tisGeneralSidebarDismissed: false,\n\tpanels: {\n\t\t'post-status': {\n\t\t\topened: true,\n\t\t},\n\t},\n\tfeatures: {\n\t\tfixedToolbar: false,\n\t},\n\tpinnedPluginItems: {},\n};\n","/**\n * External dependencies\n */\nimport { reduce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { select, subscribe, dispatch } from '@wordpress/data';\nimport { speak } from '@wordpress/a11y';\nimport { __ } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\n\n/**\n * Internal dependencies\n */\nimport {\n\tmetaBoxUpdatesSuccess,\n\trequestMetaBoxUpdates,\n\topenGeneralSidebar,\n\tcloseGeneralSidebar,\n} from './actions';\nimport {\n\tgetActiveMetaBoxLocations,\n\tgetActiveGeneralSidebarName,\n} from './selectors';\nimport { getMetaBoxContainer } from '../utils/meta-boxes';\nimport { onChangeListener } from './utils';\n\nconst effects = {\n\tSET_META_BOXES_PER_LOCATIONS( action, store ) {\n\t\t// Allow toggling metaboxes panels\n\t\t// We need to wait for all scripts to load\n\t\t// If the meta box loads the post script, it will already trigger this.\n\t\t// After merge in Core, make sure to drop the timeout and update the postboxes script\n\t\t// to avoid the double binding.\n\t\tsetTimeout( () => {\n\t\t\tconst postType = select( 'core/editor' ).getCurrentPostType();\n\t\t\tif ( window.postboxes.page !== postType ) {\n\t\t\t\twindow.postboxes.add_postbox_toggles( postType );\n\t\t\t}\n\t\t} );\n\n\t\tlet wasSavingPost = select( 'core/editor' ).isSavingPost();\n\t\tlet wasAutosavingPost = select( 'core/editor' ).isAutosavingPost();\n\t\t// Save metaboxes when performing a full save on the post.\n\t\tsubscribe( () => {\n\t\t\tconst isSavingPost = select( 'core/editor' ).isSavingPost();\n\t\t\tconst isAutosavingPost = select( 'core/editor' ).isAutosavingPost();\n\t\t\tconst hasActiveMetaBoxes = select( 'core/edit-post' ).hasMetaBoxes();\n\n\t\t\t// Save metaboxes on save completion when past save wasn't an autosave.\n\t\t\tconst shouldTriggerMetaboxesSave = (\n\t\t\t\thasActiveMetaBoxes &&\n\t\t\t\twasSavingPost &&\n\t\t\t\t! wasAutosavingPost &&\n\t\t\t\t! isSavingPost &&\n\t\t\t\t! isAutosavingPost\n\t\t\t);\n\n\t\t\t// Save current state for next inspection.\n\t\t\twasSavingPost = isSavingPost;\n\t\t\twasAutosavingPost = isAutosavingPost;\n\n\t\t\tif ( shouldTriggerMetaboxesSave ) {\n\t\t\t\tstore.dispatch( requestMetaBoxUpdates() );\n\t\t\t}\n\t\t} );\n\t},\n\tREQUEST_META_BOX_UPDATES( action, store ) {\n\t\tconst state = store.getState();\n\n\t\t// Additional data needed for backwards compatibility.\n\t\t// If we do not provide this data, the post will be overridden with the default values.\n\t\tconst post = select( 'core/editor' ).getCurrentPost( state );\n\t\tconst additionalData = [\n\t\t\tpost.comment_status ? [ 'comment_status', post.comment_status ] : false,\n\t\t\tpost.ping_status ? [ 'ping_status', post.ping_status ] : false,\n\t\t\tpost.sticky ? [ 'sticky', post.sticky ] : false,\n\t\t\t[ 'post_author', post.author ],\n\t\t].filter( Boolean );\n\n\t\t// We gather all the metaboxes locations data and the base form data\n\t\tconst baseFormData = new window.FormData( document.querySelector( '.metabox-base-form' ) );\n\t\tconst formDataToMerge = [\n\t\t\tbaseFormData,\n\t\t\t...getActiveMetaBoxLocations( state ).map( ( location ) => (\n\t\t\t\tnew window.FormData( getMetaBoxContainer( location ) )\n\t\t\t) ),\n\t\t];\n\n\t\t// Merge all form data objects into a single one.\n\t\tconst formData = reduce( formDataToMerge, ( memo, currentFormData ) => {\n\t\t\tfor ( const [ key, value ] of currentFormData ) {\n\t\t\t\tmemo.append( key, value );\n\t\t\t}\n\t\t\treturn memo;\n\t\t}, new window.FormData() );\n\t\tadditionalData.forEach( ( [ key, value ] ) => formData.append( key, value ) );\n\n\t\t// Save the metaboxes\n\t\tapiFetch( {\n\t\t\turl: window._wpMetaBoxUrl,\n\t\t\tmethod: 'POST',\n\t\t\tbody: formData,\n\t\t\tparse: false,\n\t\t} )\n\t\t\t.then( () => store.dispatch( metaBoxUpdatesSuccess() ) );\n\t},\n\tSWITCH_MODE( action ) {\n\t\t// Unselect blocks when we switch to the code editor.\n\t\tif ( action.mode !== 'visual' ) {\n\t\t\tdispatch( 'core/editor' ).clearSelectedBlock();\n\t\t}\n\n\t\tconst message = action.mode === 'visual' ? __( 'Visual editor selected' ) : __( 'Code editor selected' );\n\t\tspeak( message, 'assertive' );\n\t},\n\tINIT( _, store ) {\n\t\t// Select the block settings tab when the selected block changes\n\t\tsubscribe( onChangeListener(\n\t\t\t() => !! select( 'core/editor' ).getBlockSelectionStart(),\n\t\t\t( hasBlockSelection ) => {\n\t\t\t\tif ( ! select( 'core/edit-post' ).isEditorSidebarOpened() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( hasBlockSelection ) {\n\t\t\t\t\tstore.dispatch( openGeneralSidebar( 'edit-post/block' ) );\n\t\t\t\t} else {\n\t\t\t\t\tstore.dispatch( openGeneralSidebar( 'edit-post/document' ) );\n\t\t\t\t}\n\t\t\t} )\n\t\t);\n\n\t\tconst isMobileViewPort = () => select( 'core/viewport' ).isViewportMatch( '< medium' );\n\t\tconst adjustSidebar = ( () => {\n\t\t\t// contains the sidebar we close when going to viewport sizes lower than medium.\n\t\t\t// This allows to reopen it when going again to viewport sizes greater than medium.\n\t\t\tlet sidebarToReOpenOnExpand = null;\n\t\t\treturn ( isSmall ) => {\n\t\t\t\tif ( isSmall ) {\n\t\t\t\t\tsidebarToReOpenOnExpand = getActiveGeneralSidebarName( store.getState() );\n\t\t\t\t\tif ( sidebarToReOpenOnExpand ) {\n\t\t\t\t\t\tstore.dispatch( closeGeneralSidebar() );\n\t\t\t\t\t}\n\t\t\t\t} else if ( sidebarToReOpenOnExpand && ! getActiveGeneralSidebarName( store.getState() ) ) {\n\t\t\t\t\tstore.dispatch( openGeneralSidebar( sidebarToReOpenOnExpand ) );\n\t\t\t\t}\n\t\t\t};\n\t\t} )();\n\n\t\tadjustSidebar( isMobileViewPort() );\n\n\t\t// Collapse sidebar when viewport shrinks.\n\t\t// Reopen sidebar it if viewport expands and it was closed because of a previous shrink.\n\t\tsubscribe( onChangeListener( isMobileViewPort, adjustSidebar ) );\n\t},\n\n};\n\nexport default effects;\n","/**\n * WordPress Dependencies\n */\nimport { registerStore } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport applyMiddlewares from './middlewares';\nimport * as actions from './actions';\nimport * as selectors from './selectors';\n\nconst store = registerStore( 'core/edit-post', {\n\treducer,\n\tactions,\n\tselectors,\n\tpersist: [ 'preferences' ],\n} );\n\napplyMiddlewares( store );\nstore.dispatch( { type: 'INIT' } );\n\nexport default store;\n","/**\n * External dependencies\n */\nimport { flowRight } from 'lodash';\nimport refx from 'refx';\n\n/**\n * Internal dependencies\n */\nimport effects from './effects';\n\n/**\n * Applies the custom middlewares used specifically in the editor module.\n *\n * @param {Object} store Store Object.\n *\n * @return {Object} Update Store Object.\n */\nfunction applyMiddlewares( store ) {\n\tconst middlewares = [\n\t\trefx( effects ),\n\t];\n\n\tlet enhancedDispatch = () => {\n\t\tthrow new Error(\n\t\t\t'Dispatching while constructing your middleware is not allowed. ' +\n\t\t\t'Other middleware would not be applied to this dispatch.'\n\t\t);\n\t};\n\tlet chain = [];\n\n\tconst middlewareAPI = {\n\t\tgetState: store.getState,\n\t\tdispatch: ( ...args ) => enhancedDispatch( ...args ),\n\t};\n\tchain = middlewares.map( ( middleware ) => middleware( middlewareAPI ) );\n\tenhancedDispatch = flowRight( ...chain )( store.dispatch );\n\n\tstore.dispatch = enhancedDispatch;\n\treturn store;\n}\n\nexport default applyMiddlewares;\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { PREFERENCES_DEFAULTS } from './defaults';\n\n/**\n * The default active general sidebar: The \"Document\" tab.\n *\n * @type {string}\n */\nexport const DEFAULT_ACTIVE_GENERAL_SIDEBAR = 'edit-post/document';\n\n/**\n * Reducer returning the user preferences.\n *\n * @param {Object} state Current state.\n * @param {string} state.mode Current editor mode, either\n * \"visual\" or \"text\".\n * @param {boolean} state.isGeneralSidebarDismissed Whether general sidebar is\n * dismissed. False by default\n * or when closing general\n * sidebar, true when opening\n * sidebar.\n * @param {boolean} state.isSidebarOpened Whether the sidebar is\n * opened or closed.\n * @param {Object} state.panels The state of the different\n * sidebar panels.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const preferences = combineReducers( {\n\tisGeneralSidebarDismissed( state = false, action ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'OPEN_GENERAL_SIDEBAR':\n\t\t\tcase 'CLOSE_GENERAL_SIDEBAR':\n\t\t\t\treturn action.type === 'CLOSE_GENERAL_SIDEBAR';\n\t\t}\n\n\t\treturn state;\n\t},\n\tpanels( state = PREFERENCES_DEFAULTS.panels, action ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'TOGGLE_PANEL_ENABLED': {\n\t\t\t\tconst { panelName } = action;\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[ panelName ]: {\n\t\t\t\t\t\t...state[ panelName ],\n\t\t\t\t\t\tenabled: ! get( state, [ panelName, 'enabled' ], true ),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tcase 'TOGGLE_PANEL_OPENED': {\n\t\t\t\tconst { panelName } = action;\n\t\t\t\tconst isOpen = state[ panelName ] === true || get( state, [ panelName, 'opened' ], false );\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\t[ panelName ]: {\n\t\t\t\t\t\t...state[ panelName ],\n\t\t\t\t\t\topened: ! isOpen,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn state;\n\t},\n\tfeatures( state = PREFERENCES_DEFAULTS.features, action ) {\n\t\tif ( action.type === 'TOGGLE_FEATURE' ) {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.feature ]: ! state[ action.feature ],\n\t\t\t};\n\t\t}\n\n\t\treturn state;\n\t},\n\teditorMode( state = PREFERENCES_DEFAULTS.editorMode, action ) {\n\t\tif ( action.type === 'SWITCH_MODE' ) {\n\t\t\treturn action.mode;\n\t\t}\n\n\t\treturn state;\n\t},\n\tpinnedPluginItems( state = PREFERENCES_DEFAULTS.pinnedPluginItems, action ) {\n\t\tif ( action.type === 'TOGGLE_PINNED_PLUGIN_ITEM' ) {\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.pluginName ]: ! get( state, [ action.pluginName ], true ),\n\t\t\t};\n\t\t}\n\t\treturn state;\n\t},\n} );\n\n/**\n * Reducer returning the next active general sidebar state. The active general\n * sidebar is a unique name to identify either an editor or plugin sidebar.\n *\n * @param {?string} state Current state.\n * @param {Object} action Action object.\n *\n * @return {?string} Updated state.\n */\nexport function activeGeneralSidebar( state = DEFAULT_ACTIVE_GENERAL_SIDEBAR, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_GENERAL_SIDEBAR':\n\t\t\treturn action.name;\n\t}\n\n\treturn state;\n}\n\nexport function panel( state = 'document', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_ACTIVE_PANEL':\n\t\t\treturn action.panel;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer for storing the name of the open modal, or null if no modal is open.\n *\n * @param {Object} state Previous state.\n * @param {Object} action Action object containing the `name` of the modal\n *\n * @return {Object} Updated state\n */\nexport function activeModal( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_MODAL':\n\t\t\treturn action.name;\n\t\tcase 'CLOSE_MODAL':\n\t\t\treturn null;\n\t}\n\n\treturn state;\n}\n\nexport function publishSidebarActive( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'OPEN_PUBLISH_SIDEBAR':\n\t\t\treturn true;\n\t\tcase 'CLOSE_PUBLISH_SIDEBAR':\n\t\t\treturn false;\n\t\tcase 'TOGGLE_PUBLISH_SIDEBAR':\n\t\t\treturn ! state;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the meta boxes isSaving state.\n * A \"true\" value means the meta boxes saving request is in-flight.\n *\n *\n * @param {boolean} state Previous state.\n * @param {Object} action Action Object.\n *\n * @return {Object} Updated state.\n */\nexport function isSavingMetaBoxes( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REQUEST_META_BOX_UPDATES':\n\t\t\treturn true;\n\t\tcase 'META_BOX_UPDATES_SUCCESS':\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n/**\n * Reducer keeping track of the meta boxes per location.\n *\n * @param {boolean} state Previous state.\n * @param {Object} action Action Object.\n *\n * @return {Object} Updated state.\n */\nexport function metaBoxLocations( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_META_BOXES_PER_LOCATIONS':\n\t\t\treturn action.metaBoxesPerLocation;\n\t}\n\n\treturn state;\n}\n\nconst metaBoxes = combineReducers( {\n\tisSaving: isSavingMetaBoxes,\n\tlocations: metaBoxLocations,\n} );\n\nexport default combineReducers( {\n\tpreferences,\n\tactiveGeneralSidebar,\n\tpanel,\n\tactiveModal,\n\tpublishSidebarActive,\n\tmetaBoxes,\n} );\n","/**\n * External dependencies\n */\nimport createSelector from 'rememo';\nimport { get, includes, some, flatten, values } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Returns the current editing mode.\n *\n * @param {Object} state Global application state.\n *\n * @return {string} Editing mode.\n */\nexport function getEditorMode( state ) {\n\treturn getPreference( state, 'editorMode', 'visual' );\n}\n\n/**\n * Returns true if the editor sidebar is opened.\n *\n * @param {Object} state Global application state\n *\n * @return {boolean} Whether the editor sidebar is opened.\n */\nexport function isEditorSidebarOpened( state ) {\n\tconst activeGeneralSidebar = getActiveGeneralSidebarName( state );\n\n\treturn includes( [ 'edit-post/document', 'edit-post/block' ], activeGeneralSidebar );\n}\n\n/**\n * Returns true if the plugin sidebar is opened.\n *\n * @param {Object} state Global application state\n * @return {boolean} Whether the plugin sidebar is opened.\n */\nexport function isPluginSidebarOpened( state ) {\n\tconst activeGeneralSidebar = getActiveGeneralSidebarName( state );\n\treturn !! activeGeneralSidebar && ! isEditorSidebarOpened( state );\n}\n\n/**\n * Returns the current active general sidebar name, or null if there is no\n * general sidebar active. The active general sidebar is a unique name to\n * identify either an editor or plugin sidebar.\n *\n * Examples:\n *\n * - `edit-post/document`\n * - `my-plugin/insert-image-sidebar`\n *\n * @param {Object} state Global application state.\n *\n * @return {?string} Active general sidebar name.\n */\nexport function getActiveGeneralSidebarName( state ) {\n\t// Dismissal takes precedent.\n\tconst isDismissed = getPreference( state, 'isGeneralSidebarDismissed', false );\n\tif ( isDismissed ) {\n\t\treturn null;\n\t}\n\n\treturn state.activeGeneralSidebar;\n}\n\n/**\n * Returns the preferences (these preferences are persisted locally).\n *\n * @param {Object} state Global application state.\n *\n * @return {Object} Preferences Object.\n */\nexport function getPreferences( state ) {\n\treturn state.preferences;\n}\n\n/**\n *\n * @param {Object} state Global application state.\n * @param {string} preferenceKey Preference Key.\n * @param {Mixed} defaultValue Default Value.\n *\n * @return {Mixed} Preference Value.\n */\nexport function getPreference( state, preferenceKey, defaultValue ) {\n\tconst preferences = getPreferences( state );\n\tconst value = preferences[ preferenceKey ];\n\treturn value === undefined ? defaultValue : value;\n}\n\n/**\n * Returns true if the publish sidebar is opened.\n *\n * @param {Object} state Global application state\n *\n * @return {boolean} Whether the publish sidebar is open.\n */\nexport function isPublishSidebarOpened( state ) {\n\treturn state.publishSidebarActive;\n}\n\n/**\n * Returns true if the given panel is enabled, or false otherwise. Panels are\n * enabled by default.\n *\n * @param {Object} state Global application state.\n * @param {string} panelName A string that identifies the panel.\n *\n * @return {boolean} Whether or not the panel is enabled.\n */\nexport function isEditorPanelEnabled( state, panelName ) {\n\tconst panels = getPreference( state, 'panels' );\n\treturn get( panels, [ panelName, 'enabled' ], true );\n}\n\n/**\n * Returns true if the given panel is enabled, or false otherwise. Panels are\n * enabled by default.\n *\n * @param {Object} state Global application state.\n * @param {string} panel A string that identifies the panel.\n *\n * @return {boolean} Whether or not the panel is enabled.\n */\nexport function isEditorSidebarPanelOpened( state, panel ) {\n\tdeprecated( 'isEditorSidebarPanelOpened', {\n\t\talternative: 'isEditorPanelEnabled',\n\t\tplugin: 'Gutenberg',\n\t\tversion: '4.3',\n\t} );\n\treturn isEditorPanelEnabled( state, panel );\n}\n\n/**\n * Returns true if the given panel is open, or false otherwise. Panels are\n * closed by default.\n *\n * @param {Object} state Global application state.\n * @param {string} panelName A string that identifies the panel.\n *\n * @return {boolean} Whether or not the panel is open.\n */\nexport function isEditorPanelOpened( state, panelName ) {\n\tconst panels = getPreference( state, 'panels' );\n\treturn panels[ panelName ] === true || get( panels, [ panelName, 'opened' ], false );\n}\n\n/**\n * Returns true if a modal is active, or false otherwise.\n *\n * @param {Object} state \t Global application state.\n * @param {string} modalName A string that uniquely identifies the modal.\n *\n * @return {boolean} Whether the modal is active.\n */\nexport function isModalActive( state, modalName ) {\n\treturn state.activeModal === modalName;\n}\n\n/**\n * Returns whether the given feature is enabled or not.\n *\n * @param {Object} state Global application state.\n * @param {string} feature Feature slug.\n *\n * @return {boolean} Is active.\n */\nexport function isFeatureActive( state, feature ) {\n\treturn !! state.preferences.features[ feature ];\n}\n\n/**\n * Returns true if the plugin item is pinned to the header.\n * When the value is not set it defaults to true.\n *\n * @param {Object} state Global application state.\n * @param {string} pluginName Plugin item name.\n *\n * @return {boolean} Whether the plugin item is pinned.\n */\nexport function isPluginItemPinned( state, pluginName ) {\n\tconst pinnedPluginItems = getPreference( state, 'pinnedPluginItems', {} );\n\n\treturn get( pinnedPluginItems, [ pluginName ], true );\n}\n\n/**\n * Returns an array of active meta box locations.\n *\n * @param {Object} state Post editor state.\n *\n * @return {string[]} Active meta box locations.\n */\nexport const getActiveMetaBoxLocations = createSelector(\n\t( state ) => {\n\t\treturn Object.keys( state.metaBoxes.locations )\n\t\t\t.filter( ( location ) => isMetaBoxLocationActive( state, location ) );\n\t},\n\t( state ) => [\n\t\tstate.metaBoxes.locations,\n\t]\n);\n\n/**\n * Returns true if a metabox location is active and visible\n *\n * @param {Object} state Post editor state.\n * @param {string} location Meta box location to test.\n *\n * @return {boolean} Whether the meta box location is active and visible.\n */\nexport function isMetaBoxLocationVisible( state, location ) {\n\treturn (\n\t\tisMetaBoxLocationActive( state, location ) &&\n\t\tsome( getMetaBoxesPerLocation( state, location ), ( { id } ) => {\n\t\t\treturn isEditorPanelEnabled( state, `meta-box-${ id }` );\n\t\t} )\n\t);\n}\n\n/**\n * Returns true if there is an active meta box in the given location, or false\n * otherwise.\n *\n * @param {Object} state Post editor state.\n * @param {string} location Meta box location to test.\n *\n * @return {boolean} Whether the meta box location is active.\n */\nexport function isMetaBoxLocationActive( state, location ) {\n\tconst metaBoxes = getMetaBoxesPerLocation( state, location );\n\treturn !! metaBoxes && metaBoxes.length !== 0;\n}\n\n/**\n * Returns the list of all the available meta boxes for a given location.\n *\n * @param {Object} state Global application state.\n * @param {string} location Meta box location to test.\n *\n * @return {?Array} List of meta boxes.\n */\nexport function getMetaBoxesPerLocation( state, location ) {\n\treturn state.metaBoxes.locations[ location ];\n}\n\n/**\n * Returns the list of all the available meta boxes.\n *\n * @param {Object} state Global application state.\n *\n * @return {Array} List of meta boxes.\n */\nexport const getAllMetaBoxes = createSelector(\n\t( state ) => {\n\t\treturn flatten( values( state.metaBoxes.locations ) );\n\t},\n\t( state ) => [\n\t\tstate.metaBoxes.locations,\n\t]\n);\n\n/**\n * Returns true if the post is using Meta Boxes\n *\n * @param {Object} state Global application state\n *\n * @return {boolean} Whether there are metaboxes or not.\n */\nexport function hasMetaBoxes( state ) {\n\treturn getActiveMetaBoxLocations( state ).length > 0;\n}\n\n/**\n * Returns true if the Meta Boxes are being saved.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether the metaboxes are being saved.\n */\nexport function isSavingMetaBoxes( state ) {\n\treturn state.metaBoxes.isSaving;\n}\n","/**\n * Given a selector returns a functions that returns the listener only\n * if the returned value from the selector changes.\n *\n * @param {function} selector Selector.\n * @param {function} listener Listener.\n * @return {function} Listener creator.\n */\nexport const onChangeListener = ( selector, listener ) => {\n\tlet previousValue = selector();\n\treturn () => {\n\t\tconst selectedValue = selector();\n\t\tif ( selectedValue !== previousValue ) {\n\t\t\tpreviousValue = selectedValue;\n\t\t\tlistener( selectedValue );\n\t\t}\n\t};\n};\n","/**\n * Function returning the current Meta Boxes DOM Node in the editor\n * whether the meta box area is opened or not.\n * If the MetaBox Area is visible returns it, and returns the original container instead.\n *\n * @param {string} location Meta Box location.\n * @return {string} HTML content.\n */\nexport const getMetaBoxContainer = ( location ) => {\n\tconst area = document.querySelector( `.edit-post-meta-boxes-area.is-${ location } .metabox-location-${ location }` );\n\tif ( area ) {\n\t\treturn area;\n\t}\n\n\treturn document.querySelector( '#metaboxes .metabox-location-' + location );\n};\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict';\n\nfunction flattenIntoMap( map, effects ) {\n\tvar i;\n\tif ( Array.isArray( effects ) ) {\n\t\tfor ( i = 0; i < effects.length; i++ ) {\n\t\t\tflattenIntoMap( map, effects[ i ] );\n\t\t}\n\t} else {\n\t\tfor ( i in effects ) {\n\t\t\tmap[ i ] = ( map[ i ] || [] ).concat( effects[ i ] );\n\t\t}\n\t}\n}\n\nfunction refx( effects ) {\n\tvar map = {},\n\t\tmiddleware;\n\n\tflattenIntoMap( map, effects );\n\n\tmiddleware = function( store ) {\n\t\treturn function( next ) {\n\t\t\treturn function( action ) {\n\t\t\t\tvar handlers = map[ action.type ],\n\t\t\t\t\tresult = next( action ),\n\t\t\t\t\ti, handlerAction;\n\n\t\t\t\tif ( handlers ) {\n\t\t\t\t\tfor ( i = 0; i < handlers.length; i++ ) {\n\t\t\t\t\t\thandlerAction = handlers[ i ]( action, store );\n\t\t\t\t\t\tif ( handlerAction ) {\n\t\t\t\t\t\t\tstore.dispatch( handlerAction );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t};\n\t\t};\n\t};\n\n\tmiddleware.effects = map;\n\n\treturn middleware;\n}\n\nmodule.exports = refx;\n","'use strict';\n\nvar LEAF_KEY, hasWeakMap;\n\n/**\n * Arbitrary value used as key for referencing cache object in WeakMap tree.\n *\n * @type {Object}\n */\nLEAF_KEY = {};\n\n/**\n * Whether environment supports WeakMap.\n *\n * @type {boolean}\n */\nhasWeakMap = typeof WeakMap !== 'undefined';\n\n/**\n * Returns the first argument as the sole entry in an array.\n *\n * @param {*} value Value to return.\n *\n * @return {Array} Value returned as entry in array.\n */\nfunction arrayOf( value ) {\n\treturn [ value ];\n}\n\n/**\n * Returns true if the value passed is object-like, or false otherwise. A value\n * is object-like if it can support property assignment, e.g. object or array.\n *\n * @param {*} value Value to test.\n *\n * @return {boolean} Whether value is object-like.\n */\nfunction isObjectLike( value ) {\n\treturn !! value && 'object' === typeof value;\n}\n\n/**\n * Creates and returns a new cache object.\n *\n * @return {Object} Cache object.\n */\nfunction createCache() {\n\tvar cache = {\n\t\tclear: function() {\n\t\t\tcache.head = null;\n\t\t},\n\t};\n\n\treturn cache;\n}\n\n/**\n * Returns true if entries within the two arrays are strictly equal by\n * reference from a starting index.\n *\n * @param {Array} a First array.\n * @param {Array} b Second array.\n * @param {number} fromIndex Index from which to start comparison.\n *\n * @return {boolean} Whether arrays are shallowly equal.\n */\nfunction isShallowEqual( a, b, fromIndex ) {\n\tvar i;\n\n\tif ( a.length !== b.length ) {\n\t\treturn false;\n\t}\n\n\tfor ( i = fromIndex; i < a.length; i++ ) {\n\t\tif ( a[ i ] !== b[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/**\n * Returns a memoized selector function. The getDependants function argument is\n * called before the memoized selector and is expected to return an immutable\n * reference or array of references on which the selector depends for computing\n * its own return value. The memoize cache is preserved only as long as those\n * dependant references remain the same. If getDependants returns a different\n * reference(s), the cache is cleared and the selector value regenerated.\n *\n * @param {Function} selector Selector function.\n * @param {Function} getDependants Dependant getter returning an immutable\n * reference or array of reference used in\n * cache bust consideration.\n *\n * @return {Function} Memoized selector.\n */\nexport default function( selector, getDependants ) {\n\tvar rootCache, getCache;\n\n\t// Use object source as dependant if getter not provided\n\tif ( ! getDependants ) {\n\t\tgetDependants = arrayOf;\n\t}\n\n\t/**\n\t * Returns the root cache. If WeakMap is supported, this is assigned to the\n\t * root WeakMap cache set, otherwise it is a shared instance of the default\n\t * cache object.\n\t *\n\t * @return {(WeakMap|Object)} Root cache object.\n\t */\n\tfunction getRootCache() {\n\t\treturn rootCache;\n\t}\n\n\t/**\n\t * Returns the cache for a given dependants array. When possible, a WeakMap\n\t * will be used to create a unique cache for each set of dependants. This\n\t * is feasible due to the nature of WeakMap in allowing garbage collection\n\t * to occur on entries where the key object is no longer referenced. Since\n\t * WeakMap requires the key to be an object, this is only possible when the\n\t * dependant is object-like. The root cache is created as a hierarchy where\n\t * each top-level key is the first entry in a dependants set, the value a\n\t * WeakMap where each key is the next dependant, and so on. This continues\n\t * so long as the dependants are object-like. If no dependants are object-\n\t * like, then the cache is shared across all invocations.\n\t *\n\t * @see isObjectLike\n\t *\n\t * @param {Array} dependants Selector dependants.\n\t *\n\t * @return {Object} Cache object.\n\t */\n\tfunction getWeakMapCache( dependants ) {\n\t\tvar caches = rootCache,\n\t\t\tisUniqueByDependants = true,\n\t\t\ti, dependant, map, cache;\n\n\t\tfor ( i = 0; i < dependants.length; i++ ) {\n\t\t\tdependant = dependants[ i ];\n\n\t\t\t// Can only compose WeakMap from object-like key.\n\t\t\tif ( ! isObjectLike( dependant ) ) {\n\t\t\t\tisUniqueByDependants = false;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// Does current segment of cache already have a WeakMap?\n\t\t\tif ( caches.has( dependant ) ) {\n\t\t\t\t// Traverse into nested WeakMap.\n\t\t\t\tcaches = caches.get( dependant );\n\t\t\t} else {\n\t\t\t\t// Create, set, and traverse into a new one.\n\t\t\t\tmap = new WeakMap();\n\t\t\t\tcaches.set( dependant, map );\n\t\t\t\tcaches = map;\n\t\t\t}\n\t\t}\n\n\t\t// We use an arbitrary (but consistent) object as key for the last item\n\t\t// in the WeakMap to serve as our running cache.\n\t\tif ( ! caches.has( LEAF_KEY ) ) {\n\t\t\tcache = createCache();\n\t\t\tcache.isUniqueByDependants = isUniqueByDependants;\n\t\t\tcaches.set( LEAF_KEY, cache );\n\t\t}\n\n\t\treturn caches.get( LEAF_KEY );\n\t}\n\n\t// Assign cache handler by availability of WeakMap\n\tgetCache = hasWeakMap ? getWeakMapCache : getRootCache;\n\n\t/**\n\t * Resets root memoization cache.\n\t */\n\tfunction clear() {\n\t\trootCache = hasWeakMap ? new WeakMap() : createCache();\n\t}\n\n\t// eslint-disable-next-line jsdoc/check-param-names\n\t/**\n\t * The augmented selector call, considering first whether dependants have\n\t * changed before passing it to underlying memoize function.\n\t *\n\t * @param {Object} source Source object for derivation.\n\t * @param {...*} extraArgs Additional arguments to pass to selector.\n\t *\n\t * @return {*} Selector result.\n\t */\n\tfunction callSelector( /* source, ...extraArgs */ ) {\n\t\tvar len = arguments.length,\n\t\t\tcache, node, i, args, dependants;\n\n\t\t// Create copy of arguments (avoid leaking deoptimization).\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tdependants = getDependants.apply( null, args );\n\t\tcache = getCache( dependants );\n\n\t\t// If not guaranteed uniqueness by dependants (primitive type or lack\n\t\t// of WeakMap support), shallow compare against last dependants and, if\n\t\t// references have changed, destroy cache to recalculate result.\n\t\tif ( ! cache.isUniqueByDependants ) {\n\t\t\tif ( cache.lastDependants && ! isShallowEqual( dependants, cache.lastDependants, 0 ) ) {\n\t\t\t\tcache.clear();\n\t\t\t}\n\n\t\t\tcache.lastDependants = dependants;\n\t\t}\n\n\t\tnode = cache.head;\n\t\twhile ( node ) {\n\t\t\t// Check whether node arguments match arguments\n\t\t\tif ( ! isShallowEqual( node.args, args, 1 ) ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== cache.head ) {\n\t\t\t\t// Adjust siblings to point to each other.\n\t\t\t\tnode.prev.next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = cache.head;\n\t\t\t\tnode.prev = null;\n\t\t\t\tcache.head.prev = node;\n\t\t\t\tcache.head = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\tnode = {\n\t\t\t// Generate the result from original function\n\t\t\tval: selector.apply( null, args ),\n\t\t};\n\n\t\t// Avoid including the source object in the cache.\n\t\targs[ 0 ] = null;\n\t\tnode.args = args;\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( cache.head ) {\n\t\t\tcache.head.prev = node;\n\t\t\tnode.next = cache.head;\n\t\t}\n\n\t\tcache.head = node;\n\n\t\treturn node.val;\n\t}\n\n\tcallSelector.getDependants = getDependants;\n\tcallSelector.clear = clear;\n\tclear();\n\n\treturn callSelector;\n}\n","(function() { module.exports = this[\"wp\"][\"a11y\"]; }());","(function() { module.exports = this[\"wp\"][\"apiFetch\"]; }());","(function() { module.exports = this[\"wp\"][\"blockLibrary\"]; }());","(function() { module.exports = this[\"wp\"][\"blocks\"]; }());","(function() { module.exports = this[\"wp\"][\"components\"]; }());","(function() { module.exports = this[\"wp\"][\"compose\"]; }());","(function() { module.exports = this[\"wp\"][\"coreData\"]; }());","(function() { module.exports = this[\"wp\"][\"data\"]; }());","(function() { module.exports = this[\"wp\"][\"deprecated\"]; }());","(function() { module.exports = this[\"wp\"][\"editor\"]; }());","(function() { module.exports = this[\"wp\"][\"element\"]; }());","(function() { module.exports = this[\"wp\"][\"hooks\"]; }());","(function() { module.exports = this[\"wp\"][\"i18n\"]; }());","(function() { module.exports = this[\"wp\"][\"keycodes\"]; }());","(function() { module.exports = this[\"wp\"][\"nux\"]; }());","(function() { module.exports = this[\"wp\"][\"plugins\"]; }());","(function() { module.exports = this[\"wp\"][\"url\"]; }());","(function() { module.exports = this[\"wp\"][\"viewport\"]; }());","(function() { module.exports = this[\"lodash\"]; }());"],"sourceRoot":""} |